La funzionalità multi-dispositivo di LastPass ne compromette significativamente la sicurezza?

7

Penso che LastPass sia un ottimo prodotto di consumo perché consente agli utenti di utilizzare convenientemente password uniche e solide per ogni sito con cui lo utilizzano. Crittografa localmente, ma il fatto che io possa configurarlo su un computer / dispositivo e poi usarlo su un altro computer / dispositivo sembra indicare che ci deve essere un compromesso sulla sicurezza per la sua facilità di utilizzo. Ad esempio, l'elemento salt dell'algoritmo di derivazione della password deve presumibilmente risiedere sul proprio server piuttosto che sul proprio computer / dispositivo. La mia comprensione è corretta? (Perdonami se qualcosa che ho detto non è informato, non sono un crittografo).

    
posta Dan 24.08.2012 - 17:40
fonte

4 risposte

6

Se stai cercando di confrontare un servizio cloud come LastPass con un'applicazione locale come KeePass, allora sì, c'è un compromesso sulla sicurezza.

Con un'applicazione come KeePass, in cui hai il pieno controllo sull'archiviazione del tuo database delle password (presumendo che tu non stia montando su DropBox o qualcosa del genere), l'unica superficie di attacco di cui ti devi preoccupare è il tuo stesso sistema e i dispositivi su cui è memorizzato il tuo database di password. In generale, questi non sono probabilmente soggetti ad attacchi mirati (o, come i media preferiscono chiamarli, APT ). Se segui le best practice sulla sicurezza del tuo sistema (applica gli aggiornamenti software, usa l'antivirus, tieni un firewall e / o un router correttamente configurato tra te e Internet, ecc.), Il tuo database delle password è probabilmente al sicuro dalle minacce basate su Internet .

