2015-12-16 20 views
5

Ho cercato di rilevare password codificate in codice sorgente.Rilevamento password hard coded

Attualmente sto verificando l'assegnazione di variabili e il confronto per gli identificatori con una sottostringa corrispondente a password, pswd.

Ma sta portando a un sacco di falsi positivi, come in questo caso (Lettura password da un file di configurazione)

String PASSWORD_KEY = "server.password"; 
String password = prop.getProperty(PASSWORD_KEY); 

posso bandiera alcune sotto-stringhe come chiave, la posizione, il percorso per il quale posso salta la generazione dell'errore ma a parte questo non riesco a pensare ad un approccio migliore.

Tutti i suggerimenti sono apprezzati.

+0

forse è troppo ampio, ma una bella domanda .... vuole essere un universale o le tue password hanno qualche schema (voglio dire, 'MAIUSCOLO',' LOWERCASE', 'SYMBOLS' obbligatorio ?? –

+0

@JordiCastilla I voglio qualcosa che possa funzionare su basi di codice diverse.I controlli correnti che ho imposto fanno corrispondenze a prescindere dal caso.Ho letto e sto cercando di renderlo più generico in modo da soddisfare diversi stili di codifica –

+0

Quindi se è deciso che tutto le password codificate sarebbero un ** Tipo di stringa **, penso che puoi cercare codice in codice per tutte le stringhe codificate con espressione regolare "*", quindi puoi filtrare le password fuori da esso. –

risposta

0

I casi reali di backdoor nascosti apprendono che il codice è in genere molto più oscuro per utilizzare un nome di variabile che indica lo scopo.

Quindi, per ottenere qualcosa di infallibile, è necessario eseguire un'analisi statica completa e disporre di "intelligenza" nel correttore di codice per comprendere il codice e trovare dove avviene l'autenticazione e quindi tornare indietro per verificare che non vi siano nascosti modi per raggiungere questo

IMHO è più economico assumere qualcuno che faccia recensioni di sicurezza (di sicurezza) piuttosto che provare ad automatizzarlo.