Domanda:
Qual è lo scenario di attacco contro il quale i file crittografati forniscono protezione?
Martin Thoma
2020-05-10 16:26:31 UTC
view on stackexchange narkive permalink

Ci sono un paio di file / strumenti che forniscono la crittografia a livello di file. Immagino che PDF e ZIP siano probabilmente i più conosciuti.

Mi chiedo in quale scenario siano effettivamente utili o se sia solo una cattiva soluzione.

Ad esempio, se voglio per essere sicuro che nessun uomo nel mezzo riceva informazioni quando trasferisco un file su Internet, penso che TLS sia la soluzione con cui andare.

Se voglio ottenere un po 'di sicurezza che gli aggressori che ottengono dati il mio laptop quando perdo il dispositivo, penserei alla crittografia completa del disco.

L'unico punto che posso vedere è un attaccante di bassa abilità che ha accesso alla macchina con il file crittografato. Essenzialmente se un amico / familiare ha accesso e non vede accidentalmente qualcosa. Mi manca uno scenario?

Il concetto di crittografia dei file è "sicurezza a riposo".Sei concentrato sulla "sicurezza in transito" e il tuo scenario di "riposo" è limitato interamente al tuo laptop.
@schroeder La crittografia dei file, come gli archivi zip crittografati, può * certamente * essere utile anche per i dati in transito, quando non si ha il controllo sul controllo della trasmissione.
@vidarlo sì, certo, ma il contesto qui è "Ho TLS, non vedo la necessità della crittografia dei file"
Stai pensando oggi.Ma la crittografia a livello di file è molto più vecchia di così, da un tempo in cui né la crittografia dell'intero disco né TLS erano comuni.
Beh si.Se questo era l'unico punto, la crittografia dei file dovrebbe essere deprecata.Ma ci sono state un paio di risposte che dimostrano quanto sia ancora valido oggi.
Otto risposte:
reed
2020-05-10 21:56:25 UTC
view on stackexchange narkive permalink

La crittografia a livello di file può essere utile in diversi casi, ecco alcuni esempi:

  • Invio di dati su canali non sicuri. Hai menzionato TLS e questo è sufficiente quando lo avete. Ma cosa succede se non sei sicuro che ogni nodo utilizzi effettivamente TLS? E ti fidi davvero di ogni nodo? Pensa alle email, ad esempio.
  • Archiviazione dei dati in luoghi non attendibili. Potresti fidarti del tuo disco rigido esterno crittografato, ma per quanto riguarda Google Drive? E il tuo provider di hosting? Se vuoi essere sicuro che nessun altro sia in grado di accedere ai tuoi file (Google, dipendenti del tuo provider di hosting, criminali informatici che riescono a violare quel servizio, ecc.), Dovrai crittografare i tuoi file.
  • Difesa in profondità. La crittografia dell'intero disco proteggerà i tuoi dati quando la tua macchina è spenta, ma cosa succede se un utente malintenzionato afferra il tuo laptop mentre è acceso? Cosa succede se la tua macchina viene infettata e prima che tu noti che tutti i tuoi file sensibili vengano inviati all'attaccante? Con la crittografia a livello di file, l'attaccante non avrà immediatamente accesso al contenuto dei tuoi file sensibili, quindi tali attacchi potrebbero fallire.
