평소에는 8GB 용량의 일반 USB 메모리처럼 동작하지만 특정 암호를 입력하면 숨겨진 암호화 저장 공간이 나타나는 오픈소스 USB 드라이브가 공개됐다.

Rootkit Labs가 개발한 'Phantomdrive(이하 팬텀드라이브)'는 암호화된 파티션을 단순히 숨기는 방식이 아니라, 잠금 상태에서는 실제 저장장치의 대부분을 PC에 노출하지 않는 것이 특징이다. USB를 PC에 연결하면 운영체제에서는 8GB 용량의 일반 이동식 저장장치로 인식하며 해당 영역에는 실제 파일도 저장할 수 있다.
숨겨진 영역을 사용하려면 USB에 텍스트 파일을 만들어 password: 뒤에 암호를 입력해 저장하면 된다. 펌웨어는 USB를 통해 기록되는 데이터를 감시하다 해당 문자열을 발견하면 비밀번호를 SRAM으로 가져와 암호화 키를 생성한다. 인증이 완료되면 기존 8GB 영역 대신 숨겨진 저장 공간을 사용할 수 있게 된다. 암호화에는 AES-256-CTR 또는 AES-256-XTS 방식을 적용할 수 있으며 비밀번호에서 암호화 키를 생성하는 과정에는 PBKDF2-HMAC-SHA256이 사용된다.
단순히 파티션을 숨겨놓은 구조가 아니라 USB 컨트롤러 단계에서 PC에 보고되는 저장 용량 자체를 제한하기 때문에, 잠금 상태에서는 디스크 관리 프로그램 등을 이용하더라도 숨겨진 영역을 일반적인 파티션처럼 확인하기 어렵다. 팬텀드라이브는 WCH CH569W SoC를 중심으로 설계됐으며, 저장장치로는 별도의 NAND 플래시 대신 microSD 카드를 사용한다. 이에 따라 사용자가 원하는 용량의 카드를 장착할 수 있고, SoC에 포함된 USB 및 SD 인터페이스와 AES 하드웨어 기능을 이용해 데이터를 처리한다.
팬텀드라이브는 완제품 기능뿐 아니라 설계 자체가 오픈소스로 공개됐다. GitHub를 통해 펌웨어 소스와 PCB 설계 파일, 테스트 코드, USB 펌웨어 프로그래밍 도구와 기구 설계 자료 등이 제공되며, 사용자가 직접 제품을 제작하거나 기능을 수정하는 것도 가능하다.
배포에는 MIT 라이선스가 적용돼 조건에 따라 소스와 설계를 수정하거나 재배포할 수 있다. USB VID와 PID 및 제품 정보 등도 펌웨어에서 변경할 수 있어, 일반 USB 메모리와 유사한 장치 정보로 설정하는 것도 가능하다. 다만 팬텀드라이브는 전문적인 보안 감사를 거친 상용 보안 제품이 아닌 오픈소스 실험 프로젝트다. 개발자 역시 중요한 데이터를 저장하는 용도로 사용할 경우 암호화 구현과 데이터 안정성 등을 충분히 검토할 필요가 있다고 설명하고 있다.
|