최근 수정 시각 : 2024-03-31 21:54:09

소거 프로그램

1. 개요2. 동작 원리
2.1. 삭제 패턴2.2. SSD, 플래시 메모리의 경우
3. 종류
3.1. ATA Secure Erase (Enhanced)3.2. BCWipe3.3. Cipher3.4. CCleaner3.5. Darik's Boot and Nuke3.6. Disk Utility3.7. Eraser3.8. Moo0 FileShredder3.9. shred3.10. Slimcleaner3.11. 고화질 동영상 무한복사
4. 용도5. 소거 알고리즘에 대한 유사과학 수준의 맹신6. 기타7. 관련 문서

1. 개요

하드디스크에 저장된 데이터를 완전히 지워 논리적·물리적 방법으로 복구가 불가능하게 하는 프로그램. 안티포렌식(anti-forensic[1]) 프로그램, 안티포렌식 툴이라고도 부르기도 한다. 와이핑(wiping) 프로그램이라고도 한다.

소프트웨어적인 방법이므로 디가우저와 같은 물리적인 파괴 방법보다 시간이 많이 걸리고 보안성도 살짝 떨어진다. 하지만 물리적 파괴를 거친 하드는 두 번 다시 못 쓰게 되므로 하드디스크를 재활용하려면 소프트웨어적인 방법을 써야 한다.

2. 동작 원리

윈도우즈 상에서 파일 삭제하면 데이터 자체를 깔끔하게 삭제하는 대신, 그 파일의 메타데이터(주소)만 날려버린다. 왜냐하면 하드디스크의 특성상 파일을 완전히 지우는 것은 그 파일을 기록하는 것만큼이나 오래 걸리고, 이미 데이터가 기록된 곳에 다른 데이터를 덧쓰는 것도 가능하므로 완전히 지우는것은 비효율적이기 때문이다. 따라서 삭제된 파일의 데이터는 이후에 다른 데이터로 덧쓰이기 전까지 당분간 하드디스크에 온전히 남아있게 되고, 이것을 복원 프로그램을 이용하면 손쉽게 복구가 가능하다.

그런데 다른 데이터로 덧쓰더라도, 예를 들어 로우 레벨 포맷을 하더라도 데이터가 '완전히' 지워지는 것은 아니다. 하드디스크는 자기장을 이용해 데이터를 저장하는데, 이미 저장되어있던 데이터가 무엇이냐에 따라 새로운 데이터를 덧쓴 뒤 자기장의 세기가 미세하게 다르기 때문이다. 이러한 미세한 차이는 무시하도록 설정되어 있으므로 로우포맷된 하드는 일반적인 복구 프로그램을 통해선 복구가 불가능하겠지만, 작정하고 전문적인 장비를 이용하면 원래 값이 무엇인지 알 수 있다.[2]

그러므로 보안상 중요하거나 민감한 파일을 삭제할 때 소거 프로그램을 사용한다. 소거 프로그램은 원하는 구역에 데이터를 여러 번 덧쓰는 방법으로 기록된 데이터를 복구가 불가능하게 소거한다. 덧쓰는 내용이나 덧쓰는 횟수는 프로그램에서 설정할 수 있다. 일반적으로 미국 국방부(DoD)에서 지정한 방식대로 3번 이상 덧씌우는 것이 권장되고 있다. 또한 옵션설정시 클러스터 찌꺼기까지 소거하도록 설정하는 것이 좋다. 심지어는 35-pass라고 해서 Gutmann 포맷으로[3] 35번씩이나 덧씌우는 매우 강력한 방법도 있다.

이 프로그램 사용 중에는 해당 디스크 장치의 가용 저장공간이 일시적으로 줄어들고 완료된 시점에는 거의 다 채우게 된다. 이는 소거목적으로 생성된 임의의 데이터값을 가진 임시파일이 그 디스크에 생성되었기 때문인데, 소거 완료와 동시에 자동 삭제된다. 이런 점 때문에 소거된 데이터는 복구 못해도 소거 프로그램 사용여부는 확인할 수 있다.

2.1. 삭제 패턴

