
최근 업그레이드 후 기존 컴퓨터를 팔려고 하는데, 개인 사진이 인터넷에 유출되지 않을까 걱정되시나요? 하드 디스크나 SSD의 데이터를 완전히 삭제해야 하는 이유는 다양합니다. 하지만 안타깝게도 실제 과정은 할리우드 영화처럼 버튼 하나만 누르면 몇 초 만에 모든 데이터가 사라지는 방식과는 거리가 멉니다.
다행히 조금만 인내심을 갖춘다면 터미널 명령어 한 줄 또는 적절한 라이브 CD를 활용해 하드 드라이브나 SSD 전체를 완전히 지워, 제3자가 데이터를 복구하기 어렵게 만들거나 아예 불가능하게 만들 수 있습니다.
Secure Erase는 왜 권장하지 않을까?
Secure Erase는 저장 장치의 내용을 완전히 삭제하는 기능입니다. 오랫동안 대부분의 HDD와 SSD 펌웨어에 포함되어 왔으며, 보안 삭제를 위한 공식적인 해결책으로 여겨져 왔습니다. 그러나 실제로는 여러 사용자들이 심각한 문제를 겪었다는 보고가 많습니다.

구현 방식이 제조사마다 달라서, 어떤 경우에는 데이터가 완전히 삭제되지 않기도 합니다. 또 어떤 사용자들은 작업 도중 "외장형으로 변환하는 컨트롤러"가 전력 절감을 위해 장치를 슬립 모드로 전환하면서 장치가 벽돌(bricked)이 되어버렸다고 말합니다. 혹은 BIOS 버그가 절차를 방해해 작업이 끝까지 완료되지 못하는 경우도 있었습니다.
게다가 15GB 미만의 오래된 하드 드라이브는 아예 이 기능을 지원하지 않습니다.
결국 "공식적이고 최선의" 방법이라 불리는 Secure Erase는 어찌 보면 도박에 가깝습니다. 그래서 이 글에서는 Secure Erase를 건너뛰고, 훨씬 안전한 대안들을 바로 소개하겠습니다.
데이터 덮어쓰기의 원리
현대 운영체제에서 파일을 삭제하면 보통 "휴지통"으로 이동합니다. 마음이 바뀌면 일정 기간 동안은 데이터를 되살릴 수 있죠.
휴지통을 거치지 않는 "영구 삭제"가 더 안전하다고 생각할 수 있습니다. 하지만 이 경우에도 파일은 실제로 사라지지 않습니다. 시스템이 파일이 있던 영역을 "사용 가능"으로 표시할 뿐, 데이터 자체는 그대로 남아 있습니다.
파티션과 파일 시스템 전체를 삭제하는 것이 더 근본적인 해결책처럼 들리지만, 결국 더 큰 규모로 같은 일을 하는 것일 뿐입니다. 파티션 전체가 "존재하지 않음"으로 표시되고 해당 공간이 "미사용" 처리될 뿐, 실제로 지워지는 것은 없습니다. 데이터는 새로운 데이터로 덮어쓰일 때까지 그 자리에 남아 있습니다.
민감한 데이터를 확실하게 삭제하는 유일한 방법은 다른 데이터로 덮어쓰는 것입니다. 가능하면 한 번이 아니라 여러 번 반복하는 것이 좋습니다. 아래에서 소개하는 방법들이 바로 이 작업을 수행하며, 사용 가능 여부와 편의성, 다중 덮어쓰기 및 패턴 지정 같은 세부 옵션에서 차이가 있습니다.
삭제할 대상 장치 확인하기
PC에 저장 장치가 두 개 이상 있다면, 삭제 작업 전에 반드시 어떤 장치가 대상인지 확인해야 잘못된 디스크를 지우는 "사고"를 피할 수 있습니다.
가장 간단한 경우는 GUI 환경에서 삭제 대상 HDD/SSD가 보조 장치로 연결되어 있을 때입니다. 이럴 때는 GParted 같은 프로그램으로 모든 저장 장치를 확인하고 올바른 장치를 찾을 수 있습니다.

터미널을 선호한다면 선택지는 더 많습니다. 일부 도구는 배포판에 기본 포함되어 있고, 나머지는 추가 설치가 필요합니다.
lsblk는 컴퓨터에 연결된 모든 블록 장치를 보여줍니다. 읽기 쉬운 결과를 얻으려면 다음과 같이 실행하세요:
lsblk -io KNAME, TYPE, SIZE, MODEL
smartctl은 각 장치의 상세 정보를 확인할 수 있습니다:
smartctl -i /dev/sdX
다소 가독성은 떨어지지만 마찬가지로 유용한 hdparm도 거의 동일한 명령으로 비슷한 정보를 제공합니다:
hdparm -i /dev/sdX
마지막으로 fdisk는 가장 널리 쓰이는 도구로, 거의 모든 리눅스 배포판에 기본 설치되어 있습니다. 다른 도구만큼 상세하지는 않지만 드라이브와 SSD 정보를 확인할 수 있습니다:
fdisk -l
dd 명령으로 지우기
삭제할 데이터가 담긴 장치를 찾았다면, 해당 데이터를 "다른 값"으로 덮어써 복구를 거의 불가능하게 만드는 명령을 사용할 수 있습니다. 어떤 명령을 쓰고 어떤 값으로 덮어쓸지는 사용자의 선택에 달려 있습니다.

