SSD 드라이브를 안전하게 지우는 방법은 무엇입니까?


36

저는 SSD 기술을 처음 접했기 때문에 드라이브를 안전하게 지울 때 하드 드라이브와 어떻게 비교되는지 모릅니다. 디스크 유틸리티를 실행하고 "0으로 덮어 쓰기"옵션으로 드라이브를 지우는 것으로 충분합니까, 아니면 하드 드라이브 용입니까? 취해야 할 다른 조치가 있습니까?

나는 NSA 등급 보안을 찾고 있지 않지만 Mac을 반환하거나 판매 할 때 할 수있는 일종의 닦음입니다.


데이터를 지워야합니까, 아니면 데이터가 지워 졌다는 다른 사람들을 설득해야합니까? 데이터가 사라 졌다는 것을 확신해야하는 경우 ATA 명령 Secure Erase를 시도해야합니다. 다른 사람을 설득해야 할 경우 디스크 파쇄 서비스를 사용해야 할 수도 있습니다.
DanBeale

답변:


45

편집증 수준에 따라 다릅니다. SSD가 데이터 쓰기를 처리하는 방식 때문에 SSD에서 1 회 1 회를 수행하는 것이 하드 드라이브에서 수행하는 것만 큼 좋지 않습니다.

HD에 특정 데이터 페이지를 쓰면 기존 데이터 위에 새 데이터가 쓰여져 대체됩니다. 전체 디스크에 0을 쓰면 모든 이전 데이터가 사라집니다. 반면 SSD는 단순히 개별 페이지를 덮어 쓸 수 없습니다. 페이지의 데이터를 바꾸려면 이전 데이터를 먼저 지워야하며 SSD는 개별 페이지를 지울 수 없습니다. 많은 페이지로 구성된 전체 블록을 지워야합니다.

따라서 SSD에 덮어 쓰기, 예를 들어 5 페이지를 요청하면 SSD가 5 페이지의 데이터 만 남겨두고 유효하지 않은 것으로 표시하고 현재 빈 페이지 (예 : # 2305)를 할당한다는 것입니다. 새 데이터는 페이지 # 2305로 이동하고 다음에 OS에서 페이지 # 5를 요청할 때 # 2305를 가져와야합니다. 원래 페이지 # 5 데이터는 나중에 드라이브에 더 많은 공간이 필요할 때까지 남아있는 유효한 페이지를 블록에서 멀어 지거나 지 웁니다. SSD는 컴퓨터에 노출되는 것보다 더 많은 물리적 메모리 용량을 가지고 있기 때문에 실제로 무언가를 지워야하기 전에 이와 같은 블록을 잠시 동안 저글링 할 수 있습니다 (실제로 무언가를 지울 때 남은 데이터 블록을 예측할 수있는 좋은 방법은 없습니다 삭제를 위해 선택). 이 AnandTech 리뷰를 참조하십시오 자세한 내용은 (경고 : 상당히 길며 관련 내용이 퍼져 있습니다).

결과 : "전체"드라이브에 0을 쓰면 실제로 모든 이전 데이터를 덮어 쓰지 않은 것입니다. 당신은 가 (해당 페이지는 모두 무효)를 OS에 이전 데이터 중 하나를 반환하지 않을거야 그래서 컨트롤러의 변환 테이블을 업데이트. 그러나 누군가가 컨트롤러를 우회 할만큼 충분한 하드 코어 인 경우 일부 데이터를 다시 가져올 수 있습니다.

덮어 쓰기가 두 번 가능할 수도 있지만 컨트롤러의 할당 전략에 따라 다릅니다. 임의의 데이터 ( diskutil randomDisk 2 /dev/diskN)로 두 번 덮어 쓰면 약간 더 효과가 있지만 여전히 보장되지는 않습니다. 이 두 가지 모두 부작용이 있습니다. 드라이브 수명의 일부를 사용하고 SSD의 논리적 조각화를 증가시켜 쓰기 성능을 저하시킵니다.

최신 버전의 OS X 그래픽 디스크 유틸리티는 위에서 설명한 이유로 SSD의 보안 삭제 옵션을 비활성화하지만 명령 줄 버전에서는 여전히 허용합니다. BTW, SSD를 암호화 된 형식으로 변환하여 SSD를 안전하게 지우는 몇 가지 권장 사항을 보았지만 무작위 데이터로 덮어 쓰는 것보다 약간 덜 안전합니다.

SSD를 안전하게 지우는 가장 좋은 방법은 컨트롤러의 내장 된 안전한 지우기 기능을 호출하는 것입니다. 이것은 (컨트롤러 디자이너가 작업을 수행 한 경우) 모든 블록을 실제로 지우고 논리적 페이지 맵을 재설정하여 본질적으로 조각 모음을 수행하고 원래 성능을 복원하는 부작용을 가져야합니다. 불행히도,이 작업을 위해 본 대부분의 유틸리티 (예 : CMRR의 HDDErase )는 DOS에서 실행되며 Mac에서는 부팅되지 않습니다. GParted 부팅 CD에서 보안 지우기를 수행하는 방법에 대한 복잡한 지침이있는 마크 룸에 대한 게시물을 찾았습니다 . 부팅 가능한 플래시 드라이브 에서 Parted Magic사용할 수도 있지만 시도하지 않았습니다.

UCSD의 비 휘발성 시스템 연구소 (Non-Volatile Systems Lab)의 연구원들은 드라이브를 "지우고"컨트롤러를 우회하기 위해 드라이브를 분해하고 잔여 데이터 ( 요약 , 전체 문서 )를 확인하여 SSD를 살균하는 다양한 방법을 테스트했습니다 . 그들의 결과는 대부분 위에서 말한 내용과 일치합니다 (또한 내장 보안 지우기 명령이 항상 올바르게 구현되지는 않음을 보여줍니다).

우리의 결과는 다음과 같은 세 가지 결론으로 ​​이어집니다. 첫째, 내장 명령은 효과적이지만 제조업체는 때때로 잘못 구현합니다. 둘째, SSD의 전체 가시 주소 공간을 두 번 덮어 쓰는 것이 일반적으로 드라이브를 위생 처리하는 데 충분하지만 항상 그런 것은 아닙니다. 셋째, 개별 파일 삭제를위한 기존 하드 드라이브 지향 기술 중 어느 것도 SSD에 효과적이지 않습니다.


1
광범위한 답변에 감사드립니다. 제안한대로 터미널 명령을 실행하는 것은 문제가되지 않습니다. 그러나 나중에 참조 할 수 있도록 터미널에 익숙하지 않은 일반 사용자는 무엇을 할 수 있습니까? 디스크 유틸리티의 7 단계 옵션 만 사용 하시겠습니까?
Rinzwind 2012 년

4
이 시점에서 옵션을 실제로 "추천"할 수 있는지 모르겠습니다. 덮어 쓰기 옵션은 드라이브의 수명 쓰기 제한을 모두 사용하며 조각화를 증가시키고 성능을 저하시키는 경향이 있습니다. 가장 좋은 방법은 Apple이 디스크 유틸리티의 옵션으로 ATA 보안 지우기 (예 : 컨트롤러 기반 옵션)를 추가하는 것입니다.
Gordon Davisson

2
@ 고든-그것은 유익하고 유익한 답변이었습니다! +1
Dolan Antenucci

안녕하세요 @ GordonDavisson. 이 답변을 작성한 후 변경된 사항이 있는지 궁금합니다. 이후 몇 가지 OS 업데이트가있었습니다.
samthebrand

@ SamtheBrand : 많이 변경되지 않았습니다. 디스크 유틸리티 (GUI 버전)가 SSD에서 보안 지우기를 허용하지 않으며 (실제로 작동하지 않기 때문에) HDDErase에 대한 링크를 수정했으며, Parted Magic이 작동하지 않을 수도 있다는 메모를 추가했습니다 (시도하지는 않았지만) ).
Gordon Davisson