기본적으로 모든 데이터를 0으로 덧쓰는 방법(zero-filling), 임의의 데이터로 한 번, 그의 보수(complement)[4]로 또 한 번 덧쓰는 방법, 무작위적으로 덧쓰는 방법 등이 있다. 다른 패턴들은 이러한 패턴들을 조합해 만들어지며, 소거가 제대로 이루어졌는지 검증하는 과정이 포함되기도 한다. 덧쓰는 횟수가 많아질수록 복구 가능성은 낮아지겠지만 소요되는 시간은 당연히 길어진다.
  • US DoD 5220.22-M(8-306./E) : 특정한 데이터로 한 번, 그의 보수(complement)로 한 번, 랜덤 데이터로 한 번 덧쓴다. 총 3번 덧쓰므로 일반적으로 3-pass는 이것을 뜻한다. DoD 5220.22-M 설명
  • US DoD 5220.22-M(8-306./E,C and E) : 위의 작업을 수행한 뒤 임의의 단일 문자 데이터로 한 번 덧쓰고 다시 위의 작업을 수행한다. 총 7번 덧쓰므로 일반적으로 7-pass는 이것을 뜻한다.
  • NIST 800-88 ( 미국 국립표준기술연구소 표준) : 크게 재사용 가능한 덮어쓰기부터 재사용이 불가능한 완전 파괴 방법까지 규정되어 있으며, 그 중의 덮어쓰는 대표적인 방법으로는 33 cc 55 aa 라는 패턴으로 덮어쓰는 방법이 있다.
  • Peter Gutmann's Algorithm : 랜덤 데이터로 4차례로 덧쓰고, 010101..., 101010..., 100100..., 010010..., 001001...로 덧쓴 뒤 0x00, 0x11,...0xFF로 덧쓰고, 100100..., 010010..., 001001..., 011011..., 101101..., 110110...으로 덧쓴 뒤 랜덤 데이터로 4차례 덧쓴다. 무려 35번이나 덧쓰는 길고 긴 과정인데, 이렇게 복잡한 이유는 20여년 전의 MFM 하드디스크의 데이터 삭제를 위해 제안된 방법이기 때문이다. 35-pass는 100% 이것을 의미한다. 현대의 하드는 데이터를 완전히 삭제하는데 이렇게 이렇게 많은 노력을 들일 필요는 없으며 위의 US DoD 5220.22-M만으로도 충분하다고 한다. 또한 이러한 알고리즘과 35-pass는 악령 퇴치 주문(?)마냥 상황에 따른 적절한 취사 선택 없이 (위와 같이 MFM 하드 삭제 법으로 고안되었음 등을 고려 없이) 맹신과 남용으로 과도하게 사용되고 있다면서, 상황에 따라 적절한 방법을 택할 경우 더 적은 횟수 덮어쓰기 방법만으로도 효과적으로 보안 소거를 달성할 수 있다고 Gutmann 본인이 직접 말한 바 있다.

2.2. SSD, 플래시 메모리의 경우

소거 프로그램은 HDD의 사용을 상정하고 만들어졌다. 플래시 메모리를 사용하는 SSD는 특성상 덧쓰는 것이 불가능하고, 셀을 지울 수 있는 횟수가 한정적이다. 그러므로 데이터를 기록할 때도 순차적으로 기록하지 않고 여러 셀을 균등하게 사용하며(웨어레벨링), 가비지컬렉션 기능 때문에 데이터가 저장된 물리적 위치가 수시로 바뀌며, TRIM 기능이 삭제한 파일의 데이터를 적당한 때에 알아서 지워준다. 따라서 SSD는 기존의 소거 프로그램을 사용할 필요가 없으며, 사용하더라도 프로그램이 의도한대로 작동하지도 않는다. 대부분의 SSD는 Secure Erase라는 기능을 지원하므로 필요하면 그것을 이용하자. 속도도 매우 빠르고 훨씬 안전하다. (다만 부분적인 데이터 삭제가 불가능하고 전체 드라이브를 한번에 비워버린다) hdparm이나 parted magic 같은 툴을 통해서도 사용이 가능하지만 대부분 제조사에서 만들어 놓은 유틸리티가 있다. CZ80같은 SSD컨트롤러 들어간 일부 USB 메모리도 사용이 가능한게 확인되었다.

