Analisi statica di proprietà di sicurezza per Android Things

Data inizio
1 gennaio 2018
Durata (mesi) 
24
Dipartimenti
Informatica
Responsabili (o referenti locali)
Merro Massimo

La sicurezza e l’affidabilità del software embedded sono stati studiati in maniera molto approfondita: una vulnerabilità/errore nel software che gestisce un dispositivo critico può dar luogo a conseguenze molto gravi, sia dal punto di vista logico che fisico. A causa delle risorse limitate di tali dispositivi, il software embedded veniva scritto in linguaggi di basso livello (C o C++). Le tecniche di analisi statica (corrette) sono rapidamente diventate molto diffuse per la verifica di questo tipo di software.
Comunque, negli ultimi anni, la rivoluzione legata all’avvento di IoT ha cambiato drasticamente lo scenario: dispositivi IoT hanno tipicamente molte più risorse dei sistemi embedded, e in più sono connessi a Internet. Così, sebbene non ci sia ancora un linguaggio standard per lo sviluppo di software IoT, Java è uno dei linguaggi candidati ad assumere la leadership nel settore. A tal riguardo, Google ha recentemente introdotto Android Things, un nuovo sistema operativo specificamente progettato per dispositivi IoT.
Tuttavia, nonostante le problematiche di sicurezza e stabilità siano rilevanti per sw IoT quanto per sw embedded, a tutt’oggi non esiste un analizzatore statico per sw IoT.
L’obiettivo di questo progetto è di sviluppare un supporto completo per l’analisi statica di sw IoT scritto in Android Things. In particolare, vogliamo
  • sviluppare un linguaggio di specifica generico rispetto alla piattaforma IoT e linguaggio di programmazione utilizzati, per poter definire l’architettura IoT e i suoi vincoli di privacy e integrity, e
  • applicare questo linguaggio alle componenti più rilevanti del supporto di Android Things (e in particolare Google Weave, la libreria Google di supporto IoT, e il cloud IoT di Google).

Tale lavoro permetterà al team del prof. Merro di applicare le proprie conoscenze semantiche e di sicurezza su sistemi IoT in un scenario pratico e di grande impatto. Julia potrà sviluppare nuove tecniche di analisi statica per applicazioni Android Things nel breve termine, e per software IoT sul lungo periodo. Poiché Julia è uno dei pochi analizzatori statici corretti per sw Java, la sua estensione Android Things potrebbe aprire nuove opportunità rilevanti sia scientifiche che commerciali.

Partecipanti al progetto

Massimo Merro
Professore associato
Aree di ricerca coinvolte dal progetto
Bioinformatica e informatica medica
Applied computing - Computer forensics

Attività

Strutture