Log2timeline
소개[편집]
log2timeline은 Kristinn Gudjonsson에서 개발한 타임라인 분석 도구이며, 프리웨어로 제공된다. 최신 업데이트 일자는 2012년 5월 22일이며, 최신 버전은 0.66이다. log2timeline은 Linux, Macintosh 운영체제 환경에서 사용가능하다. log2timeline은 35종 이상의 로그 파일을 분석하여 타임라인을 제공하며, 출력 형식으로 BeeDocs, CEF, SCV, SQLite Database 포맷 등을 지원한다. log2timeline은 Perl로 작성되었으나 제작자의 실행 테스트는 Mac OS X(10.5.7+, 10.6.+)에서 이루어졌다. log2timeline의 일부 기능은 Windows에서도 작동한다. 운영체제별로 설치 방법이 다르며, 구성 요소가 모두 갖추어져 있어야 정상적으로 동작한다. log2timeline의 실행 화면은 [그림 1]과 같다.
사용법[편집]
log2timeline 압축파일을 해제 한 후 [그림 2]와 같은 명령어를 실행하여 설치한다. 단, 설치과정은 root 권한으로 진행해야 한다.
설치 후, log2timeline을 실행하면 perl module이 존재하지 않는다는 에러 메시지를 확인할 수 있다. [그림 3]과 같은 명령어를 수행하여 필요한 module을 추가적으로 설치해야한다.
perl moudle을 설치 후, log2timeline을 실행하면 Usage 화면이 [그림 4]와 같이 나타난다.
log2timeline에서 사용하는 옵션들은 [표 1]과 같다.
옵션 | 설명 |
---|---|
-s TIME | original machine의 시간 지연을 나타낸다. TIME의 포맷은 X |Xs |Xm |Xh 이며 X는 정수 s, m, h는 각각 초, 분, 시를 나타낸다. |
-m TEXT | 파일의 경로를 제공하기 위해 파일 명 앞에 TEXT를 붙이기 위해 사용된다. Ex) -m C:\는 모든 파일 명의 앞에 C:\를 붙여 파일이 존재하는 파티션을 나타낸다. |
-f FORMAT | log2timeline이 parsing할 파일의 포맷을 나타낸다. 파일 포맷 리스트는 -f list를 통해 확인할 수 있다. |
-u | log2timeline의 최신 버전을 체크한다. |
-name HOST | 정보를 추출한 host name을 정의한다. |
-o FORMAT | log2timeline의 parsing 결과의 출력 포맷을 나타낸다. 파일 포맷 리스트는 -o list를 통해 확인할 수 있다. |
-d | input module이 MFT Entry나 prefetch와 같은 정보를 포함할 수 있도록 한다. |
-w FILENAME | 출력 파일명을 정의하며 이 옵션이 없을 경우 stdout으로 화면에 출력된다. |
-z TIMEZONE | log 파일이 존재하는 컴퓨터의 timezone을 정의한다. 기본 값은 log2timeline이 실행되는 컴퓨터의 timezone을 따른다. |
-Z TIMEZONE | output module이 사용하는 timezone을 설정한다. 기본 값은 -z 옵션과 동일하다. |
-t DIR | Tool이 사용하는 임시 디렉터리를 정의한다. |
-log FILENAME | log2timeline의 에러나 information message를 파일에 기록한다. 옵션이 없을 경우 stderr가 사용된다. |
-c | file의 MD5를 계산하여 timestamp object에 저장한다. |
-x | log2timeline의 동작 속도를 빠르게 하여 입력 파일이 input module에 정확히 들어있는지를 테스트 하는 과정을 생략한다. |
-e LIST | 콤마(",")로 구분된 파일들을 스캔 대상에서 제외한다. |
-r | log2timeline을 timesacnner와 같이 동작하게 만든다. |
-p | log2timeline이 -r 옵션에서 동작할 경우 사용가능하다. 이 옵션을 통해 image file을 검사하여 의심되는 drive에서 hostname과 같이 다른 module에서 필요한 정보를 추출한다. |
-v | debugging 정보를 출력한다. |
-V | 버전 정보를 출력한다. |
-h | help 메시지를 출력한다. |
도구 기능[편집]
log2timeline은 아래 [표 2]와 같은 입력 포맷을 지원한다.
입력 파일 포맷 |
---|
Apache2 Access logs |
Apache2 Error logs |
Google Chrome history |
Encase dirlisting |
Windows Event Log files (EVT) |
Windows Event Log files (EVTX) |
EXIF. Extracts exif information or metadata from various media files |
Firefox bookmarks |
Firefox 2 history |
Firefox 3 history |
FTK Imager Dirlisting CSV 파일 |
Linux 로그파일 |
Internet Explorer history 파일,index.dat파일 |
Windows IIS W3C 로그파일 |
ISA server text export 파일 |
Mactime body 파일 |
McAfee AntiVirus 로그파일 |
MS-SQL Error 로그파일 |
Opera Global and Direct browser history 파일 |
Office 2007 문서 메타데이터 추출을 위한 OpenXML 메타 데이터 |
PCAP 파일 |
생성 일자 캡처를 위한 PDF파일 |
Windows Prefetch 디렉터리 |
Windows 휴지통(INFO2orI$) |
Windows 복구지점 |
Safari Browser history 파일 |
Windows XP SetupAPI.log 파일 |
Adobe Local Shared Object 파일(SOL/LSO), akaFlashCookies |
Squid Access 로그(httpd_emulateoff) |
TLN (timeline) body 파일 |
UserAssist key of the Windows registry |
volatility의psscan,psscan2modules 실행결과 파일 |
Windows 바로가기 아이콘(LNK) |
Windows WMIProv 로그파일 |
Windows XP Firewall 로그파일(W3Cformat) |
log2timeline은 [표 3]과 같은 출력 포맷을 지원한다.
출력파일 포맷 | 설명 |
---|---|
BeeDocs | Mac OS X의 시각화 도구 |
CEF | ArcSight의 Common Event Format |
CFTL | CyberForensics TimeLab에서 사용하는 XML 파일 |
CSV | CSV 파일 포맷 |
Mactime | TSK's mactime 지원 포맷 |
SIMILE | 타임 라인 시각화 도구인 SIMILE timeline widget용 XML |
SQLite 파일 포맷 | SQLite 파일 포맷 |
TLN | Tab Delimited File 포맷 |
제한사항[편집]
log2timeline은 공식 홈페이지 상의 최신 버전이 v0.64이며, -u 옵션을 통해 업데이트 가능한 최신 버전은 v0.65이나 git-hub에서 얻을 수 있는 최신 버전은 v0.66으로 버전 관리 상 문제점이 존재한다. 즉, 업데이트 버전 확인의 경우 git-hub의 clone 기능을 통하여 최신 버전을 습득하여야 한다. git-hub는 [표 4]의 명령어를 통해, Ubuntu에서 설치할 수 있다.
apt-get install git |
git-hub를 통한 log2timeline의 최신 버전은 [표 5]의 명령어로 설치 가능하다.
git clone https://code.google.com/p/log2timeline/ |
상기한 Live CD/VM인 SIFT에는 SANS에서 커스터마이징한 log2timeline이 설치되어 있으므로 이를 사용하는 것이 더욱 효율적일 수 있다.
수사 활용 방안[편집]
log2timeline은 입출력 파일 포맷이 방대하다는 장점을 가지고 있어, 이를 구조화 하여 관리할 필요성이 있다. 예를 들어 네트워크 침해 사고의 경우 pcap 파일을 분석할 수 있는 기능을 log2timeline이 제공하고, 그 결과를 SQLite Database 파일 포맷 또는 CSV 파일 포맷 등으로도 제공한다. 입출력 파일 포맷이 방대함에 따라 다른 도구와 호환이 잘 된다는 장점을 가지고 있으며, 이로 인해 분석 효율성을 높일 수 있다.