BitLocker Recovery Analysis
비트라커가 적용된 파티션 복구를 실습하기 위해 먼저 상황을 재현하였다. 일반적으로 특정 파티션을 비트라커로 암호화하고 해당 비트라커의 복구키를 다른 파티션에 저장하는 문제들이 많아 해당 상황을 재현하였다. 아래는 실습할 디스크의 모습으로, 총 203MB 크기의 디스크를 MBR로 초기화하고, 100MB 크기의 파티션을 두 개 생성하였다. 첫 번째 파티션(E:\)의 Root Directory이하에 'Key' 디렉터리를 만들고, 해당 디렉터리에 두 번째 파티션(F:\)의 비트라커 복구키 파일을 저장하였다. 두 번째 파티션(F:\)의 Root Directory이하에 'Directory' 디렉터리를 만들고, 해당 디렉터리에 본교의 정보보안 동아리 로고 이미지 파일을 저장하였다.
실습할 디스크를 Raw 파일 이미징 후 FTK Imager로 이미지 파일을 열어본 결과이다. Partition 2가 'Unrecognized file system' 문구와 함께 내부 계층구조가 열리지 않고, Partition 2의 시작섹터 Hex값을 확인하면 'FVE', 'FAT32' 문구가 존재한다. 해당 문구를 통해 Partition 2가 비트라커가 적용된 파티션임을 확인할 수 있다.
추가적으로 Partition 1의 이하 디렉터리('Key')에 비트라커 복구 키 파일이 있고, 해당 파일에서 식별자와 복구 키 값을 확인할 수 있다.
비트라커가 적용된 Partition 2의 내부 계층 구조를 확인하기 위해서는 복구키로 비트라커를 해제하는 과정이 필요하다. 복구키를 입력하기 위해서는 윈도우가 필요하기 때문에 먼저 디스크를 마운트 해야 한다. 아래는 'Arsenal lmage Mounter' 도구를 이용하여 Raw 파일을 마운트 한 모습이다. 이때 파일의 무결성을 위해 읽기 전용(Read Only)으로 마운팅 해야 한다. 실습과정에서 무결성 확인을 위해 이미지 복사본을 따로 저장해 두었다.
비트라커가 적용된 파티션을 복구할 때, 복구 키를 사용하여 비트라커를 해제하면 시스템이 디스크를 읽고 복구 키로 복호화하여 복호화된 임시 데이터를 디스크에 저장한다. 때문에 읽기 전용으로 마운트 한 디스크는 마운트 이후에 복구키를 입력하면, 시스템이 복호화된 데이터를 디스크에 쓰려고 시도하기 때문에 마운트가 불안정해진다. 해결방법으로는 마운트 과정에서 동시에 복구키를 입력하여, 복구를 완료한 디스크를 마운트 해야 한다. 아래는 마운트와 동시에 복구키를 입력한 모습이다. 이때, 식별자 값이 동일함을 추가적으로 확인할 수 있다.
이후에 PC에 연결된 디스크를 확인하면 Partition 1이 E 드라이브로, Partition 2는 F드라이브로 정상적으로 마운트 된 모습을 확인할 수 있다. 이때 복호화된 F드라이브는 자물쇠가 열린 아이콘으로 추가 표시된다.
복구된 Partition 2(F:\)의 이미지를 획득하기 위해 FTK Imager에서 'Logical Drive' 항목을 선택하여 F 드라이브만을 이미징 해야 정상적으로 복구된 파티션을 이미징 할 수 있다. 'Logical Drive' 이미징은 파일시스템이 참조하는 논리적인 디스크 데이터(복호화된 파티션 데이터)를 이미징 할 수 있기 때문이다. 아래는 이미징 이후 마운트를 해제하고, 이미지 파일을 FTK Imager로 열어 내부 디렉터리를 확인 한 모습이다.
마지막으로 읽기 전용으로 마운트 한 이후의 이미지파일(오른쪽)과 마운트 이전에 복사해 둔 이미지 파일(왼쪽)의 해시값을 비교해 보았다. 읽기 전용으로 이미지 파일을 마운트 했기 때문에, 두 파일의 해시값이 동일한 모습을 확인할 수 있다.