Domanda

  

Dalla Rivista cablata :

     

... l'hack di Palin non ne ha richiesto   vera abilità. Invece, l'hacker semplicemente   resettare la password di Palin usando lei   data di nascita, codice postale e informazioni   su dove ha incontrato il coniuge - il   domanda di sicurezza sul suo account Yahoo   account, a cui è stato risposto (Wasilla   Alto) con una semplice ricerca su Google.

Non possiamo fidarci di tale domande di sicurezza per ripristinare le password dimenticate.
Come si progetta un sistema migliore?

È stato utile?

Soluzione

La comunicazione fuori banda è la strada da percorrere.

Ad esempio, l'invio di una password temporanea in SMS può essere accettabile (a seconda del sistema). L'ho visto implementato spesso dalle telecomunicazioni, dove gli SMS sono economici / gratuiti / parte del business e il numero di cellulare dell'utente è pre-registrato ...

Le banche spesso richiedono una telefonata da / verso un numero specifico, ma personalmente non sono troppo pazzo per questo ....

E ovviamente, a seconda del sistema, anche il forzare l'utente a entrare nella filiale per identificarsi personalmente può funzionare (infastidire regalmente l'utente).

In conclusione, NON creare un canale più debole per aggirare i requisiti di password complesse.

Altri suggerimenti

L'insicurezza delle cosiddette "domande di sicurezza" è noto da molto tempo. Come Bruce Schneier dice :

  

Il risultato è che il normale protocollo di sicurezza (password) ricade su un protocollo molto meno sicuro (domande segrete). E la sicurezza dell'intero sistema ne risente.

     

