소거 프로그램

1 개요

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

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

2 동작 원리

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

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

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

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

2.1 삭제 패턴

기본적으로 모든 데이터를 0으로 덧쓰는 방법(zero-filling), 임의의 데이터로 한 번, 그의 보수(complement)[2]로 또 한 번 덧쓰는 방법, 무작위적으로 덧쓰는 방법 등이 있다. 다른 패턴들은 이러한 패턴들을 조합해 만들어지며, 소거가 제대로 이루어졌는지 검증하는 과정이 포함되기도 한다. 덧쓰는 횟수가 많아질수록 복구 가능성은 낮아지겠지만 소요되는 시간은 당연히 길어진다.

  • 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% 이것을 의미한다. 현대의 하드는 데이터를 완전히 삭제하는데 이렇게 이렇게 많은 노력을 들일 필요는 없다.

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

BCWipe%206%20-%20BCWipe%20Task%20Manager.jpg
6.0 버전.

홈페이지

군대에서 행정병으로 복무했다면 'BC Wipe'란 프로그램을 써보았을 것이다. 특히 보안검열을 앞두고 사무실(행정반) 컴퓨터의 하드디스크 빈공간을 저 프로그램으로 싹 와이핑하는 작업을 많이 하기 때문. 그런데 각 잡고 컴퓨터란 컴퓨터는 싹 청소해도 검열관들은 잡을 건 귀신같이 잡아내더라 작정하고 제로 필을 해버린다면?

그런데 BC Wipe 돌려도 보안검열에 덜미가 잡히는 건 순전히 그 PC 주인(행정병)이 사용법을 제대로 모르고 기본설정만으로 돌려서 그런 것도 있고(클러스터 찌꺼기 소거 옵션이 설정되어있지 않는다든지...), 윈도에 기본으로 제공되는 디스크 정리 프로그램을 통해 임시파일 같은 걸 삭제 안해서 그런 부분이 큰 듯 싶다. 당장 최근문서 실행목록이라든지 익스플로러 사이트접속 기록이라든지, 임시파일(사진/동영상 미리보기용으로 자동 생성된 것 포함)이라든 것들과 확장자나 이름만 바꾸고 숨겨놓은 좀 뭐한 파일 같은 것들부터 말끔히 삭제한 다음에 BC Wipe를 돌려야 효과가 있지, 저런 거 스킵하면 아무리 그 소거프로그램 돌려도 소용 없다.[3]

그래서 이 프로그램을 사용하면서 동시에 자신의 불건전한(?) 사용기록을 제대로 말끔히 삭제할 내공이 있다면 검열관이 해커급이 아닌 이상 웬만하면 무사히 통과할 수 있다. 사실 제아무리 해커 수준을 가진 검열관이라고 해도 피곤하면 걍 넘어간다. BC wipe의 삭제기록마저도 날리는 유용한 프로그램이 모비행단 자료실에 있으니 재주껏 찾아보자

다만 기무사 검열의 경우 검열관의 컴퓨터 실력에 의지하지 않고, 특수한 전문 프로그램을 돌려서 잡아내는 방법을 사용하니 이 점을 유념해둘 필요는 있다.

3.2 CCleaner

3049__ccleaner1.png
홈페이지

사실상 이 분야의 끝판왕. piriform가 제작한 윈도우 최적화 툴로 많이 알려져 있지만 소거 기능도 강력하다. IObit의 Advanced System Care[4]와 Slimcleaner와 함께 1,2,3위를 다툰다. 인터넷 임시 파일과 같은 잡동사니 파일들을 한꺼번에 보안 삭제하면서 동시에 빈 공간까지 소거시키는 강력한 기능을 제공. 도구 > 드라이브 보안 삭제에서 따로 이용할 수도 있다. 빈 공간 소거는 Eraser와 같은 조건일 때 좀 더 빠른 편. 단순 덮어쓰기(제로필로 추정)(1-pass), DOD 5220.22-M(3-pass), NSA[5](7-pass), Gutmann(35-pass)를 제공한다. 무료 버전도 기능이 강력한데 유료 버전은 오죽할까 SSD는 최신 버전에서는 1-pass 소거만 가능하며 3-pass 이상의 소거는 기능 자체가 막혀있다. 제작사 측에서는 SSD의 경우 3-pass 이상의 소거는 의미도 없고, 오히려 SSD의 수명에만 악영향을 미친다고 판단했을 것으로 보인다. 근데 제작사 이름이 삐리뽐(...)