가장 널리 쓰이는 방법은 dd 도구를 활용하는 것입니다:
dd if=/dev/zero of=/dev/sdX
여기서 of=/dev/sdX는 지울 대상 장치를 의미합니다. 예를 들어 of=/dev/sda, of=/dev/sdc처럼 실제 장치명으로 바꿔 입력합니다.
큰 블록 크기를 지정하면 작업 속도를 높일 수 있고, 진행 상황도 함께 확인할 수 있습니다:
dd if=/dev/zero of=/dev/sdX bs=4096 status=progress
bs=4096은 블록 크기로 장치마다 최적값이 다릅니다. 이상적으로는 제조사 웹사이트에서 해당 장치의 권장값을 찾아보는 것이 좋습니다. status=progress 옵션을 추가하면 완료까지 남은 시간을 표시하는 진행률 화면을 볼 수 있습니다.

균일한 0 대신 무작위 패턴으로 덮어쓰는 것이 복구 불가능한 수준의 삭제에 더 안전하다고 알려져 있습니다. 다음과 같이 소스를 바꿔 실행하면 됩니다:
dd if=/dev/urandom of=/dev/sdX bs=4096 status=progress
보다시피 0(zero) 대신 난수를 생성하는 /dev/urandom을 사용했습니다. 단, CPU가 끊임없이 난수를 생성해야 하므로 시스템 리소스 사용량이 늘어난다는 점은 감안해야 합니다.
scrub으로 지우기
scrub은 실제 사용이 더 쉽고 명령 구문도 단순한 또 다른 대안입니다.

scrub은 대부분의 리눅스 배포판에 기본 설치되어 있지 않으므로 먼저 설치해야 합니다:
sudo apt install scrub
설치가 끝나면 root 권한으로 아래 명령 한 줄만 입력하면 HDD나 SSD를 완전히 삭제할 수 있습니다:
scrub /dev/sdX
wipe으로 지우기
scrub과 유사한 wipe는 저장 장치의 내용을 놀랄 만큼 쉽게 지울 수 있는 도구입니다. 소중한 데이터에 적용하기 전에는 반드시 대상 장치를 재확인하세요. scrub과 마찬가지로 대부분의 배포판에서는 먼저 설치가 필요합니다.
sudo apt install wipe

설치 후 sdX의 모든 내용을 지우려면 터미널에 아래 명령을 입력하고 Enter 키만 누르면 됩니다:
wipe /dev/sdX
라이브 USB + GUI로 지우기
참고: 다음 방법들은 하드 드라이브에 설치된 운영체제 종류와 무관하게 작동합니다.
OS가 설치된 HDD나 SSD의 내용을 삭제하려면, 해당 OS를 사용 중인 상태에서는 작업할 수 없습니다. 대신 리눅스 배포판의 라이브 CD/DVD로 부팅하면 됩니다. 특히 GNOME 데스크톱 환경을 채택한 배포판을 추천합니다. 사용하기 쉬운 GNOME 디스크 유틸리티가 기본 탑재되어 있기 때문입니다.
배포판의 라이브 CD/DVD로 부팅한 뒤, GNOME 디스크 유틸리티(GNOME에서는 "디스크"라는 이름으로 표시됨)를 실행합니다.

왼쪽 목록에서 삭제할 저장 장치를 선택하고, 톱니바퀴 버튼을 클릭한 뒤 "파티션 포맷"을 선택합니다.
나타나는 창에서 "지우기(Erase)" 옵션을 활성화하면 기존 데이터를 덮어쓰며 삭제합니다.
볼륨 이름을 입력하고 우측 상단의 "다음"을 클릭한 후, 같은 위치에 나타나는 "포맷" 버튼을 눌러 경고 메시지를 수락하면 작업이 시작됩니다.
DBAN(Darik's Boot and Nuke) 활용하기
라이브 CD 기반의 또 다른 방법은 "Darik's Boot and Nuke", 흔히 DBAN이라 불리는 도구입니다. DBAN은 일반 배포판이 아니라, HDD나 SSD의 모든 내용을 완전히 삭제하는 단 하나의 임무에 특화된 독립 부팅 도구입니다.

DBAN으로 부팅하면 초기 하드웨어 인식 과정을 거친 뒤, 감지된 장치 목록이 표시됩니다. 방향키와 Enter 또는 스페이스바로 지우려는 장치를 선택한 뒤 F10 키를 누르면 삭제 작업이 시작됩니다.
100% 확실한 방법: 망치와 화염방사기?
우리는 데이터 복구 전문가가 아니므로 어떤 방법이 가장 효과적인지 단정할 수는 없습니다. 전문 장비를 사용하면 두 번까지 덮어쓰기된 데이터의 흔적을 하드 디스크 표면에서 감지·복구할 수 있다고 주장하는 이도 있고, 그것은 실행 가능성이 입증되지 않은 이론일 뿐이라고 반박하는 이도 있습니다. 어떤 복구 업체는 화재로 거의 녹아내린 하드 디스크나 플래터가 산산조각 난 하드 디스크에서조차 데이터를 살려냈다고 주장하기도 합니다.
복구 전문가들이 이런 사례들을 최악의 시나리오로 소개하는 만큼, 그들의 말을 믿는 편이 좋겠습니다. 그렇다면 망치와 일론 머스크의 "Not-a-Flamethrower(화염방사기 아님)"야말로 가장 강력한 "안전 삭제" 방법일지도 모릅니다. 하지만 화염방사기를 구할 수 없고, 새벽 세 시에 분노한 토르 신처럼 행동하고 싶지 않은 일반 사용자에게는 이 글에서 소개한 방법들이 가장 현실적이고 확실한 선택입니다.