Modern manufacturing systems are composed by a plethora of network-interconnected computer-controlled systems. Although originally isolated, these systems are nowadays highly integrated, in line with the Industry 4.0 vision. This results in a wide attack surface being open to both casual and sophisticated attackers. In this dissertation, we aim to understand and analyze the security panorama of manufacturing systems. This dissertation is composed of two parts. In the first part, we analyze the threats targeted at industrial control systems used in the manufacturing sector, by designing and deploying low-interaction honeypots to study probing traffic directed towards Internet-exposed systems, as well as high-interaction honeypots to study more sophisticated attacks. In the second part, we analyze the resilience to attacks of industrial control systems used in manufacturing at three levels. First, we study the components of the attack surface of an entire manufacturing system, showing the existence of multiple attack vectors that can act as entry points. Second, we analyze the security of a specific class of devices, “controlled” manufacturing systems: using industrial robots as a case study, we perform a comprehensive experimental analysis, which takes into consideration both the deployment of industrial robots in a typical factory network, and security challenges that arise from the interaction between operators and machines. Third, as manufacturing machines are controlled through sophisticated programming languages, we analyze the security impact of the complexity of such languages, in the context of domain-specific languages for industrial robots. After studying the robot’s language primitives with potential security implications, we implement a prototype static source code analyzer for programs written in two languages (KRL and RAPID), and we validate it by quantifying the presence of unsafe patterns in a set of publicly available programs. Doing so, on the one hand, we show that vulnerable patterns can indeed be found in publicly available RAPID and KRL source code, and, on the other hand, we showcase the effectiveness of such a tool to analyze and vet task programs before commissioning.

I sistemi manufatturieri moderni sono costituiti da molteplici componenti controllati da sistemi computerizzati e connessi tra loro in rete. Sebbene, in origine, questi sistemi siano stati progettati per essere completamente isolati, la loro evoluzione ha fatto sì che ormai essi siano fortemente integrati e connessi anche con sistemi esterni, in linea con il paradigma dell’Industria 4.0. Questa interconnessione costituisce un’ampia superficie di attacco aperta sia ad avversari sofisticati che ad attacchi di massa. Obiettivo di questa tesi è comprendere e analizzare il panorama della sicurezza dei sistemi manifatturieri. Il lavoro è strutturato in due parti. Nella prima parte, si analizzano le principali minacce rivolte a sistemi di controllo utilizzati nel settore manifatturiero attraverso il progetto e l’analisi di dati provenienti da honeypot. A tale proposito, si utilizzano honeypot a bassa interazione per rilevare il traffico di “probing” a sistemi di controllo esposti direttamente a Internet, e honeypot ad alta interazione per lo studio di attacchi più sofisticati. Nella seconda parte di questo lavoro, si analizza invece la resilienza ad attacchi dei moderni sistemi di controllo utilizzati in ambito manifatturiero, secondo tre livelli. In primo luogo, si considerano le componenti della superficie di attacco di un sistema manifatturiero nel suo complesso, mostrando l’esistenza di molteplici vettori utilizzabili come punti di ingresso per un attacco. In secondo luogo, si analizza la sicurezza di una specifica classe di dispositivi, definiti “sistemi manifatturieri controllati”. Utilizzando come caso di studio i robot industriali, si presentano i risultati di un’analisi sperimentale della loro sicurezza che, tra gli altri aspetti, tiene in considerazione sia come i robot sono inseriti all’interno della struttura complessiva di una tipica rete di fabbrica, che le sfide dal punto di vista della sicurezza legate all’interazione tra operatori e macchine. Da ultimo, a partire dal fatto che le macchine manifatturiere sono spesso controllate tramite linguaggi di programmazione specialistici, questo lavoro analizza l’impatto della complessità di questi linguaggi sulla sicurezza dei programmi sviluppati con essi, con riferimento ai linguaggi utilizzati per la programmazione del movimento di un robot industriale. Dopo aver analizzato le primitive di vari linguaggi per la programmazione di robot con implicazioni dal punto di vista della sicurezza, si presenta un prototipo di analizzatore statico, in grado di analizzare codice sorgente scritto per due linguaggi robotici: KRL e RAPID. Tramite questo strumento, si è quantificata la presenza di utilizzi non sicuri di primitive in un insieme di programmi disponibili pubblicamente, mostrando che, da un lato, è possibile riscontrare vulnerabilità in programmi RAPID e KRL e, dall’altro, strumenti di analisi statica possono essere efficaci per l’analisi e la verifica di programmi prima della fase di commissioning.

Security of industrial control systems for manufacturing

POGLIANI, MARCELLO

Abstract

