SlideShare une entreprise Scribd logo
1  sur  41
Télécharger pour lire hors ligne
FORENSIC	
  INSIGHT;
DIGITAL	
  FORENSICS	
  COMMUNITY	
  IN	
  KOREA
실전 윈도 악성코드 메모리 분석
n0fate
n0fate@n0fate.com
http://forensic.n0fate.com
forensicinsight.org Page	
  2
소개
§ 닉네임 : n0fate
§ 블로그 : forensic.n0fate.com
§ 개발도구
• Volafox : OS X Memory Forensic Toolkit (칼리 리눅스에서 볼 수 있어요..)
• chainbreaker : OS X Keychain Breaker
• iChainbreaker : iCloud Keychain Breaker (아직까진 비공개)
• walitean : SQLite WAL Log Parser
• 등등…
forensicinsight.org Page	
  3
§ 라이브 분석
• 악성코드를 빠르게 식별하기 위해 활성 상태에서 주요 아티팩트 분석
• 조기 식별에 유용하나 최근 악성코드의 대응 능력 확대
ü 라이브 분석 도구 탐지/대응 기법
ü 메모리 조작 악성코드
ü 루트킷
§ 디스크 분석
• 라이브 분석에서 발견되지 않을 경우 이미징 -> 분석
• 사전 정보가 없다면 매우 많은 시간이 소요됨
• 디스크 분석 대응 악성코드 존재
ü 디스크에 존재하지 않는 악성코드
침해 대응 시 이슈
forensicinsight.org Page	
  4
침해 대응 시 이슈 대안책
§ 메모리 분석
• 특정 시점의 메모리를 이미징하여 이미지에서 찾고자 하는 요소를 채취하는 기법
• 포렌식 기법을 이용하여 침해 대응 시 악성코드 분석에 활용(메모리 분석)
§ 침해 대응 시 메모리 분석의 장점
• 라이브 분석의 장점을 포함
ü 라이브 분석 시 획득하는 아티팩트 대부분 수집 가능
ü 상대적으로 높은 신뢰도
• 메모리 조작 악성코드 식별에 특화
• 안티 분석 기법 대응 가능
forensicinsight.org Page	
  5
메모리 분석의 효용성
수집 대상 라이브 분석 메모리 분석
프로세스 목록 O O + 삭제된 프로세스 목록
로드된 라이브러리 O O
로드된 파일 O O
네트워크 세션 목록 O O + 삭제된 세션 목록
이벤트 로그 O O
자동 실행 목록 O O(레지스트리에 한해)
서비스 목록 O O
드라이버 목록 O O
웹 브라우저 정보 O O(IE에 대해)
사용자 패스워드 해시 O O
라이브 vs 메모리
forensicinsight.org Page	
  6
라이브 포렌식 무용론?
§ 메모리 분석을 한다면 라이브 분석은 의미가 없을까?
• 메모리 분석은 라이브 분석에서 수집하는 대부분의 정보를 수집 가능
• 상대적으로 높은 신뢰도를 가지고 있음 (상황에 따라 다름)
§ 라이브 분석의 낮은 신뢰도가 오히려 분석에 도움을 줄 수 있음
• 신뢰된 시스템에서 수집된 라이브 분석 정보와 메모리 분석 정보는 일치
• 두 정보가 다르다면?
ü 해당 정보는 악의적인(가끔 보안적인) 목적으로 변조되었을 수 있음
ü 예) 프로세스 은닉, 네트워크 세션 은닉 등
§ 두 정보 모두 수집하여 분석 결과를 비교하면 분석 효율을 향상시킬 수 있음
forensicinsight.org Page	
  7
메모리 분석으로 악성요소 찾기
§ 메모리 분석을 통해 악성 요소를 효과적으로 식별 가능
• 하지만..
ü Q) 메모리 분석 도구 사용은 해봤는데 어떤 경우에 유용한지 알고 싶다.
• 그래서..
ü A) 몇몇 악성코드 기법을 메모리 분석으로 쉽게 찾아내는 사례를 알아본다.
ü A) volatility를 효과적으로 사용하는 방법을 알아본다.
§ 본 발표에서 사용할 도구 - volatility
• 뛰어난 오픈소스 메모리 포렌식 도구
ü 참고문서 : The Art of Memory Forensics
• 다양한 운영체제 제공
ü Windows, Linux, OS X, Android
forensicinsight.org Page	
  8
메모리 분석으로 악성 요소 찾기
-­‐ 악성 프로세스 찾기
-­‐ 악성 라이브러리 찾기
-­‐ 악성 드라이버 찾기
-­‐ 악성 요소 덤프하기
forensicinsight.org Page	
  9
악성 요소 찾기
§ 시스템에는 대부분의 정상 요소와 소수의 악성 요소가 혼재되어 있음
• 분석가는 수많은 데이터 중에서 의심되는 요소를 식별 후 그와 관계된 추가 요소를 식별
• 문제는 악성 요소 자체를 찾는 것
§ 악성 요소는 자신이 악성 요소로 보이지 않기 위해 다양한 트릭을 사용
• 연구된 침해사고 대응 기술을 토대로 안티-대응 기법을 연구 및 반영
forensicinsight.org Page	
  10
악성 요소 찾기
forensicinsight.org Page	
  11
악성 프로세스 찾기
윈도의 프로세스 관리 구조 이해
프로세스
구조체
프로세스
구조체
프로세스
구조체
커널 디버그
(KDBG)
로딩된
모듈
로딩된
모듈
로딩된
모듈
스레드
스레드
스레드
가상주소디스크립터(VAD)
할당된 메모리 페이지 주소
페이지 권한 등을 다룸
핸들 테이블
프로세스가 접근하는
자원(파일,
 모듈 등의
핸들 정보를 저장
프로세스 토큰
프로세스의 자원
접근제어에 사용
forensicinsight.org Page	
  12
악성 프로세스 찾기
§ 프로세스 탐지를 회피하기 위한 가장 효과적인 방법
• 커널 레벨 루트킷을 이용하여 객체를 변조하는 방법
• 라이브 포렌식 무력화
§ 지속적인 창과 방패의 싸움
• 방패는 은닉 기법을 분석하여 이를 탐지하기 위한 기술을 개발
• 창은 탐지 기술을 분석하여 새로운 은닉 기법을 연구
은닉된 프로세스 찾기
프로세스
구조체
프로세스
구조체
프로세스
구조체
커널 디버그
(KDBG)
forensicinsight.org Page	
  13
악성 프로세스 찾기
§ 메모리 분석은 최고의 안티 루트킷 기법
• 다양한 분석 기법이 존재
• But, 분석에 많은 내공을 필요하게 구성
§ 볼라틸리티에서 제공되는 분석 기법
• 프로세스 객체 검색(psscan) – 프로세스 객체에 있는 풀 태그를 이용하여 수집
• 스레드 스캔(thrdproc) – 스레드(ETHREAD) 객체를 이용하여 프로세스를 추적
• CSRSS 핸들 테이블(csrss) – 모든 프로세스와 스레드 생성을 관리하는 csrss.exe 이용
• PspCid 테이블(pspcid) – PspCidTable로 모든 프로세스 핸들 수집
• 세션 프로세스(session) – 현재 세션의 프로세스 수집
• 데스크탑 스레드(deskthrd) – 윈도 데스크탑에 연결된 모든 스레드 목록을 수집
은닉된 프로세스 찾기
forensicinsight.org Page	
  14
악성 프로세스 찾기
§ 일단 psxview 명령어를 실행한다.
§ 규칙
• 모든 것이 True인 프로세스는 은닉된 게 아니다.
• 예외
ü system - csrss, session, deskthrd가 False
ü smss.exe - csrss, session, deskthrd가 False
ü csrss.exe - csrss가 False
ü -R(--apply-rules) 옵션으로 처리 가능
• 종료된 프로세스(ExitTime이 존재)는 일반적으로 psscan에서만 True
ü 단, 종료 후, 커널 객체 소멸 이전에 덤프한 경우 pslist, thrdproc도 True인 경우가 있음
ü 루트킷이 ExitTime을 0으로 변경한 경우를 유의
프로세스 분석(psxview) – 쉽게 이해하자
forensicinsight.org Page	
  15
악성 프로세스 선정
사례) 프로세스 은닉 (plasco)
ExitTime이 존재
비정상
(pslist에서만 False)
정상(예외 규칙에 맞게 표시)
forensicinsight.org Page	
  16
