Acronis
přejít na obsah přejít na navigaci

Linux E X P R E S, Recenze knihy: Python pro hackery a reverzní inženýrství

RedHat

Recenze knihy: Python pro hackery a reverzní inženýrství

python_hacker.jpg

Kniha Python pro hackery a reverzní inženýrství od bezpečnostního experta Justina Seitze se zabývá bezpečností, debuggováním, analýzou programů... Příliš se však nezabývá Pythonem samotným, jak by se z názvu mohlo zdát.


Jazyk Python je tu s námi již dvacet let. Koncem osmdesátých let Holanďan Guido van Rossum vytvořil jazyk, který si svoji oblibu získal především díky své flexibilitě. Python je proto vhodný nejen k využití v prototypování (rychlé vytvoření softwarového prototypu obvykle kvůli ověření funkčnosti nebo proveření konceptu), ale také k psaní produkčního kódu. To uživatelé Linuxu asi dobře vědí, protože velké množství programů v Linuxu je psáno právě v Pythonu. Jazyk se ale začíná prosazovat i v komerční sféře a také na jiných operačních systémech.

Justin Seitz, autor knihy Python pro hackery a reverzní inženýrství, je bezpečnostním expertem, který si Python vybral právě kvůli zmíněné flexibilitě. Umožňuje mu vytvářet skripty a programy určené k bezpečnostním analýzám či aktivnímu hledání softwarových chyb. Jazyk následně využívá i pro psaní programů, které využijí nalezené chyby a cílový software naruší. V knize, kterou vydalo nakladatelství Zoner Press, se čtenář dozví mnoho zajímavých praktik ladění programů, hledání chyb a psaní exploitů. Měl bych upozornit, že kniha se v žádném případě nevěnuje jazyku Python, ani jeho základům. Velmi stručně alespoň nastíní, jakým způsobem se dá Python rozšiřovat v jazyce C.

Kniha má dvanáct kapitol, ale dala by se rozdělit také do několika částí. V té první autor vysvětluje teorii ladění (debuggingu) na platformě x86 v systému Windows. Postupně probere (či spíše zopakuje - čtenář by měl znát alespoň základy assembleru pro PC) registry procesoru, paměťový model a body přerušení. Na kapitolu pak navazuje povídání o nástroji PYDBG - knihovnu pro Python umožňující vytváření háků (hooks) na přerušení, ukládání stavu procesu na disk, prohledávání paměti a podobně. Musím říct, že autor si vždy vymyslí pěkné příklady a nastíní jejich řešení. Například se v knize dočtete, jak pomocí Pythonu naprogramovat skript, který se napojí na běžící Firefox a "vytáhne" z něj všechna uložená hesla.

V další částí autor představuje svoje dílo - Immunity Debugger, který značně rozšiřuje možnosti zmiňovaného PYDBG. V další fázi se věnuje pokročilejším technikám, jako je injektáž DLL kódu (DLL injection) a fuzzyingu (technika hledání zranitelnosti kódu). Další část knihy (dvě kapitoly) se věnují frameworku Sulley a knihovně Driverlib. Obě díla nabízejí podobné možnosti a techniky také pro ovladače systému Windows. Lze takto například monitorovat síťový provoz či napadat softwarové služby.

Poslední část knihy pak popisuje nástroje IDA Python, PyEmu a IDA PyEmu. První jmenovaný představuje rozšíření známého komerčního disassembleru IDA v jazyce Python, druhý a třetí pak nabídne programátorovi (či crackerovi) možnost analýzy programu pomocí emulace. Program se tak vlastně nespouští a lze tak bezpečně analyzovat například Malware (aniž by se skutečně spouštěl).

Popravdě mě kniha nalákala svým názvem, kdy jsem měl na mysli původní význam slova "hacker" a mylně jsem se domníval, že se látka bude týkat spíše programování v jazyce Python. Kniha je vlastně takovou sbírkou různých návodů týkajících se analýzy kódu a bezpečnosti. Jednotlivé kapitoly na sebe někdy navazují, jindy nikoli - takže si můžete vybrat ke čtení jen některé části. Materiál představuje nebezpečné hrátky, které lze s Pythonem ve Windows provádět a je vhodný pro všechny bezpečnostní nadšence či experty.

Název: Python pro hackery a reverzní inženýrství
Autor: Justin Seitz
Překlad: RNDr. Jan Pokorný
Rozměry: 168x230
Vydal: Zoner Press v roce 2009
Počet stran: 216
Typ vazby: brožovaná
ISBN: 978-80-7413-048-9
Běžná cena: 290 Kč

Nahoru

Odkazy

Příspěvky

Recenze knihy: Python pro hackery a reverzní inženýrství
Pavel 11. 05. 2012, 14:06:35
Odpovědět  Odkaz 
Je to pro python 3?

Přidat názor

Nejsou podporovány žádné značky, komentáře jsou jen čistě textové. Více o diskuzích a pravidlech najdete v nápovědě.
Diskuzi můžete sledovat pomocí RSS kanálu rss



 
 

Top články z OpenOffice.cz

Lukáš Zapletal

Lukáš Zapletal

Senior Software Engineer @ Red Hat


  • Distribuce: Fedora

| blog



Public Relations

Odhalte budoucnost IT

RedHatNenechte si ujít jedinečný open source event, který se po čtyřech letech vrací do Česka v netradičním formátu.

Pokračování ...


RedHat - A

Public Relations

NetApp nabízí nejmenší HCI v podobě 2nodového storage clusteru!

ALEFNetApp HCI je přesvědčivé řešení pro moderní datová centra, které nabízí nezávislé škálování výpočetních nebo úložných uzlů, QoS pro detailní řízení výkonu aplikací, multitenantnost pro více aplikací sdílejících stejné zdroje, schopnost nezávislého škálování úložných a výpočetních zdrojů a pokročilé datové služby včetně domén replikace a ochrany.

Pokračování ...


Redakční blog

Pavel Fric

Pavel Fric, 21. August

Sayonara Player 1.5.1

Přehrávač, jak má být. Poslední dobou vývoj šlape


Pavel Fric

Pavel Fric, 26. January

MuseScore 3

První aktualizace třetí řady notačního editoru MuseScore


Redakce

Redakce, 21. December

Pište pro LinuxEXPRES

Baví vás Linux? Pište o něm, není to nic těžkého. LinuxEXPRES hledá nové autory.


Všechny blogy »

Acronis