하드 드라이브를 안전하게 지우려면 어떻게해야합니까?


209

현재 비밀번호와 뱅킹 정보가 저장된 기존 우분투 설치가 포함 된 USB 외장 하드 드라이브를 판매 할 계획입니다.

드라이브를 판매하기 전에 어떻게 안전하게 지울 수 있습니까?


2
또한 이 EFF 페이지 에서 여러 OS에 대한 포괄적 인 설명을 확인 하십시오 .
Tom Brossman

@Lekensteyn '키 슬롯 제거'? 방금 AU를 검색하고 부분적으로 관련된 Q & A 외에는 아무것도 얻지 못했습니다 . 이 질문을 새로운 질문으로해야합니까 아니면 여기에서 다루어야합니까?
Tom Brossman

안전한 암호 문구를 사용하면 드라이브를 잃어도 세상을 잃지 않습니다. 그러나 code.google.com/p/cryptsetup/wiki/…의 5.3에 설명 된대로 키 슬롯을 지우는 것이 좋습니다 . 암호화 된 디스크를 지우는 방법에 대해 문의하십시오.
Lekensteyn

답변:


225

저장 장치를 안전하게 지우기

shred파일 또는 전체 장치의 데이터를 임의의 비트로 덮어 쓰기하여 복구가 거의 불가능한 명령 줄 유틸리티가 있습니다.

우선, 장치 이름을 식별해야합니다.

처럼이 일을 수 있습니다 /dev/sdb또는 /dev/hdb(하지만 하지 좋아 /dev/sdb1, 즉 파티션입니다). 당신이 사용할 수있는 sudo fdisk -l모든 연결된 저장 장치를 나열하고, 거기 외장 하드 드라이브를 찾을 수 있습니다.

NB 올바른 장치인지 확인하십시오. 잘못된 장치를 선택하면 장치가 지워집니다.

해당 장치에서 현재 마운트 된 모든 파티션을 마운트 해제합니다 (있는 경우). 그런 다음 /dev/sdX장치 이름으로 바꾸고 다음을 실행하십시오 .

sudo shred -v /dev/sdX

이것은 장치의 모든 블록을 임의의 데이터로 세 번 덮어 -v쓰며, ​​플래그는 자세한 정보를 나타내며 현재 진행 상황을 인쇄합니다.

-nNN 번만 수행 하는 옵션 을 추가하여 대용량 장치의 시간을 절약 할 수 있습니다. 외장 하드 드라이브의 크기에 따라 다소 시간이 걸릴 수 있습니다 (4GB 플래시 드라이브의 경우 20 분 정도 걸립니다).

옵션을 추가하여 마지막 반복 후 모든 비트를 0으로 설정할 수도 있습니다 -z.이 작업을 선호합니다.

sudo shred -v -n1 -z /dev/sdX

그런 다음 장치를 다시 파티션해야합니다. 가장 쉬운 방법은 GParted를 설치하고 사용하는 것입니다.

sudo apt-get install gparted
gksu gparted

오른쪽 상단에서 장치를 선택하십시오. 그런 다음 Device -> Create partition table장치에서 파티션 테이블을 작성하도록 선택하십시오 .

그런 다음 fat32파일 시스템으로 선택하여 장치에서 할당되지 않은 모든 공간을 사용하는 단일 파티션을 추가하십시오 . 도구 모음에서 적용 단추 (녹색 확인 표시)를 클릭하여 변경 사항을 적용하십시오 .

  • 온라인 또는 터미널 에 입력 하여 맨 페이지를shred 읽으십시오 man shred.
  • 디스크의 일부가 지워지지 않도록주의하십시오. 디스크를 올바르게 정리하려면 hdparm을 통한 드라이브 펌웨어 "SECURE ERASE"명령을 사용하십시오.

31
모범 사례 : 모든 하드 드라이브를 분리하고 외장 드라이브를 꽂은 다음 라이브 CD에서 위의 작업을 수행하여 중요한 부분이 조각 날 가능성을 방지하십시오.
Nick Pascucci

