디지털포렌식과 친해지기
  • 디지털포렌식전문가 2급 실기와 친해지기(실기)
    • 1. 디지털 포렌식 실기 준비하기
      • 1. BIT, BYTE, 파일 그리고 Hash
      • 2. 섹터와 사본 이미지 생성
        • 2-1. FTK Imager 활용 물리이미징(Registry 쓰기방지)
        • 2-2. EnCase 활용 물리이미징(EnCase 쓰기방지)
        • (연습용) 가상디스크 만들기
      • 3. 파티션과 파일시스템 복구
        • 3-1) 파티션과 파티션 테이블
          • 3-1.1) GPT 헤더, 파티션 Entry 복구
        • 3-2) 파일시스템과 파일시스템 복구
        • 3-3) 파일시스템 복구 실전 연습
      • 4-1. 무료도구 활용 분석연습
        • 0) 이미지 획득 및 파일시스템 복구
        • 1) 저장매체와 파일시스템 분석
        • 2) 파일과 친해지기
        • 3-1) 파일 관련 분석 1
        • 3-2) 파일 관련 분석 2
        • 4-1) 윈도우 아티팩트1
        • 4-2) 윈도우 아티팩트2
        • 5) 주요 응용 프로그램 아티팩트
          • 5-1) Sqlite 열어보기
        • 6) 키워드 검색 / Base64 Decode
        • 7) bitlocker
        • 8) 가상머신(참고)
        • 무료도구 활용 분석연습 정리
      • 4-2. EnCase 활용 분석연습
        • 0) 이미지 획득 및 파일시스템 복구
        • 1) 저장매체와 파일시스템 분석
        • 2) 파일과 친해지기
        • 3-1) 파일 관련 분석 1
        • 3-2) 파일 관련 분석 2
        • 4-1) 윈도우 아티팩트1
        • 4-2) 윈도우 아티팩트2
        • 5) 주요 응용 프로그램 아티팩트
          • 5-1) Sqlite 열어보기
        • 6) 키워드 검색 / Base64 Decode
        • 7) bitlocker
        • 8) 가상머신(참고)
        • EnCase를 활용한 분석연습 정리
      • 5. 주관식 - 기본 절차 및 증거법 관련
        • (정리 중) 디지털 증거관련 주요 판례
      • 6. 답안 제출 및 보고서 작성
      • 7. 요령 및 주의사항
    • 2. 실력 다지기
      • 1. 문제 저장매체 만들고 풀어보기
        • 기초 연습문제1-분석해보기(무료도구)
        • 기초 연습문제1-분석해보기(EnCase)
      • 2. 파일시스템 복구 연습
      • 3. NTFS 로그 분석 연습
    • 3. 실전 연습 문제
      • 2018 실전 연습 문제
        • 2018 실전 연습 - 분석해보기(무료도구)
        • 2018 실전 연습 - 분석해보기(EnCase)
      • 2019 실전 연습 문제
        • 2019 실전 연습 - 분석해보기(무료도구)
        • 2019 실전 연습 - 분석해보기(EnCase)
      • 2020 실전 연습 문제
        • 2020 실전 연습 - 분석해보기(무료도구)
        • 2020 실전 연습 - 분석해보기(EnCase)
      • 2023 실전 연습 문제(종합유형)
        • 2023 실전 연습 - 분석해보기(무료도구)
        • 2023 실전 연습 - 분석해보기(EnCase)
      • 2024 실전 연습 문제
        • 2024 실전 연습 - 분석해보기(무료도구)
        • 2024 실전 연습 - 분석해보기(EnCase)
    • 4. 기출 유형
  • 디지털포렌식과 친해지기
    • 1. BIT의 저장
      • 0) 준비사항!
        • 0-1) 주요 분석 도구 간단 소개 및 설정
        • 0-2) Python 을 이용한 개발 환경 구성
        • 0-3) Python 소스로 실행파일 만들기
      • 1) BIT, BYTES와 파일 그리고 Hash
        • 1-1) Hex Viewer 만들기
        • 1-2) BIT의 저장(참고)
      • 2) 저장매체와 섹터 그리고 물리이미징
        • 2-1) 가상 디스크 설정
        • 2-2) 물리이미징(raw) 실습
        • 2-3) 물리이미징 수집 도구 만들기(기초)
      • 3) 파티션
        • 3-1) MBR 파티션 테이블 구조
        • 3-2) GPT(GUID Partition Table) 구조
        • 3-3) 파티션 분석 도구 만들기(기초)
      • 4) 파일시스템 기초 분석
        • 4-1) 파일시스템 직접 만들어 보기
        • 4-2) FAT32 분석
          • 4-2.1) FAT32 분석(BR, Directory Entry - 데이터의 접근)
          • 4-2.2) FAT32 분석 2(FAT, LFN, 삭제)
          • 4-2.3) FAT32 분석 3 (특징과 분석 도구)
        • 4-3) NTFS 기초 분석
          • 4-3.1) NTFS 기초 분석(NTFS BR과 DATA 영역)
          • 4-3.2) $MFT와 MFT Entry
          • 4-3.3) MFT Entry의 주요 속성1($SI,$FILE,$DATA)
          • 4-3.4) MFT Entry의 주요 속성2(인덱스1, resident/Nonresident)
          • 4-3.5) MFT Entry 찾기(인덱스2, $ATTRIBUTE_LIST)
          • 4-3.6) NTFS 에서 파일의 접근 정리
          • 4-3.7) NTFS 주요 메타데이터 파일
          • MFT Entry 분석용
      • 5) 파티션과 파일시스템
      • 6) 사본 이미지 생성(논리/물리이미징)
      • 7) 파일과 친해지기
