모든 콘텐츠 파쇄: 파일/폴더 및 해당 파일 이름

모든 콘텐츠 파쇄: 파일/폴더 및 해당 파일 이름

다음을 사용하여 find디렉토리의 내용을 재귀적으로 쉽게 파쇄할 수 있습니다.이 질문에는). 그러나 파일 이름 자체에 이미 민감한 정보가 포함되어 있는 경우도 있습니다. 찢어지는 방법 없을까요?모든 것특정 파일/디렉터리와 관련되어 있습니다. 즉, 매 주기마다 파일 내용과 파일/디렉터리 이름을 덮어씁니다.

답변1

shred대부분 쓸모가 없습니다. 디스크 이미지에서 삭제된 파일의 내용을 제거하려면 파일 위치를 덮어쓰는 것만으로는 충분하지 않습니다. 파일의 모든 복사본을 삭제해야 합니다. 단순히 파일을 덮어쓰는 문제가 아닙니다. 다양한 유형의 파일의 경우 파일이 편집되었고 삭제된 백업 복사본이 남아 있기 때문에 본질적으로 동일한 내용을 가진 여러 파일이 있을 수 있습니다.

또한 디스크가 손상된 경우 소프트웨어 방식으로는 데이터를 읽을 수 없지만 하드웨어 방식으로 또는 디스크를 식혀서 복구할 수 있습니다(하드 드라이브를 냉장고에 넣으면 오류를 줄일 수 있습니다. 마침내 유령을 포기할 때까지).

파일을 파쇄하는 안전한 방법은 처음부터 강력한 비밀번호로 보호되는 암호화된 컨테이너에 파일을 저장하는 것입니다(충분히 긴 임의의 비밀번호를 생성하고 적어 두십시오. 파일 작업이 끝나면 파일 조각을 굽습니다). 파일을 종이로). 파일 시스템을 완전히 정리한 다음(데이터를 백업한 다음 0으로 덮어쓰기)암호화된 파일 시스템컨테이너에 저장하고 파일을 복원하세요. 복구가 성공적이었다고 확신하면 백업을 정리하거나 안전한 장소에 보관하는 것을 잊지 마십시오.

답변2

shredLinux에서 임의성의 빠른 소스로, 블록 장치를 한 번에 덮어쓰는 데 유용하지만( /dev/*random너무 느린 것과는 반대로) 단일 파일을 덮어쓸 때는 특별히 유용하지 않습니다. 파일 시스템 자체는 이전 복사본이 어디에 저장되어 있는지 모르므로 전체 덮어쓰기가 불가능합니다.

방금 3개의 파일을 생성 및 삭제한 후 1GB 이미지에서 ext4를 사용하여 시도한 다음 Zerofile로 채운 다음 그 위에 Linux 소스 트리를 추출했습니다... 각 단계 사이의 동기화/재설치를 포함하여 원본 파일 이름이 아직 남아 있습니다.

그래서 저는 이런 명령을 생각해냈습니다.

mkdir filenamescrubbing
cd filenamescrubbing
dd if=/dev/zero bs=1M | split -b 4096 -a 254

이렇게 하면 매우 긴 이름을 가진 많은 수의 파일이 생성될 수 있습니다(파일 시스템에서 256자보다 긴 파일 이름을 허용하는 경우 -a에 더 큰 값 사용). 공간(더 작은 -b 값 사용) 또는 inode가 소진될 때까지.

사용 가능한 각 inode에 대해 새 파일 이름을 생성하면 저장된 위치에 관계없이 모든 파일 이름이 지워지기 때문에 파일 이름이 제거됩니다.

물론, 이 접근 방식은 사용 가능한 공간을 0으로 채우는 것만큼 어리석습니다. 실제로 작동한다고 100% 보장할 수는 없습니다(파일 수가 많은 경우).

grep -a -b --only-matching yourfilename /dev/yourdevice파일 시스템이 단순히 파일 이름을 저장한다고 가정하면 개별 파일 이름을 확인할 수 있습니다. 장치가 손상될 위험이 있는 경우 sed장치에서 직접 교체 등을 수행할 수도 있습니다.

전체 디스크 암호화는 좋은 일이 될 수 있습니다.

관련 정보