보안에서 가장 으뜸은 무엇일까? 방화벽? 백신? 보안 코딩? 물론 보안에 관련된 모든 기술들은 중요하다. 하지만 정보 유출은 어떤 방식으로든 일어날 수 있다. 정보가 유출된다 하더라도 그 의미가 유출되지 않도록 하는 암호화가 보안에서는 가장 중요하다. 암호는 이런 목적을 충족시키기 위해 오랜 세월 여러번 변화를 거쳐 오늘날에 이르렀다. 세계2차대전에서 승패를 가를 만큼 중요한 암호는 현재 우리가 흔히 사용하고 있는 디지털 매체에도 당연히 적용되어 있으며, 또 제일 많이 사용 되는 부분이기도 하다.

이번 글에서는 디스크 암호화로 인한 포렌식의 어려움을 이야기 하고 이 어려움을 어떻게 극복해야 고민해 볼까 한다.


디스크 암호화가 개발되기 전에는 파일이나 폴더, 텍스트를 암호화 하는 수준에 그쳤었다. 하지만 현재는 디스크까지 암호화를 하여 물리적으로 디스크가 도난당하거나 잃어버리게 되더라도 디스크에 담긴 데이터가 유출되지 않도록 하고 있다. 보안 측면에서는 정말 좋은 방법 중 하나이다. 하지만 데이터를 분석해 증거를 도출해 내야 하는 포렌식 입장에서 보면 암호란 달갑게 느껴지는 것은 아니다. 디스크 암호화를 하는데 있어 소프트웨어만으로 디스크를 암호화 하는 경우도 있지만 물리적 장치의 도움을 받아 더 강력하게 암호화를 하는 경우도 있어 포렌식을 수행 할 때 이러한 디스크를 접한다면 포렌식 수행에 있어 어려움을 겪게 될 것이다. 대부분의 디스크 암호화는 섹터 레벨에서 이루어지며 일반적으로 디스크 암호화에 도움을 주는 물리적 장치는 TPM(Trusted Platform Module)이 있다. 대표적인 디스크 암호화 도구들에는 다음과 같은 것들이 존재한다.


 - beCrypt

 - BitArmor DataControl

 - BitLocker

 - CGD(Cryptographic Device Driver)

 - Checkpoint Full Disk Encryption

 - dm-crypt

 - FreeOTFE

 - GBDE

 - GELI

 - Jetico BestCrypt

 - loop-AES

 - PGPDisk

 - SafeGuard Easy

 - SECUDE

 - Securstar DriveCrypt

 - TrueCrypt

 - DiskCryptor

 - vnconfig

 - ciphers: Blowfish.


만약 디스크가 암호화 되어 있는 시스템이 활성 상태라면 데이터의 논리적 복사가 가능하므로 데이터를 얻거나 암/복호화에 사용 되는 키를 발견할 가능성이 높아지지만 비 활성 상태라면 그 가능성은 극히 낮아진다. 또 키 없이 암호화를 해제(Cold Boot Attack 등)하는 과정에서 디스크에 저장되어 있던 데이터이 손실 가능성도 배제 할 수 없어 무작정 암호화를 해제할 수도 없다. 

이렇게 제약이 많은 디스크 암호화 포렌식에 대해서 과연 현재로서 최선은 무엇인가?


1. 범죄자를 검거할 경우 범죄자가 시스템의 On/Off를 조작하지 못하도록 범죄자를 신속하게 검거해야 한다.

    - 이는 활성시스템을 얻을 수 있는 최선의 방법이다. 범죄자가 디스크를 암호화 해 사용 한다면 가장 포렌식적 의미의 데이터를 많이 얻을 수 있는 경우는 활성시스템을 얻었을 경우이기 때문이다.


2. 디스크 암호화를 사용하는지 확인해야 한다.

    - 만약 디스크 암호화가 사용되는지 확인하지 않은 채 데이터 보존을 위해 시스템을 Off 할 경우 추후 수사를 위한 포렌식 수행에 있어 많은 제약을 받게 된다. 이러한 경우를 대비해 CMU(카네기 멜론 대학) CERT에서는 CrypHunter라는 도구를 개발하였다.  해당 도구는 활성시스템에 암호화된 디스크가 있는지 찾아주는 도구이다.


3. 현장에서의 물리적 증거도 철저히 수집해야 한다.

    - 디지털 매체의 증거 뿐만이 아닌, 메모지, 노트 등의 증거물도 상황에 따라 빠짐없이 수집해야 한다. 디스크 암호화에 사용 된 비밀번호가 평문일수도 있지만 일부 디스크 암호화 프로그램의 부팅 비밀번호는 평문이 아니기 때문에 기억하기가 쉽지 않다. 그러므로 비밀번호를 잊지 않기 위해 메모해 두었을 수도 있다.


4. 일부 디스크 암호화 프로그램은 간단한 명령어나 프로그램으로 디스크 암호화 해제 또는 패스워드 복호화가 가능하다.

    - 대표적으로 BitLocker의 경우 간단한 커맨드 명령어로 디스크 암호화 해제가 가능하다. 또 디스크 암호화에 사용 된 비밀번호를 찾아 복호화 해주는 전용 도구(Passware Kit)를 사용 해 암/복호화에 필요한 비밀번호를 얻는다. 이런 경우 데이터 보존을 위해 시스템을 종료하더라도 디스크 암호화로 인해 포렌식 수행에 있어 제약을 받지는 않는다.


위 사항들 말고도 기타사항으로 압수영장을 신청 할 때 압수물품의 범위에 있어 암호화 된 디스크와 관련된 물품들 지정에 대한 준비도 있어야 한다. 만약 TPM으로 디스크 암호화가 이루어졌는데 압수물품 범위에 TPM이 제외되어 있다면 포렌식 수사는 더 이상 진행 될 수 없다고 봐야 한다.


 * 참고 : TPM이 사용 된 디스크 디스크 암호화는 당시 사용 되었던 TPM이 아니면 복호화가 불가능하다.


국내에서는 아직 디스크 암호화와 관련되어 포렌식 수사 진행에 난항이 있었다는 이야기는 많지 않았다. 하지만 앞으로 충분히 많이 일어날 수 있는 일이기 때문에 철저한 준비가 필요할 것이다. 아직까지 기술적으로 완벽하게 해결할 수 없는 부분이기 때문에 어느정도는 Social Engineering에 의존을 해야하는 부분도 없지 않아 있다. 이 문제는 개인이 해결할 수 있는 문제로 보아서는 안될 것이다. 개인이나 집단이 디스크 암호화를 우회하거나 Cracking 하는 연구를 진행해 성과를 보였다면 정말 반가운 일이지만 기본적으로 암호화 프로그램을 개발한 회사와 국가기관에서 주도적으로 해결(마스터 키 관련) 해야 할 분야이다. 필자가 알기로는 암호화에 대해 국내에서 연구되고 있는 부분은 그리 크지 않은 것으로 알고 있다. 이러한 부분에도 여러 사람이 신경을 써 연구가 활발히 진행되었으면 하는 바램이다. 물론 필자도 공부하며 연구를 진행 할 것이다 :)

'[+] Forensic' 카테고리의 다른 글

Skype Forensic  (0) 2012.08.07
[Forensic Case] 기업 문서 유출 사건  (0) 2012.08.05
디스크 암호화와 디지털 포렌식  (0) 2012.07.25
Anti Forensics  (4) 2012.07.20
Windows 8 Forensic Artifact - (6)  (0) 2012.07.02

+ Recent posts