Powered by GitBook
On this page
  • 1. 물리 이미징
  • 1-1) 물리이미징
  • 1-2) 물리이미징 실습과 이미지 파일의 종류
  • 2. 논리이미징
  • 2-1) 논리이미징
  • 2-2) 논리이미징 실습
  • 3. 삭제한 파일의 논리이미징
  • 4. 논리이미징 VS 물리이미징(참고)
  • 5. 이미징 파일 종류
  • 6. 메모리 덤프(메모리 물리이미징?) - 참고
  • 7. 정리
  1. 디지털포렌식과 친해지기
  2. 1. BIT의 저장

6) 사본 이미지 생성(논리/물리이미징)

Previous5) 파티션과 파일시스템Next7) 파일과 친해지기

Last updated 11 months ago

1. 물리 이미징

1-1) 물리이미징

  • 물리 이미징은 저장매체 0번 섹터부터 마지막 섹터까지 모든 바이트를 그대로 복사해서 파일형태로 만드는 것입니다.

  • HxD로 물리이미징을 할 수 있으나 용량이 크면 매우 번거롭거 사실상 안된다고 봐야합니다. 따라서 물리이미징전문 도구나 전용 장비를 사용하게 됩니다.

  • 이런 전문 도구는 업체에서 제품으로 판매하고 있으며, 수집도구는 매우 중요하기 때문에 포렌식 장비세트에 사실상 필수로 들어가게 된다. 음.. Falcon과 TD3가 Falcon과 TD3가 국내에서는 그나마 잘 쓰지 않을까 싶다.. - Logicube Falcon-NEO - Tableau TD3 Forensic Imager - CRU WiebeTech Ditto - Atola Insight Forensic - Voom HardCopy 3P - FRED Systems (Forensic Recovery of Evidence Device)

