컴퓨터나 USB를 초기화할 때, 우리는 '빠른 포맷(Quick Format)' 이라는 옵션이 있다.
빠른 포맷을 진행하면 1초도 안 되어서 수백 GB의 폴더가 텅텅 비워지는 것을 보며 우리는 데이터가 완전히 삭제되었다고 믿는다.

하지만 정말 그럴까?
파일 시스템과 기억 장치의 원리를 들여다보면, 우리가 '삭제'한 데이터는 사실 운영체제의 거짓말일수도 있다.
저장 매체에 따라 완전히 달라지는 데이터 삭제와 복구, 그리고 디지털 포렌식까지 알아보자.
1. HDD의 빠른 포맷. '책의 목차 찢기'
하드디스크(HDD)의 파일 저장 구조를 두꺼운 책이라고 생각해보자.
디스크는 크게 두 구역으로 나뉘게 된다.
- 파일 할당 테이블 (FAT/MFT) : 책 맨 앞에 있는 '목차' 페이지라고 보면 된다. 예를 들어 10페이지에는 '내 셀카.jpg', 150페이지에는 '포트폴리오.pdf'가 위치한다고 알려준다.
- 물리적 구역 (섹터, Sector) : 실제 데이터가 0과 1로 적혀있는 '본문' 페이지이다.
우리가 윈도우에서 '빠른 포맷'을 하거나 휴지통 비우기를 할 때, HDD는 본문 페이지(섹터)에 적혀있는 내용을 일일이 지워버리지 않는다. 대신 맨 앞의 '목차(테이블)' 페이지만 부욱 찢어서 버린다.
운영체제(OS)는 할일이 매우 많기 때문에, 디스크를 처음부터 끝까지 넘겨보지 않고 무조건 목차만 보고 용량을 판단한다. 목차가 백지이기 때문에, OS는 '아 이쪽 디스크는 텅 비어있구나'라고 간주하고 우리에게 텅 빈 폴더 화면을 띄워주는 것이다.
2. HDD 데이터 복구의 원리 (Data Carving)
만약 빠른 포맷 직후, 중요한 데이터가 있던게 생각나 아차 싶어서 복구 업체를 찾아가면 어떻게 될까?
전문 복구 프로그램은 목차만 보는 OS와 달리, 찢어진 목차를 아예 무시한다.
그리고 물리적인 디스크의 1페이지부터 마지막 페이지까지 한장 한장 현미경으로 들여다보면서 파일의 흔적을 찾는다(Data Carving).
목차만 지워졌을 뿐, 10페이지에 있던 '내 셀카.jpg'의 실제 물리적인 데이터는 남아있기 때문에 100% 복구가 가능하다.
그런데 만약 덮어쓰기(Overwrite)가 발생했다면 어떨까?
포맷 후 컴퓨터를 계속 사용하면서 10GB짜리 새로운 게임을 다운로드 받았다고 가정해보자.
OS는 목차가 비어있으니 1페이지부터 새로운 게임 데이터를 작성하기 시작한다. 이 때 그제서야 기존 데이터(내 셀카, 포트폴리오 등) 위에 새로운 게임 데이터가 물리적으로 덮어씌워지기(Overwrite) 시작한다.
이 이후에는 복구 프로그램이 아무리 현미경으로 자세히 들여다봐도, 새 데이터로 까맣게 덮어씌워진 구역은 영원히 복구할 수 없다. (아직 덮어씌워지지 않은 뒤쪽 페이지의 데이터만 부분적으로 살릴 수 있다.)
3. SSD는 진짜로 삭제한다.
반면에, 우리가 요즘 대부분 사용하는 SSD는 전혀 다르다. SSD에서 빠른 포맷을 하거나 파일을 지우면, 복구가 거의 불가능에 가깝다. SSD는 자체적으로 두 단계에 걸쳐서 데이터를 확실하게 소멸시키기 때문이다.
- 1단계 (TRIM 명령어)
OS가 SSD 컨트롤러에게 '이 구역의 데이터를 삭제해라'라고 명령(TRIM)을 내린다. SSD는 당장 데이터를 지우지 않고, 해당 구역에 '삭제할 데이터'라는 표시를 남겨둔다.
- 2단계 (가비지 컬렉션, GC)
사용자가 컴퓨터를 안쓰고 가만히 둘 때(유휴 상태), SSD는 백그라운드에서 '삭제할 데이터'라는 표시가 붙은 구역에 고전압을 가해 물리적으로 데이터를 완전히 태워버린다 (전기적 초기화 방식)