Si noti che non sto confrontando le minacce locali (che implicano l'accesso fisico) qui, perché questo è qualcosa che riguarda entrambe le opzioni in modo abbastanza equo - è necessario avere una copia locale del database delle password da qualche parte per usarlo, quindi essere ugualmente vulnerabili alle minacce fisiche indipendentemente dal fatto che si utilizzi una soluzione basata su cloud o locale. Questo non vuol dire che questi sistemi siano particolarmente deboli contro le minacce locali: proteggere il database con una password complessa e l'algoritmo di crittografia in gran parte lo mitiga, ma non è probabile che uno sia molto meglio dell'altro in tali scenari.

Nel caso di LastPass e altri gestori di password basati su cloud, le superfici di attacco e le minacce associate sono molto più grandi. I loro sistemi sono sempre attivi e sono obiettivi di alto profilo e di alto valore. Se qualcuno ha mai totalmente pwns LastPass, non si sa quale tipo di sistemi a cui potrebbe trovare accesso. Mentre sono sicuro che prendono molto seriamente la sicurezza del loro sito, sono probabilmente soggetti a altrettanti attacchi di qualsiasi altro servizio affidabile che è stato violato recentemente. Come si suol dire, non è una questione di se saranno hackerati - solo una questione di quando . Inoltre, ancora devi preoccuparti della sicurezza dei tuoi sistemi che si sincronizzano con LastPass.

LastPass o altre soluzioni basate su clould sono un compromesso di sicurezza per l'usabilità, rispetto alle opzioni gestite localmente come KeePass? Assolutamente. Ne vale la pena? Decidi tu.

EDIT: per chiarire il problema di cosa viene memorizzato sul server di LastPass ...

Non memorizzano solo i dati per l'hashing / salting della password principale sul loro server. Anche se questa è una importante , informazione chiave di cui preoccuparsi, la vera preoccupazione dovrebbe essere che abbiano bisogno di memorizzare tutto ciò che vuoi sincronizzato tra i tuoi dispositivi sui loro sistemi . Cioè, se qualcuno ha mai fatto l'hacking di LastPass e incrina la tua password principale dal loro database, sarà in grado di accedere a tutte le password e altri dettagli che hai sincronizzato tra i tuoi dispositivi senza mai dovendo effettivamente toccare il tuo propri dispositivi.

Con un database memorizzato localmente, come KeePass usa, non devi preoccuparti così tanto di tali attacchi. Questo non vuol dire che sarebbe impossibile per qualcuno penetrare nel tuo database KeePass su Internet. È molto meno probabile che cercheranno di farlo, ed è una molto minaccia più facile per te per mitigare te stesso. (Inoltre, se un utente malintenzionato su Internet può aprire il database KeePass e utilizzare lo stesso sistema per accedere alle cose per cui il database contiene le password, probabilmente si è già abbastanza occupati da non importare comunque).

    
risposta data 24.08.2012 - 18:19
fonte
3

Contro una compromissione una tantum del loro database, LastPass è più sicuro dei perdenti come LinkedIn perché usa un hash della password appropriato (PBKDF2). Ciò significa che ogni tentativo di password ha un certo costo nel tempo della CPU, ad es. 1 secondo su una determinata CPU. (In realtà ti permettono di sintonizzare questo costo da soli). Ci vorrebbero all'incirca 5 giorni CPU per indovinare una passphrase " inglese completamente casuale " di 20 caratteri ... e 1,5 anni di CPU per indovinare uno di 30 caratteri.

Se comprendo correttamente il loro sistema, un compromesso persistente di LastPass non sarebbe peggiore. Che bello.

Fonte: link

Se l'alternativa è usare la stessa password su un gran numero di siti, per avere una speranza di ricordarlo, allora LastPass è molto meglio. Almeno uno di questi siti sarà privo di idee come LinkedIn o Blizzard, e ci si può aspettare che la password venga divulgata ad un certo punto.

    
risposta data 25.08.2012 - 00:43
fonte
0

L'uso di LastPass su più dispositivi non lo rende necessariamente più debole, sebbene non si abbia accesso a metodi di autenticazione a due fattori con alcuni dispositivi. Ad esempio, non posso (facilmente) usare il mio yubikey con il mio telefono. Tuttavia, esistono alcune contromisure che aiutano, ad esempio la possibilità di limitare il login solo da determinati dispositivi mobili o computer affidabili.

Come per i sali, affermano che usano un sale a 256 bit sul server e anche i sali lato client che sono memorizzati localmente, sebbene non dichiarino chiaramente come questi siano sincronizzati tra i dispositivi. Molto probabilmente ogni dispositivo ha il proprio sale locale. Questo potrebbe facilmente essere verificato poiché il codice lato client è tutto visibile in javascript.

Inoltre, come per PBKDF2, eseguono un numero di round a livello locale (usando PBKDF2 e SHA256) prima di inviare l'hash al server, dove vengono eseguiti più round sul lato server. Si potrebbe obiettare che il processo di divisione di questo potrebbe rendere la crittografia più efficace delle soluzioni solo locali. In altre parole, se qualcuno ha compromesso il database locale o il loro database master, ci sarebbero elementi dell'hash (ad esempio, il salt o l'hash derivato della password) che non sarebbero disponibili. In caso di compromissione del server, non conoscono i sali o il numero di cicli utilizzati per creare l'hash SHA256 inviato al server.

    
risposta data 25.08.2012 - 02:18
fonte
0

For example, the salt element of the password derivation algorithm presumably must reside on their server rather than on my own computer/device

PBKDF2 con SHA-256 per il loro hash della password. La tua chiave dati viene calcolata come segue:

DK = sha256("[email protected]" + password)

Questo non viene inviato direttamente a LastPass, viene prima con l'hash:

key = sha256(DK + password)

e memorizzano questo hash con un valore salt sul loro server:

stored_value = sha256(key + 256 bit salt)

Vedi qui per ulteriori dettagli su come LastPass protegge i tuoi dati .

Il compromesso tra un gestore di password che è solo locale, come KeePass, è che i tuoi dati sono "nella nuvola" anziché solo sulla tua macchina locale. Tuttavia, a molte persone piace avere la portabilità, quindi metteranno il loro database KeePass su Dropbox. Tuttavia, la differenza qui è che quando si sblocca il database delle password non si fornisce la chiave a Dropbox.

Con LastPass, dai la tua chiave all'applicazione LastPass locale che la estende e la blocca e poi la invia al server LastPass. LastPass offre anche un'estensione del browser e ti consente di accedere direttamente al sito web. In ogni caso l'hash è calcolato allo stesso modo. Ora, se LastPass fosse stato compromesso in modo tale da poter inviare un nuovo codice lato client per inviare invece la password unhashed all'utente malintenzionato, questo è un tipo di attacco che sarebbe possibile su LastPass ma non su KeePass. Il rischio di tale attacco è molto basso, supponendo che LastPass disponga di una rete protetta e monitorata con sistemi di rilevamento delle intrusioni in atto. Questo è il tuo rischio di giudicare quando utilizzi il software, che è il prezzo che paghi per comodità.

Come dici nella tua domanda, avere il tuo database sincronizzato su più dispositivi aumenta il rischio che siano soggetti ad attacchi. Avere una chiave strong per il tuo account è fondamentale per la sicurezza del tuo database. L'app mobile ti consente inoltre di rimanere connesso e di proteggere l'app dall'accesso tramite PIN o impronta digitale. Ovviamente questo è un livello di sicurezza inferiore rispetto a quello della tua password principale in termini di accesso, tuttavia ci sono anche meno possibilità che qualcun altro vedendo di digitare la tua password principale quando è in pubblico. L'opzione impronta digitale significa anche che se qualcuno ruba il tuo telefono non possono inserire alcun PIN. Avrebbero bisogno di eseguire un attacco di memoria sul telefono per leggere il tuo database e se ciò sia fattibile o meno è sconosciuto.

Inoltre, l'installazione dell'applicazione su molti dispositivi aumenta la possibilità che il malware comprometta la tua password o il database stesso. Puoi proteggere contro qualsiasi snifing della password utilizzando uno strumento di autenticazione Yubikey o altri due fattori, come Google Authenticator. LastPass permettono anche di proteggere i database non in linea con il Yubikey, crittografando la versione locale con l'identificatore pubblico pure come password.

Secondo me LastPass offre una buona sicurezza con ragionevole praticità. Per la maggior parte degli utenti finali, la praticità è fondamentale (vedere cosa ho fatto lì?) Quando si utilizza un prodotto di sicurezza. Penso che ci sia più possibilità di far salire a bordo utenti regolari con la sicurezza, con la comodità di accedere alla propria password da qualsiasi luogo, piuttosto che consentire l'accesso dal proprio PC principale (o memory stick che potrebbero dimenticare o cloud a cui potrebbero non essere mai disturbati impostare). Per gli altri, il rischio aggiuntivo che il loro vault sia detenuto da una terza parte è inaccettabile e andrà lungo la rotta KeePass.

    
risposta data 14.05.2015 - 15:33
fonte

Leggi altre domande sui tag