Qualche giorno fa leggevo un articolo sulla vulnerabilità dei sistemi software: l'amministrazione comunale di Naperville (Illinois), a causa di una vulnerabilità del loro CMS,  ha dovuto sborsare 760 mila dollari per investigare e risolvere il problema.

Ora non voglio analizzare il livello di sicurezza di quel CMS, ma vorrei piuttosto focalizzarmi su un problema a mio avviso molto più grave: l'educazione alla sicurezza

Noi in studio prediligiamo l'utilizzo di software OpenSource, dove la forza della comunità di sviluppatori che ci sta dietro è sinonimo di sicurezza. Ad esempio Drupal, grazie alla presenza del suo Security Team può vantare un alto livello di sicurezza. Ma questo non vuol dire che il tuo sistema sia sicuro. Possono esistere migliaia di sviluppatori attenti a risolvere in continuazione le vulnerabilità del software che utilizzi, ma se non pianifichi le attività di aggiornamento per mantenerlo in buono stato, il tuo sistema rimane insicuro.

"European Drupal Days" di Milano

"European Drupal Days" di Milano

A Marzo di quest'anno ho partecipato al workshop "Verifying Drupal modules with OWASP ASVS 2014” tenuto da Boy Baukema, durante gli "European Drupal Days" di Milano. In sala eravamo solamente in tre: il relatore, un ragazzo di Treviso ed io. A quanto pare le attività per mantenere un sistema sicuro non vengono considerate con la dovuta serietà. 

Spesso ci si sofferma ad analizzare solo le funzionalità di un progetto tralasciando i requisiti non-funzionali, quelli che Simon Brown chiama "Quality Attributes" nel suo ottimo libro “Software Architecture for Developers”. In pratica si tratta di tutto quello che rappresenta il livello di qualità del proprio progetto in termini di performance, scalabilità e perché no anche in termini di sicurezza

Prima di partire con un progetto quindi bisogna aver chiaro in testa che stanziare un budget per queste attività è un modo per assicurare longevità al proprio progetto ed evitare brutte sorprese: ad esempio costi non programmati per lavori di ristrutturazione (come nel caso di Naperville), perdita di potenziali vendite (nel caso di un e-commerce vittima di un attacco informatico) e da non sottovalutare l'eventuale danno alla reputazione del tuo brand.