(delsi) buffer overflow - prunik

Milan Kerslager milan.kerslager na spsselib.hiedu.cz
Neděle Srpen 6 09:37:45 CEST 2000


On Sun, 6 Aug 2000, Jaroslav Gratz wrote:

> > Na segmentech to sice nastavit lze, ale na strankach nikoli. Jenze
> > segmentovany model pameti se dneska uz nepouziva ani ve Windows. 
> 
> Kontrola segmentů je povinná a nedá se v chráněném režimu vypnout
> (narozdíl od stránkování), takže nezbývá, než segmenty používat. Problém
> je spíš v tom, jak se nastavují limity na segmenty. Nevím přesně jak to
> dělá linux, ale současná praxe je asi taková:

1) zavedenim segmentu se ztrati vykon pri defragmentaci pameti
   (strankovani tenhle problem nemusi resit)
2) Linux (i Windows {NT,9x}) pouzivaji proste strankovani z duvodu
   jednoduchosti a i kvuli spatnemu designu PC jako takoveho
3) posilal jsem sem prispevek, ktery popisuje reseni teto situace i s
   nasledky (repost z linux-kernel)
4) je otazka, zda rozbourani celeho jadra, knihoven a kompilatoru
   by byla dobra myslenka (navic by *neresila* komplexne problematiku)
   a co by to udelalo se stabilitou systemu v dohlednem casovem
   horizontu a vynalozena namaha vyrovnala prinos teto zmeny
5) existuji lepsi cesty, jak zabranit exploitum (napr. pouziti
   capabilities) v ziskani nadbytecnych prav
6) pokud chcete extremni zabezpeceni, neni Unix jako takovy prilis
   vhodny (POSIX & 'root' & absolutni prava)
7) bezpecnost systemu lze zajistit i cistotou kodu (ted z hlavy nevim,
   ktere *BSD je zamerene na bezpecnost, ale funguje jim to)
8) vzdy je vse otazkou kompromisu, takze i v soucasne dobe jsou
   pro reseni dulezitejsi otazky, nez je *castecne* reseni bezpecnosti
   bez ohledu na komplexnost problematiky

Myslim, ze dalsi debata je zbytecna a v kazdem pripade bude vedena v
rovine akademicke nebo v rovine 'kdyby byly v ...., nemusely by byt
rybniky') a Linux zustane tak, jak je....

I pres to, ze nonexec & writable zasobnik nelze vyrobit na x86 platforme
pri pouziti strankovani, je vice limitujicim faktorem teto platformy v
soucasne dobe max 4GB adresniho prostoru na proces. Nove (nebo existujici)
64 bitove procesory mohou byt v tomto ohledu lepsi. Navic zabyvat se
resenim, ktere pokryva jen jednu architekturu (Linux bezi i na jinych) je
(rekl bych) kontraproduktivni (viz bod 4).

--
                        Milan Kerslager
                        E-mail: milan.kerslager na spsselib.hiedu.cz
                        WWW:    http://www.spsselib.hiedu.cz/~kerslage/



Další informace o konferenci Linux