Predlogprojekta 1

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Randomizacione strategije za ublazavanje efikasnosti tajming

napada na seL4 mikrokernel


Dušan Trišić
15. decembar 2023.

1 seL4
seL4[1] je mikrokernel koji se ističe po tome što je jako bezbedan zbog svog rigoroznog načina veri-
fikacije koda. Trenutno je to jedini mikrokernel koji je potpuno formalno verifikovan. Ipak, postignuti
ovo na nekom velikom i kompleksnom kernelu (kao što je Linux) je van domašaja, pa je zato ovaj
mikrokernel jako kompaktan, ali potpuno determinisan i većinom siguran.

2 Tajming napadi
Jedan od napada na koji ovaj sistem nije otporan je takozvani tajming napad (timing attack)[2],
gde napadač unosi različite unose u nadi da će da izvuče informacije koje inače ne bi smeo da ima, samo
po tome koliko je potrebno sistemu da odgovori na ulaz. Preko toga, može da sazna više o sistemu, što
može biti jako opasno ako je u pitanju neka enkripcija/dekripcija.

3 Resenja
Kao odgovor na ovaj problem, iskorišćeni su algoritmi koji su manje kompleksni radi manjeg uticaja
na efikasnost sistema - instruction-based scheduling i cache colouring[2]. Ovi algoritmi nisu još uvek
formalno verifikovani i trenutno su van domašaja, ali su trenutno najbolja resenja. Ono što je zajedničko
za algoritme koje ću testirati i ove algoritme jeste način ublažavanja efikasnosti tajming napada. Naime,
svaki put kada izbacimo izlaz u konačnom vremenskom periodu, dajemo neku informaciju napadaču
koju može da iskoristi, medjutim smatramo da je moguće smanjiti količinu informacija u nekoj količini
u zavisnosti od toga koliko želimo da se fokusiramo na bezbednost a koliko na performanse sistema.
Moguće rešenje bi bilo da imamo sistem koji uvek izbacuje izlaz sa istim kašnjenjem, medjutim to
znači da bi manji upiti koji troše mnogo manje vremena, čekali onoliko koliko bi bilo potrebno za
najveći upit i time znatno usporili sistem. Drugi način na koji možemo da ublažimo ove napade, jeste
black-box tehnikama. U ovim tehnikama je cilj da zamaskiramo naš sistem nekim drugim sistemima
koji bi pokvarili rezultate napadača. Jedan od načina da se to uradi jeste randomizacijom algoritma.
Primer - kada bismo rekli da će algoritam da izvršava upite sa nasumičnim kašnjenjima, rezultati bi
bili manje očigledni a uticaj na performanse sistema bi u najgorem slučaju bile iste brzine kao i sistem
sa konstantim kašnjenjem (kašnjenje bi u najgorem slučaju bilo uvek najveće), a mene zanima koliko
bi takvi algoritmi ublažili efikasnost napada po respektivnoj ceni performanse.

4 Problem verifikacije
Ovakvi algoritmi bi bili znantno teži za verifikaciju, većinom zbog nedeterminizma koji u sistem
donosi nasumičnost. Takodje, kompleksnost verifikacije i sistema raste jako brzo, što se kosi sa filozo-
fijom ovog mikrokernela(mali, kompaktan i potpuno bezbedan kernel koji je osnova za ceo sistem koji
se nalazi u korisničkom prostoru), pa bi ovakvo rešenje bilo privremeno ali i neophodno.

1
5 Metode Randomizacije
Još uvek nisam odlučio koje bih algoritme poredio, medjutim postoji dosta izbora i voleo bih da
probam da implementiram svako rešenje. Algoritmi koje sam predvideo kao moguće su: algoritmi sa
nasumičnim kašnjenjem i zastankivanjem, algoritmi sa nasumičnim ubacivanjem buke, algoritmi koji
podrazumevaju paralelizaciju ili nasumičnu paralelizaciju i sistem koji onemogućava neograničen broj
pokusaja.

6 Poredjenje sa drugim resenjima


Pošto trenutno već postoje neka implementirana rešenja, koja ne uključuju randomizaciju, rezultate
bih poredio sa njima na seL4 sistemu i van njega, radi uporedjivanja seL4 sistema sa drugim sistemima
koji se smatraju bezbednim. Takodje, poredio bih sisteme na razne načine - prvo po sigurnosti jer je
to cilj sistema, zatim po efikasnosti jer bitan faktor u seL4 filozofiji jeste da sistem bude i bezbedan
i približno efikasan kao drugi sistemi. Na kraju, poredio bih sisteme po kompleksnosti zbog buduće
potencijalne formalne verifikacije koda.

Literatura

Literatura
[1] Gernot Heiser, The seL4 Microkernel – An Introduction, White paper, The seL4 Foundation, Re-
vision 1.2 of 2020-06-10.

[2] David Cock, Qian Ge, Toby Murray, Gernot Heiser, The Last Mile: An Empirical Study of Timing
Channels on seL4, 2014

You might also like