4. TRIM 직후의 '골든 타임'. 복구가 아예 안될까?
여기서 의문이 생길 수 있다.
'TRIM 명령어로 붙은 삭제할 데이터 표시만 있고, 아직 가비지 컬렉션(GC)가 물리적으로 데이터를 태워버리기 전인 짧은 시간(수 분~ 며칠) 사이라면, 물리적인 전기 신호가 칩 안에 남아있으니 복구할 수 있지 않을까?'
일반적인 소프트웨어 복구 프로그램으로는 절대 불가능하다. 여기에는 SSD '컨트롤러'의 방어가 존재한다.
삭제할 데이터 표시가 남은 구역을 복구 프로그램이 읽어보려고 시도하면, 컨트롤러는 낸드 플래시(저장소)에 진짜 데이터가 남아있던말던 이런 반응을 내놓는다.
'삭제할 데이터 표시가 붙어있다면, 거긴 텅 비어있는 것이다. 여기 00000000 받아가라'
이것을 DZAT(Deterministic Read Zero After TRIM) 기능이라고 부른다. 이 기능 때문에 윈도우나 복구 소프트웨어는 실제 데이터에 접근조차 하지 못하고 차단당한다.
5. 칩 오프(Chip-off) 포렌식과 하드웨어 암호화
위의 설명처럼 소프트웨어가 막혔다면, 남은 전기 신호를 읽어낼 유일한 방법은 우리가 영화에서나 봤던 무식하고 확실한 물리적 접근밖에 남지 않았다. 실제로 경찰이나 국과수 등 수사기관에서 사용하는 방식이다.

칩 오프(Chip-off)
1. SSD 기판에서 '컨트롤러 칩'을 무시하고, 데이터가 갇혀있는 '낸드 플래시 메모리 칩' 자체를 인두기로 지져서 통째로 뜯어낸다.
2. 컨트롤러를 거치지 않고, 수천만원짜리 특수 장비에 칩을 물려서 아날로그 전기 신호를 직접 0과 1로 복원해 낸다.
하지만 최근에는 이 기술마저도 막혀가고 있다고 한다.
요즘 출시되는 SSD(삼성, SK하이닉스 등)는 성능 저하 없이 공장에서부터 하드웨어적으로 '모든 데이터를 자동 암호화(Encryption)'해서 낸드 칩에 저장한다.
이 말은, 기판을 뜯어내서 전기 신호를 힘들게 읽어내도 의미 없는 외계어만 쏟아진다는 것이다.
이 외계어를 원래 사진이나 문서로 해독(Decryption)하려면 '암호키'가 필요한데, 그 암호키는 방금 기판에서 무시하고 뜯어낸 '컨트롤러'안에 존재한다. 칩을 뜯어내면 암호를 못 풀고, 칩을 안 뜯어내면 컨트롤러가 접근을 막는.. 완벽한 모순이면서 철벽 보안이 완성되는 것이다.
6. 결론
'삭제'와 '포맷'이라는 단순하게 클릭하는 행위에, 저장 매체에 따라서 큰 차이가 있었다.
HDD를 중고로 팔거나 버릴 때는 '빠른 포맷'만 하면 누군가 내 중요한 데이터(공인인증서 등)를 모두 복구해버릴 수 있다. 반드시 '일반 포맷(모든 섹터를 0으로 덮어쓰기)'을 하거나 망치로 때려부셔야 한다.
SSD는 TRIM과 가비지 컬렉션, 그리고 하드웨어 암호화 덕분에 '빠른 포맷'만으로도 데이터가 삭제된다.
이 부분은 우리가 중고로 팔거나 버릴 때도 보안이 보장되지만, 내가 실수로 삭제했을 때는 눈물나는 대가를 치러야 할 수 있다는 뜻이기도 하다..
내 데이터를 어떻게 관리하고 폐기할지 생각해보면, 언제나 최고의 복구 프로그램은 '백업'이다.