본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
Digital Forensic
디지털 기기를 대상으로 발생하는 특정 행위의 사실 관계를 법정에서 증명하기 위한 방법 및 절차
장치에 저장되거나 네트워크를 통해 전송 중인 자료로서 조사 및 수사에 필요한 증거자료
  • 디지털 증거분석
    • 장치 혹은 전송 중인 자료에 대한 원본 보존
    • 사건 관련 증거를 과학적인 절차를 통하여 추출, 검증, 판단하는 조사·수사 과정
  • 휘발성 증거
    • 일시적으로 메모리 혹은 임시파일에 저장되는 증거로 컴퓨터 종료 시 삭제되는 디지털 증거
    • 램 스랙 영역, 램 비할당 영역, 네트워크 설정 값, 네트워크 연결 정보, 실행 중인 프로세스, 열려진 파일, 로그인 세션, 운영체제 시간
    • 휘발성이 높은 것부터 빨리 회수해야 한다.
      • ex) 레지스터→캐시→주기억장치(메모리)→임시파일→기타파일
  • 비휘발성 증거
    • 컴퓨터 종료 시에도 저장매체에 남아 있는 디지털 증거
    • 설정 값, 로그, 애플리케이션 파일, 데이터 파일, 스왑 파일, 덤프 파일, 하이버네이션 파일, 임시 파일

디지털 증거 수집 원칙

편집 원본 편집
  • 정당성의 원칙
    • 증거 수집 및 절차의 적법성 여부
    • 위법수집 증거 배제법칙
      • 위법절차를 통해 수집된 증거는 증거 능력을 인정하지 않음
      • ex) 해킹을 통해 수집한 증거는 채택 하지 않는다.
    • 독수 독과 이론
      • 위법하게 수집된 증거에서 얻어낸 2차 증거도 증거 능력을 인정하지 않음
      • ex) 해킹으로 얻은 비밀번호로 특정 파일을 복호화 하여 얻은 증거도 인정하지 않는다.
  • 재현의 원칙
    • 같은 조건과 상황 하에 항상 같은 결과가 나와야 함
    • ex) 불법 해킹 용의자의 해킹 툴이 증거 능력을 가지기 위해서는 같은 상황의 피해 시스템에 툴을 적용할 경우 동일한 결과가 나와야 한다.
  • 신속성의 원칙
    • 디지털 포렌식의 전 과정이 신속하게 진행 되어야 함
    • 휘발성 데이터의 특성 상 수사 진행의 신속성에 따라 증거 수집 가능 여부가 달라진다.
  • 연계 보관성의 원칙
    • 증거물 수집부터 제출까지의 각 단계에서 담당자 및 책임자가 명확해야 함
    증거획득 → 이송 → 분석 → 보관 → 법정제출
    • 저장매체가 이동 단계에서 물리적 손상을 입었다면 이동 담당자는 이를 확인하고 내용을 정확히 인수인계하여 이후 적절한 조치가 취해지도록 해야 함
  • 무결성의 원칙
    • 수집된 증거가 위조, 변조되지 않아야 함
    • 일반적으로 수집 당시 해시 값을 저장하여 증거 제출시 무결성 입증

  1. 사전 준비 단계: 사건이 일어나기 전에 행해지는 활동으로 도구의 준비, 검증, 분석 교육 등의 활동
  2. 증거 수집 단계: 사건과 관련된 디지털기기에서 디지털 데이터를 수집하는 과정으로 수집 과정에서 데이터가 변조되지 않아야 함
  3. 포장 및 이송 단계: 수집된 데이터를 포장하여 분석실로 이송하는 과정으로 외부의 요인에 의해 변조되지 않아야 함
  4. 조사 분석 단계: 수집한 디지털 데이터를 분석하는 과정으로 다양한 디지털포렌식 분석 기술이 사용된다. 흔히, 디지털포렌식은 이 분야의 연구를 지칭
  5. 정밀 검토 단계: 분석되기까지의 각 단계의 검증을 비롯하여 분석 결과가 정확한지 검토하는 단계
  6. 보고서 작성 단계: 정밀 검토를 마친 결과를 바탕으로 분석된 결과를 법정에 제출하기 위해 객관적인 보고서를 작성하는 단계

