‘국정원 소동’으로 짚어본 HDD 삭제·복원

12월11일 저녁, SNS가 갑자기 시끌시끌해졌다. 국가정보원(이하 국정원) 직원이 SNS를 통해 민주당 문재인 후보를 비방하는 메시지를 조직적으로 배포했다는 의혹을 확인하기 위해 통합민주당, 그리고 선거관리위원회, 경찰이 역삼동 한 오피스텔을 찾았는 소식 때문이다. 노트북이 결정적인 증거가 될 수 있지만, 무슨 이유에선지 이 국정원 직원은 노트북을 내주지 않은 채 문을 걸어잠그고 있는 것으로 알려졌다.

국정원은 12일 오전, 적법한 절차를 거치면 해당 직원의 컴퓨터를 제공하겠다고 밝혔다. 하지만 이미 시간이 훌쩍 지났다. 통합민주당은 기록 삭제를 위해 PC 하드디스크에 담긴 데이터를 삭제할 가능성이 높다고 서둘러 대책을 촉구했다. 그 직원이 정치적인 활동을 했는지는 확인할 수도, 확인된 바도 없다. 궁금한 건, 다른 대목이다. 정말로 하드디스크를 완벽히 지울 수 있느냐이다. 하드디스크는 어디까지 복원할 수 있고, 어떻게 해야 완벽하게 지울 수 있을까. 데이터 복원과 삭제, 그 사이를 짚어보자.

파일, 지운다고 지워지는 것 아냐

하드디스크에 데이터를 기록하고 삭제하는 원리부터 살펴보자. 우리가 흔히 쓰는 컴퓨터 하드디스크는 자기디스크다. 0과 1로 기록되는 디지털 신호를 자성으로 흔적을 남기고 이를 나중에 불러오는 것이다. 그럼 우리가 단순히 휴지통에 넣고 ‘Del’키를 눌러 삭제하는 파일은 어떻게 지워질까? ‘지운다’고 표현하지만, 사실은 ‘보이지 않게 숨긴다’에 가깝다. 그 파일의 앞글자를 ‘#’ 등으로 가리고 그 파일이 차지하고 있던 저장 공간은 다른 파일이 쓸 수 있도록 열어두는 방식이다. 실제로 파일이 지워지는 것이 아니라 그 위에 다른 내용이 기록되기 전까지는 파일들이 온전하게 형태를 보전하고 있다.

우리가 흔히 쓰는 파일 복구 프로그램들은 이 원리를 이용해 완벽히 지워지지 않고 숨겨진 파일들을 되살리는 것이다. 이 파일들을 정상적인 이름을 붙여 다른 공간에 저장하면 그게 바로 파일을 살리는 것이다. 물론 100% 살릴 수 있는 것은 아니다. 시간이 지나 파일이 있던 자리를 다른 파일이 덮어쓰면, 이전 파일을 복원하긴 어렵다. 하드디스크가 고장나거나 중요한 파일을 실수로 지웠을 때 아무 것도 하지 말고 바로 복원하라고 하는 이유는 이 때문이다.

포맷한 디스크를 살리는 것은 더 쉽다. 우리가 흔히 디스크를 초기화할 때 쓰는 ‘빠른 포맷’은 파일 자체에는 전혀 손을 대지 않는다. 대신 파일이 어디에 있는지 찾을 수 있게 해주는 FAT(File Allocation Table)만 지운다. A라는 파일이 기록된 트랙과 섹터 주소를 담고 있는 정보를 삭제해도 디스크의 시작부터 끝까지 다시 검색하면 찾을 수 있다. 숫자로 된 자물쇠 비밀번호를 몰라도 0000부터 9999까지 모조리 입력하면 원하는 비밀번호를 찾을 수 있는 것과 마찬가지다.

▲하드디스크 디가우징 장비. 이 기기 안에 하드디스크를 넣고 돌리면 하드디스크는 고철 덩어리가 된다.

하드디스크 완전 삭제 된다 vs. 안 된다

하드디스크 복구 전문 업체들은 소프트웨어로 복원이 어렵다면 다른 방식을 쓴다. 직접 디스크에 물리적으로 접근해 자료를 읽어온다. 디스크 안의 정보가 저장될 때 논리적으로는 0과 1로 저장되지만, 실제 하드디스크 내부는 16진수로 변환해서 저장된다. 16진수 한 코드는 8비트, 그러니까 1바이트를 담고 있는데 이 바이트들을 하나하나 읽어들여 파일로 복원해 낸다. 헤드나 일부가 손상돼도 마술처럼 파일을 복원해 내는 기술은 여기에 있다. 하지만 사실은 우리가 하드디스크를 복원해냈다고 말하는 것은 여기까지다. 디스크를 완전히 삭제하지 못하는 것도 불안한 일이다.

특히 기업들로서는 컴퓨터 버리는 일도 소홀히 할 일이 아니다. 그래서 이를 전문적으로 지워주는 소프트웨어나 기업들도 있다. 가장 쉽게 그리고 무료로 할 수 있는 것은 ‘로우레벨 포맷’이다. 로우레벨 포맷은 디스크의 시작부터 끝까지 0 혹은 복잡한 난수를 무작위로 기록하는 것이다. 기존 파일 위에 덮어씌우기 때문에 복원이 어렵다. HP나 레노버의 기업용 노트북에는 비슷한 역할을 해주는 소프트웨어가 적용되기도 한다.

