Sicurezza attraverso l'oscurità e memorizzazione di password non criptate

2

Che cosa significa esattamente " Sicurezza attraverso l'oscurità " nel contesto dell'accarezzare le password non criptate?

Sto usando un piccolo programma (non lo chiamerò, per non allargare la vergogna abbastanza grande sul suo autore) che usa il mio account Google per alcune attività. Ho notato che memorizza la mia password in un file non crittografato in chiaro. Solo una stringa, chiaramente visibile a tutti, che può trascinarla e rilasciarla nel Blocco note o utilizzare F3 in Total Commander.

Ho aumentato un ticket chiedendo all'autore del programma di risolvere il problema il più presto possibile. Non ho ancora ricevuto alcuna risposta, ma il mio problema ha ricevuto un commento, che include solo il link sopra menzionato alla pagina " Sicurezza attraverso l'oscurità di Wikipedia.

Come dovrei capire questo commento? È pro o contro il mio problema? All'inizio ho pensato, che supporta la mia affermazione di risolvere questo ASAP. Ma poi ho trovato un esempio di Fetchmail di Eric Raymond (in " The Cathedral and the Bazaar "), che ha rifiutato di implementare la crittografia dei file di configurazione (le password sono memorizzate nel file di configurazione per Fetchmail), sostenendo che è in su all'utente per garantire la sicurezza non permettendo a nessuno "dall'esterno" di accedere a quel file di configurazione.

Questa affermazione (o rifiuto) è spesso riportata come esempio di Sicurezza attraverso l'oscurità . E guardando da questo punto di vista, ho torto completamente e l'autore del programma ha ragione. Non deve implementare la crittografia dei file con la mia password, può rimanere lì, archiviata e non crittografata ed è io, che è responsabile per garantire la sicurezza non concedendo a nessuno l'accesso a questo file o eliminandolo ogni volta che smetto di usare quel soft .

(un'altra domanda è, come posso ottenere su sistema non sicuro come Windows?)

Questi sembrano essere in completa opposizione, a quanto mi è stato detto e appreso da anni, quindi mi piacerebbe chiedere sviluppatori più esperti, chi è proprio qui e come esattamente dovrei capire "StO"?

    
posta trejder 13.05.2013 - 09:39
fonte

4 risposte

5

Il problema è che la crittografia dei dati non è necessaria, quando i dati e le chiavi sono conservati sullo stesso sistema.

Quando l'applicazione cripta la tua password, dovrebbe includere l'algoritmo di decrittografia e la chiave di decodifica. Chiunque abbia accesso ai tuoi dati potrebbe semplicemente estrarre l'algoritmo e la chiave dal programma stesso e utilizzarlo per decodificare il file della password.

Ecco perché crittografare la tua password sarebbe solo la sicurezza attraverso l'oscurità. Quando ottengo 10 minuti da solo con il tuo computer, ho solo bisogno di guardare il file con la chiave di crittografia oltre al file che memorizza la tua password per ottenere i tuoi dati di accesso.

L'unico modo in cui ha senso crittografare i dati locali è quando si utilizza una passphrase come chiave di decrittografia che non è memorizzata e deve essere inserita manualmente dall'utente ogni volta che si accede ai dati crittografati. Ma quando gli unici dati protetti da tale schema sono un'altra password, potresti semplicemente inserire l'utente quella invece

.

    
risposta data 03.02.2014 - 11:07
fonte
14

Da Note di progettazione di Eric Raymond su Fetchmail :

Password encryption in .fetchmailrc

The reason there's no facility to store passwords encrypted in the .fetchmailrc file is because this doesn't actually add protection.

Anyone who's acquired the 0600 permissions needed to read your .fetchmailrc file will be able to run fetchmail as you anyway -- and if it's your password they're after, they'd be able to rip the necessary decoder out of the fetchmail code itself to get it.

All .fetchmailrc encryption would do is give a false sense of security to people who don't think very hard.

Il problema qui è che se qualcuno ha accesso al file di configurazione crittografato, hanno già tutto ciò di cui hanno bisogno per impersonarti, poiché l'unica altra cosa di cui hanno bisogno è fetchmail stesso. Pertanto l'implementazione della crittografia della password su fetchmail è in effetti "sicurezza attraverso l'oscurità" e completamente inutile.

Sospetto che sia ciò che intendeva il commentatore. Indipendentemente da ciò, non dovresti perdere il sonno nel commento e aspettare che gli sviluppatori rispondano ufficialmente. Se si rifiutano di crittografare la password, è possibile inviare una richiesta di funzionalità di follow-up chiedendo un modo per utilizzare lo strumento senza memorizzare la password (su disco).

    
risposta data 13.05.2013 - 10:02
fonte
6

"Sicurezza attraverso l'oscurità" si riferisce al tentativo errato di fornire sicurezza mantenendo i dettagli di un meccanismo meccanismo (algoritmi, schemi di cifratura, protocolli, ecc.). Questo è generalmente considerato una cattiva pratica. I professionisti della sicurezza dovrebbero sempre presumere che il nemico conosca tutti i dettagli dei loro meccanismi e costruisca sistemi che rimangono al sicuro anche allora.

Ma le password, i token, ecc. dovrebbero ovviamente essere tenuti segreti, in realtà sono le sole parti dei sistemi sicuri che dovrebbero essere considerate segrete.

Il principio supporta quindi il tuo punto di vista . Ma questo è Internet! È del tutto possibile, che qualcuno fraintenda questo termine abbastanza male, da pensare che rifiuta il tuo biglietto.

    
risposta data 13.05.2013 - 09:44
fonte
1

Come tutti qui, sono pienamente d'accordo che l'oscurità non è una soluzione per memorizzare la password. Tuttavia, vorrei sottolineare che esiste un'altra soluzione, non basata sull'oscurità, che può, più o meno, raggiungere l'obiettivo desiderato.

L'idea è semplice: crittografare la password usando uno strumento come PGP. Questo tipo di strumento richiede una passphrase master la prima volta che è necessario eseguire PGP, quindi mantiene in memoria il segreto e può decrittografare tutti i file desiderati finché il computer è acceso.

Svantaggi:

  • devi digitare una password la prima volta che devi chiamare lo strumento PGP
  • l'utente deve configurare lo strumento PGP a un certo punto

Vantaggi:

  • è sicuro fino a quando l'attaccante non ha accesso alla memoria RAM (volatile) (che è ovviamente il caso quando fai un backup)
  • anche se è necessario digitare la passphrase PGP all'inizio, è possibile utilizzare la stessa chiave PGP per tutte le applicazioni che ne avrebbero bisogno, quindi non è davvero un grosso problema digitare una volta la password

Quindi per me, il modo migliore per progettare strumenti che devono memorizzare la password è:

  • fornisce un modo per gli utenti che non si preoccupano della sicurezza e preferiscono la semplicità, memorizzando per impostazione predefinita la password come testo chiaro
  • fornisce un modo per gli utenti che si preoccupano della sicurezza di fornire una riga di comando che ottenga la password. In questo modo, l'utente può fornire un comando che chiamerebbe PGP con la buona chiave sul buon file

Se solo fetchmail è stato progettato in questo modo ...

    
risposta data 28.03.2018 - 20:20
fonte

Leggi altre domande sui tag