1-2) 물리이미징 실습과 이미지 파일의 종류

  • 직접 물리 이미징하는 것 자체는 매우 간단합니다. 쓰기방지 한 상태에서 HxD와 같은 헥스 에디터로 저장매체를 연 다음 0번 섹터부터 마지막 섹터까지 그대로 복사해서 이미지 파일로 생성하면 되는 것입니다. > 간단한 물리 이미징 실습 : 2-2) 물리이미징(raw) 실습

  • 그러나 실제로 이런 방법은 사실상 현장에서 사용하지 못합니다. 공부용으로만 한번만 해보셔도 충분합니다. HxD로 복사하는 방법은 사실상 해당 PC와 메모리 성능에 의존을 하게되는데 아무리 수집대상 PC 성능이 좋다고 하더라도 현대의 컴퓨터에서 쓰는 메모리에 비해 저장매체는 용량이 월등히 크기 때문이지요

  • 따라서 실제로는 이미징 전용 도구나 전용 소프트웨어를 사용하고 있습니다. 그리고 항상 물리이미징을 획득하고 난 뒤에는 해시값을 함께 산출하여 가지고 있어야 합니다. 전용 도구들은 당연히 그런것들이 되어 있는 것이지요 자 그렇다면 그래도 만만한 도구를 이용하여 물리이미징 실습을 한번 해보도록 하겠습니다.

1-2.1) Raw 이미지 획득

[FTK Imager를 이용한 물리이미지 획득]

  1. 만약 증거대상 저장매체를 가져온 경우 최대한 쓰기 방지 한 상태로 내 PC에 연결하여 물리이미징을 해볼 수 있습니다. 예를들어 USB 혹은 분석실로 가져온 하드디스크 증거일 경우 이런 방식으로 물리이미징이 가능할 것입니다. File- Create Disk Image를 선택 후 저장매체를 선택합니다. 가상디스크도 물리이미징 획득이 가능하기에 용량이 적은 가상디스크를 이미지 획득 대상으로 설정해보겠습니다.

  2. [Add] 선택 후 저장할 이미지 파일 종류를 선택할 수 있습니다. [Select Image Type] - Raw (dd): 모든 섹터의 데이터가 압축같은 거 없이 그대로 동일하게 복사해오는 방식입니다. - SMART / E01 / AFF : 디지털 포렌식에서 쓰이는 디스크 이미징 형식으로 각각 특징이 다르나, 포렌식 작업 효율을 높이기 위한 내용, 압축 등이 되어 있습니다. [Evidence Item Information] - 사건 관련 정보를 입력할 수 있으며, 이미지 생성 로그에 함께 포함되는 내용 입니다. [Select Image Destination] - 이미지 파일 저장 경로로, Fragment Size의 경우 저장매체 용량이 클 경우 파일을 분할하여 저장 - Compression 은 압축률로 Raw는 압축을 하지 않기때문에 비활성화 됩니다.

  3. 이미징 파일을 열때는 HxD에서 도구 - 디스크 이미지 열기로 열어야 섹터번호를 확인할 수 있습니다. 디스크 열기의 경우 관리자권한으로 실행하였을 때 확인이 가능합니다.

  4. 당연하게도 생성된 물리이미징 파일과, 저장매체의 데이터가 0번 섹터 부터 마지막 섹터까지 동일하게 되는 것입니다. (*대신 raw 이미지를 Fragment Size로 분할할 경우 분할 된 크기만큼 여러 파일이 생성되어 있을 것이기 때문에 섹터번호는 그부분을 감안하여야 합니다.)

  5. 이미지를 생성한 폴더에 이미지 파일명과 동일한 파일명.txt 로 이미지 획득 관련 로그가 생성 됩니다. 여기서 드라이브 모델에는 실제 USB 같은 저장매체에는시리얼넘버가 들어가게됩니다.

