우리가 컴퓨터를 사용하다보면 알게 모르게 사용흔적이 남게된다. 이러한 흔적들을 조사하고 수사할 때 사용하는 기법을 디지털 포렌식이라고 한다. 운영체제는 사용자에게 편의성을 제공하기 위해 여러 파일들을 생성한다. 예를들어 최근에 사용했던 파일, 응용 프로그램에 대한 정보, 방문했던 사이트등을 다른 파일에 기록해서 재사용시 더 빠르게 운영체제가 사용할 수 있도록 한다. 또한 감사목적으로 특이한 행동들에 대해 이벤트로그를 생성하기도 하고 USB 사용기록에 대해 로그를 남기기도 한다.
우리가 설치해서 다운받는 응용프로그램도 마찬가지이다. 프로그램은 사용자가 작업했던 내용들을 저장하기 위해 파일을 생성한다. 그리고 프로그램에 문제가 생겼을 때 그 이유를 알기위해 로그를 남겨 훗날 분석할 때 사용한다.
컴퓨터에는 여러파일이 남을 수 있다.
실행하면 바로 확인이 가능한 텍스트 파일
텍스트 파일은 아니지만 일정한 포맷으로 저장되어있어서 특정 프로그램으로 열리는 바이너리 파일
레지스트리 같은 컴퓨터 설정 파일
컴퓨터에 저장된 파일, 폴더 정보들을 기록하는 시스템파일
컴퓨터의 성능 향상을 위해 사용되는 인덱싱, 캐시용 파일
인터넷과 같은 사용자의 사용기록을 보관, 캐싱해두는 디비파일
이벤트로그처럼 시스템의 보안을 위해 사용되는 보안용 파일
백신과 같이 프로그램의 작업 내용이 기록되는 로그파일
이전에는 사용자의 특정 행위를 분석하기위해 어떤 파일을 확인해야하고 어떤 프로그램을 사용해야 하는지에 대해 관련된 정보를 찾기가 힘들었지만 근 몇년동안 디지털 포렌식 분야도 많은 연구가 있었고 디지털 아티팩트에 대한 정보도 금방 찾을 수 있다. 그리고 안드로이드 같은 새로운 운영체제가 나와도 몇년 안에 분석가들이 모두 분석해서 공유한다.
우리는 법적증거를 만들기위해 사용자의 행위를 분석해서 보고서를 작성하는게 아니기 때문에 여기서 EnCase와 같은 유명 포렌식 도구 및 수집절차에 대한 설명은 하지 않겠다. 악성코드가 컴퓨터에서 실행됐을 때 또는 공격자가 사용자의 PC에 침입했을 때의 남는 흔적에 대해 설명하려고 한다.
디지털포렌식 분야에서 IT장비에서 사용자의 행위를 분석할 수 있는 의미 있는 파일들을 아티팩트라고 부른다. 윈도우 컴퓨터 아티팩트의 경로는 이곳에 정리되어있다. 상위 폴더에 가면 다양한 환경의 의미있는 파일들의 정보가 작성되어 있다. 아티팩트의 원래 역할 및 포맷에 대해서는 작성하지 않으려고 한다. 너무 인터넷에 자료가 많고 지금의 주제와는 불필요하다고 생각한다.
현재 시스템에서 아티팩트를 직접 수집해보고 싶으면 아래의 링크를 확인하자. 윈도우 10 환경에서는 실행이 잘 안 될 수 있다.
새로운 시스템, 아직 분석되지 않은 아티팩트에 대한 최신 분석기술은 컨퍼런스를 통해 공유된다. 그 중에에 DFRWS 컨퍼런스는 디지털포렌식 분야 최고 학회 중 하나이다. 2016년에 운이 좋아 발표 기회가 생겼고 컨퍼런스에 참석한적이 있었는데 정말 좋은 내용이 많이 공유된다. 발표자료는 무료로 공개되니 반기마다 문서를 읽어보자.
윈도우 환경에서 아티팩트 중에 악성코드 감염시 자주 분석했던 파일 몇개에 대해서만 작성하고자 한다.
레지스트리
검색어:
- WindowsSystemRegistryFiles
- WindowsUserRegistryFiles
- WindowsRecentFileCacheBCF
- WindowsAMCacheHveFile
- WindowsSystemRegistryFilesBackup, WindowsSystemRegistryTransactionLogFilesBackup
- WindowsSetupApiLogs
가장 중요하며 Windows의 핵심 정보가 가득한 파일이다. 윈도우 운영체제에서 운영체제와 응용프로그램이 운영에 필요한 정보를 저장하기 위해 사용된다. 부팅과정부터, 로그인, 서비스 실행, 응용 프로그램 실행, 사용자의 행위, 최근 열어본 파일, 자동실행, 저장장치 연결 흔적 등 없는 것이 없다. 하이브 구조로 저장되는데 이 구조에는 포렌식에서 진짜 중요한 정보가 저장되어있다. 바로 수정한 시간 정보이다. 심지어 과거의 레지스트리 파일도 함께 보관되기 때문에 수정 전의 기록도 어느정도 확인이 가능하다.
시스템 정보 뿐만 아니라 실행 정보가 많이 남는데 가장 많이 참고했던 항목은 UserAssist, MUICache, LEGACY_*(저장장치 정보) 등이 있다. 여기에는 악성코드가 자동을 실행을 위해 사용되는 주요 경로가 있는데 이 경로만 빠르게 확인해도 악성코드의 감염여부를 파악할 수 있다.
악성코드는 컴퓨터가 켜질 때 자동실행 하려는 경향이 있다. 아래 경로는 악성코드가 가장 많이 사용하는 레지스트리 경로이다. 이 경로에 악성코드 경로를 설정해두면 컴퓨터가 켜질 때 악성코드가 자동으로 실행이 된다. 가장 첫번째로 분석해야하는 경로이다.
HKEY_LOCAL_MACHINE: SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE: SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_LOCAL_MACHINE: SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
HKEY_LOCAL_MACHINE: SOFTWARE\Microsoft\WOW6432Node\Windows\CurrentVersion\Run
HKEY_LOCAL_MACHINE: SOFTWARE\Microsoft\WOW6432Node\Windows\CurrentVersion\RunOnce
HKEY_USERS: HKEY_USERS\[SID]\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
HKEY_USERS: HKEY_USERS\[SID]\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce
HKEY_USERS: HKEY_USERS\[SID]\SOFTWARE\Microsoft\Windows\CurrentVersion\\Policies\Explorer\Run
HKEY_USERS: HKEY_USERS\[SID]\SOFTWARE\Microsoft\WOW6432Node\Windows\CurrentVersion\Run
HKEY_USERS: HKEY_USERS\[SID]\SOFTWARE\Microsoft\WOW6432Node\Windows\CurrentVersion\RunOnce
분석할 때 자주 사용한 tooL은 RegRipper 이다. 의미 있는 데이터만 빠르게 분석해주기 때문에 자주 사용했다. 이 프로그램을 작성한 사람의 책도 있다. 위에 나온 자동실행 경로에 있는 파일들의 정보도 알려준다.
이벤트로그
검색어:
- WindowsEventLogs
레지스트리 만큼 가장 중요한 파일이다. 이 파일의 좋은점은 컴퓨터에서 발생하는 이벤트를 컴퓨터에 저장할 뿐만 아니라 실시간으로 서버로 보낼수가 있다는 점이다. 로그를 수집할 수 있는 서버를 구축해두고 Winlogbeat와 같은 툴로 이벤트 로그를 전송한다. 이벤트로그는 windows 7까지는 그 종류가 한정적이였으나 windows 10이 되면서 수집할 수 있는 이벤트로그가 많아졌다.
위 사이트 뿐만 아니라 여러 사이트에 이벤트 로그의 종류와 어떤 데이터가 남는지 확인할 수 있다.
이벤트로그는 윈도우에서 특정 동작(이벤트)에 대한 기록을 담당한다. 이벤트 로그 분석을 통해 해당 시스템의 전반적인 동작을 알 수 있다. 특히 악성코드와 관련한 여러 활동에 대해 윈도우 시스템에서 이벤트 로그에 항목을 생성한다. 특정 악성코드는 악의적인 의도로 이벤트 로그를 삭제하긴 하지만 이또한 흔적이 남는다.
이벤트 로그는 크게 다음과 같이 분류할 수 있다.
응용 프로그램 로그: 응용 프로그램이나 기타 프로그램의 동작에 대한 이벤트 저장
보안: 유효하거나, 유효하지 않은 로그온 시도 기록, 파일 생성, 열람, 삭제 등에 관련된 이벤트 기록
시스템: 윈도우 시스템 구성 요소가 기록하는 이벤트
부수적으로 침해사고 분석 시 자주 사용했던 아티팩트는 다음과 같다.
MFT(Master File Table)
백신(V3, 알약, 윈도우 디펜더, SEP) 로그 및 검역소
웹 히스토리
프리패치
WER(Window Error Reporting)
작업스케쥴러
Shortcut(Recent 파일)
휴지통
시작메뉴
서비스에 등록된 파일
자동실행되는 파일
이에 대한 상세 내용은 예전에 김진국 강사님으로부터 수업듣고 요약했던 자료를 첨부파일로 공유한다.