여담으로 이 프로그램 제작사인 piriform가 만든 프로그램중 Recuva라는 프로그램이 있는데 무료로 사용 가능한 삭제된 파일들을 복구프로그램중 최고로 쳐준다.

3.3 Disk Utility

el_cap_disk_utility_boot_drive_rainbow-100618136-large.png

OS X의 기본 내장 디스크 관리자인데, 포맷 옵션에서 평범한 zero fill은 물론이고 DoD 3 pass, DoD 5220-22-M 7 pass도 옵션으로 선택할 수 있다. 물론 데이터를 남겨둔 채 빈 공간만 지워주는 옵션도 선택 가능. 애플은 도대체 이용자들이 무슨 데이터를 가지고 있을거라고 생각한걸까

3.4 Eraser

eraser-17.png
홈페이지

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

3.5 Freeraser

freeraser-5.jpg
홈페이지

휴지통 모양의 조그만한 창에 드래그하면 소거되는 프리웨어. Portable 버전을 USB에 담아가면 프로그램이 설치되지 않은 PC에서도 실행가능. 네이버 자료실에서 다운 가능. 대학 주변 복사집에서 레포트 인쇄하고 이 프로그램으로 삭제해보자

3.6 iObit 파일 삭제기

파일:Wiping.jpg
홈페이지

Advanced SystemCare의 확장 프로그램으로써 딸려있는 파일 삭제기이다. 3가지 삭제 방법이 있으며, 이 프로그램 역시 소거 프로그램계의 상위권에 위치해 있는 프로그램이다. 일반적인 삭제 방식과, DoD 5220.22-M (ECE), Gutmann Wipe 형식이 있다.

3.7 Slimcleaner

779528958dd60a0e791343fa6113dd313439_3ss_review_slimcleaner_540x406.png

3.8 Moo0 FileShredder

002_x.png
홈페이지

삭제할 파일을 프로그램의 박스에다 놓으면 소거가 가능한 프로그램. 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

secure_deletion_on_linux_21.png

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

3.10 고화질 동영상 무한복사

취소선을 치긴 했지만 사실 이것도 의외로 괜찮은 방법이다. 1번만 덮어써도 이전 자료 복구 가능성이 확 줄어듦을 이용한 것인데 고화질 영화파일[6]을 무한번식시켜서 꽉 채우고 포맷하면 일상 수준에서는 괜찮다. 다만 노가다가 문제 하지만 배치 파일이 출동한다면 어떨까 1000개만 만들어도 1TB 정도는 무리없이 완전소거가 가능하며 다른 작품으로 2~3번만 해줘도 웬만한 복구 프로그램으론 복구가 불가능해진다. 물론 영화 제목 정도는 복구된다.

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

4 용도

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

고급 기밀사항이 담긴 파일 같은 경우면 35-pass의 Gutmann 방식으로 소거하고 싶겠지만 쓸모 없어진 학교 레포트 파일 복사본 정도는 1-pass의 pseudo-random 방식으로 소거해도 무리는 없다. 아니면 그냥 삭제한 다음 정기적으로 하드 빈 공간을 와이핑한다든가... 오히려 기밀성이 낮은 파일 삭제까지 35-pass의 Gutmann 방식을 고집하면 하드디스크 수명에 되레 악영향만 끼친다.