악성 프로세스 찾기
§ 접근 토큰(Access Token)
• 프로세스/스레드가 구동 중에 필요한 다양한 권한을 가지기 위한 정보
• 자원 접근 제어에 사용
ü 특정 객체에 접근하거나 API 호출 시 프로세스 토큰 정보로 권한 검사 수행
• 접근 토큰에는 보안 식별 디스크립터(SID)와 사용자 계정의 권한이 정의
§ 메모리 분석 시 활용 분야
• 프로세스 토큰에 저장되는 SID를 이용한 사용자 권한 확인
• Lateral Movement 확인
• 프로세스 행위 유추
• 권한 상승 검증
할당된 접근 토큰을 이용한 식별
forensicinsight.org Page	
  17
악성 프로세스 찾기
§ 정상 프로세스/스레드에서 사용하진 않지만 악성코드가 주로 사용하는 토큰이 존재
• 프로세스/스레드에 부여된 토큰의 권한(privilege) 정보를 통해 악성 여부 판단
§ 악성코드가 주로 사용하는 권한
• SeDebugPrivilege – 권한이 없는 시스템 프로세스의 메모리 접근 가능
• SeTakeOwnershipPrivilege – 특정 객체에 대한 소유주를 변경
• SeLoadDriverPrivilege – 디바이스 드라이버 로드 권한
§ Windows 7 이후 운영체제에선 사용 제한적
• Session 0 Isolation
• 하지만 우회 기법도 연구되고 있음 J
§ 볼라틸리티에선 ‘privs’ 플러그인으로 분석 가능
할당된 프로세스 토큰을 이용한 식별
forensicinsight.org Page	
  18
악성 프로세스 찾기
사례) 권한 확인을 통한 코드 인젝션 탐지
권한 확인
코드 인젝션 확인
-s 옵션 : 주의해야할 Privilege만 선별하여 표현
forensicinsight.org Page	
  19
악성 프로세스 찾기
§ 특정 프로세스의 메모리 영역에 코드를 삽입하는 방법
• 다른 프로세스에 기생하여 자기자신을 은닉
• 코드만 삽입하므로 프로세스나 라이브러리에 나타나지 않음
§ 메모리 조작으로 악성코드를 분석해야만 행위를 파악할 수 있음
§ 사례 분석
• 프로세스 교체(Process Hollowing aka Process Replacement)
• DLL 인젝션(악성 라이브러리 찾기)
코드 인젝션
forensicinsight.org Page	
  20
악성 프로세스 찾기 – 코드 인젝션
디스크 분석 vs 메모리 분석
대상 선정
코드 인젝션
인지
인젝션된
코드 식별
인젝션 페이지 식별,
인젝션 대상 식별
분석
코드 덤프
인젝션
범위 식별
메모리 분석
분석
디스크 분석
forensicinsight.org Page	
  21
악성 프로세스 찾기
§ 코드 서명된 프로그램을 화이트리스트로 처리
• 코드 서명 : PE 파일의 변조 여부를 판단하기 위한 디지털 서명
• 디지털 서명된 프로그램은 바이너리 조작 시 실행 불가
ü 실행파일 로드 시점에 디지털 서명을 검증
§ 메모리에서 조작한다면?
• 신뢰된 프로세스가 로드된 후에 할당된 메모리 변조 가능
• 악성코드가 서명된 실행 파일의 코드가 실행되기 전에 코드를 변경하면 악의적 행위 가능
ü 디지털 서명된 프로세스도 더이상 신뢰할 수 없다.
프로세스 교체
forensicinsight.org Page	
  22
악성 프로세스 찾기
프로세스 교체 방법
프로세스
메모리
페이로드
코드영역
데이터
영역
스택/힙
PAGE_EXECUTE_READ
PAGE_READ
PAGE_READWRITE
2.
 코드 시작 지점 식별
코드 영역
(PAGE_EXECUT
E_READWRITE)
3.
 VirtualAlloc
-
 WriteProcessMemory
4.
 덮어 씌움
5.
 실행!1.
 신뢰된 프로세스를
Suspended
 상태로 로드
forensicinsight.org Page	
  23
악성 프로세스 찾기
§ 디스크 및 라이브 분석 시 악성코드 직접 분석 필요
• 메모리에서만 변조가 이루어짐.
§ VAD의 보호 페이지 속성 정보를 확인하여 식별 가능
• VAD(Virtual Address Descriptor) : 프로세스의 할당된 메모리 페이지를 관리
• 메모리 페이지 속성 정보를 분석하면 악성 페이지를 식별할 수 있음
프로세스 교체 분석 방법
http://www.codemachine.com/figures/figure_protopte_2.png
forensicinsight.org Page	
  24
악성 프로세스 찾기
§ malfind 플러그인의 탐지 방법
• VAD 타입이 __MMVAD_SHORT(VadS)인지 확인
ü 정상적인 경우 _MMVAD 또는 _MMVAD_LONG 타입
• 보호 속성이 PAGE_EXECUTE_READWRITE인지 확인
ü 정상적인 경우 3가지 속성을 다 가지지 않음
§ 두 속성에 해당하는 페이지를 추출 (사례 – EvilBunny)
프로세스 교체 분석 방법
forensicinsight.org Page	
  25
악성 프로세스 찾기
§ 메모리 분석을 방해하기 위해 PE헤더 제거
• PE 헤더는 메모리에 로드된 후에는 필요 없음
ü 1페이지 정도(4096바이트)의 헤더 정보를 제거함으로 분석을 까다롭게 함.
• malfind에서는 의심되는 페이지로 추출 가능
§ 두 속성에 해당하는 페이지를 추출 (사례 – Casper)
프로세스 교체 분석 방법
forensicinsight.org Page	
  26
악성 라이브러리 찾기
§ DLL 형태로 구성하여 프로세스에 로드되어 동작
• 프로세스 형태로 노출 시 감지 위험이 높음
• 다양한 실행 파일에 코드를 인젝션하고자 할 때 활용
§ DLL 인젝션 시, 분석 시점에는 악성 프로세스는 존재하지 않는 경우가 많음
• 악성 프로세스는 DLL을 인젝션 후 자기자신을 종료
• 단순히 DLL을 인젝션하는 기능만 내장
ü 보안 솔루션에서 감지하기 어려움
• 각 프로세스가 로드한 라이브러리 정보를 수집하여 의심가는 파일을 추출
§ 악성 프로세스 찾는 과정에서 선별한 프로세스가 주요 대상
• 악성 프로세스로 분류되었으나 프로세스 자체는 정상인 경우를 중심으로 진행
forensicinsight.org Page	
  27
악성 라이브러리 찾기
§ 로드된 라이브러리 목록 수집(dlllist)
• 수많은 로드된 라이브러리 전체를 전시
• 언로드되었지만 메모리에 맵핑 상태인 라이브러리는 확인 불가
• 비정상적인 방법으로 로딩되는 라이브러리 확인 불가
§ 프로세스에 맵핑된 파일 중 라이브러리만 추출(ldrmodules)
• 파일 중 DLL을 목록화하여 출력
ü 프로세스의 가상 주소 디스크립터(VAD)를 이용하여 맵핑된 파일을 찾음
• 언로드되더라도 IAT로 가리키는 메모리 페이지를 소유하는 DLL 감지
• 로드/메모리 맵핑된 모든 DLL 식별 가능
라이브러리 목록 수집
forensicinsight.org Page	
  28
악성 라이브러리 찾기
§ 프로세스의 IAT, EAT, 인라인 후킹 수행
• 프로세스의 행위 모니터링/변조 목적으로 사용
• 분석 방법
ü apihooks 플러그인으로 IAT, EAT, 인라인 후킹된 프로세스 식별하여 분석(사례 : Zeus)
§ DLL 인젝션
• 특정 프로세스의 메모리 영역을 할당받아 로드할 DLL의 이름을 기록(PAGE_READWRITE)
• LoadLibrary 함수를 스레드 형태로 실행하면 해당 프로세스에 동적으로 DLL이 로딩
• malfind 플러그인으로 식별 안됨 - PAGE에 실행권한이 없음
• 분석 방법
ü threads 플러그인으로 다른 스레드와 다른 시간에 구동된 스레드 확인(프로세스 생성 시간과 비교)
ü 해당 프로세스에서 로드한 모듈을 dlllist 플러그인으로 식별
악성 라이브러리 분석 방법
forensicinsight.org Page	
  29