더 확실한 방법은 파괴다. 그 중에서도 디가우징(degaussing)은 가장 강력한 폐기 방법이다. 자성을 띄고 있는 디스크에 아주 강력한 자력을 가하는 기술이다. 이렇게 하면 디스크에 자성이 사라지면서 그저 평범한 철판이 된다. 이렇게 되면 어떤 방법으로도 복원이 안 된다.

그런데 인터넷에는 하드디스크의 복원이 어렵지 않다는 이야기가 많이 돌고 있다. 아무리 지워도 완벽히 지워지지 않고 가루내기 전까지는 디스크를 깨서 버려도 일부 조각만으로 데이터를 복원할 수 있다는 얘기도 떠돈다.

▲디가우징 전(위)과 후(아래)의 디스크 상태다. 표면이 매끈하게 밀려나가기 때문에 아무것도 복원할 수 없다.

실제 복원은 쉽지 않아

하지만 실제로는 매우 어렵다는 것이 전문가들의 견해다. 데이터 복구를 전문으로 하는 명정보기술 관계자는 “하드디스크 복원 기술도 날로 발전하고 있지만, 보안이 강조되면서 삭제 관련 표준도 마련되고 관련 기술도 많아지고 있다”라고 말했다.

이론적으로는 로우레벨 포맷을 해도 데이터를 복원할 수 있긴 하다. 0과 1의 디지털 신호는 켜졌냐, 꺼졌냐인데 디스크 표면에 정확히 0과 1로 딱 부러지게 기록되는 것이 아니라 실제로는 썼다 지웠다 하는 과정에서 0.2, 0.8 처럼 중간 단계로 새겨진다. 로우레벨 포맷 한번으로는 디스크 전체가 0이라고 기록되지는 않는다는 얘기다. 이를 고도의 기술로 더 세밀한 판정을 하면 꽤 많은 데이터들을 살려낼 수 있다. 그래서 완벽하게 삭제하려면 로우레벨 포맷을 적어도 7번은 해야 한다는 것이 하드디스크 업계의 표준처럼 돼 있다.

좀 더 구체적인 표준안도 있다. 미 국방성 표준 규격으로 흔히 DoD(Department of Defense) 삭제라고 부르는 것이다. 0으로, 또 다시 1로, 그리고 무작위 코드를 다시 기록하는 등 3~7단계에 거쳐 하드디스크를 삭제하는 방법인데, 이는 복원이 거의 불가능하다. 미국 법원에서도 DoD 삭제한 하드디스크 내용은 복원해도 증거로서 법적 효력을 얻지 못한다. 우리나라 국정원도 비슷한 표준으로 보안적합성인증을 관련 업체들에 내주고 있다.

그럼 물리적으로 깨진 디스크도 복원할 수 있을까. 이도 쉬운 일이 아니다. 보통 하드디스크는 2~8장의 디스크로 이뤄져 있는데, 파일을 디스크 한 구역에 모두 쓰기도 하지만 속도를 높이기 위해 동시에 여러 개 디스크에 나눠 기록하는 경우도 있다. 제조사마다 다르고 하드디스크 제품에 따라, 그리고 운영체제에 따라 기록 방식은 천차만별이다. 이 조각들을 일일이 읽어서 대조하는 것은 쉬운 일이 아니다.

작정하고 지운 하드디스크를 복원하는 것은 영화에서처럼 쉬운 일은 아니다. 아주 오랜 시간을 공들이면 할 수는 있겠지만 반복해서 삭제를 한다면, 그리고 그 위에 새로 운영체제를 깔아 돌린다면 굳이 디가우저같은 복잡한 장비 없이도 가정에서 개인이 데이터를 안전하게 지우고 폐기하는 것은 그리 어렵지 않다.

스마트폰 초기화도 안심 못해

플래시메모리로 만든 솔리드 스테이트 드라이브(SSD)는 어떨까. 플래시메모리는 하드디스크와 기록 구조가 완전히 다르다. 자기디스크 대신 블록 단위로 된 메모리 영역에 데이터를 순차로 기록한다. 기록할 때는 작은 단위 영역을 하나하나 기록해 나가지만 파일을 지울 때는 일정 영역 만큼을 묶어서 한번에 싹 지워버리는 일명 ‘플래싱’ 과정을 거쳐 파일을 지운다. 칠판을 한 번 가득 채운 뒤 싹 지워버리는 것과 비슷하다. 플래싱이 되기 전까지는 하드디스크와 마찬가지로 인덱스만 지우고 파일의 형태는 살아 있지만, 일단 플래싱이 이뤄지면 파일을 살릴 수 없다. 흔히 ‘트리밍'(trimming)이라고 부르는 것이 강제로 플래싱을 해주는 작업이다.

스마트폰도 복원할 수 있다. 안드로이드의 경우 일반 리눅스 파일 시스템을 그대로 써 파일이 직접 저장공간에 하나하나 담긴다. SSD와 마찬가지로 플래싱이 이뤄지지 않은 영역의 파일은 복원이 수월하다. 하지만 아이폰은 이용자 정보가 개별 파일로 각각 저장되는 것이 아니라 별도의 기록층을 가상 이미지로 만들고 그 안에 보관한다. 초기화하면 이 이미지를 삭제하기 때문에 복원이 상당히 어렵다. 전문업체들은 아이폰 속에 들어 있는 사진 등 일부 정보를 복원할 수는 있지만 안드로이드와 비교하면 훨씬 어렵다고 설명한다.

http://www.bloter.net/archives/137245