8

터미널을 열고 다음 명령을 입력하십시오.

df -k

되돌릴 수없는 SSD 파티션에 해당하는 첫 번째 열에 유의하십시오. 그것이 있다고 가정 해 봅시다 /dev/disk1s2.

다음 명령을 입력하십시오.

dd if=/dev/zero of=/dev/rdisk1s2 bs=100k

/dev/rdisk1s2SSD의 파티션과 관련된 원시 장치는 어디에 있습니까 ? 이 명령은 첫 번째 블록부터 마지막 ​​블록까지이 파티션을 완전히 씁니다. 이 명령은 진행률이 스크롤 막대없이 오래 지속됩니다 (100GB의 경우 ~ 1 / 2 시간).

이 명령으로 쉘 프롬프트가 표시되면 디스크가 완전히 복구 불가능하게 삭제 된 것입니다. Disk Utility이 파티션을 시작 하고 확인하십시오. 그것은 어떤 형태의 수리를 넘어서도 손상되었다고 말할 것입니다. 그리고 맞습니다.

이 파티션을 원하는대로 포맷하십시오.

물리 블록 수준에서 일어나는 일은 다음과 같습니다.SSD를 지우는 dd & DU의 영화


1
이는 디스크 유틸리티의 옵션을 0으로 덮어 쓰는 것과 동일하며 같은 이유로 SSD에서 완전히 안전하지 않습니다. 자세한 설명은 내 답변을 참조하십시오.
Gordon Davisson

→ Gordon : 나는 당신의 대답을 읽었으며, 그것을 이해했다고 생각합니다. 내 대답은 원시 디스크 장치를 사용하는 것이지 블록 장치가 아닌 디스크 유틸리티를 사용합니다. 이것은 SSD (신뢰할 수있는 도구 포함)에서 확인해야하지만 캐시를 사용하는 오래된 표준 HD에서 아는 한 원시 디스크 인터페이스는이 캐시를 피하는 쉬운 방법이었습니다. SSD 장치는 단순히 캐시가 전체 용량이고 실제 디스크가 제거되는 HD 디스크입니다.
dan

