Re: Jádro pudla (Cernobily svet) :-)

Pavel Hudecek phudecek@tiscali.cz
Sobota Březen 4 18:18:56 CET 2006


Problémů jsou 4 druhy: základní systémové, systémově-programátorské,
programátorské, uživatelské

1. Čistě systémové vyplývají právě z toho, že C vyžaduje překrývání segmentů
a tím silně omezuje využití ochran, takže prakticky zbývají jen doplňkové
ochrany na úrovni stránkování.

2. Systémově-programátorské spočívají v tom, že systém nijak neomezuje
použití sebemodifikujícího kódu - osobně bych byl pro variantu, kdy o
povolení modifikace musí nejprve program žádat a následně by měl mít
možnost to zase zakázat. Dále by mělo být někde v ovládacích panelech
nastavení, které konkrétní programy to vůbec smí použít. - Dle mého názoru
to 99,99 % programů nepotřebuje, samorozbalovací spustitelné soubory
(dnes zcela běžné) jsou naprostá zbytečnost, spustitelný soubor
má mít prostě atribut, že je komprimován a systém by ho měl rozbalit ještě
před spuštěním (od W2k to jde s jakýmkoli souborem, ale mám dojem,
že to nejde v XP Home). Do zbývajících 0,01 % patří třeba genetické
algoritmy a ty asi běžný uživatel potřebovat nebude:-)
Stávající stav je, že je sebemodifikace trvale povolena, takže vlastně
nefungují ani zmíněné doplňkové ochrany.

3. Programátorské spočívají v tom, že programátor zapomene někde u důležité
funkce dostupné po síti udělat autentizaci, nebo jí nějak odflákne.

4. Drtivá většina uživatelů je trvale přihlášena s administrátorskými právy.

1+2 vede k tomu, že zásobník může přetéct do kódu a umožní tak spustit
cokoli si útočník zamane. Tento problém je shodný na Win i Lin a umožňuje
existenci 90 % wormů a podobných věcí.

3 Zatím převažuje na Win, ale jen proto, že Lin prostě tolik podobných
věcí neumí, takže v nich je i méně děr, ale to je jen otázka času.

4 Je zatím téměř pouze na win a jediné řešení spočívá v tom, že by administrátor
měl jistá omezení, jako třeba že by ve všech overlayích a celoobrazovkových věcech
bylo velkými žlutými písmeny na černém pozadí uprostřed obrazu napsáno "Pozor,
jste přihlášen jako administrátor" a na každé stránce vylezlé z tiskárny bylo nahoře
dost výrazně napsáno "Testovací výtisk":-) To by znemožnilo používání kancelářských
věcí, pouštění videa a hraní her (hry dnes velmi často admin práva přímo vyžadují, takhle
by je to rychle přešlo):-)

Náhražkou za chyby 1+2 jsou pak "bezpečné programovací jazyky", jako C# a další
.NET věci (které mají jinak jednoznačné opodstatnění např. u webových aplikací),
náhodná inicializace zásobníku na XP+SP2 a pod.

PH

From: "gatilo" <gatilo@centrum.cz>
> Jak tak na to koukam tak "Jadro pudla" je tematem dne. Presto ze jsem
> poctive precetl vsechny prispevky, nepodarilo se ni najit odpoved na
> to co mi vrta hlavou. Uz jsem se na to ptal rano, ale asi jsem otazku
> formuloval tak blbe ze nikdo nepochopil na co se vlastne ptam. Takze
> jeste jednou:
> Mame jakasi MS wokna o kterych se vseobecne tvrdi ze jsou vsechno,
> jenom ne bezpecne. Vzhledem k tomu ze MS vydava zaplaty jak na bezicim
> pase to nejspis bude pravda. Z prispevku v tomto vlakne, hlavne tech
> starsich, jsem pochopil ze na vine je ANSI C norma ktera implementuje nejake
> ne-bezpecne prvky popr. neimplementuje nejake bezpecnostni prvky HW
> zabudovane do x86 proc.
> No a taky mame jakesi Linuxi/Unixi o kterych se vseobecne tvrdi ze
> jsou bezpecne, ac napsane v tom C ktere implementuje nejake
> ne-bezpecne prvky popr. neimplementuje nejake bezpecnostni prvky HW
> zabudovane do x86 proc.




Další informace o konferenci Hw-list