Příručky a jiné texty

Tady budou postupně přibývat různé materiály zabývající se převážně počítačovou tématikou. Tyto materiály samozřejmě můžete najít i jinde na webu, ale chtěl bych jejich dostupnost zachovat, ikdyby původní stránky přestaly existovat. V jedné nejmenované složce na mém pevném disku, kterou neformálně nazývám Vrtulův bordel se nachází takových materiálů neuvěřitelná spousta. Tudíž je na co se těšit.

Checking for Race Conditions in File Accesses | Exploiting Concurrency Vulnerabilities in System Call Wrappers | From Ring Zero to UID Zero
Tyto dokumenty obsahují předchozí výzkum ohledně útoku záměnou argumentu (KHOBE, TOCTTOU). Ukazuje se, že tento problém je znám již od roku 1996 a na jeho zkoumání se zaměřilo několik prací jak z teoretického, tak z praktického hlediska.

Skrývání modifikací System Service Descriptor Table
Při nedávném brouzdání vodami Internetu jsem narazil na tento malý dokument, jenž popisuje techniku skrývání modifikací SSDT (a Shadow SSDT) založenou na změně pole KiServiceTable ve strukturách ETHREAD, kterými jádro Windows popisuje jednotlivá vlákna. Technika je to velmi stará, ale myslím si, že dokument ji popisuje velmi srozumitelně, zvláště pro ty z vás, kteří jste již viděli nástroj WinDbg.

Práce se sériovým portem
Do sekce Delphi | Programy jsem přidal jednoduchou aplikaci demonstrující základní práci se sériovým portem. Své (malé) znalosti o této problematice jsem načerpal převážně z tohoto malého, leč pro začátečníka užitečného PDF dokumentu, který popisuje vše potřebné, abyste mohli vesele komunikovat s nějakým externím zařízením přes sériový port (například s čidlem, které měří různé veličiny prostředí).

Deploying Windows 7
Introducing Windows Server 2008 R2
Před pár měsíci uvolnil Microsoft ke stažení dvě knížky, jejichž názvy vidíte nad tímto textem. Zatím jsem je nečetl, což asi byla vzhldem k tomu, že tento semestr (léto 2010) studuji předmět Administrace Windows, chyba. Nevím, co v nich je, protože jsem je nečetl. Jejich obsah by mi ale možná ušetřil spoustu času.

ATHelp a Sysman
Informace obsažené v těcho příručkách asi většina z vás nikdy nevyužije, protože jak ATHelp, tak Sysman popisují věci týkající se převážně reálného režimu procesu, se kterým se na dnešních operačních systémech příliš nesetkáte (myslím teď u osobních počítačů). Příručky podrobně popisují jednotlivé instrukce procesoru, přerušení procesorem generovaná, přerušení služeb BIOSu, obsluhu grafické karty přes vstupně/výstupní porty a mnoho dalších věcí. Pokud se chcete dozvědět něco o tom, jaké vylomeniny (a krásné věci) bylo možné před deseti či patnáci lety provádět, tak stačí nahlédnout sem.

PHP Manuál
Zde je česká referenční příručka ke starší verzi jazyka PHP. Soubor je v mém oblíbeném formátu CHM.

Prezentace o infekci BIOSu
Na jaře tohoto roku skupine Core Security Technologies předvedla, že propašovat zákeřný kód do BIOSu není tak těžké, jak by se na první pohled mohlo zdát. Jejich prezentace sice nedává detailní návod, ale umožní získat základní představu o tom, co infekce BIOSu znamená.

"Chráněné" procesy
Pro ochranu DRM Microsoft do Windows Vista (a novějších) zabudoval speciální typ procesu, který je jádrem chráněn před většinou přístupů z uživatelského režimu. Idea je taková, že právě v takto chráněných procesech bude přehráváno audio a video. Tento dokument obsahuje podrobnější informace, jak "protected processes" fungují.

Nové funkce ve Windows Vista a Windows Vista SP1
Do 64bitových verzí operačních systémů Windows 7, XP a Vista byla zabudována ochrana jádra před nežádoucími modifikacemi - PatchGuard. Díky této součásti není možné používat staré osvědčené techniky nejen na straně malware, ale i bezpečnostních aplikací. Microsoft však pro vývojaře připravil nová rozhraní, která mají vše napravit.

Rootkit Shadow Walker
Shadow Walker je "proof-of-concept" rootkit, který umí skrývat oblasti paměti. Jeho zdrojové kódy si můžte stáhnout na rootkit.com. Rootkit mi přijde zajímavý zejména subjektivně, protože jsem až do doby jeho objevení příliš nevěřil, že něco takového jako skrývání oblastí paměti je možné.

Playing with Windows /dev/(k)mem
Velmi známý článek od crazylorda pojednávající o jedné z možností, jak může normální program vykonávat svůj kód v privilegovaném režimu procesoru.

Referenční dokumentace pro FAT souborové systémy
Oficiální dokumentace od Microsoftu, která do detailu popisuje interní datové struktury a fungování souborových systémů FAT. S touto příručkou celkem bez problému napíšete například ovladač pro souborové systémy FAT12, FAT16 a FAT32.

Dokumentace k NTFS
Něco obdobného jako předchozí příručka. Nejedná se však o oficiální dokumentaci, ale o výsledky práci lidí od Linuxu, jejichž cílem bylo vyvinout ovladač NTFS pro Linux. Z tohoto důvodu je tato dokumentace neúplná, ale k napsání "read-only" ovladače pro NTFS postačuje. Ale i tak budete muset trochu zkoumat a experimentovat, není tak přesná jako dokumentace k FAT.

Kernel Integrity Protection
Nedávno jsem narazil na tuto PDF-prezentace Alexe Ionescu, která ukazuje zajímavé věci kolem nativní funkce ZwSystemDebugControl a novinek kolem Object Manageru, které se objevily ve Windows Server 2003 SP1. V závěru pak Alex nastiňuje další způsob, jak se dostat "do kernelu bez driveru." Nejedná se ale o hack, protože jeho způsob vyžaduje administrátorská oprávnění. Prezentace vznikla v roce 2006.

Co dělat, když nám někdo brání zapsat na nějaou virtuální adresu
Starý článeček od uživatele s přezdívkou Opc0de pojednávající o tom, jak zapsat na virtuální (lineární) adresu chráněnou nějakým bezpečnostním systémem. Trik to sice není nový, ale rozhodně stojí za povšimnutí.

According to my calculations, this problem does not exist.