Tříštivý útok
Shatter attack je softwarová technologie používaná hackery k obcházení bezpečnostních omezení mezi procesy ve stejné relaci v operačním systému Microsoft Windows . Využívá chyby v architektuře předávání zpráv a umožňuje jedné aplikaci vložit libovolný kód do jakékoli jiné aplikace nebo služby běžící ve stejné relaci. V důsledku toho může dojít k neoprávněné eskalaci oprávnění .
Popis
Nový typ útoku je předmětem vášnivých diskusí mezi bezpečnostními profesionály od srpna 2002, kdy byl zveřejněn článek Chrise Page [1] , nezávislého konzultanta pro ochranu dat. Tento dokument poprvé zavedl termín „shatter attack“ k popisu procesu, kterým může aplikace spustit libovolný kód v jiné aplikaci. To je možné, protože systém Windows umožňuje aplikacím s nižšími oprávněními odesílat zprávy aplikacím s vyššími oprávněními. Zpráva může obsahovat jako parametr adresu funkce zpětného volání z adresního prostoru aplikace. Pokud se útočníkovi podaří vložit svá data do paměti jiné aplikace (například vložením kódu shellu do editačního okna nebo pomocí funkcí VirtualAllocEx a WriteProcessMemory), může mu poslat zprávu WM_TIMER a zadat adresu funkce zpětného volání. který odkazuje na tyto údaje.
Několik týdnů po zveřejnění článku Microsoft souhlasil, že problém existuje, ale zároveň objasnil [2] , že je chybou nazývat to chybou Windows, protože problém spočívá v samotné vysoce privilegované službě.
Řešení
V prosinci 2002 vydala společnost Microsoft záplatu pro Windows NT 4.0 , Windows 2000 a Windows XP , aby zabránila „rozbitnému útoku“ [3] . Ale toto bylo částečné řešení problému, protože oprava byla pro služby dodávané se systémem Windows. Samotná architektura se však nezměnila a hrozba nadále existovala pro další aplikace a služby.
Ve Windows Vista byl problém vyřešen komplexně a došlo ke dvěma významným změnám. Za prvé, relace 0 je věnována výhradně systémovým procesům a uživatel se do této relace již nepřihlašuje [4] . Za druhé, většina zpráv již není odesílána z procesů s nízkými oprávněními do procesů s vysokými právy ( User Interface Privilege Isolation , UIPI) [5] . Například Internet Explorer 7 využívá tuto novinku k omezení interakce komponent vykreslování se zbytkem systému.
Poznámky
- ↑ Chris Paget. Využití návrhových nedostatků v Win32 API pro eskalaci oprávnění (anglicky) (downlink) (srpen 2002). Archivováno z originálu 4. září 2006.
- ↑ Informace o hlášené architektonické chybě ve Windows ( nepřístupný odkaz) . technet . Microsoft Corporation (září 2002). Archivováno z originálu 1. května 2012.
- ↑ Microsoft Security Bulletin MS02-071 (anglicky) (odkaz není k dispozici) . Microsoft Corporation (11. prosince 2002). Archivováno z originálu 1. května 2012.
- ↑ Vnitřní části jádra Windows Vista: Část 2 (odkaz dolů) . TechNet Magazine (březen 2007). Archivováno z originálu 1. května 2012.
- ↑ Práce s řízením uživatelských účtů v aplikacích Windows Vista (odkaz dolů) . MSDN Magazine (leden 2007). Archivováno z originálu 1. května 2012.
Odkazy
- "Závada" ve Windows API vyvolala debatu o síle zabezpečení . CNET Networks, Inc.