Digital Forensics

[forensic-proof] 안티포렌식

ruming 2022. 8. 13. 05:28

http://forensic-proof.com/archives/4689

 

창과 방패, 안티포렌식과 안티안티포렌식 (Anti-Forensics vs. Anti-Anti Forensics) | FORENSIC-PROOF

 

forensic-proof.com

 

 

정의

디지털포렌식 기술에 대응하여 자신에게 불리하게 작용할 가능성이 있는 증거물을 훼손하거나 차단하는 일련의 행위

 

목적

- 탐지를 회피하거나 정보 수집을 방해

- 조사관의 분석 시간을 증가

- 디지털포렌식 도구가 동작하지 못하도록 하거나 오류를 발생

- 범죄자의 사용 흔적이나 도구 실행 흔적을 발견하지 못하도록 로깅을 차단/우회하거나 삭제

- 법정 보고서나 증언으로서 가치가 없도록 증거를 훼손시킴

 

안티포렌식 기법

조사관 입장에서는 조사를 방해하지만 사용자 입장에서는 프라이버시 보호를 위한 합법적인 기법

 

데이터 파괴

간단히 파일을 삭제하는 기법부터 전문 도구를 사용하기까지 사용 흔적을 없앨 수 있는 모든 기법

 

1) 데이터 삭제 (delete / shift+delete)

 - delete는 데이터의 참조 정보만 삭제. 데이터가 덮어써지지 않았으면 복구 가능. Delete 키만 썼을 경우 휴지통 흔적에서도 삭제된 파일 정보 얻을 수 있음

2) 소프트웨어 기반 데이터 완전삭제 (Wiping)

3) 하드웨어 기반 데이터 완전삭제 (Wiping)

- 데이터를 덮어쓰는 기법. 데이터를 복구하기 어려움.

- 완전삭제 도구가 사용되었는지 여부나 시점을 가지고 용의자의 증거 인멸 행위를 고려해 볼 수 있음. 

- 도구 : Eraser, SDelete, CyberShredder, Drive Cleanser, Final Eraser, BlackMagic

- 하드웨어 완전 삭제는 저장매체의 재사용 목적이 아니라 저장매체 폐기가 목적

    ▶ 디가우저(Degausser) - 강력한 자기장을 통해 자기장 방식의 저장매체 데이터를 지움 

    ▶ 물리적으로 천공을 하거나 파쇄

4) 사용 흔적 자동 삭제 도구

- 분석을 어렵게 할 목적으로 흔적이 저장되는 웹 브라우저 흔적, 로그 파일, 프리패치, 최근 열린 파일, 검색 정보등을 자동으로 삭제시켜주는 도구

- CCleaner, Evidence Eliminator, Windows Washer

- 최근에는 백신 같은 보안 프로그램에서도 용량 확보 목적으로 일부 사용 흔적을 삭제하는 기능을 지원

 

데이터 암호화

데이터를 외부 유출로부터 보호하기 위한 기법. 중요 데이터를 보호하는데 사용될 수 있음

 

운영체제 자체에서 지원하는 암호화 기능

- EFS(Encrypting File System), BitLoker

 

암호화 전용 도구

- TrueCrypt, Disk Utility, GNU Privacy Guard, AxCrypt

 

자체적으로 암호화 기능을 지원하는 응용프로그램

- 아래아한글, 마이크로소프트 오피스 제품군, 어도비 PDF

- DRM이나 개인정보보호 솔루션에서도 암호화 기능을 지원

- 넓은 의미에서 네트워크 프로토콜을 암호화하는 SSL, SSH, SFTP, TOR 등도 포함

 

암호화 기능 무력화 방법

- 제품의 암호화 방식을 역공학(Reverse Engineering)하여 암/복호화 기능의 취약성을 이용

- 사전 공격(Dictionary Attack)

- 무차별 대입법

- TMTO(Time-Memory Trade-Off)

 

데이터 은닉

데이터를 쉽게 탐지할 수 없도록 숨기는 기법

 

