Propolice támogatás a Linux kernelben

Címkék

Han Boetes azon mesterkedik, hogy Propolice támogatást ad a Linux kernelhez. A Propolice egy az IBM (Hiroaki Etoh) által kifejlesztett gcc (GNU Compiler Collection) kiterjesztés, amely védelmet ígér a stack manipulációs támadások ellen.

A C-ben írt programok az elégtelen programozói ismeretek vagy hanyagság miatt gyakran szenvednek olyan hibákban, amelyek puffer túlcsordulásos (buffer overflow) támadásokhoz nyújtanak támadási felületet. A Propolice az ilyen támadásokat próbálja meg detektálni és a változók újrarendezésével védelmet próbál nyújtani a mutatók (pointers) manipulálása ellen. A Propolice védelem a fordításkor kerül az alkalmazásokba, ezért a használatához az összes védendő alkalmazást újra kell fordítani. Az OpenBSD már jó ideje használja a Propolice-t (1, 2). Han Boetes egy levelet írt az LKML-re amelyben kifejtette, hogy szerinte a legtöbb Linux kernel hiba a puffer túlcsordulásos hibák közé tartozik. Hasznos lenne, ha a Linux kernelt le lehetne fordítani Propolice támogatással, mert szerinte a Propolice használatával az összes buffer overflow hiba DoS támadássá mérséklődhet a PP használata esetén. Ezért arra kéri a fejlesztőket, hogy fogadjanak el egy olyan patchet, amely lehetővé teszi a Linux kernel lefordítását PP támogatással (természetesen patchelt gcc esetén).

A fejlesztők több dologban sem értettek egyet Han-nel. Arjan van de Ven szerint a Linux kernel hibák nagy része nem buffer overflow hiba. Feltette a kérdést, hogy Han szerint mit nyernénk a PP-vel a Linux kernelben. Arjan szerint a PP alkalmazása sokkal inkább az userland-ben lenne érdekes. Andi Kleen egyetértett Arjan-nel, szerinte is nagyon ritkák a bof típusú hibák a Linux kernelben. Urlich Drepper szerint a Propolice gcc patchek meglehetősen a instabilak.

Mindenesetre született patch a 2.6.9-hez, aki úgy érzi, hogy kipróbálná, az megtalálja a foltot a thread-ben.

Hozzászólások

Először nagyot nevettem, hogy mit keres a méhpempő a kernelben, úgyhogy
elolvastam a cikket. Trey, nézd át légyszíves, mert egyrészt valami
geb@sz van (nemtriviálisan ismétlődő rész), viszont nem tudom, hol lehet
a hiba: először newsgw-n olvastam, de utána böngészőben is ugyanazt a
(hibás) szöveget adja. Másrészt meg a fordítás során kimaradt néhány
szó, asszem. (Ez utóbbit betudom a hajnali postnak, de az előbbi nem
tudom, hogy betudható-e ugyanennek.)

Bye
B

Linux kernel hibák nagy része valóban nem buffer overflow jellegű már, ráadásul a Propolice nem is nyújt védelmet az összes puffer túlcsordulásos támadás ellen, csak a stack alapúakra és azok közül is csak a lineáris túlcsordulásra. Egy mai "modern" szoftverben már kevés ilyen jellegű hiba van, a Propolice pedig nem nyújt védelmet se a heap alapú buffer overflow ellen, se a nem lineáris túlcsordulások ellen, tehát egyre inkább useless... Mondom ezt amellett, hogy én is használok Propolicet. :)

Lehet, hogy hulye a felvetes, de amennyiben az NX bit (+ a tamogatasa) elterjed, ez a Propolice okafogyotta valik.

En azt hittem, hogy ami az Adamantixban van, az pont ez a dolog.

Persze lehet, hogy nem ez, csak ehhez hasonlo, de az biztos, hogy a propolice szot olvastam az adamantix leirasban, es az is biztos, hogy ez az akarmi, meg a pax egyutt az ilyen tulcsordulasos hibaktol mar szepen ved.

Akkor most amit ez a figura akar, az voltakepp mar meg van valositva. Nem?

G

No megneztem. A propolice oldalan szerepel jopar Linux disztro, kozottuk az Adamantix (meg Trusted Debian neven).

Adamantixban a kernel is mar jo ideje ezzel a ssp-vel van forditva.

Szoval lehet, hogy a sracnak csak el kellene kuldeni az adamantix kernel peccset, had oruljon

G

Nade a cikk megfogalmazasa akkor felrevezeto. Azt mondja, szuletett patch, ami letoltheto a thread-bol, meg azon dolgozik, hogy a kernel lefordithato legyen ezzel.

Ebbol nekem az jon le, hogy egy technologiat az illeto megprobal integralni a linuxba, es mar keszitett is egy peccset.

Ezek szerint teljesen masrol van szo, arrol, hogy egy mar letezo patch legyen a mainline-ban.

Ha nem tevedek, ez a ssp valamennyi overhead-del jar, es az Adamantix oldalon azt irtak, hogy Linus semmit nem akar a kernelbe engedni, ami teljesitmenyt csokkent.

Mondjuk ezt meg is ertenem. Ha valaki bealdozna a sebesseget a biztonsagert, akkor valaszthassa ki

>Ebbol nekem az jon le, hogy egy technologiat az illeto megprobal integralni a linuxba, es mar keszitett is egy peccset.

Ezek szerint teljesen masrol van szo, arrol, hogy egy mar letezo patch legyen a mainline-ban.

Jezusom, ne keverjel mar. Az illeto bepostazott egy patchet, kerte, hogy tegyek be a Linux kernelbe. Kommentaltak, szuletett egy javitott patch. A patchet a thread folyaman folyamtosan alakitjak, ahogy az lenni szokott. Melyik resz nem ertheto? Ha valami nem vilagos, akkor nem lenne utolso dolog beleolvasni a linkelt szalba sem...

engem nem nagyon érdekel, hogy ez esetben van némi overhead.

ha abból élek, hogy a szerverem megy akkor az sokkal jobb ha egy kicsit lassabban megy, mintha egyáltalán nem.

legfeljebb ezért egy kissé erőseb vasat veszek. nézz meg má$ termékeket. semmi mása nincs csak overheadje, a sok p@raszt meg megveszi the-ultra-superb-most-power cuccost hozzá.

akkor már inkább biztonság.