SSD의 경우 소거 프로그램으로 와이핑해도 흔적이 남는 반면에 윈도우 상 일반 포맷(윈도 비스타 버전 이상) 기능을 사용하면 깔끔하게 와이핑되는 경우도 있다.

트림, 웨어레벨링, 가비지컬렉션 기능이 없는 일반 SD카드나 USB 메모리의 경우 1-pass 소거로도 무방하다. 3-pass 초과의 소거는 플래시 메모리에서는 의미 없다.

3. 종류

기업용 전문 프로그램부터 무료로 배부되는 프로그램까지 그 종류가 다양하며, 무료 프로그램에서 제법 쓸만한 게 여러 개 있다. 일부 프로그램은 윈도우상 일반적으로 삭제한 뒤 하드의 빈 공간에 둥둥 떠다니던 파일찌꺼기를 소거하는 기능이 있다.

구글 플레이에서 스마트폰의 빈 저장공간을 소거하는 무료/유료 어플도 나와있다. 만일 자신이 쓰던 폰을 중고로 내다 팔 것이라면, 우선 디바이스 암호화를 거친 뒤 공장초기화한 후에, 자신이 쓰던 구글 계정 대신에 소거 삭제 어플을 깔기 위한 구글 전용 계정을 추가로 만들어놓거나, 그것도 영 아니다 싶으면 apk 파일만 따와 그 어플을 다운받아 설치하고 와이핑해주면 된다. 안드로이드 4.3 젤리빈부터는 TRIM 기능이 있기는 하지만, 단순히 공장초기화를 하는 것만으로는 중요한 개인정보가 완전히 삭제되지 않을 수 있으니 주의.

3.1. ATA Secure Erase (Enhanced)


ATA(SATA) 규격 내에서 기본적으로 지원하는 소거 방식.

규격 내 현재 Secure Erase (보안 소거) 와 Secure Erase Enhanced (향상된 보안 소거) 가 있다.

물론 위에서와 같이 작정하고 덮어쓰기 또는 복구하는 방식에 비해서는 취약할 지 모르겠지만, 일반적인 상황에서는 위에서의 설명과 같이 이 것(1-pass)만으로도 충분하다는 것이 중론이다. 제조사마다 설정하기 나름이라 다르지만 보통의 하드디스크의 경우 1-pass 방식과 같이 동작한다. SSD는 그 특성상 일종의 디스크 전체 TRIM 기능에 가깝게 동작한다(역시 제조사마다 구현하기 나름이다).

이 명령어는 보통 hdparm과 같은 CLI 기반으로 직접 명령어를 날리거나, 그놈 디스크 유틸리티(Disks) 같은 GUI에서도 드라이브 포맷 메뉴 진입 시 (지원할 경우) 같이 보여주고 있다.[5]

구동 원리는 ATA(SATA) 규격에서 지원하는 Security 기능을 통해 저장장치에 보안(암호) 설정[6]을 한 뒤 설정된 암호와 함께 SECURITY_ERASE (Enhanced) 명령어를 저장장치로 보낸다.

그럼, 컴퓨터 운영체제 등에서 R/W 등 IO(입출력)를 통해 저장장치를 소거하는 것이 아닌, 그 저장장치에 내장된 SECURITY_ERASE 명령어를 통해, 저장장치 스스로 (펌웨어단에서) 디스크를 모두 소거하게 된다.

예를들어, 하드디스크의 경우 보통 Secure Erase는 모든 데이터를 0으로 덮어쓰기, Secure Erase Enhanced는 일반적인 방법으로는 접근할 수 없는 드라이브 내의 대체된(relocated) 섹터나 hidden 공간 등을 포함하여 제조사에서 프로그래밍한 패턴대로 덮어쓰기[7] 작업을 수행한다.

다른 방법으로는 키를 교체하는 방법으로, 사용자가 암호를 별도로 설정하지 않더라도 이전부터 기기 자체적으로 특정한 암호키 a를 통해 디스크에 기록해오다가 a키를 파기시키고 b키로 교체해 사용함으로서, 앞서 a키를 통해 디스크에 기록된 데이터가 아직 표면에 남아있더라도 랜덤 데이터로 덮어쓰기된 것 같이 무의미한 데이터로 만들어버리는 방식도 있다. 이 방법 역시 전체 영역의 덮어쓰기가 필요없으므로 거의 순식간에 끝나며, 하드디스크임에도 수 초 내지 1분 내외 정도의 믿기지 않는 소요시간이 ATA Secure Erase 예상 소요시간으로 표출된다.