Modern manufacturing systems are composed by a plethora of network-interconnected computer-controlled systems. Although originally isolated, these systems are nowadays highly integrated, in line with the Industry 4.0 vision. This results in a wide attack surface being open to both casual and sophisticated attackers. In this dissertation, we aim to understand and analyze the security panorama of manufacturing systems. This dissertation is composed of two parts. In the first part, we analyze the threats targeted at industrial control systems used in the manufacturing sector, by designing and deploying low-interaction honeypots to study probing traffic directed towards Internet-exposed systems, as well as high-interaction honeypots to study more sophisticated attacks. In the second part, we analyze the resilience to attacks of industrial control systems used in manufacturing at three levels. First, we study the components of the attack surface of an entire manufacturing system, showing the existence of multiple attack vectors that can act as entry points. Second, we analyze the security of a specific class of devices, “controlled” manufacturing systems: using industrial robots as a case study, we perform a comprehensive experimental analysis, which takes into consideration both the deployment of industrial robots in a typical factory network, and security challenges that arise from the interaction between operators and machines. Third, as manufacturing machines are controlled through sophisticated programming languages, we analyze the security impact of the complexity of such languages, in the context of domain-specific languages for industrial robots. After studying the robot’s language primitives with potential security implications, we implement a prototype static source code analyzer for programs written in two languages (KRL and RAPID), and we validate it by quantifying the presence of unsafe patterns in a set of publicly available programs. Doing so, on the one hand, we show that vulnerable patterns can indeed be found in publicly available RAPID and KRL source code, and, on the other hand, we showcase the effectiveness of such a tool to analyze and vet task programs before commissioning.
PERNICI, BARBARA
DANIEL, FLORIAN
16-mar-2020
I sistemi manufatturieri moderni sono costituiti da molteplici componenti controllati da sistemi computerizzati e connessi tra loro in rete. Sebbene, in origine, questi sistemi siano stati progettati per essere completamente isolati, la loro evoluzione ha fatto sì che ormai essi siano fortemente integrati e connessi anche con sistemi esterni, in linea con il paradigma dell’Industria 4.0. Questa interconnessione costituisce un’ampia superficie di attacco aperta sia ad avversari sofisticati che ad attacchi di massa. Obiettivo di questa tesi è comprendere e analizzare il panorama della sicurezza dei sistemi manifatturieri. Il lavoro è strutturato in due parti. Nella prima parte, si analizzano le principali minacce rivolte a sistemi di controllo utilizzati nel settore manifatturiero attraverso il progetto e l’analisi di dati provenienti da honeypot. A tale proposito, si utilizzano honeypot a bassa interazione per rilevare il traffico di “probing” a sistemi di controllo esposti direttamente a Internet, e honeypot ad alta interazione per lo studio di attacchi più sofisticati. Nella seconda parte di questo lavoro, si analizza invece la resilienza ad attacchi dei moderni sistemi di controllo utilizzati in ambito manifatturiero, secondo tre livelli. In primo luogo, si considerano le componenti della superficie di attacco di un sistema manifatturiero nel suo complesso, mostrando l’esistenza di molteplici vettori utilizzabili come punti di ingresso per un attacco. In secondo luogo, si analizza la sicurezza di una specifica classe di dispositivi, definiti “sistemi manifatturieri controllati”. Utilizzando come caso di studio i robot industriali, si presentano i risultati di un’analisi sperimentale della loro sicurezza che, tra gli altri aspetti, tiene in considerazione sia come i robot sono inseriti all’interno della struttura complessiva di una tipica rete di fabbrica, che le sfide dal punto di vista della sicurezza legate all’interazione tra operatori e macchine. Da ultimo, a partire dal fatto che le macchine manifatturiere sono spesso controllate tramite linguaggi di programmazione specialistici, questo lavoro analizza l’impatto della complessità di questi linguaggi sulla sicurezza dei programmi sviluppati con essi, con riferimento ai linguaggi utilizzati per la programmazione del movimento di un robot industriale. Dopo aver analizzato le primitive di vari linguaggi per la programmazione di robot con implicazioni dal punto di vista della sicurezza, si presenta un prototipo di analizzatore statico, in grado di analizzare codice sorgente scritto per due linguaggi robotici: KRL e RAPID. Tramite questo strumento, si è quantificata la presenza di utilizzi non sicuri di primitive in un insieme di programmi disponibili pubblicamente, mostrando che, da un lato, è possibile riscontrare vulnerabilità in programmi RAPID e KRL e, dall’altro, strumenti di analisi statica possono essere efficaci per l’analisi e la verifica di programmi prima della fase di commissioning.
Tesi di dottorato
File allegati
File Dimensione Formato  
2020_Pogliani.pdf

non accessibile

Descrizione: Thesis text
Dimensione 8.64 MB
Formato Adobe PDF
8.64 MB Adobe PDF   Visualizza/Apri

I documenti in POLITesi sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10589/153320