Usando `shred` dalla riga di comando


44

Devo cancellare in modo sicuro alcuni file. Ho usato shredsu sistemi Linux prima, quindi mi sono guardato intorno e ho scoperto che shredfa parte del coreutilspacchetto in macports. Ho fatto port install coreutilsl'installazione di coreutils, ma ancora non riesco a trovare shrednella riga di comando.

Come posso shredlavorare sulla riga di comando del mio mac? Se è importante, sto usando Mac OS X 10.7.5 (Lion)


Nota che la sicurezza shreddipende dal filesystem in uso, non so quanto sia efficace su HFS.
Flimm,

1
shred non è efficace sui file system registrati su giornale ed è per questo che non è disponibile. SRM inoltre è risultato non efficace. Basta cancellare normalmente e pregare sembra essere l'unica speranza sui filesystem journaled hfs +
Kevin Johnson,

Veramente?! Potresti per favore parlare del perché non è efficace?
inspector

1
I filesystem con journal registrano le modifiche che verranno apportate prima della scrittura sul disco. Può essere utilizzato per ripristinare dalla corruzione dei file o recuperare i dati che desideri siano stati distrutti. Vedi en.wikipedia.org/wiki/Journaling_file_system
Alex Mooney

Risposte:


27

port install coreutilsaggiunge un prefisso ag ai nomi dei file binari, quindi è shred /opt/local/bin/gshred.


9
brew install coreutilsrende gshreddisponibili per coloro che usano Homebrew.
davidjb,

59

OSX ha un comando integrato srmper rimuovere i file in modo sicuro. Vedi https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/srm.1.html . È inoltre possibile utilizzare rm -Pper sovrascrivere i file con sequenze di byte tre volte.

Con sierra o successive, macOS non include più srm. Ma gli utenti possono installarlo con homebrew:

brew install homebrew/dupes/srm && brew link --force homebrew/dupes/srm

1
Certo, ma shred mi permette di impostare il numero di sovrascritture. Questi strumenti no. Qualche idea su come ottenere questa funzionalità?
inspector

2
+1 Risposta eccellente. Non sapevo che il srmcomando esistesse. Sovrascrive, rinomina e tronca il file prima di eliminarlo. Ciò, oltre ai 7 passaggi conformi agli US DoD (0xF6, 0x00, 0xFF, random, 0x00, 0xFF, random) (opzione -m) garantiscono che il file sia irrecuperabile.
Tulains Córdova,

3
A partire da macOS Sierra, srmnon è più incluso.
3

1
gli utenti macOS possono installare srmcon il comando brew brew install homebrew/dupes/srm.
hd.deman,

1
homebrew/dupesè ora obsoleto. Sembra che sia srmstato rimosso e non migrato homebrew-core.
davidjb,

18

La risposta di @utente495470 è corretta per la domanda posta. Il problema non ha senso srmo shredha senso per i sistemi moderni.

Ciò è dovuto principalmente agli SSD. A differenza dei dischi magnetici, i moderni dischi abilitati per TRIM cancellano automaticamente i dati eliminati in background.

Gli SSD eseguono anche il livellamento dell'usura. Questo rende i tentativi di "sovrascrivere" un file sia inutile (si scriverà in una diversa posizione fisica) sia indesiderabile (contribuisce inutilmente all'usura del disco).

Tutti i Mac forniti con un SSD hanno TRIM abilitato.

L'altro problema è il file system, in particolare i file system con journaling, che può conservare una copia dei dati altrove prima che venga scritto.

Anche su supporti magnetici ciò può causare problemi per entrambi srm:

Tutti gli utenti [..] devono essere consapevoli del fatto che srm funzionerà solo su file system che sovrascrivono i blocchi in atto. In particolare, NON funzionerà su [..] la stragrande maggioranza dei file system registrati su giornale.

E shred:

[..] shred si basa su un presupposto molto importante: che il file system sovrascrive i dati in atto. [..] molti progetti di file system moderni non soddisfano questo presupposto. Le eccezioni includono: file system strutturati nel registro o registrati su giornale [..]

I volumi HFS Plus sono registrati su giornale per impostazione predefinita da Mac OS X v10.3.

Al giorno d'oggi, il modo migliore per "cancellare" i file in modo sicuro è abilitare FileVault (quindi non scrivono mai dischi non crittografati in primo luogo) quindi eliminarli e lasciare che TRIM lo risolva.

Se, per colpo di sfortuna, sei su un supporto magnetico, hai disabilitato il journaling e, per qualche motivo, non riesci a crittografare il disco, le opzioni sono:

  • Utilizzare rm -Pquale sovrascrive i file con 0xff, quindi 0x00e poi di 0xffnuovo
  • Installa coreutilsper gshred(es. brew install coreutils && gshred secrets.txt)
  • srmè stato rimosso da homebrew-dupese homebrew-corema qualcuno ha pubblicato un rubinetto qui che funziona (ad es. brew install khell/homebrew-srm/srm && srm secrets.txt)
  • Distruzione fisica del mezzo :)

Ma immagino che shred vada bene se distruggi l'intera partizione o l'intero disco.
Konstantin,

Intendi come shred /dev/hda? Sì, credo di si. I blocchi che vengono indirizzati dal sistema operativo sono comunque astratti dalla memoria fisica e sono potenzialmente rimappati durante la distruzione. Mi chiedo se qualsiasi livellamento dell'usura e spazio di riserva siano le implementazioni potrebbero fare in modo che questo non funzioni sempre.
Molomby,

+1 per la spiegazione del perché la distruzione non ha senso sugli SSD e il suggerimento di utilizzare FileVault. APFS è registrato su giornale o sappiamo come gestisce la cancellazione dei file? (Probabilmente dovrebbe essere un thread separato!)
Stuart H

1
Sembra esserci il presupposto che l'eliminazione sicura sia necessaria solo per le unità "interne". Le unità collegate sono disponibili in tutte le forme e srm sarebbe appropriato per alcune di esse.
Rondo,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.