소거 프로그램

 


1. 개요
2. 동작 원리
2.1. 삭제 패턴
2.2. SSD, 플래시 메모리의 경우
3. 종류
3.1. BCWipe
3.2. Cipher
3.3. CCleaner
3.4. Darik's Boot and Nuke
3.5. Disk Utility
3.6. Eraser
3.7. Moo0 FileShredder
3.8. shred
3.9. Slimcleaner
3.10. 고화질 동영상 무한복사
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는 이것을 뜻한다.
  • 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만으로도 충분하다고 한다.

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


소거 프로그램은 하드디스크의 사용을 상정하고 만들어졌다. 플래시 메모리를 사용하는 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. BCWipe


[image]
6.0 버전.
홈페이지
군대에서 행정병으로 복무했다면 'BC Wipe'란 프로그램을 써보았을 것이다. 특히 보안검열을 앞두고 사무실(행정반) 컴퓨터의 하드디스크 빈공간을 저 프로그램으로 싹 와이핑하는 작업을 많이 하기 때문.
그런데 BC Wipe 돌려도 보안검열에 덜미가 잡히는 건 순전히 그 PC 주인(행정병)이 사용법을 제대로 모르고 기본설정만으로 돌려서 그런 것도 있고, 윈도에 기본으로 제공되는 디스크 정리 프로그램을 통해 임시파일 같은 걸 삭제 안해서 그런 경우가 많다. 최근 문서 실행 목록이나 인터넷 접속 기록, Windows 임시 파일 같은 것들부터 말끔히 삭제한 다음에 BC Wipe를 돌려야 효과가 있지, 저런 거 스킵하면 아무리 그 소거프로그램 돌려도 소용 없다.
그래서 이 프로그램을 사용하면서 동시에 자신의 불건전한(?) 사용기록을 제대로 말끔히 삭제할 내공이 있다면 검열관이 해커급이 아닌 이상 웬만하면 무사히 통과할 수 있다.
다만 안보지원사 검열의 경우 검열관의 컴퓨터 실력에 의지하지 않고, 특수한 전문 프로그램을 돌려서 잡아내는 방법을 사용하니 이 점을 유념해둘 필요는 있다. 확장자를 바꿔서 파일을 숨기는 방법도 프로그램을 돌리면 발각되기 때문에 괜히 꼼수를 부리려다가 군생활 연장되는 수가 있다.

3.2. Cipher


윈도우 내장 암호화 및 소거용 보안 프로그램.
GUI가 아닌 CLI 기반이기 때문에 파일을 하나하나 삭제하려면 골치아프지만, 하드디스크의 빈공간을 정리할 때에는 간편하다.
3Pass방식으로 소거를 하며, /w가 소거 명령어다.
사용법은 PowerShell이나 CMD를 실행한 뒤
(예를들어)D:의 빈공간을 삭제시
cipher /w:d:
특정 파일을 삭제시(예를 들어 c:의 Intel 폴더에 있는 readme.txt파일을 삭제시)
cipher /w:c:\intel\readme.txt

3.3. CCleaner




3.4. 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.5. Disk Utility


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

3.6. Eraser


[image]
홈페이지 (네이버 자료실에서도 다운 가능.)
BC Wipe와 유사한 소거 프로그램으로 이쪽은 프리웨어다. 군대에서도 사용하는데, 어째서인지 보통 BC Wipe가 있는 망에는 Eraser가 없고, 거꾸로 Eraser가 있는 망에는 BC Wipe가 없다. 빈 공간 소거가 좀 느린 편이다. 다른 프로그램과 비교하진 않아 상대적 빠르기는 모르지만, Eraser로 3TB 디스크 소거하면 정말 하세월이다.
파일 삭제와 빈 공간 삭제를 할 수 있는데, 디스크 전체를 갈아엎고 싶다면 빠른 포맷등으로 데이터를 다 지운 후에 빈 공간 삭제를 하면 된다. 또한 디폴트 옵션이 파일삭제는 35번 덮어씌우기이고, 디스크 삭제는 1번 덮어씌우기 이므로, 이게 너무 과하거나 약하다 싶으면 프로그램 설치후 바로 사용하지 말고 옵션을 적절하게 세팅한 후에 사용해야 한다.