위에서 설명된 것과 같이 ATA 규격이므로 SSD에서도 얼마든지 활용할 수 있는데, SSD는 특성상 전부 덮어쓰기가 아닌 TRIM 등과 비슷한 방식으로서 (제조사에서 정의한 방법대로 동작) 수초 또는 수분만에 완료되기도 한다.

이는 일종의 ATA 프로토콜의 명령어 셋으로 실제로 수행하는 작업 내용은 저장장치 제조사들이 어떻게 동작하게끔 프로그래밍(펌웨어) 했느냐에 달려있다. 따라서 저장장치 제조사에서 이 기능을 내장시키지 않았을 경우 실행이 불가한 것으로 표시된다. 지원하는 경우 지원 여부와 함께 저장장치(ATA) 정보에서 예상 소요시간(제조사에서 입력) 등도 알 수 있다. 일정 용량 하드디스크의 경우 보통 2~3시간 대, SSD의 경우 수 초 단위에서 분 단위 정도가 표출되는 편이다.

단, 위와 같은 특성으로 간혹 이 명령어 셋이 정확하게 구현되지 않았을 경우(버그 등) 이 기능을 수행하더라도 데이터가 완전히 지워지지 않거나[8] 특정 상황에서 저장장치가 사용불능(BRICK) 상태에[9] 빠질 수도 있음에 유의해야 한다.

그리고 보통의 경우 컴퓨터가 켜질 때 기본적으로 BIOS가 부팅 과정에서 연결된 모든 저장장치의 Security 상태를 변경하지 못하도록 Frozen 시켜버려서 위와 같은 암호 설정 및 Security Erase 명령어 실행이 불가한 경우가 있다. 이 경우는 저장장치의 전원을 껐다 켜는 것으로 해결할 수 있는데, 다른 간단한 방법으로는 컴퓨터를 절전모드(S3)에 넣었다가 켠 뒤 디스크 정보를 다시 불러와보는 방식으로 해결할 수 있다.

장점 : 여러가지 방법을 탐구할 필요없이 명령어 한 줄로 (또는 클릭 한 번으로) 갖가지 저장장치별로 제조사에서 제공하는 최적의 방법으로 소거 수행, 경우에 따라 드라이브 hidden 공간까지 소거 가능 등

단점 : 다소 복잡하고 실행 조건이 까다로울 수 있음, 명령어셋이 제대로 구현되지 않은 저장장치일 경우 제대로 소거되지 않거나 사용불능 상태에 빠질 수도 있음(펌웨어단에서의 버그 등)

3.2. BCWipe

파일:external/www.jetico.com/BCWipe%206%20-%20BCWipe%20Task%20Manager.jpg
6.0 버전.

홈페이지

드라마 유령에서 사용된 와이핑 프로그램.

현재 최신버전은 7.04.

3.3. Cipher

윈도우 내장 암호화 및 소거용 보안 프로그램.
GUI가 아닌 CLI 기반이기 때문에 파일을 하나하나 삭제하려면 골치아프지만, 하드디스크의 빈공간을 정리할 때에는 간편하다.
3Pass방식으로 소거를 하며, /w가 소거 명령어다. 처음에는 0으로 덧쓰고, 다음에는 1로 덧쓴 뒤 마지막에 난수로 덧써서 마무리한다.

사용법은 PowerShell이나 CMD를 실행한 뒤

(예를들어)D:의 빈공간을 삭제시
#!syntax powershell
cipher /w:d:


특정 파일을 삭제시(예를 들어 c:의 Intel 폴더에 있는 readme.txt파일을 삭제시)
#!syntax powershell
cipher /w:c:\intel\readme.txt


진행도는 마침표로 나오는데, 마침표 하나가 1%에 해당한다. 진행도가 다 차면 화면에 100개의 마침표가 찍히는 셈이다. 파워셀이나 CMD의 레이아웃에서 창 크기를 가로 50이나 25, 20같은 숫자로 맞춰놓으면 진행도를 좀 더 쉽게 알 수 있다.