30
이 답변은 드라이브가 자신을 지우도록 요청하는 SECURE ERASE 방법으로 사용되지 않습니다. 이것은 가능한 모든 데이터를 처리해야하며 시스템에 불필요하게 세금을 부과하지 않습니다. hdparm유틸리티를 사용하여 드라이브가 자체적으로 지워지는 보안 지우기를 수행 할 수 있습니다 . 이 방법은 불량 섹터를 포함하여 전체 드라이브를 지우려고 시도합니다. 또한 일반적인 방법을 덮어 쓰는 것보다 훨씬 빠릅니다. SSD 드라이브에 권장되는 방법이기도합니다 shred.
Maarten Bodewes

6
@owlstead : 좀 더 자세히 설명해 주시겠습니까? 보안 지우기 란 무엇이며 어떻게 사용합니까? 더 나은 답변이 있다면 별도의 답변을 해주시면 감사하겠습니다.
Mads Skjern

17
ATA 보안 지우기 명령 사용에 대한 주석이 잘못되었습니다. SE 사용에 심각한 문제가 있습니다 (공급 업체의 일관된 지원 부족 및 프로세스 투명성 부족). 관련 : security.stackexchange.com/questions/62253
MV.

2
@Fiksdal 몰라요.이 답변을 쓴 지 5 년이 지났는데 그런 식으로 그것을 표현하려는 동기가 기억 나지 않습니다. 즉, "현재 실질적으로 불가능하지만 미래에 충분한 기술 향상으로 가능할 것"이라는 문구를 따라 생각한 것 같습니다.
Frxstrem

94

dd도구를 사용하여 '제로'하십시오 .

  1. 다음을 통해 디스크 유틸리티를 시작하십시오. System > Administration > Disk Utility
  2. 왼쪽 패널에서 디스크를 찾기를 선택하고 오른쪽에있는 장치 경로를 찾을 수 있습니다 (예. /dev/sdX)
  3. gnome-terminal에서 다음 명령을 실행하십시오 (응용 프로그램> 보조 프로그램> 터미널). 이 행만 복사 하지 말고

    sudo dd if=/dev/zero of=/dev/sdX bs=1M

    올바른 장치 경로를 사용해야합니다 !

이렇게하면 전체 디스크를 0으로 덮어 쓰게되며 기가 바이트의 임의 데이터를 생성하는 것보다 훨씬 빠릅니다. 다른 모든 도구와 마찬가지로 어떤 이유로 든 매핑 된 블록 (쓰기 오류, 예약 등)을 처리하지 않지만 구매자가 해당 블록에서 모든 것을 복구하는 도구와 지식을 가질 가능성은 거의 없습니다.

추신 : 브루스 슈나이어 팬보이들이 저를 공감하기 전에 : 0으로 덮어 쓴 비고도 회전식 하드 드라이브에서 데이터를 복구 할 수 있다는 증거를 원합니다. 그렇지 않으면 댓글을달라고 생각하지 마십시오! :피


6
Bruce Schneier +1 (그리고 정말로 훌륭한 도구 인 DD)
n3rd

6
이것이 가장 강력한 "증거"라고 말하지는 않지만 Gutmann 방법 은 이유가 있습니다. 내가 아는 한, 현대의 하드 드라이브는 이론적으로 데이터가 0으로 덮어 써지면 데이터를 복구 할 수 있습니다. 여전히 보유하고 있는지 여부에 관계없이 / dev / random 또는 해당 목적을 위해 특정 알고리즘을 사용하여 덮어 쓰면 상처를 입지 않을 것입니다.
Cerin

13
아니, 아프지 않을 것입니다. 특히 많은 시간이 걸릴 것입니다 (특히 / dev / random : P를 사용하는 경우). 실제 하드웨어 테스트에서 얻은 데이터를 기반으로 읽은 (미안하지만 세부 사항은 없지만 2008 년에 나온 것으로 생각합니다.)이 주제에 대한 마지막 논문은 단일 비트를 복구 할 수있는 기회가 50 % 미만이라는 것을 나타냅니다. 동전 던지기를 사용하여 각 비트를 "복구"할 때 발생하는 오류율. 따라서 영점 조정이 충분하지 않다는 증거가 없다면 (현재로서는 "아마도", 오히려 "프린지 방식"이 아님) 이것이 나를위한 선택 방법입니다.
htorque

