Progettazione e Realizzazione di un sistema di sicurezza in ambiente IoT con approccio security by design e metodologie Agile
1. PROGETTAZIONE E REALIZZAZIONE IN AMBIENTE IoT
DI UN SISTEMA DI SICUREZZA CON APPROCCIO
SECURITY BY DESIGN E METODOLOGIE AGILE
CANDIDATO
Giovanni Ciandrini
UNIVERSITA’ DI BOLOGNA
SCUOLA DI INGEGNERIA E ARCHITETTURA
Corso di Laurea Magistrale in INGEGNERIA INFORMATICA
RELATORE
Chiar.ma Prof.ssa Rebecca Montanari
CORRELATORE
Dott. Ciro Donato Caiazzo
Anno accademico 2016/2017
Sessione II
(1/18)
2. Outline
• Problematiche di sicurezza in IoT
• Approccio alla sicurezza tramite Agile e Security By Design
• Realizzazione di un sistema di sicurezza sul prototipo MoovBit:
– Verifica di una specifica vulnerabilità
– Realizzazione di una contromisura
– Validazione della contromisura realizzata e spunti per manutenibilità
(2/18)
3. • IoT trend in piena ascesa: problematica della sicurezza.
Da che cosa dipende ?
• Eterogeneità (e scarsa sicurezza) dei dispositivi
• Aumento della superficie d’attacco
• Mancanza di standard (e best-practices)
Perchè necessaria?
• Sicurezza in IoT implica la messa in sicurezza di oggetti
fisici (pacemaker, freni smart car…)
• Attacchi più numerosi e conseguenze più gravi
Sicurezza in IoT
(3/18)
4. • Requisiti di sicurezza definiti a livello prototipale del
sistema software
In che maniera? Metodologie Agile
• Comportamento del software definito dai test
• Visibilità piena dei processi e del sistema IoT-Sicuro
• Dinamicità e pieno adattamento ai requisiti
Stato dell’arte?
• Secure Scrum, Every Sprint, Abuser Stories
Quali metodologie ?
(4/18)
5. Security By Design : in che punto del
processo?
Continuous Delivery Flow
Delivery Team Version Control Build / Unit Test
User Acceptance
Test
RELEASE
Security
Acceptance Test
Automated
acceptance Test
(5/18)
7. Realizzazione di un sistema di sicurezza su
MoovBit
(6/18)
Manomissione Device?
Identificazione
Gateway fidato
8. Approccio Agile: Abuser Stories
Framework (IoT)
NETWORK LEVEL (IoT)
Countermeasure
Funzionalità
completata
ABUSER STORY
(PO)
Application
Test
OK?
Requirements:
Authentication and Tampering prevention
(7/18)
9. Abuser Story :
AS A: malicious entity
I WANT: intercept communication
SO THAT: attack the interaction with a passive eavesdrop, or
eventually conduct a MitM to tamper the IoT device (Tampering)
Test :
GIVEN : IoT device
WHEN: device is able to communicate data with the environment
THEN: device exchange data only with the authorized corrispondent
User Story :
AS A: product owner (PO)
I WANT: find a low energy communication protocol
SO THAT: exchange data between IoT device and other entity
(Gateway)
(8/18)
10. Processo di ricerca vulnerabilità: scelta adottata
Analisi dei requisiti
e della tecnologia
Possibili approcci
Framework
Selection
Analizzatori (sniffer)
di rete
Framework
Open-Source
(9/18)
13. Processo di identificazione di una
contromisura: scelta adottata
Analisi requisiti di
sicurezza da
garantire
Stato dell’arte
sicurezza BLE
Secure Simple
Pairing
Analisi interazione
con il device IoT
Analisi Tecnologica SipHash HSEC
(12/18)
16. HSEC: Validazione Contromisura
A
B
C
Write ARange
send wrong digest
send right digest
Write Arange
Write Arange
Scenery HSec No
HSec
A writeOK writeOK
B writeNOTOK writeOK
C writeNOTOK writeOK
MAC writeOK
(Same MAC)
writeNOTOK
(other MAC)
writeOK
(Same /
other MAC)
(15/18)
18. Conclusioni
Risultati:
• Definizione pratica di un approccio generale per inserimento di requisiti di sicurezza in IoT.
• Realizzazione soluzione (validata su scenari reali) per autenticazione nell’interazione con device IoT.
• Realizzazione pratica del flusso di lavoro in modalità “Abuser Stories”.
Scenari Futuri:
• Realizzazione di nuovi test verso differenti requisiti di sicurezza.
• Estensione dei test con strumenti di analitica Machine Learning (Secure Analytics).
• Automatizzazione dell’esecuzione dei test nel flusso di Continuous Delivery.
• Realizzazione flusso Abuser Stories su altre soluzioni IoT.
Project Roadmap
Gennaio 2018 Febbraio 2018 Marzo 2018 Aprile 2018 Maggio 2018
Estensione Abuser
Stories (su altri
requisiti)
Integrazione
ML
sui test
Automatizzazione Test e
inserimento nella
pipeline di CD
Sviluppo nuove
funzionalità (con
Security Tests)
(17/18)