Skip to main content
European Commission logo print header

Article Category

Story

Article available in the following languages:

Articoli di approfondimento - Tagliare i costi della sicurezza del software in evoluzione

Diventa sempre più importante la sicurezza dei sistemi basati sul software che spesso sono usati molto oltre la loro durata prevista. Fare in modo che il software si evolva per soddisfare nuove esigenze, modelli di uso e pericoli, rimanendo allo stesso tempo sicuro, è una sfida enorme e costosa e i ricercatori finanziati dall'UE se ne stanno occupando con un approccio completamente nuovo di sviluppo, verifica e installazione di software.

Economia digitale icon Economia digitale

Avete appena scaricato una nuova applicazione per lo smartphone? Avete notato la casella che dice "Aggiorna automaticamente"? Ci sono molti motivi per aggiornare il software, per aggiungere nuove funzioni o riparare difetti che potrebbero rendervi una vittima degli hacker. A volte però le funzioni appena scaricate introducono nuove vulnerabilità per la sicurezza. È questo in sostanza il problema dei metodi tradizionali di sviluppo e installazione di software, un compromesso tra sicurezza e flessibilità. "Avete un software sicuro, per esempio. Lo inviate al cliente e poi dovete aggiornarlo, magari per aggiungere nuove funzioni in modo da stare al passo con la concorrenza. Se dovete ricominciare da capo ogni volta e verificare tutto il codice, anche se solo una piccola parte di esso è stata cambiata, andrete incontro a considerevoli costi in termini di tempo e denaro," spiega Fabio Massacci, un professore di scienze dell'informazione presso l'Università degli Studi di Trento in Italia. Il prof. Massacci, coordinatore del progetto SecureChange (1), che si è occupato in particolare di questo problema, indica i browser web come comuni esempi di software regolarmente aggiornati con rigorosi requisiti di sicurezza. Un'analisi condotta dal team di SecureChange, che ha coperto cinque anni e sei aggiornamenti di versione del browser open source Firefox, ha constatato che solo circa un terzo del codice del software cambiava da una versione alla successiva. Inoltre, un numero significativo di vulnerabilità erano ereditate da ogni nuova versione dalla precedente, un fenomeno comune ad altri browser come Chrome e IE. Il bisogno di aggiornamenti veloci significa che c'è meno tempo di fare test e verifiche. È però possibile testare solo le parti nuove e mantenere la sicurezza e l'integrità dell'intero sistema? Sostenuti con 5,1 milioni di euro in finanziamenti alla ricerca da parte della Commissione europea, i ricercatori di SecureChange hanno sviluppato la metodologia, le tecniche e gli strumenti per rendre tutto il ciclo vitale del software, dalla determinazione dei requisiti, passando per la progettazione, lo sviluppo, il collaudo e la verifica, fino all'installazione e l'aggiornamento, più efficiente, più sicuro e molto meno costoso in termini di tempo e denaro. Cambiamento: una priorità "La nostra idea principale era considerare il cambiamento come una priorità, usando regole evolutive per il software per essere sicuri che ogni cambiamento rispetti le proprietà di sicurezza desiderate. In questo modo, si sa automaticamente che ogni modifica soddisfa le proprietà desiderate," dice il Prof. Massacci. Il loro approccio si è concentrato sui cosiddetti "delta", la differenza tra la vecchia e la nuova versione del software. Una serie di strumenti innovativi permette agli sviluppatori e agli ingegneri che si occupano del collaudo di lavorare in modo sincronizzato e identificare automaticamente solo quei pezzi di codice che hanno bisogno di essere testati insieme a quelle proprietà verificate che vengono conservate da una versione a quella successiva. "Gli ingegneri che si occupano del collaudo possono identificare in modo veloce e semplice quali test sono necessari, cos'è nuovo e cos'è obsoleto evitando il bisogno di ri-testare milioni di righe di codice che non sono cambiate e permettendo loro di concentrarsi sulle cose veramente nuove e quindi potenzialmente più rischiose," spiega il prof. Massacci. Quando si tratta di sviluppare, il metodo del team di SecureChange per la progettazione di processi si è concentrato sull'organizzazione dei cambiamenti al nuovo software in modo granulare, piuttosto che sull'integrazione diretta, quindi le modifiche a un elemento del software non influenzano necessariamente gli altri elementi. Significamente questo metodo si adatta a piccoli programmi software fino a sistemi critici su larga scala con milioni di elementi. Questo potenziale è stato sottolineato dai ricercatori di SecureChange in una serie di implmentazioni di prototipi costruiti intorno a casi di studio reali e che coinvolgevano diversi partner industriali. Con Thales in Francia, il team ha esaminato come i loro strumenti e i loro metodi potessero migliorare e velocizzare l'incorporazione di nuove funzioni a un sistema di gestione del traffico aereo che richiedeva cambiamenti dei processi organizzativi e operativi. Con Telefónica in Spagna, i ricercatori hanno implementato una tecnologia prototipo sulle caratteristiche critiche per la sicurezza delle reti domestiche, permettendo alla rete di configurarsi e riconfigurarsi dinamicamente in modo sicuro permettendo l'incorporazione di nuovi dispositivi, come un amico che porta uno smartphone. Con l'azienda francese di sicurezza digitale Gemalto, i ricercatori hanno implementato il sistema con smartcard e gettoni, come quelli usati per pagare il trasporto pubblico e altri servizi, permettendo al software di essere aggiornato in sicurezza. "Prendiamo per esempio una carta Visa o una Mastercard. Sarebbe comodo se si potessero usare anche come smartcard per il treno, ma al momento non è possibile perché ci vorrebbe troppo tempo e sarebbe troppo costoso per un terzo, come l'azienda ferroviaria, passare attraverso tutta la procedura di verificare tutti i cambiamenti che fanno al software della carta. Abbiamo dimostrato che con il nostro approccio queste funzioni possono essere implementate in modo facile e veloce e lo abbiamo provato non solo in teoria ma anche, per la prima volta, in applicazioni pratiche," dice il prof. Massacci. Piani e applicazioni commerciali I partner industriali di SecureChange stanno sfruttando alcuni dei risultati del progetto internamente, dice il coordinatore di SecureChange. Uno strumento chiamato EvoTest, sviluppato dal partner francese SmartTesting, è adesso in produzione commerciale, per esempio, mentre altri strumenti sono stati messi a disposizione come software open source. Il progetto ha contribuito anche alla fondazione di un'azienda derivata, la QE LaB Business Services, dell'Università di Innsbruck e del CAST (Centre for Academic Spin-Offs Tyrol), in Austria. Nel frattempo, lo sviluppo della comunità open source su una parte della tecnologia continuerà per un componente chiamato EMF-IncQuery, che è stato proposto alla Fondazione Eclipse. Il risultato più importante del metodo di SecureChange, se ampiamente adottato dalla comunità di sviluppo software, sarebbe una riduzione drammatica del tempo di commercializzazione di nuovi software o di nuove versioni del software e una considerevole riduzione del costo del collaudo e della verifica del software. Attualmente il collaudo di software rappresenta circa la metà dei costi precedenti al lancio sul mercato di un software e fino al 70% delle spese dopo il lancio, mentre quasi 6 progetti di sviluppo software su 10 non raggiungono le funzionalità deisiderate e oltre 8 su 10 non vengono completati in tempo. "Non solo il rischio di errori e vulnerabilità di sicurezza sarebbe ridotto, ma le aziende potrebbero mettere in commercio i software molto più velocemente, il che permetterebbe loro di cogliere le opportunità del mercato," osserva il prof. Massacci. SecureChange ha ricevuto finanziamenti per la ricerca nell'ambito delle Tecnologie future ed emergenti (FET) del Settimo programma quadro (7° PQ) dell'Unione europea. (1) "Security engineering for lifelong evolvable systems" Link utili: - FET - Sito web "Security engineering for lifelong evolvable systems" - Scheda informativa del progetto SecureChange su CORDIS