12
@Cerin 내 이해는 이러한 편집증 데이터 복구 환상이 가능하다는 증거 가 전혀 없다는 것입니다. 에서 지적한 바와 같이 "비판" 당신이 링크 된 문서의 자신의 알고리즘이 "사용 된 방법, 구트 자신의 중요 드라이브 인코딩 기술의 기술적 분석의 결과보다 악령을 추방하기 위해 더 많은 부두 주술의 일종으로 " . 드라이브를 0 번 이상 닦는 것의 유일한 이유는 감정적 인 것입니다.
비이성적 인 John

4
멋지지만 bs=1M매개 변수 를 넣은 이유를 친절하게 설명해 주 시겠습니까? 나는 읽을 수 man있고 IIUC는 버퍼를 1 메가 바이트로 제한하고 있습니다. 왜 그렇게 바람직한가?
gaazkam

20

Security Stack Exchange에 대한이 명확한 질문을 살펴보십시오.

하드 드라이브의 모든 정보를 확실하게 지울 수있는 방법

여기에는 물리적 삭제 및 삭제와 함께 다양한 보안 삭제 옵션에 대해 설명하므로 가장 적합한 옵션을 결정할 수 있습니다.

다른 스토리지의 현재 복구 상태는 다음과 같습니다.

  • 아주 오래된 하드 드라이브 : 트랙 사이에 틈이있어 이러한 틈으로 피가 날 수 있습니다 (주사 전자 현미경을 사용하는 경우). 여러 번 덮어 쓰기는 잠재적으로 유용했습니다.
  • 새로운 하드 드라이브 : 현재 한 번의 덮어 쓰기 후에도 읽을 수있는 기술이 없습니다.
  • 솔리드 스테이트 하드 드라이브 :웨어 레벨링은 안전하게 덮어 쓸 수 없음을 의미합니다. 대신 전체 볼륨을 암호화하고 키를 폐기하여 삭제하거나 장치를 파괴합니다.

예를 들어 30 년 전에 아주 오래된 정의는 무엇입니까?
동기 부여

약 20-25 년 전 10Mb MFM 드라이브, 예
Rory Alsop

이것은 휴대폰 및 태블릿과 같은 장치의 드라이브와 어떤 관련이 있습니까?
동기 부여

@Motivated 휴대폰과 태블릿이 플래시 메모리를 사용한다는 점을 감안할 때 SSD와 동일한 대답 일지 모르지만 확실하지 않습니다. 더 나은 정보를 얻으려면 수퍼 유저 에게 요청할 수 있습니다.
wjandrea

20

나는 일반적으로를 사용하여 파괴적인 읽기-쓰기 테스트를 사용 badblocks -w합니다. 두 가지 주요 장점은

  • 기본 시스템과 거의 모든 구조 시스템의 일부이므로 Ubuntu 설치 프로그램의 구조 쉘에서 사용할 수 있습니다.
  • 마지막에 디스크에 불량 블록이 있는지보고합니다

보고서에 문제가있는 경우 곧 실패 할 가능성이 있으므로 더 이상 디스크를 판매하지 않습니다.

사용 예 (디스크가 인 경우 sdd) :

sudo badblocks -wsv /dev/sdd

( sv진행률 표시 줄 + 자세한 내용에 추가됨 )


11

이제 Disks ( gnome-disks) 도구에는 ATA Secure Erase가 있습니다. 하드 드라이브를 지우는 데 사용할 수 있습니다. 이 답변 에서 명령 줄 도구를 사용하여 동일한 옵션을 설명했습니다 hdparm.

  1. 디스크 도구 열기 → 대상 디스크 선택
  2. 메뉴에서 : 디스크 포맷 ...
  3. 드롭 상자에서 선택, 지우기 : ATA 고급 보안 지우기
  4. 체재

