Linux - bezpečnost a exploity

Juraj Kubelka 16. 12. 2004

Recenze nové knihy od Miroslava Dobšíčka a Radima Ballnera.

Nedávno jsem se procházel pro pražském Smíchově a trochu z nudy a trochu ze zvědavosti jsem se zašel podívat do knihkupectví, co je nového v počítačové literatuře. Po chvíli hledání tučňákova oddělení mi padla do oka kniha Linux – bezpečnost a exploity od autorské dvojice Miroslav Dobšíček a Radim Ballner. Po letmém prolistování se mi zdála natolik zajímavá, že jsem se rozhodl si ji koupit. Naštěstí cena byla příznivá, takže jsem si ji mohl dovolit i ze svého prvního platu a ještě mi zbylo na svetr na vánoce :-)

Sám se považuji za průměrného dlouholetého uživatele Linuxu. Nějaké to programovaní v C, správa síťových služeb, psaní v Latexu a ve volném čase pomoc s překlady do češtiny různých open source programů. O exploitech jsem vždycky tušil zhruba to, že někde něco přetéká a při troše štěstí to neznamená, že aplikace spadne, ale že vás někdo hackne :-) Místo pádu aplikace tak padne vaše soukromí, ale co.

Kniha je rozdělena do několika kapitol, konkrétně sedmi, ale protože nemám rád moc psaní, tak to shrnu do třech.

Úvod

V úvodních kapitolách se letem světem dozvíme něco o stránkování/seg­mentování na x86 a o tom, jak linuxové jádro tyto radosti (ti, co už to znají, vědí, že spíše strasti) využívá a nastavuje. Potom následují základy programování v assembleru pod Linuxem a seznámení s pár nástroji, bez kterých by život nebyl tak krásně rozmanitý. Nutno říci, že po přečtení těchto kapitol jsem nebyl ze všeho úplně moudrý, ale s dávkou odvahy a kávy jsem se pustil do dalšího čtení.

Shellkódy a exploity

Konečně to začalo. Popis jednoho shellkódu následuje druhý, a protože nechybí obrázky a množství zdrojových příkladů, jsem po pár dnech schopný psát a rozumět zběsilostem ve stylu (pozn. red: lízátko pro toho, kdo předcházející zeugma převede do validní podoby bez ztráty významu :) –Johanka) :

char shellkod[] =
    "\xeb\x1f\x5e\x89\ ....

int main() {
    int *ret;
    *((int *)&ret + 2) = (int) shellkod;
    return 0;
}

Dále jsem se dozvěděl, jakým způsobem se hotový shellkód vloží do paměti, aby byl v pravou chvíli spuštěn. Nepříjemným zjištěním bylo, že možností je opravdu mnoho a šance, že při programování v céčku uděláte osudovou chybu, jsou docela veliké. K závěru jsou zmíněny možnosti, jak staticky a dynamicky ohlídat váš výtvor, případně naučit jádro lepšímu chování. Informace v tomto směru ale považuji spíše za orientační.

Viry a ELF formát

V závěru knihy je popsán binární spustitelný formát ELF, který se používá jak na vašich tučňácích a ďáblících, tak snad na všech klonech Unixů. Znalost tohoto formátu se hodí jak pro exploitovací techniky, tak i pro, pokud vás zajímá, odolnost proti virové nákaze. Zklamáním možná bude, že samotný formát ELF je spíš virus-friendly než cokoliv jiného. Podle uvedeného náčrtu jsem si zkusil napsat injekci „Hello world“ do pár binárek a opravdu to funguje.

Co říci na závěr? Z množství nově získaných informací jsem byl jednoznačně nadšen. Knize lze snad vytknout jen příliš svižné tempo, ale to je diskutabilní. Po prvním zakousnutí jsem stručnost a jasnost ocenil více než omáčku po cestě a tlustou knihu na stole. Za zmínku také stojí, že u obrázku jsou chybné české znaky, ale dá se to přežít. Asi došlo k nějaké tiskařské chybě, která si našla cestu až do finálního výtisku.

Protože s Mirkem Dobšíčkem jsem se nejen potkával na chodbách pražského FELu, ale pár let se staral i o počítačovou síť na našem bloku na Strahově, dovoluji si ho tímto pozdravovat a pogratulovat mu k úspěšné diplomce, která se dočkala knižního vydání.

Linux – bezpečnost a exploity
Miroslav Dobšíček, Radim Ballner
160 stran, 169,– Kč
ISBN 80–7232–243–5

Našli jste v článku chybu?
Vitalia.cz: Vědci: Hnojení chemií je zbytečné

Vědci: Hnojení chemií je zbytečné

Lupa.cz: Sdílíte na Facebooku soukromé odkazy?

Sdílíte na Facebooku soukromé odkazy?

Měšec.cz: Cestujte bez starostí, získejte výhodné pojištění

Cestujte bez starostí, získejte výhodné pojištění

DigiZone.cz: VR i AR na vzestupu. Do roku 2018...

VR i AR na vzestupu. Do roku 2018...

DigiZone.cz: ČTÚ květen: rušení TV vysílání narůstá

ČTÚ květen: rušení TV vysílání narůstá

Vitalia.cz: Tohle kafe má být hit léta

Tohle kafe má být hit léta

DigiZone.cz: Kritické poznámky k DVB-T2

Kritické poznámky k DVB-T2

Lupa.cz: Vzali věc, která fungovala, a přidali internet

Vzali věc, která fungovala, a přidali internet

DigiZone.cz: Soud zakázal šíření TV Markíza v ČR

Soud zakázal šíření TV Markíza v ČR

Měšec.cz: Ceny PHM v Evropě. Finty na úspory

Ceny PHM v Evropě. Finty na úspory

Měšec.cz: Tipy, než vyrazíte autem na dovolenou

Tipy, než vyrazíte autem na dovolenou

DigiZone.cz: Pardubicko: Výrazně posílen Mux 3

Pardubicko: Výrazně posílen Mux 3

Podnikatel.cz: Výpadek internetu a #EET. Co s tím?

Výpadek internetu a #EET. Co s tím?

DigiZone.cz: HbbTV KinoSvět: už jede na dalších TV

HbbTV KinoSvět: už jede na dalších TV

Lupa.cz: Vydavatelé jsou v háji, ale neumí si to připustit

Vydavatelé jsou v háji, ale neumí si to připustit

Lupa.cz: Text umírá, na webu zbude jen video

Text umírá, na webu zbude jen video

Měšec.cz: Vyplatí se spořit přes DPS?

Vyplatí se spořit přes DPS?

Lupa.cz: Zaměstnanec T-Mobilu ukradl data o zákaznících

Zaměstnanec T-Mobilu ukradl data o zákaznících

120na80.cz: Léky a dietní opatření při kopřivce

Léky a dietní opatření při kopřivce

Lupa.cz: U Chomutova vyroste dotované datacentrum

U Chomutova vyroste dotované datacentrum