Torniamo sulla nostra rubrica dedicata alla sicurezza informatica. Oggi proporremo tre semplici consigli che ogni software developer dovrebbe seguire durante lo sviluppo del proprio progetto. Infatti le applicazioni moderne sono spesso esposte ai rischi più disparati sopratutto quelle nei device mobile su cui passano informazioni sensibili.
Spesso le buone pratiche di sicurezza non vengono rispettate perché richiedono diverso tempo per essere implementate, tuttavia spendere più tempo per assicurare una migliore qualità del proprio progetto assicura nel lungo periodo una esperienza utente migliore e meno problemi di sviluppo futuri.
Crittografia
Prima di tutto è bene non criptate le password, meglio utilizzare una funzione crittografica di hash. In molti possono pensare che usare un algoritmo di crittografia generico garantisca un buona sicurezza. Tuttavia prima o poi qualcuno potrebbe arrivare a comprendere lo schema di decriptazione riuscendo ad acquisire le password.
Al contrario l'hash è un algoritmo matematico che trasforma dei dati di lunghezza arbitraria (la password) in una stringa binaria di dimensione fissa chiamata appunto valore di hash. Questo valore è estremante difficile da invertire (per ottenere le password) senza la necessaria chiave di decriptazione.
Backdoor
La seconda cosa che un developer non dovrebbe mai fare è inserire delle backdoor nel proprio software. Nei software commerciali ad oggi non pochi vendor utilizzano delle backdoor per un accesso veloce ad un proprio prodotto. Tuttavia queste porte di accesso "segrete" sono facili da trovare per chi sa dove guardare e possono essere facilmente utilizzate per danneggiare l'utente.
Ciò accade specialmente nelle Web application, dove tutto il codice è disponibile aprendo una normale finestra del browser, identificare un link o un funzione particolare è questione di pochi minuti.
Autenticazione
Questo ci porta direttamente al terzo punto del nostro approfondimento, ovvero: autenticare l'utente su ogni pagina e dunque non solo nella login page. Non bisogna cadere nell'errore di effettuare un singolo controllo dei dati d'accesso.
Ad esempio nelle Web application questo può comportare un rischio visto che copiando l'URL di una pagina potrebbe essere possibile accedere ai dati dell'utente senza la richiesta della password. Dunque è sempre bene implementare un controllo delle credenziali d'accesso per ogni pagina.
Via Pete Savage