이 포스팅은 KISA 아카데미(실전형 사이버훈련장)에서 진행되는
[중급]멜웨어 식별 훈련 교육 과정을 수료한 후 공부한 내용을 정리한 글입니다.
윈도우 단말에 대한 악성코드 유입 경로/징후 식별
- 웹 페이지에 방문한 브라우저 공격으로 인한 유입
- 악성 문서를 통한 유입
- 외장 매체를 통한 유입
- 로컬 네트워크의 다른 단말을 통한 유입
사후 분석 관점의 윈도우 단말 이상징후 식별 범위
- 프로세스의 이상징후 식별: 경로/이름 분석, 프로세스의 혈통/파라미터/이미지 버전정보 분석
Ex) svchost.exe의 경우 C:\Window\explorer.exe 경로여야 하는데
C:\Window\system32\explorer.exe 이면 이상징후라고 볼 수 있음
+ svchost.exe의 부모 프로세스가 services.exe가 아닌 경우도 이상징후임
+ 메타데이터, 버전, vendor 정보 등의 정보 확인 필요 - 제어지속지점의 이상징후 식별: LOL 바이너리 실행 여부 분석, 시작프로그램 분석
→ 계정 정보, 서브넷 등이 바뀌는 등의 이벤트가 발생해도 통제를 계속할 수 있게 제어지속지점 수정 - 메모리 분석을 통한 Process Injection 징후 식별: 커널 메모리 영역의 VAD(Virtual Address Descriptor) 분석
→ 악성코드가 항상 프로세스 형태는 아니기 때문에 잠깐 실행하고 정상적인 프로세스의 메모리에 넣는 경우도 있음
→ process injection → 커널 메모리 VAD에 흔적 남음 - 파일시스템 분석을 통한 이상징후 식별: 악성 코드 분석, 타임라인, 시간정보 조작 여부
마이크로소프트 자체의 hidden 속성을 이용하거나 NTFS에서는 은닉이 가능한 스택이 있음
프로세스의 이상징후 분석 방법
침해사고가 발생한 시스템은 악성 프로세스/코드가 삽입되어 있을 가능성이 있어
여러 징후들을 기준으로 판단해서 식별해야 함
의심 징후를 찾기 위해서는 프로세스의 아이디 PID, 부모 프로세스 아이디 PPID, 경로, 명령라인 등을 수집해야 함
수집방법은 덤프한 메모리 or 라이브시스템(프로세스를 실행하면 윈도우에서 api를 호출하거나 정보 요청)
의심되는 프로세스 구분 방법 4가지
경로/이름 분석 | ex) svchost.exe의 경우 C:\Window\explorer.exe (O) C:\Window\system32\explorer.exe (X) C:\Windows\iciSUnrH.exe -> 빌트인 프로세스도 아니고 이름도 무규칙함 |
프로세스 혈통 분석 | 프로세스의 부모자식 파악 대부분의 프로세스는 C:\Windows, C:\Program Files, C:\Program Files(x86) 경로에서 실행되는데 이외의 경우라면 의심 ex) dllhost.exe는 직접 실행되어야 하는데 powershell.exe를 통했다면 의심 |
프로세스 명령라인/파라미터 분석 | 파라미터가 있어야/없어야 하는데 없/있는 경우, 길이가 비정상 svchost.exe는 반드시 파라미터가 있어야 함 |
프로세스 이미지 버전정보 분석 | 리소스 섹션 rsrc에는 버전 정보가 있어야하는데 악성코드 생성기로 만들어진 경우에는 누락되는 경우가 있음 |
다음 포스팅에서는 volatility 툴을 사용해서 이상징후 추출 실습을 하겠습니다.
'악성코드 분석' 카테고리의 다른 글
맬웨어 식별 훈련 :: 오피스 문서의 포맷 이론 (0) | 2025.02.15 |
---|---|
맬웨어 식별 훈련 :: 악성파일의 구성요소 (0) | 2025.02.14 |
맬웨어 식별 훈련 :: 프로세스 이상징후 분석 실습 (0) | 2025.02.13 |
맬웨어 식별 훈련 :: 정보추출 이후 프로세스 이상징후 분석 실습 (0) | 2025.02.12 |
맬웨어 식별 훈련 :: 프로세스 이상징후 분석을 위한 정보추출 실습 (0) | 2025.02.12 |