1) 스테가노그래피

- 디지털 매체에 메시지를 은닉하여 전달

- 인간의 인지 능력으로는 원본과 구별 불가능

- 바이트 비교를 통해 적용 유추 가능 (원본이 없으면 발견하기 쉽지 않음)

 

대상

- JPEG, BMP, GIF, WAV, MP3, SWF 등과 같은 멀티미디어 파일

- HWP, DOC, XLS, PPT, PDF 등과 같은 문서 파일

 

도구

- OpenStego, S-Tools, Steghide, Merge Streams

 

2) 파일시스템 구조에서 낭비되는 영역에 데이터 숨기기

- Slacker: 슬랙 공간(Slack Space)에 데이터를 숨김

- FragFS: NTFS MFT(Master File Table)에 데이터를 숨김

- RuneFS: 배드 블록(Bad Block)에 데이터를 숨김

- Waffen FS: ext3 저널 파일에 데이터를 숨김

- KY FS: 디렉터리 파일에 데이터를 숨김

- Data Mule FS: inode 예약된 공간에 데이터를 숨김

- Host Protected Area & Device Configuration Overay: HPA, DCO 영역에 데이터를 숨김

 

3) 루트킷

- 구조적인 변경이나 취약점을 통해 데이터를 은닉

 

데이터 조작

파일시스템의 시간 정보를 조작

- 자신의 존재를 들키지 않고 시스템에 오래 남아있어야 하는 악성코드는 보통 시간 정보를 조작하여 정상 파일처럼 위장

- 로그를 조작하여 자신의 행위가 정상적인 행위로 보이도록 위장

 

도구

- 윈도우 시스템에서 사용할 수 있는 Timestomp, XTST(eXpress TimeStamp Toucher)가 있고, *nix 시스템에서는 touch 명령으로 조작이 가능

 

풋프린트 최소화 (Minimizing the Footprint)

시스템에 흔적을 거의 남기지 않는 방법

 

1) 포터블(Potable) 프로그램 이용

포터블 프로그램 : 설치과정 없이 실행할 수 있는 프로그램

- 가상의 파일시스템과 레지스트리를 사용하고 종료 시에는 해당 흔적을 삭제

- 설치할 필요 없이 간단히 사용 가능하기 때문에 최근 많은 응용프로그램이 포터블 버전을 지원

범죄자들은 자신의 흔적을 최소화하기 위해 이런 프로그램이나 별도 제작된 포터블 프로그램을 사용

디지털포렌식 조사관은 데이터 수집 시 시스템에 영향을 최소화하기 위해 포터블 프로그램을 이용

 

2) 라이브 CD나 부팅 가능한(Bootable) USB를 이용

- 메모리 상에서 실행되기 때문에 파일시스템에 흔적을 남기지 않음

- 다양한 공격용 응용프로그램을 포함하여 제작한 후, 이를 악용

 

3) 가상 머신(Virtual Machine)을 이용

- 흔적이 가상 머신 이미지 파일에만 남기 때문에 호스트 시스템 흔적을 분석해서는 발견할 수 없음

- 분석하기 어렵도록 종종 이미지 파일을 암호화

- 사용 후에는 이미지 파일을 완전삭제(Wiping)하여 흔적을 완벽하게 제거

 

4) 메모리 인젝션(Memory Injection), 원격 코드 실행(Remote Execution) 

- 시스템의 디스크 흔적을 최소화

최근 공개된 웹 상의 무료 스토리지는 API도 지원하기 때문에 이를 통해 코드를 실행하거나 중요 데이터를 유출하는 것도 가능

 

 

분석 시간 증가

분석하기 어렵게 만듦

- 코드 난독화(Code Obfuscation), 실행 압축(Packing), 래핑(Wrapping)

- 분석을 어렵게 할 목적으로 해당 기법을 반복적으로 적용하거나 서로 조합하여 적용

- 공개된 방식 이외에 자신만의 매뉴얼한 방식도 자주 사용