Cosa si può fare? La mia solita tecnica è quella di digitare una risposta completamente casuale - schiaffo pazzamente alla tastiera per qualche secondo - e poi me ne dimentico. Ciò garantisce che alcuni utenti malintenzionati non possano ignorare la mia password e provare a indovinare la risposta alla mia domanda segreta, ma è piuttosto spiacevole se dimentico la mia password. L'unica volta che mi è successo, ho dovuto chiamare l'azienda per ottenere la reimpostazione della password e della domanda. (Onestamente, non ricordo come mi sono autenticato dal rappresentante del servizio clienti all'altro capo della linea telefonica.)

Penso che la tecnica migliore sia semplicemente inviare una e-mail con un link che possano usare per generare una nuova password casuale all'account e-mail che l'utente originariamente ha usato per registrarsi. Se non hanno richiesto una nuova password, possono semplicemente ignorarla e continuare a utilizzare quella vecchia. Come altri hanno sottolineato, questo non avrebbe necessariamente aiutato Yahoo, dal momento che stavano eseguendo un servizio di posta elettronica, ma per la maggior parte degli altri servizi la posta elettronica è una misura di autenticazione decente (in effetti, si elimina il problema di autenticazione sul provider di posta elettronica dell'utente).

Ovviamente, potresti semplicemente usare OpenID.

Dopo aver visto molti poster che suggeriscono e-mail, tutto ciò che posso suggerire è NON FARE utilizzare l'e-mail come linea di difesa.

Compromettere l'account e-mail di somebodys può essere relativamente semplice. Molti servizi di posta elettronica basati su Web NON FARE forniscono una vera sicurezza, e anche se offrono SSL, spesso non è predefinito e continui a fare affidamento sulla debolezza del e-mail password per proteggere l'utente (che a sua volta ha un meccanismo di reimpostazione il più delle volte).

L'email è una delle tecnologie più insicure e ci sono buoni motivi per cui è davvero una cattiva idea inviare informazioni come i dettagli della carta di credito. Di solito sono trasmessi tra server in testo normale e, altrettanto spesso, tra server e client desktop ugualmente non crittografati, e tutto ciò che serve è un filo fiuto per ottenere l'URL di ripristino e attivarlo. (Non dire che sono paranoico, perché le banche usano la crittografia SSL per un buono . Come puoi fidarti che i dispositivi fisici 20-200 sulla rotta abbiano buone intenzioni?)

Una volta ottenuti i dati di ripristino, è possibile reimpostare la password, quindi modificare il (loro) indirizzo e-mail e avere il controllo permanente del proprio account (succede sempre).

E se ottengono il tuo account e-mail, tutto quello che devono fare è sfogliare la tua casella di posta per scoprire a chi sei abbonato, quindi reimpostare facilmente la password SU TUTTI

Quindi ora, usando la sicurezza basata su e-mail, può portare a una debolezza propizia della sicurezza !. Sono sicuro che sia utile !.

La domanda che mi viene posta è quella che immagino sia quasi impossibile da fare solo con il software. Questo è il motivo per cui abbiamo un'autenticazione a 2 fattori con dongle hardware che rispondono alle sfide con la loro unica firma della chiave privata, e solo se perdi quello sei fregato e quindi devi affrontare un essere umano (oh no) per ottenere un nuovo.

'dipende' dal 'sistema'.

  • Se sei una banca o un fornitore di carte di credito, hai già emesso un token fisico per il cliente su cui puoi convalidare e altro ancora.

  • Se sei un sito di e-commerce, chiedi alcune transazioni recenti -importi esatti, numero di carta di credito utilizzato ecc.

  • Se sei come Yahoo, un approccio automatico che userei è di inviare un codice di attivazione tramite una telefonata o un messaggio di testo al cellulare telefono insieme ad altre domande e risposte di base.

Jay

Chiedi all'utente di inserire 3 domande e risposte. Quando richiedono un reset, presentano loro un menu a discesa di 5 domande, una se è casuale dalle 3 che hanno inserito. Quindi invia un'email di conferma per reimpostare effettivamente la password.

Ovviamente, nulla sarà veramente "a prova di hacker".

Elimina completamente le domande di sicurezza (in). Sono una falla di sicurezza così ovvia che in realtà sono un po 'sorpreso che ci sia voluto tanto tempo per creare un incidente grave (ben pubblicizzato).

Fino a quando non scompaiono, continuerò a dire ai siti Web che li usano che sono andato a " n4weu6vyeli4u5t " liceo ...

Quando gli utenti sono coinvolti (e soprattutto anche quando non lo sono) non c'è sicurezza; c'è solo l'illusione della sicurezza. Non puoi fare molto al riguardo. Potresti avere domande di sicurezza "meno comuni" ma anche loro sono inclini allo sfruttamento poiché alcune persone mettono tutto sotto gli occhi del pubblico.

I canali secondari come l'e-mail offrono una soluzione ragionevole al problema. Se l'utente richiede una reimpostazione della password, è possibile inviare loro un token di reimpostazione della password. Ancora non perfetto, come altri hanno già detto, ma sfruttarlo richiederebbe all'autore dell'attacco di trovarsi da qualche parte nel campo visivo tra il sito Web, il suo MTA e gli utenti MUA. È tecnicamente semplice, ma suggerisco che la realtà è che è troppo lavoro / rischio per loro di disturbare chiunque tranne individui di alto profilo.

Richiedere all'utente di fornire chiavi pubbliche SSL o GPG al momento della creazione dell'account sarà di grande aiuto, ma gli utenti che non sono a conoscenza non potranno sapere quali cose sono tanto meno in grado di mantenere le loro chiavi private al sicuro e sottoposte a backup, quindi non possono " perderli.

Chiedere all'utente di fornire una seconda password di emergenza (un po 'come PIN / PUK sulle carte SIM del telefono cellulare) potrebbe essere d'aiuto, ma è probabile che l'utente utilizzi la stessa password due volte o dimentichi anche la seconda password.

Risposta breve, sei SOL a meno che tu non voglia educare i tuoi utenti sulla sicurezza e poi colpirli con un cluestick fino a quando non si rendono conto che è necessario essere sicuri e la leggera quantità di lavoro extra non è semplicemente lì per essere un dolore nel culo.

L'autenticazione di tutto tramite l'invio di e-mail è una soluzione ragionevolmente efficace. (anche se in questo caso potrebbe non essere realizzabile per Yahoo :)).

Invece di fare casini con domande sulla sicurezza o altri mezzi per recuperare le password, rispondi semplicemente alle richieste di recupero password inviando un'email a un account di posta elettronica predefinito con un link di autorizzazione. Da lì puoi cambiare le password, o qualunque cosa tu debba fare (mai INVIARE mai la password - dovresti comunque conservarla sempre come hash salato, cambiarla sempre. Quindi se l'account e-mail è stato compromesso, almeno c'è qualche indicazione per l'utente a cui è stato effettuato l'accesso agli altri loro servizi)