1-2.2) E01 이미지 획득

  1. 이번에는 동일한 저장매체를 E01으로 획득해보도록 하겠습니다.

  2. e01 이미지 파일을 HxD로 열어보겠습니다. 기존의 디스크에 저장된 것과 다른 값이 저장되어 있습니다. 압축되어 있기 때문에 Raw와 다른 구조를 갖게 됩니다.

  3. 그렇다면 이 이미지는 원본과 다른 값을 갖고 있는 것일까요?? 아닙니다 당연히 포렌식 도구로 이 파일 구조를 열게 되면, 우리가 Raw 획득한 것과 동일하게 이미지 파일을 확인할 수 있습니다. [Add Evidence Item] 선택 후 Add Image를 선택하고 E01 파일을 열어보도록 합시다.

  4. FTK Imager와 같은 포렌식 도구에서는 이미지 파일을 열면 압축을 해제해서 우측에 표시해줍니다. 이 부분이 원본과 동일하다는 의미를 가지게 됩니다. 또한 압축을 하는 과정에 Raw 이미지에는 가질 수 없는 정보들도 추가로 포함을 할 수 있습니다. Raw는 당연히 원본과 완전히 일치할 것이기 때문에 우리가 포렌식 하니까 데이터 영역 어딘가에 포렌식한 시간이나 값을 저장하면 원본이 훼손될 것이기 때문에 가질 수 없는 값이 있습니다. E01에는 저장매체의 시리얼넘버도 포함합니다.

    그렇다면 질문!? E01 해시값과 저장매체 전체의 해시값은 같을까요? -> 당연히 다르겠지요. E01을 압축해제 한다면 0번 부터 마지막까지 동일하기 때문에 해시값은 같을 것입니다.

1-2.2) E01 이미지에서 이미지 획득

  1. 그렇다면 E01에서 Raw를 만들 수 있을까? 당연히 가능합니다. E01에서 이미지를 생성해봅시다. File - Create Disk Image -> Image File -> E01 파일 선택

    E01 이미지를 이용하여 다시 Raw, E01을 다시 또 만들어 낼 수 있습니다. 사본이미지는 사실상 원본 데이터를 모두 포함하기에 얼마든지 물리 이미지 획득이 가능한 것입니다.

  • 이렇게 물리이미징 획득은 저장매체 전체를 대상으로 데이터를 그대로 복사해서 이미지 파일로 만드는 방법입니다.

    다른 도구들도 여러가지 있기 때문에 다양하게 사용해 보시길 바라며 원리를 아신 여러분들은 얼마든지 직접 도구도 만들어 볼 수도 있을 것입니다. 그러나.. 실무에서 쓰기는 약간 어려울 수는 있으나..(도구의 신뢰도 파트에서 한번 같이 생각해봅시다.) 원리를 알았으면 직접 만들어보는 것도 재미있겠지요! > 2-3) 물리이미징 수집 도구 만들기(기초)

2. 논리이미징

  • 최근 실무에서는 디지털포렌식 증거수집을 할 때 저장매체 전체를 수집하는 경우가 점점 줄어들고 있습니다. 상황에 따라 다르겠지만 사실상 사건과 관련된 증거만을 선별해서 증거를 수집하는 추세로 가고 있습니다.

2-1) 논리이미징

  • 논리이미징의 경우 논리적으로 접근 가능한 대상들을 수집할 때 사용됩니다. 즉, 우리가 운영체제를 통해서 논리적인 접근을 통해 특정 파일과 해당 내용에 접근되는 부분이 있다면 그 부분을 수집하게 되는 것입니다. - 포함되는 데이터: 파일 시스템 내의 접근 가능한 파일, 디렉토리, 메타데이터 - 제외되는 데이터: 비할당 영역, 삭제된 파일, 빈 공간

  • 특정 파일과, 해당 파일의 메타데이터 들을 수집하기 위한 이미징 방법이라고 생각하면 됩니다. 단순 복사, 붙여넣기를 하면원본의 메타데이터(시간, 경로, 시간정보)에 대해서 원본과 동일하지 않기 때문에 접근 가능한 파일에 대해서 논리이미징을 진행하여 원본과 동일한 파일을 획득 하기 위한 절차를 진행하게 됩니다.

