Hlavní navigace

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?

19. 5. 2008 12:38

MP (neregistrovaný)
No a co
... psát a chápat zběsilosti ve stylu:
?

16. 4. 2007 9:39

Lina (neregistrovaný)
Až se naučíte skloňovat cizí slova, jako je právě zeugma, tak to možná smysl bude mít...
120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

Měšec.cz: U levneELEKTRO.cz už reklamaci nevyřídíte

U levneELEKTRO.cz už reklamaci nevyřídíte

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

120na80.cz: Pánové, pečujte o svoje přirození a prostatu

Pánové, pečujte o svoje přirození a prostatu

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Podnikatel.cz: Babiš: E-shopy z EET možná vyjmeme

Babiš: E-shopy z EET možná vyjmeme

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Lupa.cz: Babiš: E-shopů se EET možná nebude týkat

Babiš: E-shopů se EET možná nebude týkat

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka