Abstract: | The Linux operating system is the backbone of countless devices, personal or
otherwise, servers, etc. Making its security a paramount concern. Given the open
source nature of the Linux Kernel, attackers and researchers alike have access to the
very core of the Linux operating system, allowing them to dive deep into its internals
and find and/or patch flaws therein.
This work dives into the kernel, how it is debugged and broken by attackers, as
well as common attack patterns and defenses.
With impenetrability in mind, CFI is introduced to the kernel, putting an end
to a large portion of attacks that rely on control flow hijacking primitives, that have
previously caused infinite damage to infrastructures, working environments, personal
lives, etc. We discuss this protection and how it works in defending against the aforementioned
fashion of attacks.
We also demonstrate how CFI is triggered and how it works under the hood, as
well as how it is bypassed simply by adhering to its policies with data only attacks
and overwriting the right pointers with the right locations.
We look at the way to bypass this protection, as a way to showcase the need for
more protection, as ending the cycle of attack and defense here would only lead to
more potential damage. ***
Le syst`eme d’exploitation Linux est la colonne vert´ebrale d’innombrables appareils,
qu’ils soient personnels ou non, de serveurs, etc., rendant sa s´ecurit´e d’une
importance capitale. ´Etant donn´e la nature open source du noyau Linux, les attaquants
comme les chercheurs ont acc`es au coeur mˆeme du syst`eme d’exploitation,
leur permettant d’explorer ses entrailles et de d´ecouvrir et/ou de corriger les failles
qu’il contient.
Ce travail s’int´eresse au noyau, `a la mani`ere dont il est d´ebogu´e et compromis par
les attaquants, ainsi qu’aux sch´emas d’attaque courants et aux d´efenses associ´ees.
Avec l’inviolabilit´e en tˆete, CFI est introduite dans le noyau, mettant fin `a une
grande partie des attaques qui reposent sur des primitives de d´etournement de flux
de contrˆole, ayant auparavant caus´e d’innombrables d´egˆats aux infrastructures, aux
environnements de travail, `a la vie priv´ee, etc. Nous discutons de cette protection
et de son fonctionnement pour se d´efendre contre les types d’attaques mentionn´es
ci-dessus.
Nous montrons ´egalement comment CFI est d´eclench´ee et comment elle fonctionne
en interne, ainsi que comment elle peut ˆetre contourn´ee simplement en respectant
ses politiques, par des attaques bas´ees uniquement sur les donn´ees et en
´ecrasant les bons pointeurs avec les bonnes valeurs.
Nous analysons enfin les moyens de contourner cette protection, afin de souligner
la n´ecessit´e d’une protection accrue, car mettre fin au cycle d’attaque et de d´efense
`a ce stade ne ferait que conduire `a des d´egˆats potentiels encore plus importants. |