2-2) 논리이미징 실습

  • 간단한 가상디스크를 생성 후 파일과 폴더를 몇가지 생성한 뒤 논리이미징을 획득하여봅시다.

  1. 가상디스크를 생성 후 NTFS, FAT32 파일시스템을만들고 각각 파일, 폴더, 폴더 내 파일을 생성하여 봅시다.

    FTK Imager를 이용하여 해당 디스크를 선택하여 봅시다.

  2. 논리이미징으로 획득할 파일을 선택 후 우클릭 [Add to Custom Content Image(AD1)]을 클릭 [FAT32의 특정 폴더 안의 파일 선택]

    [FAT32의 루트의 폴더의파일 선택]

    [NTFS의 루트, 폴더의 파일 선택 후 추가]

  3. 이미징으로 선택한 파일을 대상으로 이미징을 생성(Create Image)하여 봅시다.

    이미지 생성하게 되면 물리이미징 생성 하듯이 동일한 순서로 생성하면 됩니다. 다만 Image Fragment Size의 경우 0으로 설정이 불가능하네요. Finish 후 Start를 하여 이미지를 생성할 수 있습니다.

  4. FTK Imager에서 이제 생성한 논리이미징을 불러오도록 하겠습니다. FTK Imager에서 생성한 논리이미징의 경우 ad1 확장자로 저장되게 됩니다. 해당 이미지 파일을 불러오도록 하겠습니다.

    불러온 파일을 확인할 수 있습니다.

  5. 여기서 궁금한게 하나 생겼습니다. FAT32의 경우 디렉토리 엔트리, FAT 외에는 사실상 메타데이터로서 의미있는게 거의 없지만 NTFS의 경우 매우 많은 속성 정보를 가질 수 있습니다. 해당 파일의 MFT Entry 에 관한 정보를 모두 가져왔는지 궁금하네요! FTK Imager에서 View-Properties 모드에서 폴더 내 파일을 한번 살펴보겠습니다. MFT Entry 정보도 포함되어 있는 것을 알 수 있습니다.

    원본의 폴더 내 파일의 MFT Entry 넘버와 내용이 동일한지 살펴보니 동일한거 같네요!

  • 이런 식으로 해당 파일의 메타데이터를 확보한 논리이미징 파일을 생성한 것을 알 수 있습니다. 실제 현장에서 특정 파일들에 선별하여 증거수집을 해야할 경우 이러한 논리이미징 방식을 활용하여 증거를 수집하게 됩니다.

3. 삭제한 파일의 논리이미징

  • FTK Imager의 경우 파일이 삭제되었다고 해도 복구가 가능한 파일은 삭제되었다는 표시를 해주며, 복구하여 파일을 추출 할 수 있습니다.

    이러한 파일도 논리이미징 획득이 되는지 한번 살펴보겠습니다.

  1. 먼저 파일을 삭제하여 봅시다. 휴지통으로 가지 않도록 완전삭제를 진행해보겠습니다. Shift + Del 또는 Shift 누른 상태에서 우클릭-삭제를 진행하여 완전삭제를 진행해보도록 합시다.

  2. 삭제한 후 바로 FTK Imager에서 삭제된 파일이 삭제된 표시로 보이는지 살펴보도록 합시다. 아래 그림처럼 파일 아이콘에 X 표시가 있으면 삭제된 파일을 의미합니다. 이러한 해당 파일도 우클릭 - Add to Custom Content Image 를 해보도록 하겠습니다.

    여전히 삭제된 파일이라도 하더라고 복구 가능한 파일의 경우 논리이미징으로 획득할 수 있게 됩니다.

  3. 자.. 당연한 이야기를 한 이유는 논리이미징은 기본적으로 운영체제제가 접근가능한 파일 등을 수집하는 과정입니다. 반면 포렌식 도구가 복구를 하는 것은 비할당 영역에 접근하여 파일을 복구한 것입니다. 이것은 그렇다면 논리이미징일까요? 물리이미징일까요? 여러분들 생각은 어떤가요?

4. 논리이미징 VS 물리이미징(참고)

  • 자 다음과 같은 상황에서 물리이미징, 논리이미징을 분류하여 봅시다.

  1. C드라이브에 있는 삭제되어 있지 않은 모든 디렉토리, 파일 수집

  2. 파티션이 3개 있는 저장매체에서 파티션 1번에 있는 파일시스템 전체수집

  3. 삭제된 파일이 포렌식 도구에서 보여서 삭제한 파일에 대한 수집

