OpenBSD: verem-betörés védelem

Címkék

Az OpenBSD létrehozója, Theo de Raadt bejelentette, hogy a ``propolice" névre hallgató biztonsági eszköz, a "stack-smashing protector" be lett olvasztva az OpenBSD kernelébe. A "stack-smashing protector" magyarra lefordítva verem-betörés védelmet jelenthet.

Hogy mi is ez a betörés védelem? Hiroaki Etoh eredeti propolice bejelentésést elolvashatod itt. A "stack-smashing protector" egy magas fokon portolható GCC kiterjesztés amely 1) újrarendezi a változókat, hogy megakadályozza a mutatók (pointer) korrupcióját, és 2) beilleszt egy védelmi kódot az alkalmazásba a fordítási időben, amely detektálja és megelőzi a puffer túlcsordulást. Hiroaki puffer túlcsorulási védelme a StackGuard nevű programon alapul. Bővebb info a project honlapján.

Hozzászólások

"OpenBSD creator Theo de Raadt [interview] announced that propolice, the "stack-smashing protector" has been merged into the OpenBSD kernel." - Kerneltrap.org

bejelentest nem lattam, de megkeresem

tudom, hogy egy gcc kiterjesztes, hiszen irtam a cikkben. ezt erthettek ugy is, hogy a propolice patkolt gcc-vel forditottak az OBSD kernelt, es az beletette a BoF vedelemet. Hiszen a feladatok 2-es pontja pont errol szol:

"2) beilleszt egy védelmi kódot az alkalmazásba a fordítási időben, amely detektálja és megelőzi a puffer túlcsordulást." - gondolom erre gondolt a cikk szerzoje.

Már nevem is van :)) Szóval kétlem, hogy a kernel esetleges hibáit ki lehetne kerülni bármilyen védelemmel. Ha egy kernel driverben lehetőség van a BO-ra, akkor almás.

Hat en ugy tudom (javits ki ha tevedek), hogy a StackGuard ugy mukodik, hogy adott egy program forrasa, amelyet nem kell modositani, csak le kell forditani a StackGuard-dal (vagy a belole szarmazo propolis gcc kiterjesztessel foltozott gcc-vel), es az SG a forditasi idoben "beleteszi" a stack vedelmet és a tamadast detektalo kodot a kerdeses programba. Ha valaki verem tulcsorditasra torekszik, akkor a SG vagy propolis beepitett kodja ezt detektalja, es azonnal leallitja a kerdeses programot. Na most az jo kerdes, hogy ez hogy mukodik a kernel eseteben. Meg keresem de Raadt bejelenteset, mert azt a Kerneltrap cikkiroja nem linkelte be. Akkor feny derul a dologra... ;-)

Szerintem összekeveredett a szezon a fazonnal. A mostani bejelentés a propolice integrálásáról szólt. Ami a kernelt érinti, az még a 3.2-ben történt, valószínűleg erre gondoltak egyesek.


Tipp: ezen az oldalon keress rá a "non-exec"-re...