기초부터 따라하는 디지털포렌식 강의 | 훈지손 - 인프런 (inflearn.com)
이번 글에서는 인프런 강의 중 섹션1(디지털 포렌식 소개)와 섹션2(디지털 포렌식 기초)를 공부한다.
섹션 1
디지털 포렌식이란 무엇인가?
디지털 포렌식은 컴퓨터 범죄와 관련하여 디지털 장치에서 발견되는 자료를 복구하고 조사하는 법과학의 한 분야이다. 여기서 법과학이란 포렌식(=과학 수사)이랑 같은 말이라 할 수 있는데, 지문, 혈흔, 족적, DNA를 이용해 범죄를 수집하고 추적하는 기법이다. 과학적 베이스가 있는 과학적으로 연구된 기법들을 가져와 범죄 수사에 쓰는 것이 과학 수사라면 디지털 포렌식도 이와 마찬가지로 컴퓨터와 관련된 과학적 베이스가 있는 부분들을 가져와서 과학 수사에 사용한다. 디지털 포렌식 중 '디지털'과 관련된 부분이 컴퓨터 범죄인데, 컴퓨터 범죄는 컴퓨터 외에도 스마트폰, 인공지능 스피커, 자동차 시스템도 컴퓨터 범죄 안에 포함된다. 이런 부분이 최근 들어 확장되고 있다. 결론적으로 디지털 포렌식이란, 컴퓨터 장치가 들어가는 수많은 디바이스를 대상으로 포렌식 수사를 하는데, 증명된 과학적 기반이 있는 기법들을 이용해서 컴퓨터와 관련된 디바이스에서 정보를 수집하고 추출하여 범죄 수사와 관련된 증거 수집과 증거확증 부분에 이용하는 영역이라 할 수 있다.
디지털 포렌식이 왜 필요할까?
해킹과 같은 범죄 뿐만 아니라 일반 범죄에서도 디지털 포렌식으로 획득할 수 있는 증거가 주요 단서가 되는 경우가 많아졌기 때문이다. 범죄 수사 이외의 분야에서도 활용도가 증가하였는데, 일반 기업, 민사 기업과 같은 곳에서도 디지털 포렌식이 사용되기도 한다. (내부 정보 유출, 회계 감사 등)
디지털 포렌식의 유형은 크게 침해 사고 대응과 증거 추출 이 두 가지로 나눌 수 있다.
침해 사고 대응(기업에 이미 백도어가 설치되어 있어 해커가 넘나들 수 있는 상황)
- 실시간
- 사태 파악 및 수습
- 엄격한 입증 필요 X
증거 추출(이미 수집된 데이터 베이스를 이용하기 때문에 대응에 느긋함)
- 사후 조사
- 범죄 증거 수집: 면밀하게 꼼꼼하게 분석
- 엄격한 입증 필요 O:증거가 법정까지 오는 과정에서 어떠한 변조가 없었다는 사실을 수사관에게 입증해야 함
디지털 포렌식의 대상?
- 디스크 포렌식: 가장 일반적인 디지털 포렌식이라고 하면 보통 디스크(컴퓨터 디스크) 포렌식을 의미한다. 디스크는 획일적인 포맷을 가지고 있는 것이 아니기 때문에 윈도우, 리눅스, macOS와 같이 포맷이 다르게 된 파일 시스템일 수도 있고, USB가 될 수도 있고, 스마트폰 내부의 디스크 칩일 수도 있다.
- 메모리 포렌식: 메모리란, 컴퓨터 내부에 프로그램이 돌아갈 수 있는 공간을 마련해 주는 메인 메모리가 있다. 이 메모리는 디스크는 아니지만 프로그램이 올라와서 돌아갈 수 있는 놀이터 같은 것이라고 보면 된다. 이것을 '램'이라고 부르는데 이 부분을 포렌식하는 것이다. 즉, 메모리를 이미징해서 덤프해 가져오고 이 부분에서 어떤 프로그램의 실행 흔적을 찾거나 혹은 사용자의 패스워드를 찾거나 하는 것을 메모리 포렌식이라고 한다.
- 네트워크 포렌식: 네트워크 포렌식이라고 하면 가장 일반적으로는 네트워크 패킷에 대한 포렌식을 의미한다. 네트워크 패킷이란, 인터넷은 패킷들의 구성들로 이루어지는데, 이러한 패킷들이 오고 가고 하는 부분을 수집한 다음 그 내부에서 범죄 증거를 찾는 것을 패킷 포렌식이라 부른다. 이 부분 외에도 기업에서는 네트워크 장비를 많이 쓰는데(방화벽, IDS 등) 그 부분에 대한 네트워크 장비 로그에 대한 포렌식, 또 어떤 개인과 관련해 해킹 사고 같은 것이 일어났을 때 네트워크 관련 설정들(ARP 테이블 등)이 변주되지는 않았는지, DNS 설정이 변조되었는지 살펴보는 것이 네트워크 포렌식이다.
- 모바일 포렌식: 스마트폰도 하나의 컴퓨터 디바이스라고 볼 수 있기 때문에 모바일 포렌식이라고 하면 리눅스 포렌식의 일종이라고 볼 수 있다.(이는 안드로이드가 기본적으로 리눅스 시스템을 쓰고 있기 때문) 모바일 포렌식은 모바일 디바이스 중에서도 저장소와 메모리에 대한 포렌식을 의미한다. 기법은 크게 다르지 않지만 모바일이기 때문에 추출이 어렵다든가, ADB라는 프로그램을 이용해 데이터를 빼온다든가 이런 부분들이 있기 때문에 모바일 포렌식은 따로 보는 게 좋다. 이 외에도 IOT 디바이스 같은 부분도 큰 범주에서 모바일 포렌식으로 보기도 한다.
- 기타: 데이터 베이스 포렌식, 암호 포렌식, 회계 포렌식, 소스코드 포렌식 등
덤프란?
어떤 장애가 발생했을 때 프로그램의 오류 수정이나 데이터의 검사(디버그)를 위해 그 상태(기억된 내용의 일부 또는 전부)를 외부 장치의 하나인 프린터 등 행 인쇄기같은 출력 장치에 표시, 출력(copy) 혹은 인쇄하기 위하여 기억 장치(storage unit)나 파일 내용의 전체 또는 일부 자료에 기억시킨 내용을 보조기억장치 등 기록 매체에 복사, 전이하는 조작을 일컫거나 컴퓨터 주기억장치와 레지스터, 데이터나 프로그램 등 디지털 계산기에 그러한 내용이 존재 및 지정된 메모리 영역이다. (출처 - 위키피디아)
섹션 2
디스크 이미징이란?
디스크(컴퓨터에 달린 물리 장비)를 어떤 파일의 형태로 만드는 것을 디스크 이미징이라 한다. 이미징을 하는 이유는, 분석울 하기 위해서는 디스크의 전체를 가져오는 것이 아닌 파일의 형태로 존재해야 하기 떄문이다.
디스크 마운트란?
이미징된 파일을 내 컴퓨터에 등록시키는 것이다.
메모리 덤프란?
컴퓨터에 올라가 있는 수십 개의 프로그램들을 그 자체로 덤프해서 하나의 파일로 만드는 것이다. 메모리 덤프는 켜져 있을 때만 볼 수 있는 데이터들을 떼와서 흔적을 찾고 수사하는 일을 한다.
수업을 원활하게 진행하기 위해서는 다음과 같은 조건이 필요하다.
- C 드라이브 외에 D, E 드라이브 등 추가 드라이브가 존재
- 추가 드라이브가 없다면, USB가 1개 이상 존재
우선, 이미지 덤프를 하기 위해 FTK Imager를 설치해 주어야 한다. 설치를 했다면 앱 내부에서 Create Disk Image를 누른 뒤 Image Destination 밑에 Add를 눌러 폴더를 지정해 준 후 쪼개서 저장하지 않기 위해 Image Fragment size를 0으로 지정해 준 후 finish를 누르면 시작이 된다.
이 과정이 오래 걸리기 때문에 설치를 하면서 나머지 도구들도 동시에 설치해 준다.
이제 기초 도구들을 설치해 주어야 하는데 우선적으로 HXD와 Everything, 7z zip, notepad++, sysinternational suite, autopsy를 설치해 준다.
각 도구들을 설명하자면 다음과 같다.
- HXD: 파일은 각각의 바이트로 되어 있는데 HXD는 이 파일을 더 보기 쉽게 해 주는 역할을 한다.
- Everything: 포렌식 도구는 아니지만 컴퓨터 전체에 대해서 인덱스를 만들어 놓는 도구이다. 컴퓨터 전체를 빠르게 찾을 수 있도록 미리 다 검색을 돌려 어떤 단어를 검색을 해도 쉽게 찾을 수 있다.
- 7 zip: zip 파일들을 압축 해제해 주는 도구이다.
- notepad++: 여러가지 파일을 한 번에 올려 확인할 수 있을 뿐만 아니라, 전체 파일에 대해서 검색할 수 있다(속도 빠름)
- sysinternational suite: 도구들의 모임, 프로세스 관련(strings, proexp 등) 자주 사용
- ftk-imager: 이미지를 이미징하고, 마운트하고, 마운트 덤프도 할 수 있다. -> 디스크 이미지를 관리하는 도구
- autopsy: 디스크 이미지 관리 + 추가적인 기능(강력)
이후 디스크 마운트, 메모리 덤프, 삭제 파일 복구 관련 강의 실습은 컴퓨터 용량이 부족해 이미지 생성이 불가하여 다음 시간까지 해결해 오겠습니다...
'인프런 강의' 카테고리의 다른 글
[241119] 기초부터 따라하는 디지털 포렌식 강의 섹션 3 (0) | 2024.11.19 |
---|---|
[241105] 기초부터 따라하는 디지털 포렌식 강의 섹션 3 (10) | 2024.11.05 |