3.4. CCleaner

파일:상세 내용 아이콘.svg   자세한 내용은 CCleaner 문서
번 문단을
부분을
참고하십시오.

3.5. Darik's Boot and Nuke

공식 홈페이지
OS가 설치되지 않은 컴퓨터에서도 사용할 수 있도록 만들어진 부팅 디스크. 흔히들 DBAN이라고 부른다. RCMP TSSIT OPS-II, DoD Short, DoD5220.22-M, Gutmann Wipe, PRNG Stream 등을 지원한다.

SourceForge에서 배포되는 오픈소스 소프트웨어이나, 현재는 사기업인 Blancco사에 인수되었다. 사기업의 손길이 꺼림직하다면 인수되기 전 버전인 2.2.8버전을 기반으로 포크 비공식 판본을 추천.

3.6. Disk Utility

파일:external/images.techhive.com/el_cap_disk_utility_boot_drive_rainbow-100618136-large.png

macOS기본 내장 디스크 관리자인데, 포맷 옵션에서 평범한 zero fill은 물론이고 DoD 3 pass, DoD 5220-22-M 7 pass도 옵션으로 선택할 수 있다. 물론 데이터를 남겨둔 채 빈 공간만 지워주는 옵션도 선택 가능. 단, SSD에서는 보안 지우기 옵션을 사용할 수 없다. 사용 방법

3.7. Eraser

파일:external/screenshots.en.sftcdn.net/eraser-17.png
홈페이지

BC Wipe와 유사한 소거 프로그램으로 이쪽은 프리웨어다. 군대에서도 사용하는데, 어째서인지 보통 BC Wipe가 있는 망에는 Eraser가 없고, 거꾸로 Eraser가 있는 망에는 BC Wipe가 없다. 빈 공간 소거가 좀 느린 편이다.

파일 삭제와 빈 공간 삭제를 할 수 있는데, 디스크 전체를 갈아엎고 싶다면 빠른 포맷등으로 데이터를 다 지운 후에 빈 공간 삭제를 하면 된다. 또한 디폴트 옵션이 파일삭제는 35번 덮어씌우기이고, 디스크 삭제는 1번 덮어씌우기 이므로, 이게 너무 과하거나 약하다 싶으면 프로그램 설치후 바로 사용하지 말고 옵션을 적절하게 세팅한 후에 사용해야 한다.

3.8. Moo0 FileShredder

파일:파일분쇄기.jpg
홈페이지

삭제할 파일을 프로그램의 박스에다 놓으면 소거가 가능한 프로그램. 4단계 삭제방법으로 구성되어 있으며, 강력한 보안 삭제 기능을 가지고 있다. 단점은 빈 공간 소거 기능이 없다는 것. 그 점을 제외하면 완전삭제에 가깝게 되어 있는 강력한 소거기능을 가지고 있는데, 삭제 방식이 이름별로 분쇄, 잘게 분쇄, 잿가루, 증발로 되어 있다.
  • 분쇄(보통 회복불능) : Pseudo-Random
  • 잘게 분쇄(거의 회복불능) : US DoD 5220.22-M(8-306./E)
  • 잿가루(안전) : US DoD 5220.22-M(8-306./E,C and E)
  • 증발(소멸!) : Gutmann

검찰이 국정원 선거개입 관련 여론조작 사건에 대한 축소, 은폐의혹으로 서울지방경찰청을 조사하고 있을때 서울지방경찰청의 모 경감이 이것에 관한 수사기록을 Moo0을 이용해 삭제했다는 의혹을 받기도 했다.

3.9. shred

파일:external/ssd.eff.org/secure_deletion_on_linux_21.png

