ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 디지털 포렌식 소개와 기초
    Digital Forensics/inflearn 2023. 9. 27. 05:15

    개념 정리

    디지털 포렌식이란?

    컴퓨터 범죄와 관련하여 디지털 장치에서 발견되는 자료를 복구하고 조사하는 법과학의 한 분야

     

    디지털 포렌식의 필요성

    범죄 수사뿐만 아니라 이외 분야에서도 활용도 증가

    • 형사사건이 아닌 민사사건에서의 포렌식(메신저 대화내용)
    • 일반 기업에서의 수요가 급증(내부 정보 유출, 회계 감사 등)

     

    디지털 포렌식의 유형

     

    침해 사고 대응 증거 추출
    실시간(급함) 사후조사(비교적 느긋함)
    사태 파악 및 수습 범죄 증거 수집(꼼꼼한 분석)
    엄격한 입증 필요 X 엄격한 입증 필요 O

     

    디지털 포렌식의 대상

    • 디스크 포렌식: 컴퓨터 디스크(윈도우, 리눅스, MacOs / 개인, 서버, 클라우드)(디스크는 ssd, 하드디스크, C드라이브, D드라이브, usb 등등)
    • 메모리 포렌식: 컴퓨터 메모리(RAM)(프로그램 실행 흔적 추적, 비밀번호 찾기 등)
    • 네트워크 포렌식: 네트워크 패킷, 네트워크 장비 로그(기업), 네트워크 관련 설정들(개인의 해킹 사고에서 변조 여부)
    • 모바일 포렌식: 모바일 디바이스(저장소, 메모리), 추출이 힘들거나 특이점 있음 / IoT 디바이스
    • 기타: 데이터베이스 포렌식, 암호 포렌식, 회계 포렌식, 소스코드 포렌식 등등...

     

    실습할 것들을 쉽게 말하자면 · · ·

    • 디스크 이미징: 디스크를 어떠한 파일의 형태로 만드는 것
    • 디스크 마운트: 이미징된 파일을 컴퓨터에 등록시키는 것
    • 메모리 덤프: 메모리의 특정 시점을 사진 찍듯이 하나의 파일로 떼어와서 저장하는 것

     

    기초 도구 설명

    • HxD: 파일의 헥스값 확인
    • Everything: 포렌식 도구는 아니지만 증거 파일 위치 찾을 때 유용, 어떤 걸 검색해도 찾기 가능
    • 7zip: zip파일 압축 푸는 용도, 7z, rar 등 특이한 파일을 위해 필요(유사 도구: 반디집)
    • notepad++: 빠르게 여러 파일 한번에 보기
    • sysinternals suite: 도구들의 모임(이후 실습 때 사용할 예정)
    • ftk imager: 이미징, 마운트, 메모리 덤프가 가능한 디스크 이미지 관리 도구
    • autopsy: 디스크 이미지 관리 도구 + 강력한 추가적인 기능

     

     

    실습 과정

    실습하기 전, 위에 설명한 기초 도구를 모두 다운로드 받았다.

    cf. 실습하면서 캡처한 이미지들은 대부분 개인정보 노출 방지를 위해 일부분만 캡처한 경우가 많다.

     

     

    디스크 이미징 실습

     

    다운로드 받아놓은 ftk imager를 관리자 권한으로 실행한다.

    좌측 상단에 아이콘 중에서 create disk image를 누르면 이러한 창이 뜨는데 Physical Drive을 선택하고 다음을 누른다.

     

    그러고 나서 나는 usb를 꽂아놓았기 때문에 E 드라이브를 선택하고 finish를 눌렀다.(오래 걸리니까 용량 적은거 선택하는 것이 좋음)

    그다음 뜨는 창에서는 image destination의 add를 누르면 아래와 같은 창을 볼 수 있다.

     

     

    여기서 image type은 보통 raw나 E01을 많이 쓰는데, E01이 좀 더 압축되기 때문에 E01을 선택하고 다음을 누른다.

     

    그다음 나타나는 창은 수사 사건 정보 입력하는 창이라 건너뛰었다.

     

     

    일부분만 캡처한거라 사진에는 없지만 image destination folder의 browse를 눌러 바탕화면을 선택해주었다.

    바탕화면을 선택한 이유는 아까 내가 이미징할 디스크 대상으로 usb를 선택했기 때문이다.(디스크 이미지는 동일 드라이브에 저장할 수 없기 때문에 별도 디스크에 저장해야 한다.)

    image file name은 image라고 해두었다. 여기서 이미지 파일을 쪼개서 저장하지 않으려고 image fragment size는 0으로 했다. 밑에 compression은 그대로 6으로 두고 finish -> start 하면 된다.

    용량이 클수록 시간이 오래 걸린다.

     

     

    이미징이 다 되면 위와 같이 drive/image verify results 창이 뜬다.

    image.E01의 형태로 이미징이 되었다.

    사진 밑 잘린 부분에서는 각 생성한거에서 해시값까지 검증을 마쳐야 이미징이 끝난다는 것을 알 수 있었다.

     

     

    용량이 작은 usb를 이미징해서 얼마 안걸렸다.

     

     

     

    디스크 마운트 실습

     

    똑같이 ftk imager를 통해 실습했다.

    좌측 상단에 image mounting 아이콘 누른 후 뜨는 창에서 image file을 앞에서 실습하여 얻은 image.E01로 선택하고 다른 설정들이 위와 같이 선택되어 있는지 확인하고 mount를 누른다.(아마 자동으로 선택되어 있을 확률이 높다.)

    다 되면 mapped image list에서 컴퓨터에 마운트된 드라이브를 확인한다.

    이를 확인하는 방법은

    1. 파일 탐색기에서 장치 및 드라이브 하위에 추가된 것을 볼 수 있다.
    2. ftk imager 가장 좌측 상단 add evidence item 아이콘을 누르고 physical drive 선택된 상태로 다음을 눌렀을 때 창에서 밑에 뜨는 것들을 보면 드라이브가 새롭게 추가된 것을 볼 수 있다.

    확인 후 위의 2번 방법을 따라한 다음, 이어서 새롭게 만들어진 storlib virtual storage로 선택하고 finish를 누른다.

    이와 같은 방법으로 이미징했던 파일을 마운트한 드라이브를 증거 아이템으로 추가할 수 있다.

     

     

     

    메모리 덤프 실습

    똑같이 ftk imager에서 실습했다.

    먼저 좌측 상단 아이콘 중 capture memory를 누르고 path를 바탕화면으로 지정한다. 이때 밑에 있는 pagefile과 AD1 file은 체크하지 말고 capture memory를 누른다.

     

     

    다 되면 위와 같이 성공적으로 끝났다는 창이 뜨고 close를 누른다.

     

     

    아까 실습하기 전 미리 설치해두었던 HxD를 실행한다.

    조금 전에 저장된 .mem 파일을 HxD창에 드래그한다.

    그러면 위와 같이 메모리 덤프를 확인할 수 있다.

    이는 메모리를 다 사용하는게 아니라 일부만 사용한다는 것을 알 수 있고, 쓸모있는 데이터를 찾는게 쉽지는 않다는 것 또한 알 수 있다.

     

     

     

    삭제 파일 복구 실습

    이번에는 ftk imager와 autopsy 둘 다 사용한다.

    ftk imager 가장 좌측 상단 아이콘인 add evidence item을 누르고 image file을 image.E01로 지정한 다음 finish를 누른다.

    좌측 evidence tree 영역에서 가장 위에꺼부터 쭉 +를 눌러 들어가다보면 root를 찾을 수 있다.

    root를 누르면 디스크 안에 있는 파일들이 다 뜨고, 파일 왼쪽에 X표시된 파일은 삭제된 파일이지만 ftk imager에서 복구를 해준다.

    참고로 파일 사이즈가 엄청 작은 것은 거의 껍데기만 있다고 봐도 무방하다.

    복구하고 싶은 파일을 드래그하고 우클릭하여 export files 누르면 된다.

    C드라이브를 이미징했었다면 Recycle.bin(휴지통) 같은 것이 뜰 수 있어서 그걸 살펴보면 더 좋을 것이다.

    난 실제로 실습 시작 전에 usb를 정리하느라 아르바이트 이력서를 삭제했는데, 이를 복구시킬 수 있었다.

     

     

    복구되면 위와 같이 뜨고 내가 지정한 경로인 바탕화면에서 실제로 복구된 아르바이트 이력서 파일을 볼 수 있었다.

     

     

    autopsy를 이용하여 삭제 파일을 복구하는 것도 당연히 가능하다.

    autopsy를 실행시키면 new case를 누른 후 case name을 test1로 한다.

    나머지는 건들지말고 single-user로 되어있는지 확인한 다음, 이후 뜨는 창은 건너뛰고 finish를 누른다.

    add data source를 누르고 가장 위에 있는 generate new host~... 선택 후 disk image or vm file을 선택한다.

    이때 만약 디스크 이미지가 없거나 로컬디스크 하고 싶으면 local disk 선택하면 된다.

    path는 바탕화면의 image.E01이고 time zone을 asia/seoul로 지정한다.

     

     

    이후 configure~...창에서 기본값 그대로 다음을 누르면 data source added~... 창이 뜨고 finish를 누른다.

     

     

     

    왼쪽에 autopsy에서 분석한 것이 보이고, usb라서 분석할 것이 많지는 않았다.

    usb말고 진짜 드라이브를 하면 분석할 것이 많을 것이다.

    첫 번째 블록에서 ftk imager에서 봤던 것처럼 파일들을 볼 수 있다.

    두 번째 블록에서는 파일을 타입별로 정리하거나 db 파일들, 삭제된 파일들 정리 등등 autopsy만의 이점이 돋보인다.

    키워드 중에서도 email-address와 관련된 부분도 뽑아주는 것을 볼 수 있다.

     

     

     

    새로 알게 된 것

    사실 나에게는 이번에 공부한 모든 내용이 다 새롭게 알게 된 것이다. 디지털 포렌식을 무엇인지 알고는 있었지만, 정말 간단한 개념과 과정정도였지, 자세히 실습하며 공부하기 시작한 것은 이번이 처음이라 그런 것 같다. 이 실습은 디스크 이미징, 디스크 마운트, 메모리 덤프 등의 기본 개념뿐만 아니라, 디지털 포렌식을 위한 기초 도구에 대해서도 배우는 매우 유익한 시간이었다. 또한 삭제 파일을 복구하는 실습을 통해 autopsy 도구 사용법도 알게 되었다. 재밌었고 다음 실습도 기대된다.

     

     

     

    https://www.inflearn.com/course/%EA%B8%B0%EC%B4%88-%EB%94%94%EC%A7%80%ED%84%B8-%ED%8F%AC%EB%A0%8C%EC%8B%9D

     

    [무료] 기초부터 따라하는 디지털포렌식 - 인프런 | 강의

    기초부터 따라하는 디지털포렌식 강의입니다. 강의를 따라하다보면 "물 흐르듯, 자연스럽게" 실력이 늘어가는 강의를 추구합니다., 초보자 눈높이에 딱 맞춘, 원리를 이해하는 디지털포렌식 입

    www.inflearn.com

    본 글은 위의 인프런 강의를 듣고 작성하였습니다.

Designed by Tistory.