분석 대상별 분야

편집 원본 편집
분야 대상 주요 기술
디스크 포렌식 하드디스크, SSD, USB 디스크 이미징(쓰기 방지 장치), 해시 검증, 삭제 파일 복구, 파일 카빙, 슬랙 공간 분석
메모리 포렌식 주기억장치 메모리 덤프, 실행 중인 프로세스·네트워크 연결·암호 키 추출
시스템(아티팩트) 분석 운영체제 흔적 레지스트리, 이벤트 로그, 프리패치, 바로가기·점프 목록, 브라우저 기록으로 사용자 행위 재구성 → 웹 브라우저 포렌식
네트워크 포렌식 패킷, 플로, 장비 로그 패킷 캡처·세션 재구성, 침입 경로·유출량 분석
모바일 포렌식 스마트폰 논리·물리 추출, 앱 데이터베이스 분석
데이터베이스 포렌식 DBMS 트랜잭션 로그, 감사 로그 분석
  • 증거 수집 : 원본에 쓰지 않도록 쓰기 방지 장치를 쓰고, 비트 단위 사본(이미지)을 만들어 사본으로 분석한다.
  • 무결성 검증 : 수집 시점의 해시값(MD5, SHA-256)을 기록하고 분석·제출 때 다시 대조한다.
  • 타임라인 분석 : 파일의 MAC 시간과 로그를 시간순으로 엮어 사건 흐름을 재구성한다.
  • 데이터 복구 : 삭제된 파일, 포맷된 영역, 비할당 영역에서 데이터를 되살린다.
  • 암호 해독·은닉 데이터 탐지 : 암호화된 파일, 스테가노그래피, 대체 데이터 스트림(ADS) 같은 숨긴 데이터를 찾는다.
Artifact
운영체제와 응용프로그램이 동작하면서 사용자가 의도하지 않아도 자동으로 남기는 기록으로, 누가 언제 무엇을 했는지 재구성하는 근거가 되는 흔적

사용자가 직접 만든 문서나 사진은 그 자체가 증거물이지만, 아티팩트는 그 문서를 언제 열었는지, 어떤 프로그램을 실행했는지, 어떤 USB를 꽂았는지를 알려 주는 부수 기록이다. 운영체제가 성능 향상(프리패치), 사용 편의(최근 문서, 점프 목록), 장애 대응(이벤트 로그), 파일 시스템 복구(저널)를 위해 남기는 정보가 대부분이어서 사용자가 존재를 모르는 경우가 많고, 그만큼 조작되지 않은 채 남아 있을 가능성이 크다.

  • 자동 생성 : 사용자 행위의 부산물로 생긴다. 의도적으로 만든 증거가 아니어서 신빙성이 높다.
  • 시간 정보 포함 : 대부분 생성·수정·실행 시각을 담고 있어 타임라인 분석의 재료가 된다.
  • 교차 검증 : 같은 행위가 여러 아티팩트에 동시에 남는다. 예를 들어 프로그램 실행은 프리패치, Amcache, UserAssist, 이벤트 로그에 함께 기록된다. 하나가 지워져도 나머지로 복원하고, 서로 어긋나면 조작을 의심한다.
  • 휘발성 차이 : 메모리에만 있는 것(실행 중 프로세스, 네트워크 연결)과 디스크에 남는 것이 있다. 휘발성 높은 것부터 수집한다.
  • 삭제·변조 가능 : 안티 포렌식 도구로 지울 수 있으므로 "흔적이 없다"는 것을 곧 "행위가 없었다"로 해석하지 않는다.

행위별 주요 아티팩트(Windows)