La vera risposta è che non esiste un modo infallibile per tenere fuori gli hacker. Odio le domande di sicurezza, ma se hai intenzione di usarle, consenti le domande di sicurezza definite dall'utente. Come utente, se devo avere una domanda di sicurezza su un sito per configurare un account, mi piace molto avere la possibilità di impostare la mia domanda di sicurezza per consentirmi di fare qualcosa a cui solo io so rispondere. Non deve nemmeno essere una vera domanda in questo caso. Ma un account utente è quindi sicuro quanto la stupidità dell'utente e il fatto che molti utenti useranno qualcosa come "domanda"? e " rispondi! " o qualcosa di altrettanto stupido. Non puoi salvare gli utenti dalla loro stessa stupidità.

Trattare queste domande di sicurezza come qualcosa che in realtà è un'autenticazione a due fattori è totalmente fuorviante. Da articoli spuri letti prima, quando alcuni siti (banche) dovevano avere "l'autenticazione a due fattori" hanno iniziato a implementarlo come un modo economico per farlo. Bruce Schneier ne ha parlato un po '[da tempo] [1].

I fattori multipli sono le cose migliori che non sono la stessa cosa. Non dovrebbe essere tutto ciò che "conosci". ma qualcosa che conosci e qualcosa che hai, ecc. Qui entrano in gioco i token di autenticazione hardware, le smart card e altri dispositivi simili.

[1]: http://www.schneier.com /blog/archives/2005/03/the_failure_of.html Il fallimento dell'autenticazione a due fattori

quando non è un sistema di posta elettronica, inviare loro tramite e-mail un collegamento a una pagina protetta, con un hash che deve tornare nella stringa di query per reimpostare la password.

Quindi, se qualcuno provasse a reimpostare la password, lo sapresti e non sarebbero in grado di indovinare potenzialmente l'hash.

Utilizziamo 2 guide moltiplicate insieme, rappresentate come esadecimali.

Bene, per uno non dovrebbe reimpostare direttamente la password ma inviare un'e-mail con un link per reimpostare la password. In questo modo avrebbe ricevuto l'e-mail e saputo che non era stata lei a iniziare il ripristino e che la sua domanda / risposta era stata compromessa.

Nel caso in cui l'indirizzo e-mail non sia più valido, dovrebbe attendere un timeout (alcuni giorni o una settimana) prima di consentire a una nuova e-mail di essere allegata a un account.

Invia un messaggio a un altro account di posta elettronica, o invia un messaggio al proprio telefono cellulare, oppure chiamali o invia un messaggio di posta ordinaria. Tutto ciò che non comporta questioni di registri pubblici o preferenze che possono cambiare in qualsiasi momento.

Buone domande di sicurezza sono un termine improprio. In realtà creano una vulnerabilità in un sistema. Dovremmo chiamarli domande non sicure. Tuttavia, riconoscendo il rischio e il valore che forniscono, "buono" le domande di sicurezza dovrebbero avere 4 caratteristiche:    1. non può essere facilmente indovinato o ricercato (sicuro),    2. non cambia nel tempo (stabile),    3. è memorabile,    4. è definitivo o semplice. Puoi leggere ulteriori informazioni al riguardo su http://www.goodsecurityquestions.com .

Ecco un elenco di domande di sicurezza valide, eque e povere .

Le domande segrete dell'IMO dovrebbero essere usate solo come controllo molto debole con un limite di tempo come parte di un sistema. Es: sistema di reimpostazione della password.

  1. Sei autenticato. Registra il tuo numero di cellulare e la tua risposta segreta (non così segreta).

  2. Hai dimenticato la password.

  3. Hai richiesto di sbloccarlo.

a) Il tuo " Not so secret " domanda ti chiede la "risposta non così segreta". b) Se corretto, un messaggio di testo viene inviato al telefono pre-registrato.

In questo modo, se il tuo telefono viene rubato e anche i controlli come pin / lock sul telefono non funzionano. Avrai comunque un certo grado di offuscamento affinché l'attaccante possa reimpostare la password fino al momento in cui viene segnalato che il telefono viene perso / rubato e può essere disabilitato.