사실 무조건 정답이라고 생각하지 않고 개인적인 견해이니 참고로만 작성자은 이렇게 생각하나 보다.. 정도로만 생각해 주시고 대신 각자 개인적으로 한번 생각 해봅시다.

  • 1번은 논리이미징인것 같네요!

  • 2번의 경우 파일시스템에 대한 수집은 비할당영역도 모두 포함되어 있기 때문에 물리이미징의 성격이 강해보입니다.

  • 3번은 포렌식 도구가 삭제된 파일을 복구한 후 이를 논리 이미징으로 수집하는 경우, 최종 수집 과정은 논리 이미징으로 간주될 수 있습니다. 그러나 파일을 복구하는 과정 자체는 물리 이미징의 성격을 가집니다. (ChatGPT의 답변입니다. -> 그래서 물리야 논리야?)

개인적으로 3번을 생각했을 때는 논리적으로 운영체제가 접근할 수 없는 데이터영역에 대한 수집이기 때문에 물리이미징이지 않나 싶으나..... 결국 논리이미징이라고 해도 틀린말도 아닌거 같습니다. 그런데 사실 이렇게 분류하는 것은 크게 중요한건 아닙니다. 그러나 분명한 인식이 필요합니다. 이유는 포렌식 도구마다 논리이미징 획득하였을 때 논리이미징 파일구조가 다양합니다. (즉, 딱히 전세계적으로 정해진게 없습니다.) 사실 다음에 알아볼 이미징 파일 종류에서도 언급하겠지만, 전 세계적에서 디지털 포렌식으로 수집한 증거 파일은 무조건 이거여야 한다는 정답이 있는게 아닌 것입니다. 다만 주로 많이 쓰는 것, 전세계의 수사/조사기관등에서 사용하는 도구에 따라 다르게 사용하고 있을것입니다. 물리이미징의 경우 Raw데이터가 있기 때문에 구조가 다르다고 하더라고 기본적인 Raw bit의 나열로 결국 어디서나 동일한 구조를 확인할 수 있습니다.

다만 논리이미징은 구조가 다를 수 있기 때문에 포렌식 전문가들은 각자 본인이 증거를 수집하는 논리이미징 파일에 대한 이해를 하고 있어야 합니다. (뭐 그렇다고 엄청 중요한건 아닙니다.) 사실현장에서 논리이미징 수집 과정 자체는 어려운게 아니나, 증거로 법원까지 갔을 때 필요에 따라 충분히 기술적으로 설명할 수 있어야 합니다.

정리 (Chat GPT 답변) 논리 이미징 (Logical Imaging)

  • 포함 데이터: 파일 시스템에서 운영체제가 접근 가능한 파일과 디렉토리만 복사합니다.

  • 제외 데이터: 비할당 영역, 삭제된 파일, 파일 시스템의 메타데이터 등은 포함되지 않습니다.

  • 사용 사례: 특정 파일이나 디렉토리만 필요할 때, 시간과 저장 공간을 절약하고자 할 때.

물리 이미징 (Physical Imaging)

  • 포함 데이터: 디스크의 모든 데이터 섹터, 비할당 영역, 삭제된 파일, 파일 시스템의 모든 데이터.

  • 제외 데이터: 없음. 파티션 전체 또는 디스크 전체를 비트 단위로 복사합니다.

  • 사용 사례: 심층 포렌식 분석, 데이터 복구, 전체 디스크의 무결성을 유지하고자 할 때.