악성 라이브러리 찾기
사례) DLL 인젝션 (Shadowbot)
Memory
Allocated	
  
Memory
Process	
  
Memory
Kernel32.dll
User32.dll
1. 프로세스 로딩
디버깅 권한 설정
2. 메모리 할당(VirtualAlloc) – PAGE_READWRITE
코드 작성(WriteProcessMemory) – DLL 경로
스레드 실행(CreateRemoteThread) – LoadLibrary 주소
3. LoadLibrary
함수 호출
Malicious	
  
DLL
4. 악성 DLL 로드
forensicinsight.org Page	
  30
악성 라이브러리 찾기
§ 공격자가 서비스나 라이브러리를 실행하는 경우..
• 프로세스 로드 시 입력된 커맨드 명령어 수집 필요
• Regsvr32.exe나 svchost.exe와 같이 다른 객체(서비스, 라이브러리)를 로드하는 프로세스의 실행
인자 파악에 유용
• cmdline 플러그인을 이용하여 수집
§ 사례) cmdline 플러그인으로 regsvr32.exe의 인자 파악 (babar)
명령줄 분석
/s
 :
 메시지 상자 표시 안함
/i
 :

Contenu connexe

Tendances

(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어INSIGHT FORENSIC
 
(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석INSIGHT FORENSIC
 
(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?plainbit
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례Youngjun Chang
 
2.악성코드와 분석 방안
2.악성코드와 분석 방안2.악성코드와 분석 방안
2.악성코드와 분석 방안Youngjun Chang
 
Memory forensics with volatility
Memory forensics with volatilityMemory forensics with volatility
Memory forensics with volatilityYoungjun Chang
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규ChangKyu Song
 
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안INSIGHT FORENSIC
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows passwordINSIGHT FORENSIC
 
(Fios#02) 1. 랜섬웨어 연대기
(Fios#02) 1. 랜섬웨어 연대기(Fios#02) 1. 랜섬웨어 연대기
(Fios#02) 1. 랜섬웨어 연대기INSIGHT FORENSIC
 
2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법Youngjun Chang
 
(130608) #fitalk trends in d forensics (may, 2013)
(130608) #fitalk   trends in d forensics (may, 2013)(130608) #fitalk   trends in d forensics (may, 2013)
(130608) #fitalk trends in d forensics (may, 2013)INSIGHT FORENSIC
 
프로세스 방어
프로세스 방어프로세스 방어
프로세스 방어주항 박
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례Youngjun Chang
 
3.ahn report를 이용한 악성코드 대응
3.ahn report를 이용한 악성코드 대응3.ahn report를 이용한 악성코드 대응
3.ahn report를 이용한 악성코드 대응Youngjun Chang
 
(130316) #fitalk trends in d forensics (feb, 2013)
(130316) #fitalk   trends in d forensics (feb, 2013)(130316) #fitalk   trends in d forensics (feb, 2013)
(130316) #fitalk trends in d forensics (feb, 2013)INSIGHT FORENSIC
 
보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법Youngjun Chang
 
Drive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript ObfuscationDrive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript ObfuscationJason Choi
 
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석GangSeok Lee
 
해킹과 보안
해킹과 보안해킹과 보안
해킹과 보안창열 최
 

Tendances (20)

(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
(Ficon2016) #3 분석가와 관리자가 바라본 랜섬웨어
 
(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석(Fios#02) 7. 윈도우 10 포렌식 분석
(Fios#02) 7. 윈도우 10 포렌식 분석
 
(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?(FICON2015) #3 어떻게 들어왔는가?
(FICON2015) #3 어떻게 들어왔는가?
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례
 
2.악성코드와 분석 방안
2.악성코드와 분석 방안2.악성코드와 분석 방안
2.악성코드와 분석 방안
 
Memory forensics with volatility
Memory forensics with volatilityMemory forensics with volatility
Memory forensics with volatility
 
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
[NDC07] 게임 개발에서의 클라이언트 보안 - 송창규
 
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안(141031) #fitalk   plaso 슈퍼 타임라인 분석 도구 활용 방안
(141031) #fitalk plaso 슈퍼 타임라인 분석 도구 활용 방안
 
(130622) #fitalk the stealing windows password
(130622) #fitalk   the stealing windows password(130622) #fitalk   the stealing windows password
(130622) #fitalk the stealing windows password
 
(Fios#02) 1. 랜섬웨어 연대기
(Fios#02) 1. 랜섬웨어 연대기(Fios#02) 1. 랜섬웨어 연대기
(Fios#02) 1. 랜섬웨어 연대기
 
2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법2. 악성코드 분석 방법론과 기법
2. 악성코드 분석 방법론과 기법
 
(130608) #fitalk trends in d forensics (may, 2013)
(130608) #fitalk   trends in d forensics (may, 2013)(130608) #fitalk   trends in d forensics (may, 2013)
(130608) #fitalk trends in d forensics (may, 2013)
 
프로세스 방어
프로세스 방어프로세스 방어
프로세스 방어
 
3. 악성코드 분석 사례
3. 악성코드 분석 사례3. 악성코드 분석 사례
3. 악성코드 분석 사례
 
3.ahn report를 이용한 악성코드 대응
3.ahn report를 이용한 악성코드 대응3.ahn report를 이용한 악성코드 대응
3.ahn report를 이용한 악성코드 대응
 
(130316) #fitalk trends in d forensics (feb, 2013)
(130316) #fitalk   trends in d forensics (feb, 2013)(130316) #fitalk   trends in d forensics (feb, 2013)
(130316) #fitalk trends in d forensics (feb, 2013)
 
보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법보안 위협 형태와 악성코드 분석 기법
보안 위협 형태와 악성코드 분석 기법
 
Drive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript ObfuscationDrive-By Download & JavaScript Obfuscation
Drive-By Download & JavaScript Obfuscation
 
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
[2013 CodeEngn Conference 09] Park.Sam - 게임 해킹툴의 변칙적 공격 기법 분석
 
해킹과 보안
해킹과 보안해킹과 보안
해킹과 보안
 

En vedette

DLL 인젝션
DLL 인젝션DLL 인젝션
DLL 인젝션광민 김
 
그로스 해킹(Growth Hacking)
그로스 해킹(Growth Hacking)그로스 해킹(Growth Hacking)
그로스 해킹(Growth Hacking)Jong taek OH
 
2차원 평면상에서 가장 먼 두 점 구하기
2차원 평면상에서 가장 먼 두 점 구하기2차원 평면상에서 가장 먼 두 점 구하기
2차원 평면상에서 가장 먼 두 점 구하기광민 김
 
제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요
제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요
제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요NAVER D2
 
악성코드 개념 및 대응 기술 (사이버 게놈 기술)
악성코드 개념 및 대응 기술 (사이버 게놈 기술)악성코드 개념 및 대응 기술 (사이버 게놈 기술)
악성코드 개념 및 대응 기술 (사이버 게놈 기술)seungdols
 
Virtualization technology for security
Virtualization technology for securityVirtualization technology for security
Virtualization technology for securityhanbeom Park
 
Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판
Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판
Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판Minseok(Jacky) Cha
 
디지털포렌식, 이것만 알자!
디지털포렌식, 이것만 알자!디지털포렌식, 이것만 알자!
디지털포렌식, 이것만 알자!SeungYong Yoon
 
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹NAVER D2
 
그로스해킹 세미나 #1
그로스해킹 세미나 #1그로스해킹 세미나 #1
그로스해킹 세미나 #1Haezoom Inc.
 
swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑NAVER D2
 
Django에서 websocket을 사용하는 방법
Django에서 websocket을 사용하는 방법Django에서 websocket을 사용하는 방법
Django에서 websocket을 사용하는 방법NAVER D2
 
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님NAVER D2
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기NAVER D2
 

En vedette (15)

DLL 인젝션
DLL 인젝션DLL 인젝션
DLL 인젝션
 
App check pro_표준제안서_z
App check pro_표준제안서_zApp check pro_표준제안서_z
App check pro_표준제안서_z
 
그로스 해킹(Growth Hacking)
그로스 해킹(Growth Hacking)그로스 해킹(Growth Hacking)
그로스 해킹(Growth Hacking)
 
2차원 평면상에서 가장 먼 두 점 구하기
2차원 평면상에서 가장 먼 두 점 구하기2차원 평면상에서 가장 먼 두 점 구하기
2차원 평면상에서 가장 먼 두 점 구하기
 
제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요
제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요
제12회 IT4U 강연회 - 악성코드 분석 잘하고 싶어요
 
악성코드 개념 및 대응 기술 (사이버 게놈 기술)
악성코드 개념 및 대응 기술 (사이버 게놈 기술)악성코드 개념 및 대응 기술 (사이버 게놈 기술)
악성코드 개념 및 대응 기술 (사이버 게놈 기술)
 
Virtualization technology for security
Virtualization technology for securityVirtualization technology for security
Virtualization technology for security
 
Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판
Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판
Power shell 악성코드 동향 20161118_차민석_디지털 포렌식 기술특강 공개판
 
디지털포렌식, 이것만 알자!
디지털포렌식, 이것만 알자!디지털포렌식, 이것만 알자!
디지털포렌식, 이것만 알자!
 
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
제12회 IT4U 강연회 - 화이트햇 해커들의 웹 해킹
 
그로스해킹 세미나 #1
그로스해킹 세미나 #1그로스해킹 세미나 #1
그로스해킹 세미나 #1
 
swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑swig를 이용한 C++ 랩핑
swig를 이용한 C++ 랩핑
 
Django에서 websocket을 사용하는 방법
Django에서 websocket을 사용하는 방법Django에서 websocket을 사용하는 방법
Django에서 websocket을 사용하는 방법
 
데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님데이터분석과통계2 - 최재걸님
데이터분석과통계2 - 최재걸님
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기
 

Similaire à (Fios#03) 1. 실전 윈도 악성코드 메모리 분석

20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중ymtech
 
(Ficon2015) #3 어떻게 들어왔는가
(Ficon2015) #3 어떻게 들어왔는가(Ficon2015) #3 어떻게 들어왔는가
(Ficon2015) #3 어떻게 들어왔는가INSIGHT FORENSIC
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안Youngjun Chang
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensicsINSIGHT FORENSIC
 
2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론Youngjun Chang
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안Youngjun Chang
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8HyeonSeok Choi
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장eungjin cho
 
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다GangSeok Lee
 
[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital Forensic
[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital Forensic[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital Forensic
[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital ForensicDonghyun Kim
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part iINSIGHT FORENSIC
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part iINSIGHT FORENSIC
 
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)FNGS Labs
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구Youngjun Chang
 
(120128) #fitalk android forensics 101
(120128) #fitalk   android forensics 101(120128) #fitalk   android forensics 101
(120128) #fitalk android forensics 101INSIGHT FORENSIC
 
(111217) #fitalk rootkit tools and debugger
(111217) #fitalk   rootkit tools and debugger(111217) #fitalk   rootkit tools and debugger
(111217) #fitalk rootkit tools and debuggerINSIGHT FORENSIC
 
안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제Hyoje Jo
 

Similaire à (Fios#03) 1. 실전 윈도 악성코드 메모리 분석 (20)

20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
20170908 tech day-9th-재미없는 java runtime process 디버그-김성중
 
(Ficon2015) #3 어떻게 들어왔는가
(Ficon2015) #3 어떻게 들어왔는가(Ficon2015) #3 어떻게 들어왔는가
(Ficon2015) #3 어떻게 들어왔는가
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안
 
(120128) #fitalk sql server anti-forensics
(120128) #fitalk   sql server anti-forensics(120128) #fitalk   sql server anti-forensics
(120128) #fitalk sql server anti-forensics
 
2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론2. 악성코드 동적 분석 방법론
2. 악성코드 동적 분석 방법론
 
악성코드와 분석 방안
악성코드와 분석 방안악성코드와 분석 방안
악성코드와 분석 방안
 
Ddd
DddDdd
Ddd
 
dddd
dddddddd
dddd
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8
 
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
고성능 빅데이터 수집 및 분석 솔루션 - 티맥스소프트 허승재 팀장
 
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다[2014 CodeEngn Conference 10] 심준보 -  급전이 필요합니다
[2014 CodeEngn Conference 10] 심준보 - 급전이 필요합니다
 
[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital Forensic
[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital Forensic[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital Forensic
[PyCon KR 2018] 진실은 언제나 하나! : Python으로 만나보는 Digital Forensic
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part i
 
(120318) #fitalk web browser forensics - part i
(120318) #fitalk   web browser forensics - part i(120318) #fitalk   web browser forensics - part i
(120318) #fitalk web browser forensics - part i
 
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
악성코드 자동화 분석을 통한 인텔리전스(쿡쿠 샌드박스)
 
악성코드 분석 도구
악성코드 분석 도구악성코드 분석 도구
악성코드 분석 도구
 
(120128) #fitalk android forensics 101
(120128) #fitalk   android forensics 101(120128) #fitalk   android forensics 101
(120128) #fitalk android forensics 101
 
(111217) #fitalk rootkit tools and debugger
(111217) #fitalk   rootkit tools and debugger(111217) #fitalk   rootkit tools and debugger
(111217) #fitalk rootkit tools and debugger
 
Digital Forensics
Digital ForensicsDigital Forensics
Digital Forensics
 
안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제안드로이드 악성코드의 철학적_연구_padocon_조효제
안드로이드 악성코드의 철학적_연구_padocon_조효제
 

Plus de INSIGHT FORENSIC

(150124) #fitalk advanced $usn jrnl forensics (korean)
(150124) #fitalk   advanced $usn jrnl forensics (korean)(150124) #fitalk   advanced $usn jrnl forensics (korean)
(150124) #fitalk advanced $usn jrnl forensics (korean)INSIGHT FORENSIC
 
(150124) #fitalk advanced $usn jrnl forensics (english)
(150124) #fitalk   advanced $usn jrnl forensics (english)(150124) #fitalk   advanced $usn jrnl forensics (english)
(150124) #fitalk advanced $usn jrnl forensics (english)INSIGHT FORENSIC
 
(140118) #fitalk 2013 e-discovery trend
(140118) #fitalk   2013 e-discovery trend(140118) #fitalk   2013 e-discovery trend
(140118) #fitalk 2013 e-discovery trendINSIGHT FORENSIC
 
(141031) #fitalk os x yosemite artifacts
(141031) #fitalk   os x yosemite artifacts(141031) #fitalk   os x yosemite artifacts
(141031) #fitalk os x yosemite artifactsINSIGHT FORENSIC
 
(140716) #fitalk 전자금융사고에서의 디지털 포렌식
(140716) #fitalk   전자금융사고에서의 디지털 포렌식(140716) #fitalk   전자금융사고에서의 디지털 포렌식
(140716) #fitalk 전자금융사고에서의 디지털 포렌식INSIGHT FORENSIC
 
(140716) #fitalk digital evidence from android-based smartwatch
(140716) #fitalk   digital evidence from android-based smartwatch(140716) #fitalk   digital evidence from android-based smartwatch
(140716) #fitalk digital evidence from android-based smartwatchINSIGHT FORENSIC
 
(140625) #fitalk sq lite 소개와 구조 분석
(140625) #fitalk   sq lite 소개와 구조 분석(140625) #fitalk   sq lite 소개와 구조 분석
(140625) #fitalk sq lite 소개와 구조 분석INSIGHT FORENSIC
 
(140625) #fitalk sq lite 삭제된 레코드 복구 기법
(140625) #fitalk   sq lite 삭제된 레코드 복구 기법(140625) #fitalk   sq lite 삭제된 레코드 복구 기법
(140625) #fitalk sq lite 삭제된 레코드 복구 기법INSIGHT FORENSIC
 
(130216) #fitalk potentially malicious ur ls
(130216) #fitalk   potentially malicious ur ls(130216) #fitalk   potentially malicious ur ls
(130216) #fitalk potentially malicious ur lsINSIGHT FORENSIC
 
(130202) #fitalk trends in d forensics (jan, 2013)
(130202) #fitalk   trends in d forensics (jan, 2013)(130202) #fitalk   trends in d forensics (jan, 2013)
(130202) #fitalk trends in d forensics (jan, 2013)INSIGHT FORENSIC
 
(130202) #fitalk china threat
(130202) #fitalk   china threat(130202) #fitalk   china threat
(130202) #fitalk china threatINSIGHT FORENSIC
 
(130119) #fitalk sql server forensics
(130119) #fitalk   sql server forensics(130119) #fitalk   sql server forensics
(130119) #fitalk sql server forensicsINSIGHT FORENSIC
 
(130119) #fitalk apt, cyber espionage threat
(130119) #fitalk   apt, cyber espionage threat(130119) #fitalk   apt, cyber espionage threat
(130119) #fitalk apt, cyber espionage threatINSIGHT FORENSIC
 
(130119) #fitalk all about physical data recovery
(130119) #fitalk   all about physical data recovery(130119) #fitalk   all about physical data recovery
(130119) #fitalk all about physical data recoveryINSIGHT FORENSIC
 
(130105) #fitalk trends in d forensics (dec, 2012)
(130105) #fitalk   trends in d forensics (dec, 2012)(130105) #fitalk   trends in d forensics (dec, 2012)
(130105) #fitalk trends in d forensics (dec, 2012)INSIGHT FORENSIC
 
(130105) #fitalk criminal civil judicial procedure in korea
(130105) #fitalk   criminal civil judicial procedure in korea(130105) #fitalk   criminal civil judicial procedure in korea
(130105) #fitalk criminal civil judicial procedure in koreaINSIGHT FORENSIC
 
(131116) #fitalk extracting user typing history on bash in mac os x memory
(131116) #fitalk   extracting user typing history on bash in mac os x memory(131116) #fitalk   extracting user typing history on bash in mac os x memory
(131116) #fitalk extracting user typing history on bash in mac os x memoryINSIGHT FORENSIC
 
(131102) #fitalk get windows logon password in memory dump
(131102) #fitalk   get windows logon password in memory dump(131102) #fitalk   get windows logon password in memory dump
(131102) #fitalk get windows logon password in memory dumpINSIGHT FORENSIC
 
(130928) #fitalk cloud storage forensics - dropbox
(130928) #fitalk   cloud storage forensics - dropbox(130928) #fitalk   cloud storage forensics - dropbox
(130928) #fitalk cloud storage forensics - dropboxINSIGHT FORENSIC
 
(130907) #fitalk generating volatility linux profile
(130907) #fitalk   generating volatility linux profile(130907) #fitalk   generating volatility linux profile
(130907) #fitalk generating volatility linux profileINSIGHT FORENSIC
 

Plus de INSIGHT FORENSIC (20)

(150124) #fitalk advanced $usn jrnl forensics (korean)
(150124) #fitalk   advanced $usn jrnl forensics (korean)(150124) #fitalk   advanced $usn jrnl forensics (korean)
(150124) #fitalk advanced $usn jrnl forensics (korean)
 
(150124) #fitalk advanced $usn jrnl forensics (english)
(150124) #fitalk   advanced $usn jrnl forensics (english)(150124) #fitalk   advanced $usn jrnl forensics (english)
(150124) #fitalk advanced $usn jrnl forensics (english)
 
(140118) #fitalk 2013 e-discovery trend
(140118) #fitalk   2013 e-discovery trend(140118) #fitalk   2013 e-discovery trend
(140118) #fitalk 2013 e-discovery trend
 
(141031) #fitalk os x yosemite artifacts
(141031) #fitalk   os x yosemite artifacts(141031) #fitalk   os x yosemite artifacts
(141031) #fitalk os x yosemite artifacts
 
(140716) #fitalk 전자금융사고에서의 디지털 포렌식
(140716) #fitalk   전자금융사고에서의 디지털 포렌식(140716) #fitalk   전자금융사고에서의 디지털 포렌식
(140716) #fitalk 전자금융사고에서의 디지털 포렌식
 
(140716) #fitalk digital evidence from android-based smartwatch
(140716) #fitalk   digital evidence from android-based smartwatch(140716) #fitalk   digital evidence from android-based smartwatch
(140716) #fitalk digital evidence from android-based smartwatch
 
(140625) #fitalk sq lite 소개와 구조 분석
(140625) #fitalk   sq lite 소개와 구조 분석(140625) #fitalk   sq lite 소개와 구조 분석
(140625) #fitalk sq lite 소개와 구조 분석
 
(140625) #fitalk sq lite 삭제된 레코드 복구 기법
(140625) #fitalk   sq lite 삭제된 레코드 복구 기법(140625) #fitalk   sq lite 삭제된 레코드 복구 기법
(140625) #fitalk sq lite 삭제된 레코드 복구 기법
 
(130216) #fitalk potentially malicious ur ls
(130216) #fitalk   potentially malicious ur ls(130216) #fitalk   potentially malicious ur ls
(130216) #fitalk potentially malicious ur ls
 
(130202) #fitalk trends in d forensics (jan, 2013)
(130202) #fitalk   trends in d forensics (jan, 2013)(130202) #fitalk   trends in d forensics (jan, 2013)
(130202) #fitalk trends in d forensics (jan, 2013)
 
(130202) #fitalk china threat
(130202) #fitalk   china threat(130202) #fitalk   china threat
(130202) #fitalk china threat
 
(130119) #fitalk sql server forensics
(130119) #fitalk   sql server forensics(130119) #fitalk   sql server forensics
(130119) #fitalk sql server forensics
 
(130119) #fitalk apt, cyber espionage threat
(130119) #fitalk   apt, cyber espionage threat(130119) #fitalk   apt, cyber espionage threat
(130119) #fitalk apt, cyber espionage threat
 
(130119) #fitalk all about physical data recovery
(130119) #fitalk   all about physical data recovery(130119) #fitalk   all about physical data recovery
(130119) #fitalk all about physical data recovery
 
(130105) #fitalk trends in d forensics (dec, 2012)
(130105) #fitalk   trends in d forensics (dec, 2012)(130105) #fitalk   trends in d forensics (dec, 2012)
(130105) #fitalk trends in d forensics (dec, 2012)
 
(130105) #fitalk criminal civil judicial procedure in korea
(130105) #fitalk   criminal civil judicial procedure in korea(130105) #fitalk   criminal civil judicial procedure in korea
(130105) #fitalk criminal civil judicial procedure in korea
 
(131116) #fitalk extracting user typing history on bash in mac os x memory
(131116) #fitalk   extracting user typing history on bash in mac os x memory(131116) #fitalk   extracting user typing history on bash in mac os x memory
(131116) #fitalk extracting user typing history on bash in mac os x memory
 
(131102) #fitalk get windows logon password in memory dump
(131102) #fitalk   get windows logon password in memory dump(131102) #fitalk   get windows logon password in memory dump
(131102) #fitalk get windows logon password in memory dump
 
(130928) #fitalk cloud storage forensics - dropbox
(130928) #fitalk   cloud storage forensics - dropbox(130928) #fitalk   cloud storage forensics - dropbox
(130928) #fitalk cloud storage forensics - dropbox
 
(130907) #fitalk generating volatility linux profile
(130907) #fitalk   generating volatility linux profile(130907) #fitalk   generating volatility linux profile
(130907) #fitalk generating volatility linux profile
 

Dernier

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Wonjun Hwang
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Wonjun Hwang
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Kim Daeun
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionKim Daeun
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)Tae Young Lee
 

Dernier (6)

캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차캐드앤그래픽스 2024년 5월호 목차
캐드앤그래픽스 2024년 5월호 목차
 
Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)Console API (Kitworks Team Study 백혜인 발표자료)
Console API (Kitworks Team Study 백혜인 발표자료)
 
Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)Merge (Kitworks Team Study 이성수 발표자료 240426)
Merge (Kitworks Team Study 이성수 발표자료 240426)
 
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
Continual Active Learning for Efficient Adaptation of Machine LearningModels ...
 
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution DetectionMOODv2 : Masked Image Modeling for Out-of-Distribution Detection
MOODv2 : Masked Image Modeling for Out-of-Distribution Detection
 
A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)A future that integrates LLMs and LAMs (Symposium)
A future that integrates LLMs and LAMs (Symposium)
 

(Fios#03) 1. 실전 윈도 악성코드 메모리 분석

  • 1. FORENSIC  INSIGHT; DIGITAL  FORENSICS  COMMUNITY  IN  KOREA 실전 윈도 악성코드 메모리 분석 n0fate n0fate@n0fate.com http://forensic.n0fate.com
  • 2. forensicinsight.org Page  2 소개 § 닉네임 : n0fate § 블로그 : forensic.n0fate.com § 개발도구 • Volafox : OS X Memory Forensic Toolkit (칼리 리눅스에서 볼 수 있어요..) • chainbreaker : OS X Keychain Breaker • iChainbreaker : iCloud Keychain Breaker (아직까진 비공개) • walitean : SQLite WAL Log Parser • 등등…
  • 3. forensicinsight.org Page  3 § 라이브 분석 • 악성코드를 빠르게 식별하기 위해 활성 상태에서 주요 아티팩트 분석 • 조기 식별에 유용하나 최근 악성코드의 대응 능력 확대 ü 라이브 분석 도구 탐지/대응 기법 ü 메모리 조작 악성코드 ü 루트킷 § 디스크 분석 • 라이브 분석에서 발견되지 않을 경우 이미징 -> 분석 • 사전 정보가 없다면 매우 많은 시간이 소요됨 • 디스크 분석 대응 악성코드 존재 ü 디스크에 존재하지 않는 악성코드 침해 대응 시 이슈
  • 4. forensicinsight.org Page  4 침해 대응 시 이슈 대안책 § 메모리 분석 • 특정 시점의 메모리를 이미징하여 이미지에서 찾고자 하는 요소를 채취하는 기법 • 포렌식 기법을 이용하여 침해 대응 시 악성코드 분석에 활용(메모리 분석) § 침해 대응 시 메모리 분석의 장점 • 라이브 분석의 장점을 포함 ü 라이브 분석 시 획득하는 아티팩트 대부분 수집 가능 ü 상대적으로 높은 신뢰도 • 메모리 조작 악성코드 식별에 특화 • 안티 분석 기법 대응 가능
  • 5. forensicinsight.org Page  5 메모리 분석의 효용성 수집 대상 라이브 분석 메모리 분석 프로세스 목록 O O + 삭제된 프로세스 목록 로드된 라이브러리 O O 로드된 파일 O O 네트워크 세션 목록 O O + 삭제된 세션 목록 이벤트 로그 O O 자동 실행 목록 O O(레지스트리에 한해) 서비스 목록 O O 드라이버 목록 O O 웹 브라우저 정보 O O(IE에 대해) 사용자 패스워드 해시 O O 라이브 vs 메모리
  • 6. forensicinsight.org Page  6 라이브 포렌식 무용론? § 메모리 분석을 한다면 라이브 분석은 의미가 없을까? • 메모리 분석은 라이브 분석에서 수집하는 대부분의 정보를 수집 가능 • 상대적으로 높은 신뢰도를 가지고 있음 (상황에 따라 다름) § 라이브 분석의 낮은 신뢰도가 오히려 분석에 도움을 줄 수 있음 • 신뢰된 시스템에서 수집된 라이브 분석 정보와 메모리 분석 정보는 일치 • 두 정보가 다르다면? ü 해당 정보는 악의적인(가끔 보안적인) 목적으로 변조되었을 수 있음 ü 예) 프로세스 은닉, 네트워크 세션 은닉 등 § 두 정보 모두 수집하여 분석 결과를 비교하면 분석 효율을 향상시킬 수 있음
  • 7. forensicinsight.org Page  7 메모리 분석으로 악성요소 찾기 § 메모리 분석을 통해 악성 요소를 효과적으로 식별 가능 • 하지만.. ü Q) 메모리 분석 도구 사용은 해봤는데 어떤 경우에 유용한지 알고 싶다. • 그래서.. ü A) 몇몇 악성코드 기법을 메모리 분석으로 쉽게 찾아내는 사례를 알아본다. ü A) volatility를 효과적으로 사용하는 방법을 알아본다. § 본 발표에서 사용할 도구 - volatility • 뛰어난 오픈소스 메모리 포렌식 도구 ü 참고문서 : The Art of Memory Forensics • 다양한 운영체제 제공 ü Windows, Linux, OS X, Android
  • 8. forensicinsight.org Page  8 메모리 분석으로 악성 요소 찾기 -­‐ 악성 프로세스 찾기 -­‐ 악성 라이브러리 찾기 -­‐ 악성 드라이버 찾기 -­‐ 악성 요소 덤프하기
  • 9. forensicinsight.org Page  9 악성 요소 찾기 § 시스템에는 대부분의 정상 요소와 소수의 악성 요소가 혼재되어 있음 • 분석가는 수많은 데이터 중에서 의심되는 요소를 식별 후 그와 관계된 추가 요소를 식별 • 문제는 악성 요소 자체를 찾는 것 § 악성 요소는 자신이 악성 요소로 보이지 않기 위해 다양한 트릭을 사용 • 연구된 침해사고 대응 기술을 토대로 안티-대응 기법을 연구 및 반영
  • 11. forensicinsight.org Page  11 악성 프로세스 찾기 윈도의 프로세스 관리 구조 이해 프로세스 구조체 프로세스 구조체 프로세스 구조체 커널 디버그 (KDBG) 로딩된 모듈 로딩된 모듈 로딩된 모듈 스레드 스레드 스레드 가상주소디스크립터(VAD) 할당된 메모리 페이지 주소 페이지 권한 등을 다룸 핸들 테이블 프로세스가 접근하는 자원(파일,
  • 12.  모듈 등의 핸들 정보를 저장 프로세스 토큰 프로세스의 자원 접근제어에 사용
  • 13. forensicinsight.org Page  12 악성 프로세스 찾기 § 프로세스 탐지를 회피하기 위한 가장 효과적인 방법 • 커널 레벨 루트킷을 이용하여 객체를 변조하는 방법 • 라이브 포렌식 무력화 § 지속적인 창과 방패의 싸움 • 방패는 은닉 기법을 분석하여 이를 탐지하기 위한 기술을 개발 • 창은 탐지 기술을 분석하여 새로운 은닉 기법을 연구 은닉된 프로세스 찾기 프로세스 구조체 프로세스 구조체 프로세스 구조체 커널 디버그 (KDBG)
  • 14. forensicinsight.org Page  13 악성 프로세스 찾기 § 메모리 분석은 최고의 안티 루트킷 기법 • 다양한 분석 기법이 존재 • But, 분석에 많은 내공을 필요하게 구성 § 볼라틸리티에서 제공되는 분석 기법 • 프로세스 객체 검색(psscan) – 프로세스 객체에 있는 풀 태그를 이용하여 수집 • 스레드 스캔(thrdproc) – 스레드(ETHREAD) 객체를 이용하여 프로세스를 추적 • CSRSS 핸들 테이블(csrss) – 모든 프로세스와 스레드 생성을 관리하는 csrss.exe 이용 • PspCid 테이블(pspcid) – PspCidTable로 모든 프로세스 핸들 수집 • 세션 프로세스(session) – 현재 세션의 프로세스 수집 • 데스크탑 스레드(deskthrd) – 윈도 데스크탑에 연결된 모든 스레드 목록을 수집 은닉된 프로세스 찾기
  • 15. forensicinsight.org Page  14 악성 프로세스 찾기 § 일단 psxview 명령어를 실행한다. § 규칙 • 모든 것이 True인 프로세스는 은닉된 게 아니다. • 예외 ü system - csrss, session, deskthrd가 False ü smss.exe - csrss, session, deskthrd가 False ü csrss.exe - csrss가 False ü -R(--apply-rules) 옵션으로 처리 가능 • 종료된 프로세스(ExitTime이 존재)는 일반적으로 psscan에서만 True ü 단, 종료 후, 커널 객체 소멸 이전에 덤프한 경우 pslist, thrdproc도 True인 경우가 있음 ü 루트킷이 ExitTime을 0으로 변경한 경우를 유의 프로세스 분석(psxview) – 쉽게 이해하자
  • 16. forensicinsight.org Page  15 악성 프로세스 선정 사례) 프로세스 은닉 (plasco) ExitTime이 존재 비정상 (pslist에서만 False) 정상(예외 규칙에 맞게 표시)
  • 17. forensicinsight.org Page  16 악성 프로세스 찾기 § 접근 토큰(Access Token) • 프로세스/스레드가 구동 중에 필요한 다양한 권한을 가지기 위한 정보 • 자원 접근 제어에 사용 ü 특정 객체에 접근하거나 API 호출 시 프로세스 토큰 정보로 권한 검사 수행 • 접근 토큰에는 보안 식별 디스크립터(SID)와 사용자 계정의 권한이 정의 § 메모리 분석 시 활용 분야 • 프로세스 토큰에 저장되는 SID를 이용한 사용자 권한 확인 • Lateral Movement 확인 • 프로세스 행위 유추 • 권한 상승 검증 할당된 접근 토큰을 이용한 식별
  • 18. forensicinsight.org Page  17 악성 프로세스 찾기 § 정상 프로세스/스레드에서 사용하진 않지만 악성코드가 주로 사용하는 토큰이 존재 • 프로세스/스레드에 부여된 토큰의 권한(privilege) 정보를 통해 악성 여부 판단 § 악성코드가 주로 사용하는 권한 • SeDebugPrivilege – 권한이 없는 시스템 프로세스의 메모리 접근 가능 • SeTakeOwnershipPrivilege – 특정 객체에 대한 소유주를 변경 • SeLoadDriverPrivilege – 디바이스 드라이버 로드 권한 § Windows 7 이후 운영체제에선 사용 제한적 • Session 0 Isolation • 하지만 우회 기법도 연구되고 있음 J § 볼라틸리티에선 ‘privs’ 플러그인으로 분석 가능 할당된 프로세스 토큰을 이용한 식별
  • 19. forensicinsight.org Page  18 악성 프로세스 찾기 사례) 권한 확인을 통한 코드 인젝션 탐지 권한 확인 코드 인젝션 확인 -s 옵션 : 주의해야할 Privilege만 선별하여 표현
  • 20. forensicinsight.org Page  19 악성 프로세스 찾기 § 특정 프로세스의 메모리 영역에 코드를 삽입하는 방법 • 다른 프로세스에 기생하여 자기자신을 은닉 • 코드만 삽입하므로 프로세스나 라이브러리에 나타나지 않음 § 메모리 조작으로 악성코드를 분석해야만 행위를 파악할 수 있음 § 사례 분석 • 프로세스 교체(Process Hollowing aka Process Replacement) • DLL 인젝션(악성 라이브러리 찾기) 코드 인젝션
  • 21. forensicinsight.org Page  20 악성 프로세스 찾기 – 코드 인젝션 디스크 분석 vs 메모리 분석 대상 선정 코드 인젝션 인지 인젝션된 코드 식별 인젝션 페이지 식별, 인젝션 대상 식별 분석 코드 덤프 인젝션 범위 식별 메모리 분석 분석 디스크 분석
  • 22. forensicinsight.org Page  21 악성 프로세스 찾기 § 코드 서명된 프로그램을 화이트리스트로 처리 • 코드 서명 : PE 파일의 변조 여부를 판단하기 위한 디지털 서명 • 디지털 서명된 프로그램은 바이너리 조작 시 실행 불가 ü 실행파일 로드 시점에 디지털 서명을 검증 § 메모리에서 조작한다면? • 신뢰된 프로세스가 로드된 후에 할당된 메모리 변조 가능 • 악성코드가 서명된 실행 파일의 코드가 실행되기 전에 코드를 변경하면 악의적 행위 가능 ü 디지털 서명된 프로세스도 더이상 신뢰할 수 없다. 프로세스 교체
  • 23. forensicinsight.org Page  22 악성 프로세스 찾기 프로세스 교체 방법 프로세스 메모리 페이로드 코드영역 데이터 영역 스택/힙 PAGE_EXECUTE_READ PAGE_READ PAGE_READWRITE 2.
  • 24.  코드 시작 지점 식별 코드 영역 (PAGE_EXECUT E_READWRITE) 3.
  • 31. forensicinsight.org Page  23 악성 프로세스 찾기 § 디스크 및 라이브 분석 시 악성코드 직접 분석 필요 • 메모리에서만 변조가 이루어짐. § VAD의 보호 페이지 속성 정보를 확인하여 식별 가능 • VAD(Virtual Address Descriptor) : 프로세스의 할당된 메모리 페이지를 관리 • 메모리 페이지 속성 정보를 분석하면 악성 페이지를 식별할 수 있음 프로세스 교체 분석 방법 http://www.codemachine.com/figures/figure_protopte_2.png
  • 32. forensicinsight.org Page  24 악성 프로세스 찾기 § malfind 플러그인의 탐지 방법 • VAD 타입이 __MMVAD_SHORT(VadS)인지 확인 ü 정상적인 경우 _MMVAD 또는 _MMVAD_LONG 타입 • 보호 속성이 PAGE_EXECUTE_READWRITE인지 확인 ü 정상적인 경우 3가지 속성을 다 가지지 않음 § 두 속성에 해당하는 페이지를 추출 (사례 – EvilBunny) 프로세스 교체 분석 방법
  • 33. forensicinsight.org Page  25 악성 프로세스 찾기 § 메모리 분석을 방해하기 위해 PE헤더 제거 • PE 헤더는 메모리에 로드된 후에는 필요 없음 ü 1페이지 정도(4096바이트)의 헤더 정보를 제거함으로 분석을 까다롭게 함. • malfind에서는 의심되는 페이지로 추출 가능 § 두 속성에 해당하는 페이지를 추출 (사례 – Casper) 프로세스 교체 분석 방법
  • 34. forensicinsight.org Page  26 악성 라이브러리 찾기 § DLL 형태로 구성하여 프로세스에 로드되어 동작 • 프로세스 형태로 노출 시 감지 위험이 높음 • 다양한 실행 파일에 코드를 인젝션하고자 할 때 활용 § DLL 인젝션 시, 분석 시점에는 악성 프로세스는 존재하지 않는 경우가 많음 • 악성 프로세스는 DLL을 인젝션 후 자기자신을 종료 • 단순히 DLL을 인젝션하는 기능만 내장 ü 보안 솔루션에서 감지하기 어려움 • 각 프로세스가 로드한 라이브러리 정보를 수집하여 의심가는 파일을 추출 § 악성 프로세스 찾는 과정에서 선별한 프로세스가 주요 대상 • 악성 프로세스로 분류되었으나 프로세스 자체는 정상인 경우를 중심으로 진행
  • 35. forensicinsight.org Page  27 악성 라이브러리 찾기 § 로드된 라이브러리 목록 수집(dlllist) • 수많은 로드된 라이브러리 전체를 전시 • 언로드되었지만 메모리에 맵핑 상태인 라이브러리는 확인 불가 • 비정상적인 방법으로 로딩되는 라이브러리 확인 불가 § 프로세스에 맵핑된 파일 중 라이브러리만 추출(ldrmodules) • 파일 중 DLL을 목록화하여 출력 ü 프로세스의 가상 주소 디스크립터(VAD)를 이용하여 맵핑된 파일을 찾음 • 언로드되더라도 IAT로 가리키는 메모리 페이지를 소유하는 DLL 감지 • 로드/메모리 맵핑된 모든 DLL 식별 가능 라이브러리 목록 수집
  • 36. forensicinsight.org Page  28 악성 라이브러리 찾기 § 프로세스의 IAT, EAT, 인라인 후킹 수행 • 프로세스의 행위 모니터링/변조 목적으로 사용 • 분석 방법 ü apihooks 플러그인으로 IAT, EAT, 인라인 후킹된 프로세스 식별하여 분석(사례 : Zeus) § DLL 인젝션 • 특정 프로세스의 메모리 영역을 할당받아 로드할 DLL의 이름을 기록(PAGE_READWRITE) • LoadLibrary 함수를 스레드 형태로 실행하면 해당 프로세스에 동적으로 DLL이 로딩 • malfind 플러그인으로 식별 안됨 - PAGE에 실행권한이 없음 • 분석 방법 ü threads 플러그인으로 다른 스레드와 다른 시간에 구동된 스레드 확인(프로세스 생성 시간과 비교) ü 해당 프로세스에서 로드한 모듈을 dlllist 플러그인으로 식별 악성 라이브러리 분석 방법
  • 37. forensicinsight.org Page  29 악성 라이브러리 찾기 사례) DLL 인젝션 (Shadowbot) Memory Allocated   Memory Process   Memory Kernel32.dll User32.dll 1. 프로세스 로딩 디버깅 권한 설정 2. 메모리 할당(VirtualAlloc) – PAGE_READWRITE 코드 작성(WriteProcessMemory) – DLL 경로 스레드 실행(CreateRemoteThread) – LoadLibrary 주소 3. LoadLibrary 함수 호출 Malicious   DLL 4. 악성 DLL 로드
  • 38. forensicinsight.org Page  30 악성 라이브러리 찾기 § 공격자가 서비스나 라이브러리를 실행하는 경우.. • 프로세스 로드 시 입력된 커맨드 명령어 수집 필요 • Regsvr32.exe나 svchost.exe와 같이 다른 객체(서비스, 라이브러리)를 로드하는 프로세스의 실행 인자 파악에 유용 • cmdline 플러그인을 이용하여 수집 § 사례) cmdline 플러그인으로 regsvr32.exe의 인자 파악 (babar) 명령줄 분석 /s
  • 39.  :
  • 41.  :
  • 44.  :
  • 47. forensicinsight.org Page  31 악성 디바이스 드라이버 찾기 § 커널 레벨에서 동작 • 커널의 리소스를 자유자재로 수정 가능 • 윈도에서 드라이버를 로드하려면 서비스 형태로 동작 (svcscan 플러그인 활용 가능) • 악성 디바이스 드라이버의 대부분은 루트킷으로 봐도 됨 § EXE/DLL에 비해 높은 위험도를 가짐 • 커널 레벨 접근은 안정성을 보장할 수 없음. ü 커널 충돌 발생 시 바로 블루스크린 발생 • 디바이스 드라이버에서만 할 수 있는 일을 수행 ü 특정 개체(프로세스, 파일, 레지스트리 등)를 은닉에 주로 사용 ü 특정 정보를 올바른 것처럼 보이게 만들어 분석가가 잘못된 판단을 하도록 함 § 기존 포렌식 기법으로 조기 탐지 불가 • 은닉을 위해 동적으로 메모리를 조작하므로, 디스크에는 은닉 흔적이 없음
  • 48. forensicinsight.org Page  32 악성 디바이스 드라이버 찾기 예) 커널 함수 테이블 조작 커널 커널 함수 A 라이브러리 커널 함수 B 애플리케이션 애플리케이션 애플리케이션 커널 레벨 유저 레벨 변조된 결과 전달
  • 49. forensicinsight.org Page  33 악성 디바이스 드라이버 찾기 § 프로세스 은닉 탐지 • Psscan – 프로세스 구조체를 패턴 기반으로 수집 • Psxview 플러그인 – 6가지 방법으로 프로세스 구조체 목록을 수집하여 전시 § 네트워크 세션 은닉 • connscan - 네트워크에 세션 정보를 가지는 구조체를 패턴 기반으로 수집 § 커널 함수 테이블 은닉 • 커널 함수 포인터를 조작하는 루트킷을 감지하는 기술 • ssdt – 시스템 서비스 디스크립터 테이블을 분석하여 변조된 함수를 판단 • Idt – 인터럽트 디스크립터 테이블을 분석하여 변조된 함수를 판단 • gdt – 전역 디스크립터 테이블을 분석 커널 레벨 은닉 탐지 플러그인
  • 50. forensicinsight.org Page  34 악성 디바이스 드라이버 찾기 § SSDT 후킹 확인(ssdt) • 디바이스 드라이버 통신, 레지스트리 및 파일 관리 함수 후킹 § 드라이버 덤프(moddump) • 대부분 덤프하면 온전한 바이너리 획득 가능 ü 대부분 루트킷 드라이버는 페이지 아웃되지 않도록 함 ü 커널 함수 후킹 시 페이지 아웃되면 블루스크린 발생 사례) SSDT 후킹 감지 (DFIRCON 2014)
  • 51. forensicinsight.org Page  35 악성 요소 덤프하기 § 메모리에 있는 프로세스를 정적분석할 수 있도록 덤프하는 방법 • 각 프로세스 별로 B-Tree 형태로 관리(VAD)되는 메모리 페이지를 조립하여 바이너리 생성 • 페이징되지 않은 메모리 영역만 덤프할 수 있음 ü 필요성이 낮아 페이징된 메모리는 덤프하지 못함 ü 단, 일부 도구의 경우 페이지 파일을 분석하여 페이징된 메모리도 덤프하는 기능 제공 § PE 파일 덤프엔 다음과 같은 명령어 사용 • procdump – 프로세스를 EXE 파일 형태로 덤프하는 플러그인 • dlldump – 로드된 라이브러리를 DLL 파일 형태로 덤프하는 플러그인 • moddump – 로드된 디바이스 드라이버를 sys 파일 형태로 덤프하는 플러그인 § 팩킹된 바이너리의 경우 언패킹된 코드 획득 가능
  • 52. forensicinsight.org Page  36 악성 요소 덤프하기 예) 패킹된 바이너리 추출 바이너리 코드 데이터 바이너리 압축된 바이너리 언팩코드 바이너리 언팩코드 코드 데이터 언팩코드 추가 기존 코드/데이터 압축 패킹할 실행파일 패킹한 실행파일 메모리에서 언팩된 실행파일 추출
  • 53. forensicinsight.org Page  37 악성 요소 덤프하기 § 심볼 정보가 제거되어 있을 수 있음 • 동작 후 어느정도 시간이 흐르면 심볼 정보를 가지는 테이블이 제거 • 분석 시 심볼 정보를 확인할 수 없어서 분석 지연 • 방안 : impscan 플러그인으로 라이브러리 함수 주소에 해당하는 심볼 명 확인 가능 § DLL의 경우 베이스 주소 변경(Relocation)으로 분석에 영향을 미칠 수 있음 • 방안 : PE파일의 Optional Header의 EntryPoint를 덤프하는 DLL의 메모리 상 베이스 주소로 변경 • --fix 옵션 사용 § 가상주소와 물리주소간의 차이 보정 § 방안 : PE 파일의 섹션 헤더의 주소 값을 가상주소와 일치되게 변경 § --memory 옵션 사용 복원된 EXE/DLL 분석 시 이슈
  • 54. forensicinsight.org Page  38 악성 요소 덤프하기 § 커널 후킹 함수 빠르게 식별 • ssdt, idt와 같은 커널 함수 후킹 탐지 플러그인으로 함수 식별 • 후킹된 함수가 가리키는 주소로 커널 후킹 함수 파악 § 심볼 정보가 제거 • 커널 메모리는 성능 목적으로 항상 사용하는 페이지(Non-Paged) 영역을 제외하곤 페이지 아웃 • 로드 타임에 커널 함수와 주소 매핑 후 심볼 정보가 제거 • 방안 : impscan 플러그인으로 심볼 확인 § 베이스 주소 변경 • 커널 드라이버는 무조건 주소가 변경되어 있음 • 덤프 후 이미지베이스를 변경하거나, 덤프 시 --fix 옵션으로 해결 복원된 SYS 분석 시 이슈
  • 56. forensicinsight.org Page  40 결론 § 메모리 분석. 이제는 제대로 활용할 때! • 5년 전부터 중요하다고 했는데 요즘에서야 관심을 가지는 것 같아요.. • 운영체제 상관없이 메모리 포렌식은 필수 항목 § 실제 경험이 중요하다! • 메모리 만으로 뽑아낼 수 있는 정보의 한계치를 확인 • Grrcon, DFIRCON 2014의 메모리 이미지 분석 챌린지를 추천 § 이 발표 내용 외에도 다양한 분야에 활용 가능 • 암호화된 키 또는 사용자 패스워드 추출 • 접근했던 웹 페이지 캐시 추출 • 암호화된 패스워드 셋 추출 및 패스워드 복호화 가능 ü https://gist.github.com/n0fate/790428d408d54b910956