Una corretta gestione della qualità applicativa significa sviluppare soluzioni intrinsecamente sicure e, quindi, implementare processi e soluzioni che consentono di identificare le vulnerabilità delle applicazioni web in ogni fase del loro ciclo di vita. Per capire come le aziende italiane si stanno muovendo in quest’area ZeroUno ha realizzato l’indagine “Application Security, la protezione delle applicazioni in ogni fase del loro ciclo di vita” che si inserisce in un ciclo di tre inchieste dedicate alla misurazione della qualità e le prestazioni dei sistemi informativi aziendali realizzate, in partnership con HP, nell’ambito dell’Osservatorio IT&Quality Governance.
I risultati dell’indagine “Application Security” , che si è svolta online nei mesi di febbraio-marzo 2009 e alla quale hanno risposto 83 aziende, sono stati elaborati e analizzati da Matteo Marzotto, docente Unit SI di Sda Bocconi, School of Management.
Caratteristiche del campione
Il campione presenta un buon mix dei partecipanti, ben distribuiti rispetto al settore di appartenenza dell’azienda, con una certa prevalenza di operatori dell’industria manifatturiera (27%). Riguardo la variabile dimensionale, il campione rappresenta tutte le categorie (Pmi 42%, Medie 28% e Grandi aziende 30%); è da sottolineare l’ampia partecipazione di aziende di grandi dimensioni (e, presumibilmente, più complesse e strutturate), con tutta probabilità principale target potenziale dei sistemi di gestione dell’Application Security.
Per quanto concerne il profilo professionale dei rispondenti, anche in questo caso è possibile affermare che il campione ben rappresenta la varietà delle figure professionali presenti in azienda (con un 54% di personale Ict e il 46% di personale non Ict).
I risultati riguardanti la scala gerarchica nella quale si colloca il responsabile Ict (dove nel 66% dei casi riporta direttamente ai vertici aziendali) sono coerenti con quelli di altre ricerche che testimoniano l’evoluzione del ruolo del responsabile IT. Dall’analisi per dimensione aziendale, com’era lecito attendersi, è rilevabile una maggiore distanza tra vertice aziendale e direzione sistemi informativi nelle aziende oltre i 1.000 dipendenti.
È poi risultata una tendenza molto limitata il ricorso all’outsourcing: quasi il 75% delle aziende gestisce sia l’infrastruttura hardware sia il portafoglio applicativo “in house” e appena il 14% ha deciso di esternalizzare la gestione del portafoglio applicativo; quasi un quarto del campione (24%) ricorre invece a terze parti per la gestione dell’infrastruttura hardware.
Questa tendenza allo sviluppo applicativo interno è strettamente correlata con il grado di personalizzazione delle applicazioni stesse, con un impatto diretto sulla necessità da parte dell’azienda di gestire in prima persona la sicurezza applicativa, necessità che aumenta al crescere della tendenza allo sviluppo interno (in tal caso è più difficile demandarne la gestione esternamente).
Figura 1: Grado di strutturazione del processo di gestione del ciclo di vita del software
(cliccare sull’immagine per ingrandirla)
Gestione del ciclo di vita del software
L’indagine è poi passata ad analizzare il grado di strutturazione e formalizzazione del ciclo di vita del software sviluppato internamente (figura 1). L’analisi è utile considerando l’assunto in base al quale i tool di gestione dell’Application Security possano essere impiegati con maggiore efficacia laddove esistano processi di gestione dello sviluppo, implementazione e gestione del software ben strutturati, misurabili e, di conseguenza, controllabili. Inoltre è ipotizzabile che esista una relazione diretta tra la cultura alla gestione strutturata del ciclo di vita del software e la propensione all’impiego di strumenti per il controllo della qualità e della sicurezza del software stesso.
Il panorama che emerge è piuttosto chiaro e identifica una situazione in cui solo un quarto del campione (24%) afferma di avere un processo di gestione del ciclo di vita strutturato e sempre applicato; un ulteriore 17% afferma di aver definito un processo strutturato, ma non universalmente applicato; si può invece affermare che ben il 59% dei rispondenti, di fatto, non gestisce in modo controllabile il proprio sviluppo applicativo interno, rendendo molto difficile individuarne vulnerabilità e garantirne la sicurezza/qualità.
La situazione non muta significativamente, di conseguenza, anche relativamente alla documentazione del processo di sviluppo, che solo nel 25% casi è standardizzato, copre tutte le fasi del ciclo di vita e viene applicato su tutti i progetti.
L’analisi sulla maturità dei processi di gestione fornisce un quadro coerente anche andando ad analizzare la presenza di attributi misurabili in grado di definire la qualità del software sviluppato (solo il 19% delle aziende afferma di averli definiti come requisito non funzionale su tutti i software sviluppati internamente) e la modalità di esecuzione dei test sulle applicazioni stesse (solo per il 29% i test rappresentano un processo continuo lungo tutto il ciclo di vita del software, mentre per il restante 71% sono prerogativa solo della fase di sviluppo).
Figura 2: Valutazione della pervasività della sicurezza
(cliccare sull’immagine per ingrandirla)
Sicurezza applicativa
Con una valutazione media sulla criticità dell’Information Security di 3,8 su una scala da 1 a 5, l’indagine evidenzia che la problematica della sicurezza è fortemente sentita in tutte le aziende, con una percezione maggiore al crescere delle dimensioni aziendali. Coerentemente con con questa tendenza, anche nel caso dell’Application Security è largamente diffusa la convinzione che debba essere un processo continuo e pervasivo lungo tutto il ciclo di vita del software (figura 2). Diversamente, si otterrebbe una situazione di sicurezza applicata a “macchia di leopardo”, allineando il grado di sicurezza globale del sistema al grado di sicurezza del suo anello più debole.
Figura 3: Fiducia rispetto alla sicurezza delle applicazioni sviluppate internamente e da terze parti
(cliccare sull’immagine per ingrandirla)
L’analisi dei principali ostacoli nella gestione efficace della sicurezza applicativa (figura 3) fa emergere come i limiti maggiori non vengano indicati nelle problematiche tecniche (tool, dinamismo tecnologie e minacce), ma nell’organizzazione dell’azienda stessa, che frequentemente presenta limiti culturali che portano alla mancanza di politiche e standard condivisi, insufficienza delle risorse stanziabili e mancanza di competenze specifiche.
Figura 4: Fiducia rispetto alla sicurezza delle applicazioni sviluppate internamente e da terze parti
(cliccare sull’immagine per ingrandirla)
L’analisi della fiducia rispetto alla sicurezza del portafoglio applicativo utilizzato in azienda (figura 4), conferma la sensazione di falsa sicurezza indotta da una gestione poco formalizzata del ciclo di vita del software e del sistema di gestione della sicurezza. Nonostante la scarsità di strumenti formalizzati per la misurazione della sicurezza, i rispondenti sono in larghissima parte fiduciosi rispetto alla sicurezza delle proprie applicazioni, indipendentemente dal fatto che siano state sviluppate internamente o esternamente.
La scarsa formalizzazione degli incidenti di sicurezza occorsi alle applicazioni impiegate (assenza di knowledge base strutturate) contribuisce ad alimentare la sensazione di scarso rischio. Questa potrebbe essere interpretata come una spiegazione della scarsa diffusione degli strumenti di gestione di Application Security nel campione di riferimento
Un altro dato interessante emerso riguarda il fatto che, sebbene l’evoluzione delle minacce richieda una continua verifica delle relative vulnerabilità, solo per il 23% delle aziende rispondenti l’attività di test sulla sicurezza applicativa viene considerata un processo continuo; tra le aziende di piccole e medie dimensioni, per quasi il 60% dei rispondenti l’attività di test è addirittura sporadica o inesistente.
Nel caso in cui vengano effettuati test sulla sicurezza della applicazioni utilizzate, nella maggior parte dei casi l’esito viene registrato su supporti mediante i quali difficilmente è possibile accumulare esperienza e generare prassi consolidate di reazione agli incidenti (folgli excel). È molto limitato il ricorso a sistemi di diagnosi e risoluzione dei problemi e a knowledge base.
La gestione poco strutturata dell’informazione, oltre a rendere difficile il processo di apprendimento e limitare la capacità di reazione, rischia di dare poco risalto agli incidenti e generare percezioni di eccessiva (e a volte immotivata) fiducia nella robustezza di sistemi e applicazioni.
Figura 5: Caretteristiche rilevanti nella scelta di un sistema per la gestione dell’Application Security (per dimensione aziendale)
(cliccare sull’immagine per ingrandirla)
Infine, nella scelta di un tool di Application Security (figura 5), coerentemente con quanto analizzato in merito alla necessità di evitare l’implementazione di sistemi di sicurezza a “macchia di leopardo”, le caratteristiche che emergono come maggiormente rilevanti sono il supporto dell’intero ciclo di vita del software e la frequenza degli aggiornamenti rispetto alle vulnerabilità note dei sistemi. Altra immancabile variabile decisionale è quella relativa al costo di acquisizione della soluzione.
Conclusioni
L’indagine ci consente di trarre alcune interessanti indicazioni circa l’atteggiamento delle aziende sulle tematiche analizzate.
1. La prevalenza della gestione in house dello sviluppo lascerebbe presupporre la capacità di gestione autonoma della sicurezza applicativa, invece, pur rilevando una diffusa valutazione di alta criticità dell’Information Security nell’ambito della gestione del business, si denota una corrispondente scarsa formalizzazione e strutturazione dei processi di gestione della sicurezza stessa.
2. La strumentazione di supporto alla gestione dell’Information security e della sicurezza delle applicazioni aziendali resta uno dei maggiori problemi, per questioni di cultura aziendale, di competenze necessarie e di scarsità di risorse da dedicare (più che a causa di problematiche relative agli aspetti tecnici).
3. Sarebbe d’altronde sorprendente l’implementazione pervasiva di sistemi di Application Security Management in contesti dove è largamente diffusa la gestione non strutturata del ciclo di vita del software. In questo senso, l’implementazione di sistemi di Asm potrebbe consentire, soprattutto alle aziende meno mature in termini di processi di sviluppo software, l’adozione di best practice di mercato.
4. Le aziende di maggiori dimensioni si dimostrano mediamente più mature nella gestione dei processi legati alla gestione del ciclo di vita del software e della sicurezza applicativa, come era prevedibile, ponendosi come probabile target di riferimento per l’adozione o lo sviluppo di tool di Application Security
5. Le variabili maggiormente rilevanti nella decisione di adozione sono: il supporto dell’intero ciclo di vita del software, la frequenza degli aggiornamenti rispetto alle vulnerabilità note dei sistemi e il costo di adozione della soluzione.
* Matteo Marzotto è docente Unit SI di Sda Bocconi, School of Management