5. 이미징 파일 종류

  • 이미징 파일의 종류를 아주 간단히 살펴보고 가도록 하겠습니다.

    사실 이미징 파일의 구조를 뜯어보고 구조를 분석하는 할 필요는 없습니다. 이미징 파일 분석이 필요할 경우 따로 해당 이미지 구조를 찾아서 분석해보시길 바랍니다. (시간이 허락하면 추후에 EWF 구조는 한번 분석해보면 좋겠네요 ㅎㅎ)

  1. Raw 이미지 - 계속 실습해본바와 같이 저장매체의 모든 섹터의 데이터를 그대로 동일하게 복사하는 방식입니다. 도구마다 확장자가 다르고, 특별히 자주쓰는 이미지 확장자가 있는 것도 아닙니다. - 확장자는 사실 큰 의미가 없습니다. .001(FTK Imager), dd, bin, raw 등등....

  2. EWF 이미지(E01, Ex01) - 디지털 포렌식에서 널리 사용되는 이미지 파일 형식으로, EnCase Evidence File Format (EWF, EnCase Evidence File)의 한 유형입니다. OpenText의 EnCase 도구에서 주로 사용하며, 많은 포렌식 도구에서 활용 - 이미지 데이터뿐만 아니라, 메타데이터와 체크섬 정보를 포함하여 이미지의 무결성을 보장하며 "EVF" 시그니처로 시작 - 확장자 : .E01, .Ex01

  3. SMART(Self-Monitoring, Analysis, and Reporting Technology) - SMART(Self-Monitoring, Analysis, and Reporting Technology) 이미징은 특정 포렌식 도구에서 사용하며 연속적인 세그먼트 파일로 구성된 이미지 형식 - 확장자 : .s01, .s02

  4. AFF (Advanced Forensic Format) 이미지 - 디지털 포렌식에서 사용되는 또 다른 디스크 이미징 형식입니다. AFF 파일 형식은 이미지 데이터를 포함하고, 메타데이터를 효율적으로 저장할 수 있도록 설계됨. AFF 형식은 주요 포렌식 도구와 호환 - 확장자 : .aff

  • Raw로 이미징을 할 경우 용량이 매우 커질 수 있기 때문에 효율적이지 않습니다. 따라서 적정한 이미지 형식으로 획득하여 활용하시길 바랍니다. 실무에서는 그래도 전세계에서 많이 사용하는 EWF 이미지 형식을 많이 사용하는 것 같네요!