"ma cosa succede se un utente malintenzionato afferra il tuo laptop mentre è acceso?" Non aiuta se hai aperto il file.Ma immagino di capire dove stai andando: avendo più livelli di sicurezza, la possibilità che tutti falliscano diminuisce.È questa l'idea della "difesa in profondità"?(+1, btw :-))
"ti fidi davvero di ogni nodo? Pensa alle email": Ho pensato che ci fossero 3 connessioni: dal mittente (S) al provider di posta del mittente (SMP).SMP al provider di posta del destinatario (RMP).RMP al ricevitore (R).Ho il controllo su S-> SMP e parzialmente su SMP-> RMP.Se il mio destinatario ha una scarsa sicurezza, la crittografia dei file non aiuta molto in quanto anche loro hanno bisogno della chiave (sì, conosco la crittografia asimmetrica ... ma è molto più complicato per gli utenti che avere un provider di posta che utilizza TLSsempre).Tuttavia, l'argomento della difesa in profondità è vero qui.
@MartinThoma Con i file crittografati, non è necessario fidarsi di nessuno dei provider di posta, solo delle macchine su cui vengono effettivamente elaborati i file.Supponendo ovviamente che si trasferisca la chiave tramite un altro metodo, come una telefonata.
Sicurezza partizionata, in modo che set di dati diversi abbiano una protezione diversa.
@MartinThoma: Puoi avere il controllo su S-> RMP se vuoi (inclusa l'applicazione di STARTTLS e la convalida della chiave con DANE o qualche altro metodo che consideri appropriato).Non averlo è una scelta per delegare la fiducia al tuo SMP.
@MartinThoma È molto più probabile che il tuo laptop sia aperto che che un file particolare sia aperto.
@MartinThoma - Anche in uno scenario di trasmissione di posta ideale come quello che descrivi, in cui esiste una sola connessione SMTP da SMP a RMP, tali connessioni vengono comunque instradate attraverso un certo numero di sistemi intermedi (a meno che l'host di invio ed entrambi i server di posta non sianotutti sullo stesso segmento di rete).Questi sistemi intermedi sono in grado di registrare o analizzare i pacchetti dei dati in transito attraverso di essi, ottenendo così l'accesso al contenuto della posta elettronica (non crittografata), a meno che i server di posta non utilizzino TLS, che non è onnipresente per le connessioni SMTP.
Non sono davvero così esperto nel campo della crittografia, ma credo che sia anche possibile che la crittografia a livello di file funzioni come una forma di DRM, no?Significa che anche agli utenti che sono legittimamente autorizzati a * visualizzare * il file potrebbe essere impedito di * modificarlo * a causa di schemi di crittografia incorporati?O sono completamente fuori a pranzo qui?
@Steve-O, sì, la crittografia è spesso utilizzata in DRM, ma la crittografia da sola non sarà sufficiente per funzionare come una forma di DRM.Il DRM, per quanto ne so, in pratica si basa su alcune oscurità (software closed-source, moduli hardware difficili da decodificare, ecc.)
@cpast Come esempio del mondo reale, Ross Ulbricht (creatore di Silk Road) è stato catturato con il suo laptop aperto, e gli è stato letteralmente strappato via.https://www.wired.com/2015/04/silk-road-1/
Matija Nalis
2020-05-11 05:12:41 UTC
view on stackexchange narkive permalink

La crittografia dell'intero disco fornisce nessuna protezione di sorta contro gli aggressori con accesso remoto mentre la macchina è alimentata (poiché per definizione FDE richiede che i dati vengano decrittografati a ogni accesso). Quindi, per poter utilizzare la macchina, devi sbloccare tutti i dati .

Al contrario, i file crittografati vengono decrittografati solo su richiesta esplicita dell'utente che fornisce la password . Ciò significa che anche quando la macchina è compromessa, quei file sono protetti fino a quando l'utente non fornisce una password valida, che dà tempo extra per rilevare l'aggressore e proteggerti. Ciò fornisce anche una granularità molto più elevata (poiché la password può essere diversa in ognuno di essi o in base alla sensibilità dei dati o al gruppo di utenti con cui è condivisa), fornendo una maggiore sicurezza tramite principio del minimo privilegio

Ad esempio, le mie ricette di cucina che uso ogni giorno potrebbero essere protette da una password, i miei conti correnti bancari che pago una volta al mese da un'altra e il mio che cambio una volta ogni 10 anni con l'ennesima terza password. Quindi l'attaccante dovrebbe rimanere inosservato per 10 anni se spera di vedere la mia volontà. Con FDE, avrebbe potuto accedervi immediatamente con tutto il resto.

Inoltre, i file crittografati separatamente sono compatibili con il file server condiviso, a cui accedono utenti con privilegi diversi (e quindi conoscono solo un sottoinsieme di password condivise con cui i documenti sono crittografati).

TLS stesso ha molti problemi, come attacchi MiTM o compromessi CA (ti fidi davvero di tutte le CA nel tuo browser web? Di certo non lo faccio per nulla di serio - potresti eliminarli tutti e usa solo la tua CA, che sarebbe sicura, ma nessuno lo fa perché ti impedirebbe di accedere alla tua banca, ecc.).

I file crittografati, d'altra parte, dipendono solo dalla segretezza della password condivisa da te e da altri che hanno bisogno di accedere a quelle informazioni - e su questo hai il controllo completo.

I file crittografati sono anche protetti end-to-end quando li trasmetti, quindi non si preoccupano se il percorso tra te e il destinatario è compromesso. Alleghi file crittografati alla tua email e sai che nessuno può leggerlo a meno che non conosca la password. Se invece ti affidi agli ISP per implementare correttamente TLS in SMTP, stai per essere nel mondo del dolore (SMTP STARTTLS stripping MiTM, fallback SMTP predefinito in testo non crittografato, file archiviati in testo non crittografato sul server IMAP del destinatario e a seconda della sicurezza e buona volontà dei suoi dipendenti scontenti, ecc.)

Inoltre, pensa alla difesa in profondità. Puoi (e dovresti, se ti interessa abbastanza) utilizzare file crittografati e TLS e FDE per ottenere la massima sicurezza.

Vipul Nair
2020-05-10 18:01:06 UTC
view on stackexchange narkive permalink

L'unico punto che posso vedere è un utente malintenzionato con poche abilità che ha accesso alla macchina con il file crittografato. Essenzialmente se un amico / familiare ha accesso e non vede accidentalmente qualcosa. Mi manca uno scenario?

La tua supposizione che l'unico modo in cui un utente malintenzionato possa avere accesso al tuo computer sia essere fisicamente presente è completamente sbagliata, anche se non parlerò delle capacità di tale aggressore, ha ancora molti modi per eseguire codice dannoso nel tuo computer, una volta che può farlo può anche esfiltrare i dati nel suo C2.

Mi chiedo quale scenario stanno effettivamente aiutare con o se è solo una cattiva soluzione.

La crittografia dei dati aiuta nello scenario dell'archiviazione dei dati ed è un concetto di difesa in profondità. Guarda solo l'anno scorso quante aziende sono state violate e se i loro dati sono stati rubati, pensa a tutte le password / numeri di carte di credito archiviati in chiaro. A mio parere, la crittografia dei file dei dati sensibili è un must e dovrebbe essere un modello di minaccia per tutti.

"La tua supposizione che l'unico modo in cui un utente malintenzionato può avere accesso al tuo computer è essere presente fisicamente" - non l'ho mai scritto.Uno scenario che ho pensato è quando l'attaccante può eseguire il codice come root.Ma poi l'attaccante può installare un keylogger e la crittografia dei file è inutile.
"molte aziende sono state violate e i loro dati sono stati rubati": i casi di cui sono a conoscenza sono per lo più iniezioni di SQL / alcuni servizi in esecuzione ed esposizione di dati.Non è di alcun aiuto se i dati vengono crittografati quando sono su disco.
@MartinThoma il collegamento che ho menzionato nella mia risposta è un sito che trova e compila tutti i modi in cui gli aggressori hanno usato per entrare nella rete, spostarsi lateralmente e fare cose nere. Il servizio vulnerabile di SQL injection / exploit non è l'unico modo per farlo.
"Uno scenario che ho pensato è quando l'aggressore può eseguire il codice come root. Ma poi l'attaccante può installare un keylogger e la crittografia dei file è inutile" -Sì, se un utente malintenzionato può semplicemente aspettare che tu lo decifri, può semplicemente prendereanche i dati decrittografati, non c'è una sicurezza al 100% per cominciare, quindi il concetto di difesa in profondità che si incasina da un lato ce n'è un altro per proteggerti (l'attaccante esegue il codice sul tuo sistema, i dati sono ancora crittografati)
@MartinThoma l'aggressore che è temporaneamente in grado di eseguire codice come root significa che l'attaccante può acquisire ed estrarre dati dal tuo computer fino a quando l'attacco non viene rilevato.Se i file sono crittografati a riposo, si presume che vengano decrittografati * raramente * e che ciò probabilmente non accadrà durante la finestra dell'attacco.
matthey
2020-05-10 18:00:43 UTC
view on stackexchange narkive permalink

Hai menzionato la maggior parte di esso, mitm, accesso di familiari / amici ai file, perdita di dispositivi.

Un'altra cosa che la maggior parte delle persone ha trascurato sarebbe sul lato aziendale delle cose, la conformità è un altro fattore da considerare . Politiche di protezione dei dati, ecc.

Che ne dici di ospitare i tuoi file crittografati nell'infrastruttura di un'altra persona o organizzazione? I servizi cloud sono una cosa enorme ora, AWS adotta misure per crittografare & e proteggere i tuoi dati, ma è meglio che tu aggiunga anche il tuo "livello"!

"complience": questa è una cattiva ragione.Solo perché lo dice la legge non significa che aggiunga sicurezza.Penso che Bruce Schneier abbia coniato il termine "concerto per la sicurezza" per le cose che sembrano aiutare, ma in realtà ti fanno sentire al sicuro.Mi vengono in mente immagini come [questa] (https://www.pinterest.de/pin/265853184224878648/).
@Martin, Credo che il termine a cui stai pensando sia "teatro di sicurezza"?
@MartinThoma Per la conformità, non è "teatro di sicurezza".La crittografia è altrettanto reale, ma la differenza è che più persone nell'organizzazione possono avere accesso.Ai fini della conformità, tuttavia, le persone con accesso sono specificatamente identificate come richiedenti l'accesso per svolgere il proprio lavoro e il resto dell'organizzazione che non ne ha bisogno, non ha accesso.I record dei dipendenti potrebbero essere un esempio.
@HarryJohnston Oh, giusto, non posso modificare il mio commento, però :-)
mwapemble
2020-05-11 13:06:02 UTC
view on stackexchange narkive permalink

Dove desideri inviare e-mail o condividere (su un sistema di condivisione file o in linea) in cui non ti fidi o non hai alcuna certezza nella fiducia degli amministratori di messaggistica o del file system? TLS tra server di posta non significa che l'allegato sia crittografato nella posta in arrivo *.

In un ambiente aziendale, ad esempio, potresti voler condividere un rapporto del medico con il tuo manager e il team di medicina del lavoro, ma non con Bob di IT.

Oppure, nell'ambiente attuale, qualcuno potrebbe voler condividere una bozza sensibile per la tua revisione, ma a causa di qualsiasi cosa, tutto ciò che hai a disposizione è Dropbox (non per prendersela con loro e altri servizi sono disponibili. )

  • È presente in molti sistemi di posta elettronica, ma verrebbe automaticamente decrittografata per qualsiasi utente legittimo, in termini di accesso IT, tu e gli amministratori.
real-or-random
2020-05-11 15:30:04 UTC
view on stackexchange narkive permalink

Pensa ai dispositivi sempre accesi. L'esempio numero uno sono i telefoni . Qui, la crittografia dell'intero disco non aiuta molto se il dispositivo cade nelle mani dell'attaccante perché l'unica chiave che consente di decrittografare l'intero disco verrà mantenuta in memoria quando il dispositivo è in tasca. La crittografia basata su file consente un controllo più dettagliato su quali file sono decrittografabili (o tecnicamente parlando, quali chiavi sono disponibili in memoria) in un momento specifico.

Per questo motivo, la crittografia basata su file è effettivamente utilizzato in iOS e in Android. Ciò consente di espellere determinate chiavi per determinati file dalla memoria, ad esempio quando il dispositivo è bloccato. Un post sul blog di Matthew Green spiega tutto questo in dettaglio. Ha qualche anno, quindi potrebbe essere leggermente obsoleto quando si tratta di specifiche di implementazione in iOS e Android, ma le sue considerazioni generali sul modello di minaccia sono ovviamente ancora accurate e pertinenti.

"l'intero disco è uno stato decrittografato quando il dispositivo è in tasca."- è?Pensavo che quelle crittografie funzionassero sui blocchi e decrittassero ciò che è necessario quando viene caricato dal disco in memoria.Sul mio computer, il disco è MOLTO più grande della mia memoria.Dov'è la versione decrittografata quando ho effettuato l'accesso?
Sì, la versione accurata di questo è che la chiave (breve) per decrittografare l'intero disco è tenuta in memoria.Modificherò la risposta per renderlo più chiaro.
Damon
2020-05-12 21:38:40 UTC
view on stackexchange narkive permalink

Sono cose molto diverse, quindi è difficile metterle sotto un unico cofano.

La protezione / crittografia dei PDF è una specie di scherzo, davvero. Tutto sommato, non è fatto per resistere agli attacchi reali. Quindi il "vantaggio" è principalmente quello di impedire al tuo bambino di 8 anni (o al tuo genitore di 80 anni) di leggere un documento. La protezione PDF è molto simile a nascondere l'ID chiamante quando si effettua una telefonata. Il dispositivo è pregato di ottemperare alla tua richiesta di negare all'utente determinate funzionalità. Un software a cui semplicemente non interessa rivelerà il documento.
La crittografia PDF, d'altra parte, è una crittografia effettiva (che rende il testo illeggibile e irrecuperabile). Tranne che ... sfortunatamente, stanno usando solo 40 bit dall'hash della tua password (almeno, questo era il caso l'ultima volta che ho guardato), e 40 bit sono, ehm ... beh ... non proprio fantastico. Non è solo qualcosa che potresti con la forza bruta in teoria, è qualcosa che puoi usare con la forza bruta (senza nemmeno ricorrere all'aiuto di un dizionario) in un lasso di tempo molto ragionevole senza cose speciali. Come in, 2-3 ore su un moderno PC desktop in esecuzione a thread singolo. O, beh, un paio di minuti a tutto gas, se è per questo.

D'altra parte, la crittografia ZIP / 7z è in realtà abbastanza buona. Sebbene sia ancora derivato da una password, utilizza una chiave a 256 bit e la crittografia AES. Abbastanza sicuro, poche password, se ce ne sono, hanno così tanta entropia, quindi ... i 256 bit dovrebbero essere visti come "fino a ...". Ma in generale, per quanto riguarda i limiti dell'implementazione, è abbastanza buono. Il resto è una tua responsabilità.

Ora, qual è il vantaggio quando si trasmettono dati su un canale non sicuro come TLS? Aspetta, ho detto insicuro? In effetti, l'ho fatto.

TLS è sicuro solo presumendo che tu possa fidarti della tua catena di certificati. Il che, sfortunatamente, è il più lontano possibile dalla verità. Non solo molti strumenti antivirus sul computer dell'utente finale installano certificati di root personalizzati e intercettano / decodificano TLS (e, a sua discrezione, inoltrano i dati a terze parti si spera affidabili , ad esempio Tomsk). Non solo le CA vengono compromesse. Non solo diverse agenzie governative sovvertono la catena dei certificati, deliberatamente e sistematicamente, solo per decrittografare il tuo traffico. Esistono aziende (che sono anche Root CAs) che hanno impacchettato l'intera faccenda delle intercettazioni in scatole pronte per l'uso che non richiedono competenze tecniche e le vendono a chiunque stia pagando.

Abbastanza sicuro, se non vuoi (o non puoi permetterti) che qualcuno su Internet legga i tuoi preziosi documenti, la crittografia a livello di file aggiunge un vantaggio perché ora, All'improvviso, l'intercettazione non è più automatica, online in tempo reale e banale. Bene, il vero origliare è ancora ... è solo che ciò che ottieni non è molto significativo. Supponendo una buona password ed escludendo un attacco con chiave inglese, è molto difficile accedere ai dati.

Gli archivi crittografati (non tutti, non necessariamente, ma di solito) hanno anche il vantaggio di nascondere metadati come il nome del file o la dimensione, ovvero non puoi nemmeno dire quale potrebbe essere l'argomento o se vale la pena attaccare. Se invii un file crittografato denominato plan_to_kill_president.doc , puoi essere certo di essere monitorato attentamente (o interrogato) presto, indipendentemente dal fatto che i contenuti possano essere decifrati o meno. Se invii un documento patent_application_fusion_battery.doc , è ovvio per un intercettatore che un attacco alla crittografia può valere la pena. Se invii un file stuff.7z , nessuno può dirlo. Potrebbe essere qualsiasi cosa, o niente. Fatto divertente: due archivi identici crittografati con la stessa password non sono nemmeno identici (questo può essere una sorpresa per utenti ignari!).

E la crittografia completa del disco? Beh, questo è sicuramente una specie di ostacolo per un ladro di laptop o un ladro di auto , ma per il resto ... la triste verità è che se riesci a leggerlo durante il normale operazione, probabilmente anche qualcun altro può farlo. Accedere ai dati mentre si è connessi è, rispetto alla violazione della crittografia, piuttosto facile, quasi banale.
Un file crittografato su un volume crittografato è ancora crittografato, se posso accedervi. Certo, ci sono mezzi per ottenere la password, ma è un ostacolo in più che non è tutto banale.

Se crittografassi un file, userei gpg con la mia chiave `rsa3072`.Immagino che sia salva e quindi posso ignorare tutti gli altri (zip / pdf o qualunque cosa ci possa essere?)
Stavo anche pensando a questo dal punto di vista degli sviluppatori.Forse voglio che i miei utenti che non posso forzare imparino a usare gpg per avere alcuni file critici archiviati crittografati localmente.Come sviluppatore Python, userei [`fernet`] (https://cryptography.io/en/latest/fernet/) (AES in modalità CBC con una chiave a 128 bit per la crittografia; utilizzando il riempimento PKCS7).Supponendo che l'utente scelga una chiave di salvataggio ragionevole (o va bene con la memorizzazione di un file di chiavi generato da un generatore di numeri casuali crittografati), è attualmente considerato salvataggio?
CBC può essere fastidioso (vedere ad esempio https://en.wikipedia.org/wiki/Padding_oracle_attack), ma in questo caso di utilizzo dovrebbe essere perfettamente buono (scenario molto diverso!).Keyfile è un compromesso ragionevolmente buono fintanto che il keyfile stesso è adeguatamente crittografato (nota che i gestori di password come Keepass non sono altro che esattamente questo, solo "password" invece di "chiave", ma è lo stesso).Ovviamente nessun keyfile e una sorta di _magic solution_ invece sarebbe preferibile, ma sfortunatamente non è un approccio _practical_.Personalmente non mi fido molto di RSA perché sebbene la fattorizzazione sia difficile ...
... è una cosa reale, e sta diventando sempre più facile e veloce (e nessuno sa esattamente di informatica quantistica in 5 anni di sicuro).È anche una delle cose che possono essere fatte di nascosto e senza problemi.Estrarre di nascosto la password dal mio cervello, d'altra parte, non è uno scenario realistico nel prossimo futuro.Quindi, questo mi dà una sensazione generale migliore.
Pedro
2020-05-12 13:08:35 UTC
view on stackexchange narkive permalink

La crittografia a livello di file ha i suoi usi, sebbene di solito si basi su password o passphrase che possono essere l'anello più debole nel meccanismo di protezione se sono brevi o facili da indovinare. Se desideri inviare un file a qualcuno, puoi farlo utilizzando la crittografia basata su file e non necessariamente fare affidamento sulla crittografia dei dati in transito. Inoltre, se il file viene intercettato dall'origine o dalla destinazione, sarà più difficile recuperare i commenti.

Al contrario, come hai giustamente sottolineato, la crittografia completa del disco fornisce la garanzia della riservatezza dei dati a riposo. Se il tuo laptop viene rubato, diventa molto difficile estrarre i dati dal dispositivo di archiviazione, sempre a seconda della metodologia e della forza della password o della passphrase. Da quel punto di vista, lo scambio di un particolare file non crittografato avrebbe la sicurezza del trasferimento suscettibile ai protocolli utilizzati e all'archiviazione sul lato di destinazione (e durante il trasferimento di trasferimento poiché alcuni meccanismi di trasferimento di file sono intermediati da servizi cloud). Quindi, per alcuni aspetti, la crittografia completa del disco e la crittografia basata su file non sono garanzie aggiuntive.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...