Articoli di approfondimento - Porre un sigillo di sicurezza sull'Internet dei servizi
IoS è una visione del futuro di Internet in cui le informazioni, i dati e le applicazioni software - e gli strumenti per svilupparli - sono sempre accessibili, che siano memorizzati in locale sul proprio dispositivo, nel cloud o che arrivino in tempo reale tramite sensori. Mentre le applicazioni software tradizionali sono progettate principalmente per essere utilizzate in modo isolato, IoS abbatte le barriere, riducendo così i costi e stimolando l'innovazione. Sulla scia del successo del cloud computing, le applicazioni IoS funzionano unendo servizi che sono distribuiti sulla rete, aggregati e consumati in fase di esecuzione in maniera flessibile e guidata dalla domanda. Questo nuovo approccio al software renderà più facile lo sviluppo di applicazioni e servizi, in modo da poter offrire servizi nuovi e innovativi, che oggi non sono possibli. Probabilmente darà un enorme contributo alla strategia dell'UE di rendere il settore del software europeo più competitivo. I servizi IoS possono essere progettati e implementati dai produttori, distribuiti dai fornitori, aggregati da intermediari e utilizzati dai consumatori. Chiunque voglia sviluppare applicazioni, può utilizzare le risorse disponibili nell'Internet dei servizi per farlo, con un piccolo investimento iniziale e la possibilità di costruire sugli sforzi fatti da altre persone. Per molti aspetti IoS risolve i problemi di interoperabilità e di inefficienza che affliggono i sistemi software tradizionali, ma può anche creare nuove vulnerabilità. Come, ad esempio, si può essere sicuri che il servizio che si sta utilizzando sia privo di errori? O che le diverse componenti di diversi sviluppatori che si stanno aggregando in una nuova applicazione siano state tutte testate per le vulnerabilità di sicurezza? "Anche se è sempre difficile quantificare esattamente l'impatto dell'assenza di qualcosa, è chiaro che la mancanza di efficienti tecnologie di convalida della sicurezza abbia rallentato notevolmente l'adozione diffusa dei servizi web da parte dei cittadini, molti dei quali ancora non si fidano di Internet in generale, né dell'Internet dei servizi in particolare", avverte il professor Luca Viganò dell'Università degli Studi di Verona, in Italia. "Non basta quindi sviluppare buoni servizi basati sul web, né sviluppare servizi che si siano dimostrati sicuri o che siano stati convalidati, ma occorre anche un modo per convincere i cittadini che siano effettivamente sicuri e siano stati accuratamente testati. L'esistenza e l'uso di strumenti automatici capaci di porre il loro "sigillo di garanzia" sui servizi di nuova concezione, o sui servizi che sono stati scaricati dal web, potrà certamente garantire una maggiore fiducia". Il prof. Viganò insieme a un team di ricercatori di cinque paesi europei stanno mettendo gli ultimi ritocchi a strumenti per fornire proprio questo tanto richiesto "sigillo di garanzia" sui servizi web. Il loro lavoro, svolto nell'ambito del progetto SPACIOS ("Secure provision and consumption in the Internet of Services") e sostenuto dall'UE con 3,6 milioni di euro di finanziamenti per la ricerca della Commissione europea, combina nuove tecnologie d'avanguardia per i test di sicurezza di penetrazione, test di sicurezza orientati alle vulnerabilità, test di sicurezza basati sulle mutazioni, apprendimento automatico per l'nferenza del modello, controllo del modello e tecniche di estrazione del codice. Uno strumento unico per verificare la sicurezza dei servizi web "È importante notare che esistono tecnologie d'avanguardia per la convalida della sicurezza, ma esse sono in genere utilizzate in isolamento e in fase di produzione, mentre abbiamo bisogno di strumenti che possono essere utilizzati per convalidare i servizi in fase di esecuzione", spiega il prof. Viganò. "Esistono una serie di altri strumenti che si sono rivelati estremamente utili nelle prove di sicurezza, ma nessuno, a nostra conoscenza, riesce a combinare tutte queste tecniche in un unico strumento, utilizzando un unico linguaggio formale in ingresso e in uscita. Riteniamo che lo strumento SPACIOS possieda capacità che nessun altro strumento presenta". In termini grossolanamente semplificati, un utente inizia con una specificazione formale del sistema da testare in cui le sue proprietà vengono specificate come formule logiche. Se non esiste una specificazione formale, lo strumento SPACIOS può generare automaticamente un modello dal codice sorgente. Il modello viene poi testato per le vulnerabilità utilizzando un'innovativa piattaforma di controllo del modello chiamata AVANTSSAR (che il prof. Viganò ha contribuito a sviluppare in un progetto precedente). Se viene individuato un attacco, il controllore del modello emette una traccia di attacco, che può essere utilizzata per generare casi di test per il sistema. Se non viene trovato nessun attacco, il modello viene mutato per creare vulnerabilità standard nelle specifiche e le prove vengono ripetute. Le eventuali tracce di attacco scoperte vengono utilizzate per generare casi di test, che vengono poi di nuovo confrontati con il sistema. Il processo viene ripetuto fino a quando sono stati controllati tutti i parametri e le potenziali vulnerabilità di sicurezza. "Va notato che le diverse componenti dello strumento possono essere usate separatamente, esse sono integrate in una piattaforma Eclipse, che permette all'utente di scegliere cosa esattamente vuole fare", dice il coordinatore di SPACIOS. Il team ha testato lo strumento in diversi scenari applicativi rilevanti per settore con applicazioni reali. Ad esempio, ha testato le vulnerabilità di sicurezza in SAML 2.0 Web Single Sign-on (uno standard emergente che consente a business partner online di autenticare i propri utenti una volta all'interno di un ambiente di identità federata) e in OpenID (un protocollo Single Sign-On aperto basato su web browser e orientato all'utente, che fornisce un modo per autenticare un utente chiedendo di dimostrare che controlla un identificatore univoco). Tra gli altri scenari, il team ha anche applicato lo strumento SPACIOS a una serie di applicazioni web open-source, tra cui una libreria online, un sito per annunci e una directory per dipendenti. Queste applicazioni web sono state precedentemente utilizzate come obiettivi sia per l'analisi del codice sorgente sia per le verifiche di vulnerabilità. Siemens e SAP - partner industriali tedeschi coinvolti nel progetto SPACIOS - hanno anche presentato altri tre scenari applicativi per validare lo strumento: Pervasive Retail (che contiene una nuova piattaforma di gestione di marketing on-demand per creare interattività tra i consumatori, rivenditori e fornitori di prodotti attraverso i telefoni cellulari), Infobase Document Repository (che implementa un sistema di gestione documenti che permette la gestione e condivisione sicura di documenti o file di dati utilizzando i browser web) ed eHealth (basato su sistemi di mash-up che da un lato creano e utilizzano cartelle cliniche elettroniche e dall'altro aggregano altre funzionalità, come ad esempio supporto alle decisioni per il medico, analisi delle immagini e sistemi di fatturazione). Data la vastità dell'Internet dei servizi e la sua probabile rapida espansione nei prossimi anni, i potenziali scenari di applicazione dello strumento SPACIOS sono praticamente infiniti. Se distribuito ampiamente, potrebbe fornire agli utenti una migliore sicurezza e ridurre notevolmente i costi dello sviluppo di servizi web. "L'approccio SPACIOS consentirà un'agevole integrazione nel ciclo di sviluppo dei servizi, dall'analisi in fase di progettazione alla verifica in fase di esecuzione, permettendo così agli sviluppatori di ridurre notevolmente i costi. È difficile fare una stima quantitativa, ma speriamo di riuscire a fornire dei parametri non appena l'integrazione verrà assunta dai partner industriali del progetto", spiega il prof. Viganò. Benché i partner non abbiano piani immediati per la commercializzazione diretta dello strumento, nell'industria viene già usato da Siemens, SAP e altri, dice il prof. Viganò. I partner del progetto stanno anche discutendo la possibilità di un progetto di follow-up per migliorare ulteriormente la tecnologia di verifica di guasti e vulnerabilità. SPACIOS ha ricevuto finanziamenti per la ricerca nell'ambito del Settimo programma quadro ( 7° PQ) dell'Unione europea. Collegamento al progetto su CORDIS: - 7° PQ su CORDIS - Scheda informativa del progetto SPACIOS su CORDIS Collegamento al sito web del progetto: - Sito web del progetto "Secure provision and consumption in the Internet of Services" Altri collegamenti: - Sito web dell'Agenda digitale della Commissione europea