모두의 dream

VeraCrypt 사용과 분석 본문

분야/Digital Forensics

VeraCrypt 사용과 분석

오리꽥이로 2024. 9. 23. 16:59
Contents 접기

VeraCrypt

기존 파티션이나 드라이브(USB, 외장하드)를 암호화 하거나 암호화된 가상 디스크를 파일 형태로 새롭게 생성한다.

 

VeraCrypt에는 3가지 볼륨 생성 옵션, 2가지 볼륨 형태가 존재한다.

볼륨 생성 옵션 (Volume Creation)

VeraCrypt 볼륨 생성 마법사

1. Create an encrypted file container

암호화된 가상 디스크를 파일 형태로 생성한다.

가상 디스크 형태로 생성된 볼륨

2. Encrypt a non-system partition/drive

운영체제가 설치되지 않은 파티션이나 드라이브(외장 하드, USB 등)를 암호화하는 옵션.

기존 데이터는 삭제되는 포맷을 한 후 암호화된 볼륨을 생성 하거나, 기존 데이터를 함께 암호화를 하는 옵션 중 선택할 수 있다.

암호화 옵션

3. Encrypt the system partition or entire system drive

운영체제가 설치된 파티션/드라이브를 암호화하는 옵션으로 설정된 경우 운영체제를 부팅할 때 비밀번호를 입력해야 된다.

볼륨 형태 (Volume Type)

Volume Type

1. Standard VeraCrypt Volume

볼륨 암호화 기능을 통해 암호를 입력해야 데이터를 읽을 수 있지만 볼륨이 존재한다는 것이 명확하게 드러나므로 암호화된 볼륨이 있는 사실 자체를 숨길 수는 없다.

2. Hidden VeraCrypt Volume

볼륨 암호화 기능과 볼륨 은닉 기능을 제공한다.

Standard VeraCrypt Volume이 생기고, 그 안에 Hidden VeraCrypt Volume이 생기는 방식으로 겉으로는 Standard VeraCrypt Volume이 보이게 된다. 따라서 표면적으로 숨겨진 볼륨이 존재한다는 사실을 알 수 없게된다.

단점으로는 사용자가 표준 볼륨에 데이터를 저장할때 숨겨진 볼륨의 데이터를 덮어쓸 위험이 존재한다.

 

(1) Normal Mode

새로운 볼륨을 생성한 다음 그 안에 숨겨진 VeraCrypt 볼륨을 생성한다.

 

(2) Direct mode

기존 VeraCrypt 볼륨 내에 숨겨진 볼륨을 생성한다.

 

숨겨진 볼륨이 있는 Standard VeraCrypt Volume에 암호가 존재하고, Hidden VeraCrypt Volume에 별도의 암호가 존재한다. 각각 볼륨에 접근하기 위해서 설정한 암호를 입력하면 된다. (숨겨진 볼륨에 접근하기 위해서는 Hidden VeraCrypt Volume의 암호를 입력하면 된다. 기본 볼륨 또한 마찬가지다.)

실습

1. Encrypt a non-system partition/drive -> Standard VeraCrypt Volume

기존에 존재하던 파티션인 E 드라이브를 암호화 해봤다.

암호화 과정 속 변화

암호화 전, 후를 보면 내부를 확인할 수 없게 되고, VeraCrypt를 이용해서 암호를 입력하면 볼륨을 복호화한 후 마운트시켜  내부를 확인할 수 있다.

2. Encrypt a non-system partition/drive -> Hidden VeraCrypt Volume

겉으로 보여지는 Standard VeraCrypt Volume은 1000MB를 할당했고, 그중 500 MB는 Hidden VeraCrypt Volume으로 할당했다.

암호화 과정 속 변화

각각 별도의 공간을 가지고 있으며, 만약 Standard VeraCrypt Volume의 크기가 Hidden VeraCrypt Volume 에 할당된 크기를 넘어가게 되면 숨겨진 볼륨의 데이터가 덮어 씌워질 수 있다.

Standard VeraCrypt Volume, Hidden VeraCrypt Volume에 각각 저장된 파일

느낀점

짧은 실습을 통해 느낀점은 로컬 컴퓨터에 있는 볼륨에 직접 암호화를 하는 것 보단 외장 저장매체 (USB, HDD, SSD 등)에 적용하거나 운영체제 자체를 암호로 걸어버리는 것도 좋을 것 같다. (가상 디스크 형태로 만드는 것도 포함)

VeraCrypt가 활성화된 볼륨 분석

FTK Imager에 올렸을때, 구조를 봤을때 VeraCrypt가 적용되어 있다는 것을 확인할 수 있는 무언가가 있을지 궁금해서 분석해봤다.

가상 디스크 파일 형태

가상 디스크 구조

알아볼 수 있는 규칙은 보이지 않는다. 용도를 알 수 없는 난해한 구조의 파일이 있고, VeraCrypt가 발견된다면 의심해봐야할 것 같다. (혹은 hc 확장자)

볼륨 형태

볼륨 형태

VeraCrypt를 통해 암호화된 볼륨은 파티션이 인식되지만 할당되지 않은 것으로 나타난다.

암호 해독

passware kit 도구를 이용하면 암호를 해독할 수 있다. (물론 암호의 강도가 높을수록 엄청난 시간과 자원이 필요하다.)

해독된 암호

Comments