Představme si rajskou hudbu každého bezpečáka. Uživatelé mají zařízení, například Windows stanice, notebook, nebo klidně i mobilní telefon. Toto zařízení je celé zašifrováno pomocí diskového šifrování, například BitLocker, nebo cokoliv jiného co je schopno využívat TPM (trusted policy module). TPM je čipová karta na základové desce (motherboard), ve které je, velmi zjednodušeně řečeno, schováno heslo k šifrovanému disku.
Samozřejmě jeho UEFI firmware plně vynucuje Secure Boot a nedovoluje se boot z jiného harddisku ani DVD. BIOS (tedy firmware) je zaheslován, CSM (compatibility support mode) je vypnut a uživatelé nemohou měnit ani vendor keys.
Pokud se jedná o podnikového uživatele, uživatel není ani členem skupiny Administrators ani na tomto svém jediném zařízení. Pokud se jedná o domácího teroristu, ten určitě pracuje pod účtem lokálních Administrators.
Zapomeňme na možnost vyčítat klíče ze zmrzlé paměti. Zapomeňme na to, že je možná někde poznačeno obnovovací heslo (recovery password, 48 digit password). Prostě nic takového neexistuje, nebo na to nelze obecně spoléhat.
Celé to znamená, že se zařízení dá nastartovat a samo naběhne až do přihlašovací obrazovky, kam se musí zadat nějaké "heslo". Jestli to je PIN, heslo, máchnutí prstem, nebo jeho otisk je mi jedno. Je ale dnes už často možné, že se to neprovádí na klávesnici, takže není možné použít hardware keylogger (všechny tyto metody ale ukládají normální uživatelovo heslo přímo na počítači na disku - jsou prostě jen náhradou za heslo a přitom se mapují na normální účet - ale disk je zašifrován BitLockerem, nebo čímkoliv jiným).
Neprůstřelné. Tedy alespoň by se zdálo. Neprůstřelnost je vždycky ale jen proti něčemu. Otázka je, čeho chceme dosáhnout.
Cíle útoku a motivace
Sledujme dva týpky. Jeden je podnikový zaměstnanec, který se chce stát lokálním adminem na svém počítači. Případně na počítači kolegy, se kterým sdílí kancelář, nebo openspace. Když se stane lokálním adminem, začne sbírat přihlašovací údaje a napadat další účty, aby se dostal postupně dál a dál po síti.
Druhým je terorirsta, nebo hacker, nebo pedofil, který pracuje z domu a je lokálním adminem na svém počítači. Až k němu přijede komando, aby mu počítače zabavilo, policie by byla ráda, kdyby se mohla podívat na jeho data. Jenže tihle parchanti nespolupracují. A krekovat z nich hesla gumovou hadicí, no uznejte, tyhle metody z minulého rok... století?
Podnikový zaměstnanec se vyznačuje schopností fyzického přístupu k počítači svému, nebo počítači kolegy. Řekněme na 15 a více minut?
Policie také nepřepadá žádného zlořáda z ničehož nic. Obvykle svůj zásah může plánovat dopředu. A může se na něho připravit. Může ho například navštívit v době, kdy není u svého zařízení a trošku se tam připravit. Možná to má různá právní a zákonná omezení, ale jsou bezpečnostní složky, které to mají trošku jinak. A nebo se o tom nikdo dozvědět ani nemusí...
Zase to znamená fyzický přístup k zařízení. Možná trošku déle, než 15 minut. Ale ne o moc.
A modří už vědí. Ostatní si přečtou. Fyzický přístup je vždycky klíčem. Pokud ho máte, vždycky bude nějaká cesta. Tady jsou dvě takové pěkné, co mě napadly.
Teroristovo heslo
Jak dostaneme z teroristy heslo do jeho počítače? Můžeme mu doma namontovat nějaké kamery a sledovat ho, jak to heslo zadává. Pak ho už jenom sebereme, nebo rovnou střelíme mezi voči (jak říká můj oblíbenej Richard Marcinko - "zabij ty hajzly všechny, bůh už si to nějak přebere").
A nebo mu to přeinstalujeme.
Nejprve uděláme imidž mašiny, abychom měli zašifrovaná data. Potom mu to přeinstalujeme, nebo vyresetujeme do továrního nastavení. V tom okamžiku jsme na jeho zařízení pány. Jsme lokálními Administrators. Co nám brání nainstalovat mu tam rovnou nějaký software keyloger? Nic. Takže keylogger, který ovládáme my. Chudák tam už nemá žádná svá data, samozřejmě. Nemá tam ani přístup, protože jeho heslo my ještě neznáme. Dostane tedy svoje zařízení zpátky úplně čisté, s keyloggerem a heslem, které sám ani nezná. Ale o tom on neví.
Vrátí se z večeře, zkouší se přihlásit na svůj noťas, keylogger zachytává jeho skutečné heslo a odesílá nám ho. Borec panikaří, protože si nemůže pustit svoje oblíbený .... Když v tom mu cosi olověného prolétá hlavou.
... A nebo neprolétá. Zařízení se restartuje a hlásí, že se samo vrátilo do továrního nastavení, zavolejte svého administrátora, odneste mě do servisu. Všechno je v pořádku pane teroristo, data máte přece v klaudu, nebo máte určitě zálohu, ne?
... A nebo se zobrazí hlášení o aktualizaci, pod tím se aplikuje původní imidž a po dalším restartu nechává teroristu znovu v klidu pracovat :-)
Zaměstnanec lokálním adminem
BitLocker v kombinaci s TPM modulem je výborná metoda, jak odstavit uživatele od lokálního adminství. Pokud ani sám uživatel nezná klíče k dešifrování systémového disku, nemůže použít zmiňovanou offline modifikační metodu, aby získal lepší přístup. Ale on by to chtěl.
Vždycky může nainstalovat hardware keylogger a zavolat na support, že mu nejede tiskárna. Přijde admin, zadá mu do keyloggeru heslo a tradá. Jenže co když admin používá správně čipovou kartu (smart card). V takovém případě zaměstnanci nějaký keylogger nepomůže (ani software keylogger). Podobně to bude když admin přichází vzdáleně přes RDP (dokonce ani nemusí používat mstsc /RestrictedAdmin režim (a ještě tady), protože uživatel sám není správcem).
Takže stanice BitLocker + TPM + uživatel nezná klíče + uživatel není členem lokálních Administrators je velmi solidní řešení. Až do okamžiku mého reinstalačního útoku.
Uživatel si prostě svoji stanici přeinstaluje. A obvykle nechá i připojit do domény. Jak každý doufám ví, ve výchozím nastavení si počítač do domény může připojit kdokoliv.
Po reinstalaci počítače je uživatel sám svým adminem. Nainstaluje si libovolnou logovací technologii, kterou chce. A zavolá na support.
Je možné, že se na nově nainstalovaný počítač jeho správce ani nedostane, ale to nevadí. Bude to vypadat, že je ten stroj tak zničený, že prostě potřebuje komplet opravit. To se děje běžně, ne? Například klasická hláška - workstation trust relationship with primary domain failed. Ten automatický logovací nástroj však může také vrátit původní imidž a nic se po restartu ani nepozná.
Pracuju na demu, uvidíme, jestli se mi to podaří na podzimní HackerFest zmáknout :-)