SlideShare a Scribd company logo
Laurea Triennale in Ingegneria Elettronica
e Informatica
Candidato:

Leonardo IURADA
Relatore:

Prof. Marco TESSAROTTO
Summary of “The Case for Writing Network Drivers
in High-Level Programming Languages”[1]
Anno Accademico 2019/2020
[1] Paul Emmerich, Simon Ellmann, Fabian Bonk, Alex Egger, Esaú García Sánchez- Torija, Thomas Günzel,
Sebastian Di Luzio, Alexandru Obada, Maximilian Stadl- meier, Sebastian Voit, Georg Carle The Case for Writing
Network Drivers in High-Level Programming Languages ANCS’ 19, 13 September 2019
DRIVER IN SPAZIO UTENTE
IN LINGUAGGI AD ALTO LIVELLO
• Linux Kernel, 2017: 66% codice nei driver (scritti in C)

• RILEVANZA: 65 bug di sicurezza in Linux Kernel, 2017:

• 8 use-after-free, double-free

• 32 out-of-bounds

• 14 bug logici

• 11 non indagati
39 su 40 

nei driver
Risolti da 

linguaggi ad 

alto livello
DOMANDA: Quali linguaggi ad alto livello
sono adatti allo sviluppo di driver in
spazio utente?
• Driver di rete, perché?

• Richiede prestazioni elevate confronto rilevante

• 13 su 39 bug nei driver di rete

• In spazio utente, perché?

• Isolamento dal Kernel
DRIVER: Sicurezza
• CONTROLLI DI SICUREZZA:

• bug use-after-free/double-free : 

risolti da compilatori/interpreti autonomamente

• bug out-of-bounds : 

risolti controllando che le operazioni siano
eseguite solo all’interno di intervalli di indirizzi di
memoria specificati
CONFIGURAZIONE DI TEST
• DOMANDA: Quali linguaggi ad alto livello sono adatti allo sviluppo di
driver in spazio utente?

• PRESTAZIONI: 

• Test single core su CPU Xeon E3-1230 v2 clock 3.3 GHz

• Applicazione di forwarding su 2 Intel X520 NIC 10Gbit/s

• Traffico generato con MoonGen

• LATENZA:

• Mirroring pacchetti su server con NIC Xeon D + MoonSniff
RISULTATI:
Prestazioni di forwarding
RISULTATI: Latenza
CONCLUSIONE: Rust
• PRESTAZIONI: Rust raggiunge almeno 90% di quelle di C

• LATENZA: Sia Rust che C < 40 a 20 Mpps

• Driver futuri scritti in Rust risolti 13 su 39 bug (33%)
μs
GRAZIE PER L’ATTENZIONE
Leonardo Iurada

More Related Content

Similar to Summary of “The Case for Writing Network Drivers in High-Level Programming Languages"

Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Adriano Scaruffi
 
SpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, Milano
SpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, MilanoSpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, Milano
SpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, MilanoCISEM - Milano
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
MassimoPalmisano
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcsp
Laura Camellini
 
Thanatos - Parallel & Distributed Computing
Thanatos -  Parallel & Distributed ComputingThanatos -  Parallel & Distributed Computing
Thanatos - Parallel & Distributed Computing
Idriss Riouak
 
Thanatos
ThanatosThanatos
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile Applications
Stefano Sanna
 
Praticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web ServicesPraticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web Services
Speck&Tech
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
GWTcon
 
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
Daniele Mondello
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@Work
Mirco Vanini
 
Back to Mainframe
Back to MainframeBack to Mainframe
Back to Mainframe
Francesco Taurino
 
Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...
Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...
Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...Ionela
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wireless
Salvatore La Tona
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
GiacomoZorzin
 
Software Engineering Introduction in Italian
Software Engineering Introduction in ItalianSoftware Engineering Introduction in Italian
Software Engineering Introduction in Italian
PierpaoloCaricato
 
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
DanieleMaijnelli
 
Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...
Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...
Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...
Barbieri & Associati Dottori Commercialisti - Bologna
 
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDNSoluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Matteo D'Amore
 

Similar to Summary of “The Case for Writing Network Drivers in High-Level Programming Languages" (20)

Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
Architetture per la riservatezza, integrità e disponibilità dei dati nei sist...
 
SpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, Milano
SpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, MilanoSpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, Milano
SpecializzazionI Chimica, Informatica e Meccanica - IT Torricelli, Milano
 
Presentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di DijkstraPresentazione - Algoritmo di Dijkstra
Presentazione - Algoritmo di Dijkstra
 
Open Source Parallel Computing ltcsp
Open Source Parallel Computing ltcspOpen Source Parallel Computing ltcsp
Open Source Parallel Computing ltcsp
 
Thanatos - Parallel & Distributed Computing
Thanatos -  Parallel & Distributed ComputingThanatos -  Parallel & Distributed Computing
Thanatos - Parallel & Distributed Computing
 
Thanatos
ThanatosThanatos
Thanatos
 
HCIM08 - Mobile Applications
HCIM08 - Mobile ApplicationsHCIM08 - Mobile Applications
HCIM08 - Mobile Applications
 
Praticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web ServicesPraticamente... AWS - Amazon Web Services
Praticamente... AWS - Amazon Web Services
 
GWT Development for Handheld Devices
GWT Development for Handheld DevicesGWT Development for Handheld Devices
GWT Development for Handheld Devices
 
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile MessagingWhymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
Whymca Mobyt Strumenti Open Source Per Infrastrutture Dimobile Messaging
 