Questo utilizzo è quello che penso sia l'unico scopo per il "non così segreto" domande / risposte.

Quindi direi che c'è un posto in questo mondo per loro e che di solito un sistema deve essere la discussione.

Fornisci solo domande che non sono nel registro pubblico.

invia sempre la reimpostazione della password a un account e-mail registrato (il che è complicato per un account e-mail) o invia un numero PIN a un telefono cellulare registrato o un collegamento a un indirizzo IM, ecc. fondamentalmente, acquisisci alcune informazioni di contatto secondarie al momento della registrazione e utilizzarlo per inviare un link di "reimpostazione della password".

Non permettere mai a nessuno di cambiare direttamente la propria password, assicurati sempre di passare attraverso un passaggio aggiuntivo.

Che ne dici di richiedere agli utenti di inserire la propria domanda di sicurezza e la risposta, e una e-mail secondaria (non quella in cui viene inviato il link di reimpostazione della password). Archivia la domanda di sicurezza e la risposta con hash nel database per quella fase aggiuntiva di sicurezza.

Se l'utente dimentica la sua password, invia il link per reimpostare la password all'indirizzo email principale dell'utente . L'utente quindi fa clic sul collegamento che reindirizza e chiede la domanda di sicurezza e la risposta. Se questo passaggio ha esito positivo, consentire all'utente di reimpostare la propria password. Se l'utente dimentica la domanda / risposta di sicurezza invia un link per reimposta la domanda / risposta di sicurezza alla email secondaria dell'utente.

Se l'attaccante ha accesso a una delle e-mail, sarà comunque inutile senza accesso all'altra (molto improbabile che l'attaccante possa avere accesso a entrambe). So che questo processo richiede molto lavoro extra sia per gli sviluppatori che per gli utenti, ma penso che ne valga la pena. (Forse potremmo offrire agli utenti un'opzione consigliata per attivare la domanda / risposta sulla sicurezza se hanno bisogno di questo ulteriore livello di sicurezza.)

La linea di fondo è che la forza o la debolezza di questo sistema dipenderà fortemente dall'utente. La forza della domanda / risposta di sicurezza e quanto bene le due e-mail sono "slegate" (ovvero, non è possibile ottenere l'accesso a un'e-mail attraverso l'altra) deciderà la forza di questo sistema.

Non so se ci siano problemi con questo modo di farlo, ma se ne avessi, sarei felice se qualcuno potesse segnalarli :)

Preferisco mantenere le cose semplici e usare un approccio al sistema d'onore. Ad esempio, presenterò all'utente qualcosa come,

  

Sei davvero tu? Seleziona: Sì o No .

Genera un hash che contiene il nome utente e la password della persona e invialo tramite Https all'utente come file. L'utente salva il file su disco. È loro responsabilità archiviare questo file in un luogo sicuro. In alternativa puoi inviarlo al loro indirizzo e-mail, ma ciò comporterà una minore sicurezza. Se l'utente dimentica le credenziali di accesso, deve caricare questo file. Una volta che il server verifica il nome utente e la password, viene quindi visualizzata una finestra di dialogo per modificare la password.

A causa dell'evoluzione dei social media, le domande di sicurezza poste dai siti Web sono troppo facili da risolvere. Poiché la maggior parte delle domande sono informazioni personali che sono facilmente disponibili su piattaforme di social media l'una o l'altra. Una delle alternative per evitare l'hacking dell'account è quella di rendere le regole della password rigorose per l'accesso come l'aggiunta di caratteri speciali, numerici, lettere maiuscole ecc. Questo tipo di password è difficile da decodificare e può migliorare la sicurezza in larga misura. Esistono tuttavia nuovi metodi alternativi come l'autenticazione a più fattori, l'accesso senza password, l'autenticazione tramite SMS, ecc. L'autenticazione tramite SMS fa parte dell'autenticazione a più fattori in cui a un utente viene fornito un OTP sul proprio cellulare che deve inserire per per accedere a un sito Web. Questo è un modo sicuro poiché l'accesso al cellulare è limitato all'utente (principalmente). Un altro metodo di autenticazione a più fattori è l'invio di un collegamento di verifica via e-mail per completare il processo di accesso. C'è un blog molto ben scritto su questo argomento su Medium che spiega questo concetto in modo dettagliato.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top