HDD 파일 완전 삭제

메타 데이터

도서관에서 책을 찾고 쉽게 정리하기 위해 도서 정보 시스템을 이용합니다. 이런 시스템이 발전하기 전에는 도서 목록 및 도서 카드를 만들어 책의 번호, 대출 정보 등을 기록하였습니다. 새로운 책이 들어오면 분류에 따라 위치를 정하고 번호를 붙인 후, 책 제목과 내용 및 번호 등을 관리 문서에 기입하여 도서를 관리하였습니다. 도서관의 관리 문서처럼 문서를 관리하기 위한 문서, 데이터에 대한 데이터를 "메타 데이터"라 하며 복잡한 데이터를 기록, 관리하기 위해 사용됩니다.

디스크에 자료를 저장하는 것도 마찬가지입니다. D 드라이브에 음악.mp3 라는 파일을 저장하면 파일 이름과 날짜, 데이터의 위치 등을 기록한 메타 데이터가 생성되어 파일 시스템에 의해 관리됩니다. 이 메타 데이터를 사용한 대표적인 파일 시스템이 FAT 시스템이며, 조금 더 복잡하고 다양한 기능을 가진 것이 윈도우에서 사용하는 NTFS 시스템입니다. 어떤 파일 시스템을 사용하든, 단순하게 보면 자료는 메타데이터 + 실제 데이터로 기록됩니다.





파일 삭제



윈도우에서 사용하는 NTFS 파일 시스템에서는 디렉터리와 파일의 메타 데이터를 MFT(Master File Table) 영역에 저장합니다. MFT 영역은 1KB 크기를 가지는 각각의 MFT 엔트리로 구성되어 있으며 하나의 엔트리에 하나의 파일 / 폴더의 정보가 저장됩니다. 또한, MFT 엔트리들을 관리하는 MFT 엔트리($MFT) 도 존재합니다.

사용자가 음악.mp3 파일을 삭제하면 파일의 데이터 영역은 그대로 둔 채, 그 파일의 메타 데이터 (음악.mp3의 MFT 엔트리) 를 "할당 안 함" 상태로 만들게 됩니다. 결국 시스템은 파일이 없다고 인식하지만 실제로는 MFT 엔트리와 데이터 영역은 다른 파일이 그 공간을 덮어쓰기 전까지 복구할 수 있는 상태로 유지됩니다. 파일 복구 소프트에서 검색을 하게 되면 할당되지 않았지만 정보가 살아있는 MFT 엔트리를 검색하여 복구 여부를 사용자에게 알려줍니다.

조금 더 자세히 이야기하자면, 메타 데이터의 메타데이터인 $MFT(MFT Entry 0) 파일에서 음악.mp3 의 MFT Entry를 할당 안 함으로 변경한 후, 데이터의 할당 정보를 가지고 있는 $Bitmap(MFT Entry 6) 파일에서 음악.mp3 가 사용하던 데이터의 공간을 할당 안 함 상태로 변경합니다. 음악.mp3의 MFT 엔트리와 실제 데이터 영역은 다른 파일이 그 공간을 덮어쓰기 전까지 복구할 수 있는 상태로 유지됩니다.





파일 복구

메타 데이터와 파일 데이터가 모두 살아있을 때에는 쉽게 파일을 복원할 수 있습니다. 무료 복구 프로그램을 사용해도 쉽게 복구가 가능합니다.

메타 정보는 살아 있지만 파일 데이터가 덮어 씌워졌다면 완전한 데이터를 복구하기 어렵습니다. 메타 데이터에 기록된 파일의 위치를 추적해 데이터를 복원해도 의미 없는 파일일 가능성이 큽니다. SSD는 Trim 명령어를 사용하여 삭제된 데이터 영역을 미리 비우기 때문에 거의 이 경우에 해당됩니다.

메타 데이터만 덮어 씌워진 경우 데이터 카빙 이라는 기술을 사용합니다. 빈 공간을 스캔하여 특정 파일이 가진 형식을 찾는 방법입니다.





SDelete

CMD 창에서 명령어로 사용할 수 있는 프로그램입니다. SDelete를 다운받아 적당한 곳에 압축을 풀면 텍스트 파일과 실행 파일 2개가 나타납니다. 명령 프롬프트를 열어 해당 경로로 이동하면 sdelete 명령어를 사용할 수 있습니다. sdelete.exe 파일을 C:\Windows\System32 안에 집어넣으면 위치와 상관없이 sdelete 명령어를 사용할 수 있습니다. 데이터를 보안삭제 할 수 있으며 MFT 엔트리에 남아있는 파일 이름도 덮어씌워 줍니다.


sdelete -?           각각의 옵션과 설명을 볼 수 있습니다.
sdelete -c D:        D 드라이브의 빈 공간을 덮어씌웁니다. (DOD 5220.22-M)
sdelete -z D:        D 드라이브의 빈 공간을 0으로 채웁니다.
sdelete -p 3 -c D:   D 드라이브의 빈 공간을 3번 덮어씌웁니다.





CCleaner

컴퓨터 정리 도구로 유명하지만 보안삭제 툴로서 유용한 기능을 많이 가지고 있습니다. 도구 > 드라이브 보안 삭제에서 빈 공간 및 드라이브 전체를 덮어씌울 수 있으며, 단순 덮어쓰기부터 35단계 덮어쓰기까지 다양한 과정을 제공합니다. 빈 공간을 정리하면 MFT 영역도 같이 정리할 수 있습니다.






마치며

이 외에도 다양한 보안 삭제 도구를 사용할 수 있습니다. 또는 Bitlocker와 같은 암호화 프로그램을 사용하여 파티션 자체를 암호화하고 포맷하면 복구를 불가능하게 만들 수도 있습니다.

위의 도구들을 사용하여 몇 번만 덮어씌워도 간단한 복구 툴로는 복구할 수 없으며 파일의 흔적을 찾기도 어렵습니다. 전문적인 포렌식 분석이나 복구 방법을 사용해도 유의미한 데이터를 얻기 쉽지 않아 보입니다.

SSD는 HDD처럼 데이터를 덮어쓰지 않습니다. 데이터를 새로 기록하기 전에 기존 데이터를 비우는 작업을 해야 합니다. Trim이란 기능을 사용하여 삭제한 데이터 영역을 미리 비우게 되는데, Trim 명령이 제대로 작동하는 환경에서 삭제한 데이터는 복구하기 어렵습니다.


댓글