Ci sono già un sacco di domande su cosa fare quando siti web memorizzano password in testo semplice . Ma questo è un po 'diverso.
Uso un software open source (vedi sotto) per giocare. Richiede un account utente che non sia direttamente collegato a nessun servizio. Il log-in consiste nell'inserire un nome utente e una password in un dialogo, ma tale dialogo fornisce anche un'opzione "Salva password".
Questa opzione salva la password utilizzando un'API progettata per memorizzare le impostazioni in applicazioni multipiattaforma. Ma a causa del fatto che ha lo scopo di salvare le impostazioni non riservate che possono essere modificate al di fuori dell'applicazione, salva i dati in testo normale. E lo fa in luoghi che non richiedono alcuna autorizzazione speciale per accedere. Ad esempio, su Windows l'API memorizza le impostazioni nel registro (in una posizione che anche i non amministratori hanno almeno un accesso di sola lettura).
L'API viene passata la password in testo semplice e quindi memorizza la password in testo semplice. Ciò significa che ora posso eseguire un semplice comando da un prompt non elevato sulla mia macchina e ottenere l'ultima password che ho usato in testo normale.
Inoltre, qualsiasi software sul mio computer può facilmente accedere a queste informazioni. Recentemente ho scritto un piccolo programma che ha aggiornato alcuni file che il software utilizza. Tuttavia, ho iniziato a lamentarmi che il programma non poteva modificare i file anche se li trovava. Si è scoperto che gli utenti non avevano eseguito il programma come amministratore. Ma questo significa che anche se al mio programma non è stato permesso di accedere ai file di gioco del programma, è stato permesso leggere le stesse chiavi di registro che contengono la password in chiaro, anche quando la sicurezza di Windows l'aveva bloccato come programma scaricato. / p>
Ho già sollevato la questione, ma nonostante i miei migliori sforzi, nessuno sembra considerarlo un problema serio (vedi sotto).
Domanda: Sto facendo "molto rumore per nulla", o sto memorizzando la password in testo normale localmente come un problema serio, perché credo che memorizzare la password in testo semplice dovunque è?
Nota: Essendo open source significa che potrei "sistemare" il problema, ma ci sono alcuni problemi:
-
È completamente multipiattaforma (e non è utilizzato alcun codice specifico per piattaforma). La maggior parte dei sistemi che conosco che potrebbero memorizzare la password in modo sicuro relativamente sono altamente dipendenti dalla piattaforma (come DPAPI)
-
Il gruppo di sviluppo principale è estremamente piccolo e non sembra che nessuno di loro capisca l'importanza di proteggere le password. Ho sollevato l'argomento prima, e la risposta che ho ottenuto rende improbabile che un PR avrà alcun risultato. L'unica persona che gestisce un server usando il software che conosco ha spazzato via come me "discutendo per il gusto di litigare". La sua risposta è stata:
"I don't know that I agree that the responsibility falls on the tool, that's like saying we shouldn't build guns cause they can be used in a bad way its up to the person using the tool to take on that responsibility"... "if some one is dumb enough to put there bank account password into [the program] maybe they should consider doing some research into security".
Ho quindi ricordato di aver visto qualcosa sulle password memorizzate con la crittografia, quindi ho cercato di convincerlo che alcuni degli stessi ragionamenti che dettano i database dovrebbero crittografare le password applicate alle password memorizzate localmente. Ma non era d'accordo (sembra che il fatto che le password siano criptate è un po 'di programmazione settoriale del carico):
"the db is publicly accessible [I don't see why it should be that's a whole other issue], thats completely different. your machine shouldnt be sitting out in the world for people to access" ... "once again, if your machine is dangling out in the world with no protection dont come crying"
-
Anche l'utente medio non sembra comprendere la pertinenza, quindi bifrcare il repository e fornire una correzione non faranno nulla. Dato che il software è per un gioco gratuito senza classifica o monetizzazione, non capiscono perché sarei così preoccupato per qualcuno che scopre la mia password (o perché dovrebbero essere). Gli leggermente più esperti si limitano a dire che è colpa di un utente se la loro password non è univoca per quell'account.
-
Non sono d'accordo ci dovrebbe essere una funzione "Salva password" a tutti. Memorizzare le password localmente è notoriamente difficile da eseguire correttamente (anche i sistemi come DPAPI sono tutt'altro che perfetti). Io raramente ritengo che valga la pena di fornire la funzionalità. E soprattutto non vedo il punto per un programma come questo.