만일 자신이 쓰던 하드디스크를 중고로 팔때가 있으면 제로필을 하거나 소거 프로그램으로 3-pass나 7-pass로 싹 밀어버리면 된다.[10] 그래야지 개인정보를 보호할 수 있다. 이것은 하드디스크를 폐기할때도 마찬가지다. 깨진 플래터 조각도 경우에 따라 복구가 가능한 경우가 있기 때문. 물론 소거 프로그램을 통한 소거는 그래도 하드가 작동하는 경우 한정으로, 하드가 고장나서 와이핑할 지경이 못되면 디가우저를 쓰는 수 밖에 없다.[11]

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

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

5 기타

하지만 위의 방법을 총 동원해도 국방부국가정보원같은 국가 정보기관에서는 복구가 가능할수도 있다.
따라서 만일 자신이 보안상의 이유로 관련자료를 누구도 복구할 수 없을 지경으로 없애야 할 경우에는 소거 프로그램을 사용하는 것보다 디가우저에 하드디스크를 넣고 일차로 돌린다음에 물리적으로 하드디스크를 박살내는 분쇄기에 넣어서 완전히 박살내는 것이 더 확실한 방법이다. 그냥 쓰레기통에 넣어서 버린다는 바보같은 짓은 하지말자

또는 소거 프로그램을 돌릴 필요가 없도록 비트락커와 같은 암호화 프로그램을 사용하는 것도 보안에 좋은 방법이다. 그러나, 천조국모 정보기관비트락커의 취약점을 빌 어르신을 비롯한 비스타7을 개발했을때의 관계자들이 모르는 사이에 간파하고 있었을지도 모를 일이다. 이러한 추측 자체가 사실이 아니길 빌어야겠지(...)

6 참고

보안 삭제란 무엇이며 보안 삭제 프로그램은 파일과 공간을 어떻게 삭제할까?
파일의 완전 삭제란 - 제로필과 DoD 5220.22-M 와이핑
SSD 의 구조와 그에 따른 특성의 이해 - 플래시 변환 계층과 웨어 레벨링, 오버 프로비저닝

SSD 의 특성과 TRIM 기능의 이해, 자동 TRIM(트림) 기능의 작동 여부 확인과 설정 방법
  1. forensic 1.법의학적인, 범죄 과학 수사의 2.법정의, 재판에 관한
  2. 예를 들어 00110101 의 보수는 11001010이다.
  3. 이 때문에 육본이나 기무사와 같은 상급부대 주관 보안검열을 앞두고 사단이나 군단 사령부 차원에서 웹브라우저 캐시 파일, USB 접속 기록 등을 삭제할 수 있도록 여러 가지 지침사항을 하달한다.
  4. 이쪽도 역시 윈도우 최적화 툴로 많이 알려져 있다.
  5. 스노우든 폭로 사건과 관련된 그 NSA 맞다.
  6. 물론 어떤 파일이라도 좋은데 그래도 파일 한 개의 크기가 큰 것은 고화질 동영상이다.
  7. 음란물, 각종 기밀과 관련된 파일 등
  8. 인터넷에 나도는 유머짤이라든지 합법적으로 구입한 음악/동영상이라든지
  9. 굳이 이런 파일까지 소거하고자 하면 데이터 양끝 2KB를 날리는 옵션으로 하는 것도 무방.
  10. 제로필은 걸리는 시간이 짧고 소거 프로그램은 오래걸린다. 다만 하드가 복구업체 수준인 사람손에 들어간다면 무조건 소거 프로그램을 써야 한다.
  11. 디가우저를 쓸 수 없다면 망치등의 공구로 하드디스크를 박살 낸 다음 불로 태우거나 지저버리는 것 역시 괜찮은 방법 중 하나다. 하드디스크 같은 섬세한 기계는 열에 의한 변형 역시 치명적이기 때문에 디가우저를 쓸 수 없다면 이 방법으로 물리적으로 파괴하자. 하드디스크용 나사에 맞는 특수 드라이버를 구해놓았다면 하드디스크를 분해하여 몸체와 기판은 따로 그냥 폐기하고 플래터만 추출해서 플래터는 염산(유독가스 주의)에 삭히거나(...) 불에 굽거나 조각내는 식으로 파괴하는 방법도 있다.