6. 메모리 덤프(메모리 물리이미징?) - 참고

  • 사실 이번 디지털포렌식 친해지기 시리즈에서는 다루지 않으려고 했으나, 메모리(램)덤프에 대해서도 한번 가볍게 살펴보고 갑시다. 참고로만 한번 살펴봅시다.

  • 우리가 컴퓨터 공부를 하다보면, 휘발성 데이터라고 하여 컴퓨터가 종료되면 날아가는 데이터가 저장되는 공간이 RAM(Random Access Memory)이라고 많이 들어 보셨을 듯 합니다.

  • 현재 우리가 현재 모니터로 보이는 프로그램 등으로 보이는 것도 저장매체나 파일시스템 어딘가에 저장되기 전까지는 메모리(램)에 저장되어 우리 눈에 보이고 있는 것입니다.

  • 간단한 실습을 통해 메모리 덤프를 한번 해보도록 합시다. 사실 메모리 물리이미징이란 말은 잘 못들어본 이야기도 하네요!

  1. 먼저 메모장을 켜보도록 합시다. 그리고 저장하지 말고, 메모장 몇 자 작성해보겠습니다. 화면에 작성할 글은 검색을 할 때 다른데 저장되지 않을 만한 우리만 알만한 내용으로 한번 작성해보도록 하겠습니다.

  2. FTK Imager를 이용하여 메모리 덤프를 확인해보도록 합시다. File - Caputure Memory를 선택하여 봅시다. 그리고 저장할 영역을 설정 후 Capture Memory 를 사용하여 봅시다. Include pagefile은 하지 않도록 합시다. (추후에 윈도우 pagefile.sys 에 대해서 이해하면 그때 사용해보는 것을 권장합니다.)

    메모리덤프의 용량의 경우 컴퓨터에 장착된 메모리 크기 만큼 수집될 것입니다.

  3. HxD를 이용하여 우리가 메모장에 작성해둔 글자를 검색하여보도록 합시다. HxD에서 도구- 디스크 이미지 열기에서 수집한 메모리덤프 파일을 열어봅시다. 찾기에서 [텍스트 문자열], 우리가 메모장에 작성한 문자를 검색해보도록 하겠습니다. 텍스트 인코딩의 경우 기본은 유니코드로 검색해봅시다.

  4. 아직 파일시스템에 저장하지 않은 메모장에 작성한 글자가 메모리 덤프에서 발견되고 있습니다. 즉, 실제로 저장되어 있지 않더라도 우리가 켜놓고 보고 있는 것들은 메모리에 대부분 저장되어 우리가 보고 있는 것입니다.

  5. 이렇듯 메모리 덤프파일에는 어떤 프로그램이 실행중이었고, 우리가 화면으로 보이는 것이 어떤 것 이였는지, 우리가 컴퓨터를 끄면 사라지는 많은 데이터들이 저장되어 있기 때문에 이러한 구조를 분석해서 증거로서 중요한 행위들을 파악할 수 있게 되는 것입니다. 컴퓨터가 켜져있는 상태에서 수집하는 증거 수집은 라이브 포렌식의 수집 부분 중 하나이고, 여러가지 수집 대상중에 메모리 덤프 또한 매우 중요한 증거수집 대상입니다.

  6. 그렇다면, 메모리 수집하는 것 또한 물리이미징, 논리이미징 개념이 들어갈까요? 충분히 들어갈 수 있습니다. 방금 우리가 수집한 전체 캡쳐는 물리이미징 특성을 가진 수집 방식이라고 볼 수 있을 것입니다. 논리이미징 개념을 가지게 되려면, 메모리 저장된 데이터를 읽고 특정 프로그램 등의 구조를 분석하여 필요한 부분만 추출한다면 메모리를 대상으로 논리이미징을 하는 것으로 볼 수 있을 것입니다. 그런데 메모리를 대상으로 논리이미징을 한다? 물리이미징을 한다? 라는 말은 잘 쓰지 않고, 메모리 덤프라는 용어가 익숙하게 될 것입니다.

7. 정리

  • 물리이미징, 논리이미징에 대해서 살짝 살펴보았는데 만약 여러분들이 실무에서 증거를 수집할 때, 사용하는 도구가 어떤 방식으로 수집하는지, 특성은 무엇인지 등을 정확히 파악하고 있어야 합니다.

  • 최근에는 선별수집을 원칙으로 하여 사건과 관련되지 않는 부분에 대한 수집을 할 때는 적법한 이유가 있어야 할 것입니다. 그래서 기본적으로 논리이미징을 많이 하게 될 것입니다. 다만 저장매체에서 증거를 수집하다가 특정 파일이 지워진 흔적을 발견하거나, 파일시스템이 초기화(포맷)되어 기존에 저장되어 있던 파일시스템을 복구해야하는 이유가 있다면 당연하게도 물리이미징으로 접근해야할 것입니다. 대신 충분한 근거가 있어야 겠지요. 물론 100% 복구가 될거라는 보장이 있지 않는다는건 잘 아시겠지만.. 단순히 도구를 돌려서 보이는 것만 수집하는건 매우 쉬운 방법이긴 합니다. "에이 어차피 복구해도 안될꺼야, 이것뿐이 안보이네" 이것과 MFT Entry 를 살펴보거나, VBR을 검색해봤는데 찾아지고 보이지 않는 파일시스템의 MFT파일이 온전히 있다면 복구시도를 위해 물리이미지을 해야하지 않을까요?

3줄 요약

  1. 논리이미징과 물리이미징의 차이를 정확히 이해해봅시다.

  2. 내가 사용하는 도구, 획득한 증거이미지 파일에 대해 정확히 이해하고 있어야 합니다.

  3. 물리이미징을 해야하는지, 논리이미징으로 충분할지에 대해서 빠른 판단을 할 수 있는 능력을 갖추기 위해 노력해봅시다!