편집 원본 편집
밝히려는 행위 아티팩트 위치·내용
프로그램 실행 프리패치(Prefetch) C:\Windows\Prefetch\*.pf. 실행 파일명, 실행 횟수, 최근 실행 시각, 함께 읽은 파일 목록
프로그램 실행 Amcache, ShimCache(AppCompatCache) 실행(또는 존재)한 파일의 경로·해시·시각. Amcache.hve, SYSTEM 하이브
프로그램 실행 UserAssist 사용자 하이브(NTUSER.DAT)에 GUI 프로그램 실행 횟수와 마지막 실행 시각을 ROT13으로 인코딩해 저장
파일·폴더 열람 바로가기(LNK), 점프 목록(Jump List) 연 파일의 원래 경로, 볼륨 정보, 열람 시각. 원본이 지워져도 남는다
파일·폴더 열람 최근 문서(RecentDocs, MRU), 셸백(ShellBags) 최근 연 문서 목록, 탐색기로 연 폴더와 보기 설정
외부 저장장치 연결 USB 연결 기록 SYSTEM 하이브의 USBSTOR 키, setupapi.dev.log. 장치 제조사·일련번호, 최초·최종 연결 시각
로그온·계정 활동 이벤트 로그 Security.evtx의 4624(로그온 성공), 4625(실패), 4634(로그오프), 1102(감사 로그 삭제), System.evtx의 7045(서비스 설치)
파일 생성·삭제·이름 변경 NTFS 메타데이터 $MFT(파일별 MAC 시각), $LogFile, $UsnJrnl:$J(변경 저널)
파일 삭제 휴지통 $Recycle.Bin의 $I(원래 경로·삭제 시각)와 $R(실제 내용)
웹 활동·다운로드 브라우저 기록 방문 기록·다운로드·쿠키·캐시(대부분 SQLite) → 웹 브라우저 포렌식
네트워크·자원 사용 SRUM SRUDB.dat. 앱별 네트워크 송수신량과 실행 시간(약 30~60일)
시스템 설정 레지스트리 하이브 SYSTEM·SOFTWARE·SAM·SECURITY와 사용자별 NTUSER.DAT → 윈도우 레지스트리

다른 환경의 아티팩트

편집 원본 편집
환경 주요 아티팩트
리눅스 셸 명령 이력(~/.bash_history), 인증 로그(/var/log/auth.log 또는 secure), 로그인 기록(wtmp·btmp·lastlog), cron 작업, /tmp의 잔여 파일
모바일 통화·메시지·연락처 SQLite 데이터베이스, 앱별 데이터 폴더, 위치 기록, 사진의 EXIF(촬영 시각·GPS)
메모리 실행 중인 프로세스와 명령줄, 열린 네트워크 연결, 로드된 DLL, 암호화 키, 클립보드
클라우드·SaaS 접속 감사 로그, 공유 링크 생성 기록, 동기화 클라이언트의 로컬 캐시
  1. 수집 : 쓰기 방지 상태에서 이미지를 뜨고, 살아 있는 시스템이면 메모리부터 확보한다.
  2. 파싱 : 아티팩트별 전용 도구로 레지스트리, 이벤트 로그, 프리패치, 저널을 읽을 수 있는 형태로 바꾼다.
  3. 통합 타임라인 : 여러 아티팩트의 시각을 한 줄로 합쳐 행위 순서를 만든다(슈퍼 타임라인).
  4. 교차 검증 : 한 행위를 두 개 이상의 아티팩트로 확인하고, 시각 불일치·로그 삭제(이벤트 1102) 같은 조작 징후를 찾는다.
  5. 해석·보고 : "USB 연결 → 문서 열람 → 압축 프로그램 실행 → 웹 메일 업로드"처럼 행위 흐름으로 정리한다.

로카르드의 교환 법칙

편집 원본 편집
Locard's exchange Principle
  • 접촉하는 두 개체는 서로 흔적을 주고 받는다는 원칙
  • 누구든 간에 동작 중인 시스템을 다루게 되면 해당 시스템은 변화가 발생한다.

디지털 포렌식 도구

편집 원본 편집
  • FTK
  • Encase