3.7. Moo0 FileShredder


[image]
홈페이지
삭제할 파일을 프로그램의 박스에다 놓으면 소거가 가능한 프로그램. 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.8. shred


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

3.9. Slimcleaner


[image]

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


사실 이것도 의외로 괜찮은 방법이다. '''1번만 덮어써도 이전 자료 복구 가능성이 확 줄어듬'''을 이용한 것인데 고화질 동영상을 무한복사해서 꽉 채우고 포맷하면 일상 수준에서는 괜찮다. 1000개만 만들어도 1TB 정도는 무리없이 완전소거가 가능하며 다른 작품으로 2~3번만 해줘도 웬만한 복구 프로그램으론 복구가 불가능해진다. 복구전문업체나 국가기관에 들어갈 일이 없는 이상 복구는 어렵다. 물론 복사에 사용된 동영상은 아주 쉽게 복구가 가능하다.
의외로 카이스트 테크노경영대학원 문송천 교수팀에서도 해당 내용을 주장했으며 미국 국방부도 비슷한 내용을 발표한 적이 있다. 즉, 아주 의미없는 이야기는 아니란 말이다.

4. 용도


학번 등이 적혀있는 레포트 문서파일 등 개인정보가 포함되어 있거나, 중요하거나 민감한 내용이 있는 파일을 삭제할때 반드시 이 프로그램을 사용해야 하지만, 타인에게 발견되어도 무난한 내용의 일반 파일까지 일일이 소거할 경우 자칫 하드디스크에 무리가 갈 수 있으니 유의.
고급 기밀사항이 담긴 파일 같은 경우면 35-pass의 Gutmann 방식으로 소거하고 싶겠지만 쓸모 없어진 학교 레포트 파일 복사본 정도는 1-pass의 pseudo-random 방식으로 소거해도 무리는 없다. 오히려 기밀성이 낮은 파일 삭제까지 35-pass의 Gutmann 방식을 고집하면 하드디스크 수명에 되레 악영향만 끼친다.
만일 자신이 쓰던 하드디스크(혹은 HDD가 장착된 노트북 등)를 중고로 팔 때가 생기면 제로필을 하거나 소거 프로그램으로 3-pass나 7-pass로 싹 밀어버리면 된다.[5] 그래야지 개인정보를 보호할 수 있다. 이것은 하드디스크를 폐기할 때도 마찬가지다. 깨진 플래터 조각도 경우에 따라 복구가 가능한 경우가 있기 때문. 물론 소거 프로그램을 통한 소거는 그래도 하드가 작동하는 경우 한정으로, 하드가 고장나서 와이핑할 지경이 못 되면 디가우저를 쓰는 수밖에 없다.[6] 이 방법은 기업에서 자주 애용하는 방법이다. 대개 기업에서 폐기하는 하드디스크는 고장나서 폐기하는 경우가 많은데다가 보통 폐기하는 하드가 많기에 저렇게 덮어씌우는 방식으로는 할 수 없어서 디가우저, 천공, 파쇄, 용융 중의 하나, 또는 복수의 방법을 쓴다고 보면 된다.
그리고 중고로 하드디스크를 매입하였다면 사용전에 제로필이나 pseudo-random 포맷으로 1-pass로 밀어버리는 것도 나쁘지 않다. 그 이유는 법적으로 있어서는 안 될 특정한 파일[7]이 문제의 중고 하드에 담긴 것 때문에 나중에 하드디스크를 검사 할 때 해당 파일이 발견되는 경우 억울한 피해를 입을 수 있기 때문이다. 그리고 매입한 중고하드의 소거 작업을 통하여 하드디스크의 작동 이상 유무를 체크하게 되는 이점도 있다. 와이핑하다가 삑사리나서 멈추거나 제대로 되지 않는 경우 그 중고하드는 문제가 있는 것일테니까.
개인정보 보호 관련 법규가 점차 강화되면서 대학교 등 이전에는 데이터 소거와 전혀 인연이 없던 곳에서도 학생 개인정보가 남아있는 성적처리 파일 같은 것들을 깨끗하게 날리기 위해 소거 프로그램을 쓰는 경우가 많아지고 있다.

