so quello che voglio, ma lo voglio ora • Cost saving: team non senior con poca esperienza e senza attitudine a lavorare sotto stress • Time saving: troppi requisiti + troppo codice da scrivere + poco tempo = 0 test https://flic.kr/p/7qaTZM
di un prodotto • Realizzare le funzionalità principali e poi man mano aggiungere solo quello strettamente necessario • Non cadere nella tentazione di fare tutto https://flic.kr/p/8xs5cc
rischio di non eseguire test di security • “Non siamo una banca” non è una scusa; potete essere sotto attacco proprio ora • La sicurezza è nel business e nei processi, la tecnologia è secondaria https://flic.kr/p/3k4LEN
sviluppo sicuro • Come implemento la cifratura? • Che algoritmo di hashing scelgo? • Come si implementa un reset password? • … https://flic.kr/p/bWLxnw
delay = ASAP (sicuro) • Molte parti del SSDLC si possono automatizzare • Concentro i punti di test manuale nei momenti critici e per funzionalità core https://flic.kr/p/i9onV9
in scala da A ad F per • livello di sicurezza perimetrale (threat modeling) • livello di sicurezza infrastrutturale (vulnerability management) • livello di sicurezza applicativa (code review) • livello di sicurezza applicativa (penetration test) http://img.wikinut.com/img/1x91f0yehycqs2ie/jpeg/0/grade-F.jpeg
Censisco i flussi applicativi • Disegno dove sono i server, i DB, i FW perimetrali, i WAF • Indico i protocolli utilizzati • (non è una parte automatizzabile) https://flic.kr/p/fkJPh
scansione automatica • Produco periodicamente un report con le vulnerabilità più critiche • Concordo la mitigazione delle vulnerabilità con le persone che gestiscono quei server • Questo processo porterà ad avere macchine gestite e sicure… nel tempo
di eseguire una code review di un altro software è utopia • Si può automatizzare il calcolo di metriche, la ricerca di API insicure o la taint analysis per cercare cross site scripting o sql injection https://flic.kr/p/64tcvq