디스크 덮어쓰기

디스크 덮어쓰기

나는 다음을 사용해야 한다:

  • find / -type f -exec shred -uvz -nX

아니면 그냥 늙었거나

  • dd if=/dev/urandom of=/dev/sda

하나가 다른 것보다 빠르거나 안전합니까?

답변1

성능...

사용할 때마다 dd더 큰 블록 크기를 사용하십시오. 4MiB이면 충분합니다. 기본 블록 크기(512바이트)를 사용하면 속도가 상당히 느려집니다.

dd if=/dev/urandom of=/dev/sda bs=4M

복구할 수 없는 데이터를 덮어쓰려면 dd위와 같이 간단한 방법과 망치를 사용하면 됩니다. 해머가 없으면 읽을 수 있는 불량 블록이나 SSD 콘텐츠 등이 장치 수준에서는 보이지 않지만 물리적 수준에서는 항상 존재하게 됩니다.

아주 아주 어렵게 만들고 싶다면 urandom을 사용하지 말고 그냥 /dev/zero를 사용하십시오.

  • dd(적절한 크기) 더 빨라질 것입니다.
  • 보안은 개인이 데이터를 얻기 위해 기꺼이 기울이는 노력과 관련된 의미를 갖는 개념입니다. 이러한 관점에서 볼 ddshred대략적인 보안 수준은 동일할 것입니다.

새 드라이브 비용은 더 안전한 와이퍼 비용보다 낮을 수 있으므로 그 시점부터는 해머가 올바른 솔루션입니다.

업데이트: 파쇄에는 의미가 없습니다.

~에서파쇄된 문서, 여기에는 많은 제한사항이 있습니다.

파쇄는 파일 시스템이 데이터를 제자리에 덮어쓴다는 매우 중요한 가정에 의존합니다. 이는 작업을 수행하는 전통적인 방법이지만 많은 최신 파일 시스템 설계는 이러한 가정을 충족하지 않습니다. 예외는 다음과 같습니다:

  • AIX 및 Solaris는 물론 JFS, ReiserFS, XFS, Ext3(데이터=저널 모드), BFS, NTFS 등(데이터 저널로 구성된 경우)에서 제공하는 것과 같은 저널 구조 또는 저널링 파일 시스템.
  • RAID 기반 파일 시스템과 같이 중복된 데이터를 쓸 수 있고 일부 쓰기가 실패하더라도 계속 작동할 수 있는 파일 시스템입니다.
  • Network Appliance의 NFS 서버와 같이 스냅샷이 생성되는 파일 시스템입니다.
  • NFS 버전 3 클라이언트와 같은 임시 위치에 캐시된 파일 시스템입니다.
  • 압축 파일 시스템.

이를 위해 ext4를 추가할 수 있습니다(로깅은 기본적으로 활성화되어 있습니다).

또한 개별 파일을 파쇄해도 파일에서 관련된 모든 메타데이터가 제거되지는 않습니다. 동일한 inode를 가리키는 다른 하드 링크 등이 있을 수 있으며 메타데이터는 그대로 유지됩니다. 때로는 파일이 존재한다는 사실조차 아는 것조차 보안 문제가 될 수 있습니다.

망치로 돌아가서…

답변2

dd방법은 다음을 수행합니다.

  • 디렉토리 구조를 탐색할 필요가 없으므로 더 빠릅니다.
  • 현재 파일이 차지하고 있지 않은 디스크 영역을 덮어씁니다.

프로그램은 임의의 데이터로 파일을 반복적으로 덮어쓰므로 요구 사항에 따라 파일을 . shred보다 "안전"하게 만들 수 있습니다 .dd

그러나 그 효과는 shred파일 시스템에 따라 다릅니다. 매뉴얼 페이지에서:

참고: 파쇄는 파일 시스템이 현재 위치에서 데이터를 덮어쓴다는 매우 중요한 가정을 따릅니다. 이는 작업을 수행하는 전통적인 방법이지만 많은 최신 파일 시스템 설계는 이러한 가정을 충족하지 않습니다.

특히 shredSSD에서는 유용한 작업을 수행하지 못할 수도 있습니다.

답변3

다른 옵션어제 막 읽었는데:

openssl enc -aes-256-ctr -pass pass:"$(dd if=/dev/urandom bs=128 count=1 2>/dev/null | base64)" -nosalt < /dev/zero > randomfile.bin

물론 randomfile.bin다음과 같은 것으로 대체 할 수도 있습니다./dev/sda

이것~해야 한다커널이 임의의 데이터를 제공하도록 하는 것보다 빠릅니다.

답변4

shred방법은 현재 존재하는 파일만 덮어씁니다. 재사용되지 않은 공간에 있는 현재 존재하는 파일의 이전 버전을 포함하여 삭제된 파일은 삭제되지 않습니다.

dd방법은 전체 디스크에 적용됩니다.

dd방법은 임의의 데이터로 덮어쓰기 때문에 너무 느립니다. 0으로 덮어쓰기도 잘 작동합니다.

dd if=/dev/zero of=/dev/sda

다음 방법을 사용하여 이 작업을 수행할 수도 있습니다 cat. 약간 더 빠를 수 있습니다.

cat /dev/zero >/dev/sda

0번 반복 대신 무작위 데이터로 덮어쓰라는 제안은 20년 전의 디스크 기술에서는 옳았습니다. 그때에도 0으로 덮어쓰는 것은 잘 작동했습니다. 최신 하드 드라이브의 경우 0으로 덮어쓰는 것만으로도 충분합니다. 바라보다하드 드라이브에 0(또는 무작위 데이터)을 한 번만 쓰는 것보다 여러 번 쓰는 것이 더 나은 이유는 무엇입니까?.

SSD는 하드디스크보다 새로운 기술로, 쓰기 후 잔류 자성에 대해서는 알려진 바가 거의 없습니다. 내가 아는 한, 플래시 기술에서 0으로 덮어쓴 데이터를 복구했다는 공개 보고는 없습니다. (정부 기관에 대해서는 말할 수 없지만 어쨌든 이미 귀하의 데이터가 있을 수 있습니다.) 당신은보고 싶을 수도 있습니다보안 삭제 EEPROM 및 플래시 메모리업데이트를 위해.

섹터(예: SSD 드라이브)를 재할당하는 플래시 기술에는 추가적인 문제가 있습니다. 소프트웨어에서 전체 표면을 덮은 후 일부 섹터는 현재 매핑이 해제되어 있지만 여전히 자체 콘텐츠를 가지고 있습니다. 이러한 섹터는 일반 인터페이스를 사용하여 읽을 수 없지만 저장 장치 내부를 검색하여 읽을 수 있습니다. (제가 아는 한, 이는 알려진 기술이지만, 가격은 플래시 장치 모델에 따라 보통 수준부터 매우 비싼 수준까지 다양합니다.) 원칙적으로 플래시 드라이브를 완전히 지우려면 발행해야 합니다.보안 삭제그러나 [많은 장치가 이 명령을 올바르게 실행하지 않습니다.](SSD의 ATA 보안 삭제), 따라서 먼저 소프트웨어 삭제를 수행해야 합니다.

관련 정보