polito.it
Politecnico di Torino (logo)

Filtraggio e monitoraggio di funzioni a livello kernel = Filtering and monitoring at kernel level

Traversa, Andrea

Filtraggio e monitoraggio di funzioni a livello kernel = Filtering and monitoring at kernel level.

Rel. Antonio Lioy. Politecnico di Torino, Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering), 2018

[img]
Preview
PDF (Tesi_di_laurea) - Tesi
Accesso al documento: Accesso libero
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (1MB) | Preview
[img] Archive (ZIP) (Documenti_allegati) - Altro
Accesso al documento: Accesso libero
Licenza: Creative Commons Attribution Non-commercial No Derivatives.

Download (103kB)
Abstract:

Quando si parla di monitoraggio e di filtraggio in un sistema si definisce la possibilità di tenere sotto controllo le funzionalità di un sistema in tempo reale, decidendo quali eventi tenere d'occhio (monitoraggio) o definendo delle regole che indichino cosa è permesso e cosa no (filtraggio). Esistono diversi modi per fare questo, ma l'ideale è installare i controlli necessari a livello kernel (maggiori permessi e prestazioni). Un'ottima tecnologia per fare ciò è eBPF (extended Berkeley Packet Filter), la quale definisce un vero e proprio linguaggio di programmazione interpretabile dalla macchina virtuale installata nel kernel Linux e che permette di monitorare e in alcuni casi filtrare tutti gli eventi esistenti in un sistema: networking, esecuzione di processi, chiamate a funzione di livello utente e kernel, interazione con dispositivi di I/O, ... Nello specifico, qui eBPF è stato utilizzato per gestire il networking di sistemi che offrono servizi tramite container (una tecnologia che permette l'isolamento di processi in modo più leggero rispetto alle macchine virtuali). A questo proposito è stato implementato un programma che permette l'esecuzione di reti di container definite dall'utente; di installare diversi tipi di firewall su una rete di container (non solo con eBPF, ma anche con Iptables, Ebtables, Tc, ...) traducendo automaticamente regole di alto livello nelle regole necessarie a quel determinato firewall; e più in generale di gestire reti di container e possibili firewall associati. Inoltre eBPF è anche stato testato nel caso di filtraggio delle system call chiamate da un certo processo in modo tale da proteggere il sistema da attacchi che porterebbero il suddetto processo a chiamare funzioni che non dovrebbe chiamare.

Relatori: Antonio Lioy
Anno accademico: 2018/19
Tipo di pubblicazione: Elettronica
Soggetti:
Corso di laurea: Corso di laurea magistrale in Ingegneria Informatica (Computer Engineering)
Classe di laurea: Nuovo ordinamento > Laurea magistrale > LM-32 - INGEGNERIA INFORMATICA
Aziende collaboratrici: NON SPECIFICATO
URI: http://webthesis.biblio.polito.it/id/eprint/9482
Modifica (riservato agli operatori) Modifica (riservato agli operatori)