리눅스 등에서 이용할 수 있는 소거 프로그램이다. 터미널로 사용하며 사용 방법은 shred [옵션]... 파일... 이다. 많이 사용하는 옵션은 -u (덮어쓰기후 파일을 삭제)나 -n (덮어쓸 횟수(기본 3) 이다. 자세한 옵션은 shred --help 나 man shred를 이용해서 볼 수 있다.

3.10. Slimcleaner

파일:external/i.i.cbsi.com/779528958dd60a0e791343fa6113dd313439_3ss_review_slimcleaner_540x406.png

3.11. 고화질 동영상 무한복사

사실 이것도 의외로 괜찮은 방법이다. 1번만 덮어써도 이전 자료 복구 가능성이 확 줄어듦을 이용한 것인데 고화질 동영상을 무한복사해서 꽉 채우고 포맷하면 일상 수준에서는 괜찮다. 1000개만 만들어도 1TB 정도는 무리없이 완전소거가 가능하며 다른 작품으로 2~3번만 해줘도 웬만한 복구 프로그램으론 복구가 불가능해진다. 복구전문업체나 국가기관에 들어갈 일이 없는 이상 복구는 어렵다. 물론 복사에 사용된 동영상은 아주 쉽게 복구가 가능하다.

의외로 카이스트 테크노경영대학원 문송천 교수팀에서도 해당 내용을 주장했으며 미국 국방부도 비슷한 내용을 발표한 적이 있다. 즉, 아주 의미없는 이야기는 아니란 말이다.

4. 용도

학번 등이 적혀있는 레포트 문서파일 등 개인정보가 포함되어 있거나, 중요하거나 민감한 내용이 있는 파일을 삭제할때 반드시 이 프로그램을 사용해야 하지만, 타인에게 발견되어도 무난한 내용의 일반 파일까지 일일이 소거할 경우 자칫 하드디스크에 무리가 갈 수 있으니 유의.

고급 기밀사항이 담긴 파일 같은 경우면 35-pass의 Gutmann 방식으로 소거하고 싶겠지만 쓸모 없어진 학교 레포트 파일 복사본 정도는 1-pass의 pseudo-random 방식으로 소거해도 무리는 없다. 오히려 기밀성이 낮은 파일 삭제까지 35-pass의 Gutmann 방식을 고집하면 하드디스크 수명에 되레 악영향만 끼친다. 특히 요즘 출시되는 테라바이트급의 HDD는 대단히 민감한 장비라서 1-pass만 하더라도 국가기관급이 달려들지 않는 한 개인이나 일개 업체가 데이터를 복구해내는 건 굉장히 어려운 일이다.

만일 자신이 쓰던 하드디스크(혹은 HDD가 장착된 노트북 등)를 중고로 팔 때가 생기면 제로필을 하거나 소거 프로그램으로 3-pass나 7-pass로 싹 밀어버리면 된다.[10] 그래야지 개인정보를 보호할 수 있다. 이것은 하드디스크를 폐기할 때도 마찬가지다. 깨진 플래터 조각도 경우에 따라 복구가 가능한 경우가 있기 때문. 물론 소거 프로그램을 통한 소거는 그래도 하드가 작동하는 경우 한정으로, 하드가 고장나서 와이핑할 지경이 못 되면 디가우저를 쓰는 수밖에 없다.[11] 이 방법은 기업에서 자주 애용하는 방법이다. 대개 기업에서 폐기하는 하드디스크는 고장나서 폐기하는 경우가 많은데다가 보통 폐기하는 하드가 많기에 저렇게 덮어씌우는 방식으로는 할 수 없어서 디가우저, 천공, 파쇄, 용융 중의 하나, 또는 복수의 방법을 쓴다고 보면 된다.

그리고 중고로 하드디스크를 매입하였다면 사용전에 제로필이나 pseudo-random 포맷으로 1-pass로 밀어버리는 것도 나쁘지 않다. 그 이유는 법적으로 있어서는 안 될 특정한 파일[12]이 문제의 중고 하드에 담긴 것 때문에 나중에 하드디스크를 검사 할 때 해당 파일이 발견되는 경우 억울한 피해를 입을 수 있기 때문이다. 그리고 매입한 중고하드의 소거 작업을 통하여 하드디스크의 작동 이상 유무를 체크하게 되는 이점도 있다. 와이핑하다가 삑사리나서 멈추거나 제대로 되지 않는 경우 그 중고하드는 문제가 있는 것일테니까.

개인정보 보호 관련 법규가 점차 강화되면서 대학교 등 이전에는 데이터 소거와 전혀 인연이 없던 곳에서도 학생 개인정보가 남아있는 성적처리 파일 같은 것들을 깨끗하게 날리기 위해 소거 프로그램을 쓰는 경우가 많아지고 있다.

5. 소거 알고리즘에 대한 유사과학 수준의 맹신

위의 ‘Peter Gutmann's Algorithm’(통상 35-pass라 불려지지만 사실은 아닌)의 저자 Gutmann은 본인이 직접 밝히기를, 자신이 만들어낸 (박물관에서나 볼법한 MFM 등) 구식 하드를 위한 알고리즘이, 자신이 제시하였던 적정 대상을 벗어나 마치 악령 퇴치 부두술 주문마냥 남용되고 있다면서 이러한 점을 지작한 바 있다. 즉 쉽게 말하면 35-pass 니 소거법이니 뭐니 하는게 사실 정석대로 하면 35-pass 방식도 아닌 걸 가지고 제대로 알지도 못하고 유사과학 신봉자마냥 엉뚱한 곳에 적용하며 떠받들고 있다는 소리다~~

Secure Deletion of Data from Magnetic and Solid-State Memory
이 논문이 발표된 이후 일부 사람들은 이 논문에서 설명한 35-패스 덮어쓰기 기법을 드라이브 인코딩 기술에 대한 기술적 분석의 결과라기보다는 악령을 쫓아내기 위한 일종의 부두교 주문으로 취급해 왔습니다. 그 결과, 무작위 데이터로 단순 스크러빙하는 것 이상의 효과가 없음에도 불구하고 이 ‘부두교 악령 퇴치 주문’을 PRML 및 EPRML 드라이브에 적용하는 것을 옹호하고 있습니다. 사실 전체 35-패스 덮어쓰기를 수행하는 것은 30년 이상 된 MFM 방식까지 포함한 모든 것을 포괄하는 모든 유형의 (일반적으로 사용되는) 인코딩 기술을 포함하는 혼합 시나리오를 대상으로 하기 때문에 모든 드라이브에 대해 무의미합니다.(이 문장을 이해하지 못한다면 논문을 다시 읽어보십시오). 인코딩 기술 X를 사용하는 드라이브를 사용하는 경우, X에 해당하는 패스만 수행하면 되고 35개의 패스를 모두 수행할 필요는 없습니다. 최신 PRML/EPRML 드라이브의 경우, 몇 번의 무작위 스크러빙 패스를 수행하는 것이 가장 좋습니다. 논문에 따르면 "무작위 데이터를 사용한 우수한 스크러빙은 기대한 만큼의 효과를 발휘합니다."라고 나와 있습니다. 이는 1996년에도 사실이었으며 지금도 마찬가지입니다.

다른 관점에서 보면, 디스크 플래터의 데이터 밀도가 계속 증가하고 그에 따라 피처 크기가 줄어들고 미디어에 데이터를 기록하는 이색적인 기술이 사용됨에 따라 기본적인 오류 제거 기술을 통한 단일 레벨을 제외하고는 최신 드라이브에서 복구할 수 있는 것이 거의 없을 것입니다. 특히 이 백서가 처음 작성된 시점에 사용되던 드라이브는 이미 오래 전에 단종되었기 때문에 구형 저밀도 기술에 적용되던 방법은 더 이상 적용되지 않습니다. 반대로 최신 고밀도 드라이브에서는 드라이브에 10KB의 민감한 데이터가 있고 이를 100% 확실하게 지우지 못하더라도 공격자가 200GB의 다른 지워진 흔적에서 10KB의 지워진 흔적을 찾을 수 있는 확률은 거의 제로에 가깝습니다.

많은 독자들이 놓치고 있는 또 다른 점은 이 논문이 데이터 복구 솔루션이 아니라 데이터 삭제 솔루션을 제시하고 있다는 점입니다. 즉, 이 논문은 문제 제기를 통해 잠재적인 위험이 있음을 지적한 다음 본문에서 그 위험을 완화할 수 있는 방법을 모색하고 있습니다.

6. 기타

하지만 소프트웨어적인 방법으로만 데이터를 삭제할 경우에는 국방부 국가정보원같은 국가 정보기관에서 복구가 가능할 수도 있다. 따라서 만일 자신이 보안상의 이유로 관련자료를 누구도 복구할 수 없을 지경으로 없애야 할 경우에는 소거 프로그램을 사용하는 것보다 디가우저에 하드디스크를 넣고 일차로 돌린다음에 물리적으로 하드디스크를 박살내는 분쇄기에 넣어서 완전히 박살내는 것이 더 확실한 방법이다. 용광로 같은 것으로 녹일 수 있다면 더 좋다.

또는 설사 파일을 복구하더라도 바로 획득할 수 없도록 베라크립트 비트라커와 같은 암호화 프로그램을 사용하는 것도 보안에 좋은 방법이다.

가끔 소거 프로그램을 찾기 귀찮아서, 파일을 지운 뒤 고용량 게임을 까는 경우도 있다. 적어도 일반적인 복구 프로그램으로 복구할 수 없을 정도는 된다.

7. 관련 문서


[1] forensic 1.법의학적인, 범죄 과학 수사의 2.법정의, 재판에 관한 [2] 하지만 이것도 사실은 복구가 거의 불가능하다고 봐도 좋다. 파일을 1번만 덮어쓰기를 한 경우 이상적인 조건에서 비트 당 복구율을 90% 수준까지도 올릴 수 있는 것으로 알려져있는데, 이 수치가 높아보일 수 있지만 음악이나 이미지 등 대부분의 파일들은 데이터의 10%만 깨져버려도 도저히 사용할 수 없는 지경으로 뭉개져버린다. [3] 뉴질랜드 출신의 컴퓨터 과학자 피터 구트만이 제안한 방식이다. [4] 예를 들어 00110101 의 보수는 11001010이다. [5] 그놈 디스크 유틸리티의 경우 Security Erase를 위한 암호로 ‘xxxx’ 를 사용한다. 어디에도 명시적으로 이러한 언급이 없어서 소스코드를 본 결과 확인되었다. 혹여 그놈 디스크 유틸리티로 작업하다 중도 중단되어 디스크가 잠긴 상태로 있을 경우 ‘xxxx’를 통해 암호를 해제해보자. [6] 일부 PC · 노트북 BIOS 등에서 저장장치 암호 설정을 할 때 이 기능을 사용하기도 한다. 단 BIOS에서 설정하는 화면이 저장장치에 실제로 설정되어지는 암호(ATA Security 해제를 위한 실제 암호)와는 일치하지 않을 수 있다. BIOS 단에서 이용자의 암호에 일종의 자체 SALT를 추가할 수도 있기 때문이다. [7] 예를들어 Enhanced 소거를 지원하는 일부 시게이트 하드디스크에서 수행할 경우 33 cc 55 aa 라는 NIST 800-88 ( 미국 국립표준기술연구소 표준) 패턴으로 덮어쓴다. [8] 예를 들면, 아주 오래된 삼성 80G 대 하드디스크에서 일부 영역이 삭제되지 않았음 등 [9] SATA가 아닌 USB로 연결된 저장장치에 위 명령어를 수행하여 BRICK 상태에 빠지거나, 흔한 경우는 아니지만 비밀번호를 공란으로 두고 암호를 설정하여 Lenovo BIOS에서 디스크를 읽어들이거나 잠금해제하지 못하고 다른 컴퓨터를 이용해 겨우 잠금해제를 하게 된 경우 등 [10] 제로필은 걸리는 시간이 짧고 소거 프로그램은 오래걸린다. 다만 하드가 복구업체 수준인 사람손에 들어간다면 무조건 소거 프로그램을 써야 한다. [11] 디가우저를 쓸 수 없다면 망치등의 공구로 하드디스크를 박살낸 다음 불로 태우거나 지저버리는 것 역시 괜찮은 방법 중 하나다. 하드디스크 같은 섬세한 기계는 열에 의한 변형 역시 치명적이기 때문에 디가우저를 쓸 수 없다면 이 방법으로 물리적으로 파괴하자. 하드디스크용 나사에 맞는 특수 드라이버(용산전자상가쪽 공구점 등지에서 구할 수 있다)를 구해놓았다면 하드디스크를 분해하여 몸체와 기판은 따로 그냥 폐기하고 플래터만 추출해서 플래터는 염산(유독가스 주의)에 삭히거나 불에 굽거나 조각내는 식으로 파괴하는 방법도 있다. [12] 대표적으로 아동 포르노. 소지 자체가 불법이다.