ATA 고급 보안 지우기 1 ATA 고급 보안 지우기 2


2
이것은 일반적으로 가장 좋은 옵션이지만 USB를 통해 적용되지는 않습니다 (위 질문 에서처럼). ata.wiki.kernel.org/index.php/ATA_Secure_Erase이에 대한 경고 및 면책 사항이 있습니다 . 그럼에도 불구하고 나는 그놈 문제 에서 그것에 대해 물었다 .
colan

1
@colan 내가 아는 것처럼 풀 스택 (디스크-커널-드라이버-컨트롤러-드라이브)의 기능 지원에 달려 있습니다. 두 개의 HDD (WD USB3 HDD & WD w / SATA-USB3 활성 어댑터)에 대해 제 케이스가 정상이지만 모든 경우에 해당되는 것은 아니라는 것을 확인했지만 하드 코딩 된 블록 정렬 (512b로 읽는 SATA-USB3 어댑터)을 보았습니다. & 4k 블록은 동일한 이미지를 생성하지 않습니다), 일부는 긴 실행 명령이있는 SMART를 지원하지 않으며 일부 USB 드라이브는 암호로 보호 된 / 암호화 된 파티션에 대해 표준화되지 않은 / 트위스트 된 구현을 가지고 있습니다 (다른 USB 어댑터를 통해 사용하는 경우
user.dz

8
  • 드라이브의 전체 내용에 대해 / dev / random을 실행하는 루프백 장치를 작성해야합니다.
  • 드라이브 전체를 거의 임의의 데이터로 채우면 dd를 사용하여 모든 비트를 다시 0으로 설정할 수 있습니다.

  • 실제로 dd는 모든 정보를 무작위로 추출 할 수 있어야합니다.

  • 하드 디스크에 뱅킹 정보를 저장했다고 말 했으므로 라이브 CD ( hdX 는 하드 드라이브) 에서 다음 명령 중 하나를 실행하는 것이 좋습니다 .

    dd if=/dev/zero of=/dev/hdX

    dd if=/dev/random of=/dev/hdX

    dd if=/dev/urandom of=/dev/hdX

  • 하드 디스크 크기에 따라 시간이 오래 걸립니다.

귀하의 정보를 위해 :

다음 링크를 참조하십시오

노트 :

  • 랜덤은 임의의 비트를 사용하고 0은 0 비트를 사용합니다.
  • Urandom은 임의의 반 무작위 버전입니다.

무작위로 정말 필요한가요? 모든 비트를 1로 바꾸고 0으로 바꾸는 것만으로는 충분하지 않습니까?
Buck

7

당신은 닦아 사용할 수 있습니다

설치

sudo apt-get install wipe

해당 소프트웨어를 사용하거나 다음 명령을 사용할 수 있습니다.

shred -vfz -n ? (drive)

"?" 드라이브를 파쇄하기를 원하는 횟수를 입력 한 다음 "(드라이브)"이므로 파쇄하려는 드라이브를 넣습니다. 작업이 끝나면 원하는대로 수행하십시오. 드라이브에 수행되는 작업을 제어하고 즉각적인 결과를 얻을 수 있기 때문에이 방법이 더 효과적이라고 생각합니다.

연결

  1. http://wipe.sourceforge.net/
  2. http://www.howtogeek.com/howto/15037/use-an-ubuntu-live-cd-to-securely-wipe-your-pcs-hard-drive/
  3. http://ubuntuforums.org/showthread.php?t=817882

6
왜 다른 것을 사용합니까, 닦음 대 조각?
Mads Skjern

7

ATA 드라이브 의 보안 지우기 기능 을 사용하는 것이 가장 좋습니다 . 보안 지우기는 펌웨어 수준에서 드라이브를 지 웁니다. 더 안전하게 얻을 수 없습니다.

먼저 보안 지우기가 지원되는지 확인하십시오.

sudo hdparm -I /dev/sdX | grep -i security

(디스크가 무엇이든 sdX를 sda / sdb / sdc로 바꾸십시오).

출력이 없으면 dd를 사용하십시오.

sudo dd if=/dev/zero of=/dev/sdX bs=1M

출력이 보이면 장치가 정지되지 않았는지 확인하십시오.

sudo hdparm -I /dev/sdX | grep -i frozen

고정되지 않은 경우 암호를 "Eins"로 설정하십시오.

sudo hdparm --user-master u --security-set-pass Eins /dev/sdX

선택 사항 : 시간이 얼마나 걸리는지 알고 싶을 수 있습니다.

sudo hdparm -I /dev/sdX | awk '/for SECURITY ERASE UNIT/'

그런 다음 지우기를 실행하십시오.

sudo hdparm --user-master u --security-erase Eins /dev/sdX

그럼 기다려 1TB 디스크의 경우 3 시간 이상이 소요될 수 있습니다.

이 단계를 자동화멋진 스크립트가 있습니다.


6

DBAN 을 사용할 수 있습니다 . 위키 백과 :

Darik 's Boot and Nuke (일반적으로 DBAN이라고 함) [...]는 데이터가 영구적으로 제거되고 더 이상 복구 할 수 없을 때까지 하드 디스크를 안전하게 지우도록 설계되었습니다. 이는 Mersenne twister 또는 ISAAC ( PRNG). Gutmann 방법, 빠른 삭제, DoD Short (3 패스) 및 DOD 5220.22-M (7 패스)도 데이터 잔상 처리 옵션으로 포함됩니다.

DBAN은 플로피 디스크, CD, DVD 또는 USB 플래시 드라이브에서 부팅 할 수 있으며 Linux를 기반으로합니다. PATA (IDE), SCSI 및 SATA 하드 드라이브를 지원합니다. DBAN은 시스템에있는 모든 하드 디스크를 자동으로 지우도록 구성 할 수 있으므로 무인 데이터 삭제 시나리오에 매우 유용합니다. DBAN은 Intel x86 및 PowerPC 시스템에 존재합니다.

DBAN은 다른 데이터 삭제 방법과 마찬가지로 컴퓨터 기부 또는 판매와 같은 개인 또는 상업적 상황에서 컴퓨터를 재활용하기 전에 사용하기에 적합합니다 [2]. 맬웨어 감염의 경우 디스크를 프로덕션으로 반환하기 전에 DBAN을 사용할 수 있습니다.


3

이 시나리오에서 dd에 대한 파쇄의 또 다른 장점 : 교환을 위해 공급 업체에 반환해야하는 결함이있는 디스크가 있습니다.

dd는 첫 번째 불량 블록에서 정지하고 나머지 블록을 클로버하지 않습니다 (중단 할 때마다 skip = ...을 사용하여 건너 뛰지 않으면).

shred는 쓰기 오류를 무시하고이 경우 행복하게 계속됩니다.


0

루트로 이동

dd if=/dev/random of=/dev/(your usb drive device here); dd if=/dev/zero of=/dev/(your usb drive device here)

당신이 올바른 드라이브를 가지고 있는지 확인하십시오!


7
이러한 작업에 / dev / random을 사용하지 마십시오. / dev / random은 엔트로피 풀을 사용하여 임의의 데이터를 생성하고이 엔트로피 풀이 비어 있으면 작업을 차단합니다. 따라서 컴퓨터에서 새로운 임의성을 생성하기 위해 아무 작업도하지 않으면 작업이 영원히 수행됩니다. 대신 / dev / urandom을 사용하십시오. man random
htorque

2
아마도 명령 앞에 접두사를 붙여야 할 것입니다 sudo. 또한 dd기본값보다 큰 블록 크기를 사용하면 더 빨리 완료되는 경향이 있습니다. 따라서 다음을 사용하여 매우 신중하게 제안합니다 .sudo dd if=/dev/random bs=1m of=/dev/sdX
비이성적 인 John

아, 아, 그래야 했어요 sudo dd if=/dev/urandom bs=1m of=/dev/sdX.
비이성적 인 John


0

파쇄 사용을 권장하는 사람들은 나쁜 조언을하고 있습니다. Shred의 자체 매뉴얼 페이지는 파일 시스템 기본값을 변경하지 않으면 우분투가 거의 사용하도록 보장되는 저널링 된 파일 시스템에서 효과적으로 쓸모가 없다고 말합니다 (ext3 및 ext4는 저널링됩니다. resierfs 및 Reiser4와 마찬가지로 많은 다른 일반적인 Linux 파일 시스템 ).

파쇄는 개별 파일 또는 파일 세트에서만 작동하므로 디스크를 완전히 비우거나 무작위 화하는 데 완전히 쓸모가 없습니다 (원시 데이터 레벨이 아닌 파일 시스템 레벨에서). 디스크를 안전하게 지우려면 드라이브의 기본 장치 노드에서 dd를 사용해야합니다 (예 : / dev / sdc1 대신 / dev / sdc).

시간이 걸리지 만 파쇄와 달리 하드 디스크를 MBR에서 최종 섹터로 완전히 지우는 경우가 있습니다. 또한 dd의 BIG WARNING은 올바른 장치에서 사용하고 있는지 확인하십시오. 그렇지 않으면 적어도 부분적으로 잘못된 디스크를 닦아야합니다. 실수로 시스템 드라이브에서 dd를 사용하면 부팅 할 수 없을뿐만 아니라 드라이브의 특정 파티션을 돌이킬 수 없게 손상시킬 수 있습니다. 이것은 "디스크 구축함"이라는 별명을 부여했습니다.

파쇄는 드라이브를 안전하게 닦을 수있는 신뢰할 수있는 도구가 아닙니다. 컴퓨터를 팔거나 팔아 버리는 경우 드라이브를 비우는 올바른 방법은 dd로 드라이브를 0으로 만들거나 무작위로 나누는 것입니다.


9
당신은 파일을 파쇄하지 않습니다. 전체 장치를 가리 킵니다. 파일 시스템은 관련이 없습니다.
David 주어진

1
@DavidGiven 기술적으로 파일 시스템 내부의 파일 만 파쇄 할 수 있으며, 이것이 맨 페이지에서 대부분 이야기하는 내용입니다. 이 경우 Yaro의 경고는 유효합니다. 그러나 예, 전체 파티션을 파쇄하는 것은 완전히 다른 것입니다. 이 경우 파일 시스템은 실제로 중요하지 않습니다.
Alois Mahdal

0

가장 쉬운 방법은 사용입니다.

sudo shred -fv /dev/xxx

xxx는 장치입니다. 장치를 확인하려면 다음을 입력하십시오.

sudo fdisk -l

장치는 디스크 단어 뒤에 콜론 char : 다음 과 같이 표시됩니다.

Disk /dev/sde: 500.1 GB etc...

디스크 등을 지우려는 파일 시스템을 마운트하지 마십시오. 파쇄는 원하는 시간에 일부 작업을 수행합니다. -z 옵션은 0을 사용하여 마지막으로 실행하여 와이프를 숨기고 데이터를 닦을 필요는 없습니다.

가장 좋은 방법은 이전 사용자와 같이 dd를 사용하는 것입니다.

sudo dd if=/dev/urandom of=/dev/xxx bs=1M

무작위 패턴을 얻는 것이 더 현대적이고 더 나은 방법이므로 urandom 장치 를 사용하십시오 .

현재 다른 도구는 더 오래되고 더 적은 사람들이 개발할 수 있습니다. Shred는 Linux의 핵심 응용 프로그램입니다.

이 예를 살펴 보겠습니다 : 2009 년 닦아 http://lambda-diode.com/software/wipe/을 . 그러나 그것은 알려진 앱입니다. 표백제를 사용할 수는 있지만 시도한 결과 시간이 오래 걸렸습니다.


-1

dd cmd가 작동하지 않으면 리디렉션 방법을 사용하여 데이터를 지울 수 있습니다.

처럼,

cat /dev/urandom > /dev/sd**a**   # depends on your hdd location 

또는

또는 cp (copy cmd)를 사용하여 이전 데이터를 덮어 쓸 수 있습니다.

cp /dev/urandom /dev/sd**a**      # depends on your hdd location 
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.