Ukázka rozhraní OB Filtering Model

Rozhraní OB Filtering Model se objevilo ve Windows Vista Service Pack 1 a klade si za cíl poskytnout programátorům systémů HIPS pomoc při implementaci kontroly přístupů k objektům procesů a vláken.

Rozhraní funguje podobně jako leckterá jiná – ovladač voláním rutiny CmObRegisterCallbacks předá jádro operačního systému adresu zpětně volané funkce, které jádro předá řízení, kdykoliv se někdo pokusí vytvořit handle k některému procesu či vláknu (obvykle pomocí funkcí OpenProcess a OpenThread).

Zaregistrovaná rutina přitom může operaci jak monitorovat, tak i modifikovat, v mnoha případech i zablokovat. Dozví se, o která oprávnění k cílovému objektu útočník žádá a některá z nich může z této žádosti odstranit. Útočník tedy vždy po zavolání OpenProcess či OpenThread získá handle na cílový objekt, ale toto handle nemusí disponovat všemi právy, která požadoval.

Jak se OB Filtering Model chová v praxi, jsem předváděl 2. února na konferenci pořádané serverem SOOM.cz. Rozhodl jsem se, že ani ti, kteří v hotelu Michal chyběli, by měli mít možnost tuto ukázku vidět. Z tohoto důvodu vzniká i tento krátký příspěvek. Video najdete na jeho konci.

Na videu vidíte program Poznámkový blok (notepad.exe), který je systémem HIPS (obc.exe ochraňován. Dojde ke dvěma pokusům o násilné ukončení Poznámkového bloku prostřednictvím Správce úloh (taskmgr.exe). V obou případech systém HIPS zobrazí okno, ve kterém informuje o snaze získat přístup k procesu notepad.exe s oprávněním na násilné ukončení. Při prvním pokusu je toto oprávnění odebráno, což má za následek chybovou hlášku Správce úloh. Při druhém pokusu se tak nestane a Poznámkový blok je úspěšně a násilně ukončen.

Leave a Reply

Your email address will not be published. Required fields are marked *