Designing with microservices - Daniele Mondello
Designing with microservices - Daniele MondelloDesigning with microservices - Daniele Mondello
Designing with microservices - Daniele Mondello
 
Are you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@WorkAre you a Gadgeteer? - NetMF@Work
Are you a Gadgeteer? - NetMF@Work
 
Back to Mainframe
Back to MainframeBack to Mainframe
Back to Mainframe
 
Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...
Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...
Microcontrollori scalabili s12 g con periferiche di comunicazione on chip da ...
 
Reti locali cablate e wireless
Reti locali cablate e wirelessReti locali cablate e wireless
Reti locali cablate e wireless
 
Generazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptxGenerazione automatica diagrammi di rete con template pptx
Generazione automatica diagrammi di rete con template pptx
 
Software Engineering Introduction in Italian
Software Engineering Introduction in ItalianSoftware Engineering Introduction in Italian
Software Engineering Introduction in Italian
 
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
Summary of "MalNet: A binary-centric network-level profiling of IoT Malware"
 
Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...
Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...
Giacomo Barbieri - Modulo 5 - Valorizzare lo studio con la tecnologia - Milan...
 
Soluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDNSoluzioni per la difesa da attacchi DoS nelle reti SDN
Soluzioni per la difesa da attacchi DoS nelle reti SDN
 

Recently uploaded

Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Servizi a rete
 
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfBIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
Nicola Furcolo
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Servizi a rete
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Servizi a rete
 

Recently uploaded (10)

Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA FrancescoConvegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
Convegno SPEKTRA da A2A - 28 maggio 2024 | VEIRANA Francesco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI AlfredoConvegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
Convegno SPEKTRA da A2A - 28 maggio 2024 | RUGGIERI Alfredo
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO TizianoConvegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
Convegno SPEKTRA da A2A - 28 maggio 2024 | ORSENIGO Tiziano
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI MarcoConvegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
Convegno SPEKTRA da A2A - 28 maggio 2024 | CARNI Marco
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO YuriConvegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
Convegno SPEKTRA da A2A - 28 maggio 2024 | ALESIANO Yuri
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA AlessioConvegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
Convegno SPEKTRA da A2A - 28 maggio 2024 | BERTELLA Alessio
 
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdfBIM obblighi e opportunità (nicolafurcolo.it) R.pdf
BIM obblighi e opportunità (nicolafurcolo.it) R.pdf
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO LuigiaConvegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
Convegno SPEKTRA da A2A - 28 maggio 2024 | TROIANO Luigia
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI AndreaConvegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
Convegno SPEKTRA da A2A - 28 maggio 2024 | NERELLI Andrea
 
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA BiancaConvegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
Convegno SPEKTRA da A2A - 28 maggio 2024 | UBERTI FOPPA Bianca
 

Summary of “The Case for Writing Network Drivers in High-Level Programming Languages"

  • 1. Laurea Triennale in Ingegneria Elettronica e Informatica Candidato: Leonardo IURADA Relatore: Prof. Marco TESSAROTTO Summary of “The Case for Writing Network Drivers in High-Level Programming Languages”[1] Anno Accademico 2019/2020 [1] Paul Emmerich, Simon Ellmann, Fabian Bonk, Alex Egger, Esaú García Sánchez- Torija, Thomas Günzel, Sebastian Di Luzio, Alexandru Obada, Maximilian Stadl- meier, Sebastian Voit, Georg Carle The Case for Writing Network Drivers in High-Level Programming Languages ANCS’ 19, 13 September 2019
  • 2. DRIVER IN SPAZIO UTENTE IN LINGUAGGI AD ALTO LIVELLO • Linux Kernel, 2017: 66% codice nei driver (scritti in C) • RILEVANZA: 65 bug di sicurezza in Linux Kernel, 2017: • 8 use-after-free, double-free • 32 out-of-bounds • 14 bug logici • 11 non indagati 39 su 40 nei driver Risolti da linguaggi ad alto livello
  • 3. DOMANDA: Quali linguaggi ad alto livello sono adatti allo sviluppo di driver in spazio utente? • Driver di rete, perché? • Richiede prestazioni elevate confronto rilevante • 13 su 39 bug nei driver di rete • In spazio utente, perché? • Isolamento dal Kernel
  • 4. DRIVER: Sicurezza • CONTROLLI DI SICUREZZA: • bug use-after-free/double-free : 
 risolti da compilatori/interpreti autonomamente • bug out-of-bounds : 
 risolti controllando che le operazioni siano eseguite solo all’interno di intervalli di indirizzi di memoria specificati
  • 5. CONFIGURAZIONE DI TEST • DOMANDA: Quali linguaggi ad alto livello sono adatti allo sviluppo di driver in spazio utente? • PRESTAZIONI: • Test single core su CPU Xeon E3-1230 v2 clock 3.3 GHz • Applicazione di forwarding su 2 Intel X520 NIC 10Gbit/s • Traffico generato con MoonGen • LATENZA: • Mirroring pacchetti su server con NIC Xeon D + MoonSniff
  • 8. CONCLUSIONE: Rust • PRESTAZIONI: Rust raggiunge almeno 90% di quelle di C • LATENZA: Sia Rust che C < 40 a 20 Mpps • Driver futuri scritti in Rust risolti 13 su 39 bug (33%) μs