원시 장치 (/ dev / rdisk *)를 사용하면 OS 캐시가 무시되지만 플래시 변환 계층 (내가 설명한 문제의 원인)은 무시하지 않습니다. 실제로 OS에서 우회 할 수있는 방법이 없습니다. 장치 컨트롤러는 단순히 실제 원시 플래시 저장소를 버스 (SATA 또는 기타)에 노출시키지 않으며 OS는 버스를 통해 드라이브와 만 상호 작용할 수 있기 때문에 없습니다. 안전한 덮어 쓰기를 수행 할 수있는 충분한 액세스 권한을 얻는 방법입니다.
Gordon Davisson

첫 번째 속도 dd는 일부 캐시 수준을 우회하는 것뿐만 아니라 (용량을 알 수있는 방법이 없습니다) 부분적으로 소진하는 것입니다 (그림 3 상태). 두 번째 패스는 실제로 새로운 블록을 찾아 안전하게 지워야합니다.
dan

두 가지 이유로 충분하지 않습니다. 먼저 디스크 유틸리티가 디스크를 포맷 할 때 약간의 디스크 (파티션 테이블, 볼륨 헤더 등) 만 덮어 쓰며 추가 용량을 소진 할만큼 충분한 보장은 없습니다. 둘째, 여분의 쓰기 DU가 이전에 삭제 한 것과 다른 물리적 블록에 영향을 줄 것이라는 보장은 없습니다. 컨트롤러의 할당 전략에 따라 동일한 물리적 블록을 계속 지우는 것이 가능합니다. 그렇기 때문에 모든 공간을 두 번 덮어 쓰더라도 충분하지 않을 수 있다고 말했습니다.
Gordon Davisson

7

디스크 유틸리티의 "보안 옵션 ..."버튼은 현재 SSD에 대해 회색으로 표시됩니다. http://support.apple.com/kb/HT3680 에 따르면 일반적으로 SSD를 지우면 충분히 안전 할 수 있습니다.

참고 : OS X Lion 및 SSD 드라이브의 경우 디스크 유틸리티에서 Secure Erase 및 Erasing Free Space를 사용할 수 없습니다. 표준 지우기는 SSD에서 데이터를 복구하기 어렵 기 때문에 SSD 드라이브에는 이러한 옵션이 필요하지 않습니다. 보안을 강화하려면 SSD 드라이브 사용을 시작할 때 FileVault 2 암호화를 켜십시오.

diskutil secureErase freespace 4 disk0s2복구 파티션의 터미널 과 같은 것을 여전히 실행할 수 있습니다 .

드라이브를 지우기 전에 FileVault 2를 켜는 것이 더 나은 옵션 일 것입니다. 이 답변 에 따르면 FileVault 2가 활성화 된 경우 원격 지우기를 수행하면 암호화 키만 지워집니다.

그렇습니다. 컴퓨터를 원격으로 닦으면 안전하게 삭제됩니다. Apple은 하루가 오래 걸릴 수 있다고 경고합니다. 그러나 드라이브가 FileVault 2로 암호화 된 경우 디스크를 지울 필요가 없습니다. 디스크에 저장된 암호화 키를 안전하게 지우면 충분합니다. 기본 암호화 시스템만큼 빠르고 안전하며 지금은 매우 안전합니다.

http://training.apple.com/pdf/wp_osx_security.pdf :

FileVault 2는 IT 부서에 언제든지 지정된 Mac에서 암호화 키를 지우는 기능을 제공하여 사용자 로그인 또는 데이터 복구 도구로 암호화 된 데이터에 액세스 할 수 없도록합니다. 이 과정을 원격 와이프라고합니다.


5
민감한 데이터 저장 하기 전에 암호화 (예 : FileVault) 를 설정 하는 것은 훌륭한 옵션이지만 표준 보안 지우기가 그렇지 않은 것과 같은 이유로 암호화 키를 "삭제"하는 데 사용 된 프로세스가 완전히 안전하지 않을 수 있습니다. -이전 암호화 키는 여전히 매핑 된 페이지에 플래시에 저장됩니다. 따라서 컨트롤러를 우회 할 수있는 사람은 여전히 ​​"삭제 된"키를 얻을 수 있습니다.
Gordon Davisson

@ GordonDavisson 그러나 드라이브를 포맷 할 때 암호화를 다시 활성화하면 이전 암호화 키를 덮어 써야하므로 이전 데이터에 안전하게 액세스 할 수 없습니까?
초대형

오래된 암호화 키 @supersize 수도 덮어 수 있지만, 물리적 페이지가 다시 포맷하는 동안 지워 취득을 정확하게에 따라 다르며의 뭔가 그 드라이브 펌웨어 제어가 아닌 운영 체제입니다.
Gordon Davisson
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.