I rootkit rappresentano una delle minacce più sofisticate nel panorama della sicurezza informatica, consentendo agli attaccanti di ottenere il controllo di un sistema senza essere rilevati. Questi sono solitamente attacchi volti direttamente verso il kernel, e storicamente questa tipologia di software è sviluppata principalmente in linguaggio C. Tuttavia, con l’introduzione del supporto sperimentale per Rust nel kernel Linux, diventa possibile esplorare nuovi approcci per la scrittura di moduli kernel, e quindi anche di rootkit specifici. In questa tesi ci siamo proposti di analizzare le tecniche classiche di attacco utilizzate nei rootkit in C, come la manipolazione delle system call tramite l’\textit{hooking}, e di fornire una base conoscitiva e progettuale per l'implementazione in linguaggio Rust. L’adozione di Rust per lo sviluppo di moduli kernel introduce vantaggi significativi, tra cui una gestione più sicura della memoria e una riduzione del rischio di vulnerabilità comuni, oltre che a fornire una struttura di progetto più moderna. La continua evoluzione del supporto di Rust nel kernel Linux potrebbe rendere questo linguaggio una scelta sempre più valida anche per la scrittura di moduli a basso livello, con implicazioni sia nel campo della sicurezza informatica che nello sviluppo di software di sistema.

Linux LKM rootkit: limiti, vantaggi e implementazione in C e Rust

BAJRAMI, BEGAN
2023/2024

Abstract

I rootkit rappresentano una delle minacce più sofisticate nel panorama della sicurezza informatica, consentendo agli attaccanti di ottenere il controllo di un sistema senza essere rilevati. Questi sono solitamente attacchi volti direttamente verso il kernel, e storicamente questa tipologia di software è sviluppata principalmente in linguaggio C. Tuttavia, con l’introduzione del supporto sperimentale per Rust nel kernel Linux, diventa possibile esplorare nuovi approcci per la scrittura di moduli kernel, e quindi anche di rootkit specifici. In questa tesi ci siamo proposti di analizzare le tecniche classiche di attacco utilizzate nei rootkit in C, come la manipolazione delle system call tramite l’\textit{hooking}, e di fornire una base conoscitiva e progettuale per l'implementazione in linguaggio Rust. L’adozione di Rust per lo sviluppo di moduli kernel introduce vantaggi significativi, tra cui una gestione più sicura della memoria e una riduzione del rischio di vulnerabilità comuni, oltre che a fornire una struttura di progetto più moderna. La continua evoluzione del supporto di Rust nel kernel Linux potrebbe rendere questo linguaggio una scelta sempre più valida anche per la scrittura di moduli a basso livello, con implicazioni sia nel campo della sicurezza informatica che nello sviluppo di software di sistema.
2023
2025-02-20
Linux LKM rootkit: limitations, advantages, and implementation in C and Rust
File in questo prodotto:
File Dimensione Formato  
Tesi Bajrami.pdf

accesso aperto

Dimensione 860.7 kB
Formato Adobe PDF
860.7 kB Adobe PDF Visualizza/Apri

I documenti in UNITESI 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/20.500.12075/21096