5. 기타


하지만 소프트웨어적인 방법으로만 데이터를 삭제할 경우에는 국방부국가정보원같은 국가 정보기관에서 복구가 가능할 수도 있다. 따라서 만일 자신이 보안상의 이유로 관련자료를 누구도 복구할 수 없을 지경으로 없애야 할 경우에는 소거 프로그램을 사용하는 것보다 디가우저에 하드디스크를 넣고 일차로 돌린다음에 물리적으로 하드디스크를 박살내는 분쇄기에 넣어서 완전히 박살내는 것이 더 확실한 방법이다. 용광로 같은 것으로 녹일 수 있다면 더 좋다.
또는 소거 프로그램을 돌릴 필요가 없도록 베라크립트비트라커와 같은 암호화 프로그램을 사용하는 것도 보안에 좋은 방법이다.
가끔 소거 프로그램을 찾기 귀찮아서, 파일을 지운 뒤 고용량 게임을 까는 경우도 있다. 적어도 일반적인 복구 프로그램으로 복구할 수 없을 정도는 된다.

6. 참고


보안 삭제란 무엇이며 보안 삭제 프로그램은 파일과 공간을 어떻게 삭제할까?
파일의 완전 삭제란 - 제로필과 DoD 5220.22-M 와이핑
SSD 의 구조와 그에 따른 특성의 이해 - 플래시 변환 계층과 웨어 레벨링, 오버 프로비저닝
SSD 의 특성과 TRIM 기능의 이해, 자동 TRIM(트림) 기능의 작동 여부 확인과 설정 방법

7. 관련 문서



[1] forensic 1.법의학적인, 범죄 과학 수사의 2.법정의, 재판에 관한[2] 하지만 이것도 사실은 복구가 거의 불가능하다고 봐도 좋다. 파일을 1번만 덮어쓰기를 한 경우 이상적인 조건에서 비트 당 복구율을 90% 수준까지도 올릴 수 있는 것으로 알려져있는데, 이 수치가 높아보일 수 있지만 음악이나 이미지 등 대부분의 파일들은 데이터의 10%만 깨져버려도 도저히 사용할 수 없는 지경으로 뭉개져버린다.[3] 뉴질랜드 출신의 컴퓨터 과학자 피터 구트만이 제안한 방식이다.[4] 예를 들어 00110101 의 보수는 11001010이다.[5] 제로필은 걸리는 시간이 짧고 소거 프로그램은 오래걸린다. 다만 하드가 복구업체 수준인 사람손에 들어간다면 무조건 소거 프로그램을 써야 한다.[6] 디가우저를 쓸 수 없다면 망치등의 공구로 하드디스크를 박살낸 다음 불로 태우거나 지저버리는 것 역시 괜찮은 방법 중 하나다. 하드디스크 같은 섬세한 기계는 열에 의한 변형 역시 치명적이기 때문에 디가우저를 쓸 수 없다면 이 방법으로 물리적으로 파괴하자. 하드디스크용 나사에 맞는 특수 드라이버(용산전자상가쪽 공구점 등지에서 구할 수 있다)를 구해놓았다면 하드디스크를 분해하여 몸체와 기판은 따로 그냥 폐기하고 플래터만 추출해서 플래터는 염산(유독가스 주의)에 삭히거나 불에 굽거나 조각내는 식으로 파괴하는 방법도 있다.[7] 대표적으로 아동 포르노. '''소지 자체가 불법'''이다.