Hlavní navigace

Postřehy z bezpečnosti: vkládáme kód pomocí AtomBombingu

Martin Čmelík 31. 10. 2016

V tomto díle se podíváme na novou techniku vkládání kódu do aplikace, na to jak se AI v Googlu snaží najít nový šifrovací algoritmus, na chybu v botnetu Mirai a na zařízení schopné ovládnout drony.

Výzkumníci ze společnosti enSilo zveřejnili novou code injection metodu, která je zneužitelná na všech operačních systémech rodiny Windows a přitom není jednoduché ji opravit, protože se jedná o dílčí část systému, která prostě takto má fungovat.

Code injection je velmi užitečná technika umožňující vkládat vlastní kód do jiné aplikace. Díky ní je např. možné provádět MitB (Man in the Browser) útoky na váš prohlížeč, díky čemuž nejen zaznamenáte vše co uživatel napíše (hesla), ale dokážete také dešifrovat komunikaci, měnit vzhled webů, hodnoty ve formulářích, cílový účet při zasílání peněz apod. Jednou z posledních technik, která byla prezentována na konferenci BSides byl PowerLoaderEx, používající techniku známou také jako “code-less code injection”. Na KernelMode.info jim Vrtule (Martin Dráb) i poradil, jak vylepšit kód.

Nová technika se nazývá AtomBombing, protože využívá Windows atom tabulky a APC (Async Procedure Calls). Atom tabulky jsou součástí Windows a aplikace mohou atomy použít pro uložení dat podobně, jako když ukládáte data do databáze. Vložíte řetězec ( AddAtom) a zpět dostane identifikátor umístění atomu, na který se dále můžete odkazovat ( GetAtomName). Pomocí DDE (Dynamic Data Exchange) a globálních atomů můžete takto sdílet dat mezi aplikacemi (GlobalAddAtom, GlobalGetAtomName). K tomu, aby jiná aplikace zavolala právě GlobalGetAtomName, se používá APC. Místo přímého zápisu řetězce do aplikace/paměti ( WriteProcessMemory) bude aplikace volat pouze GlobalGetAtomName, kde již může čekat váš shellkód. Také díky tomu tato metoda není (zatím) rozpoznatelná EMETem, či jinými bezpečnostními produkty schopnými detekovat ROP.

Ukázka AtomBombingu prohlížeče Chrome.

Ukázkové kódy můžete nalézt na GitHubu a detailní popis na blogu Breaking Malware.

Naše postřehy

Tým Google Brain nechal umělou inteligenci, aby sama vynalezla nový kryptografický algoritmus. Připravili tři neurální sítě (Alice, Bob, Eve) a rozdělili jim úkoly. Alice měla poslat šifrovanou zprávu Bobovi, Bob měl zprávu dešifrovat a Eve se měla snažit odposlechnout komunikaci a dešifrovat ji. Alice a Bob měli na začátku jednu výhodu, a tím bylo shared secret. Tím to končilo, už neměli zadáno, jak spolu mají komunikovat a jaký šifrovací algoritmus použít. Pomocí simulací a ztrátových funkcí pak byly všechny neurální sítě trénovány, aby věděly jestli se blíží cíli či nikoliv, a podle toho upravovaly svého agenta. V jednu chvíli už Eve dokázala s velkou úspěšností dešifrovat zprávu, pak ale Alice a a Bob změnili algoritmus a zpráva byla pro Eve opět nečitelná. Je to podle mého geniální tah. Tento pokus je na pouhém začátku, ale kdo jiný dokáže vymyslet neprolomitelnou šifru lépe než budoucí AGI zaměřená pouze na tento úkol, která bude mít přístup ke všem informacím, studiím a k tomu enormní výpočetní výkon na otestování (a nabourání) všech možných variant?

Minulý týden Apple opravil několik kritických chyb updatem iOS verze 10.1. Hlavní z nich postihovala iPhony, iPady a iPod Touch a nalézala se v komponentě CoreGraphics (CVE-2016–4635). K jejímu využití stačil upravený JPEG obrázek, díky němuž bylo možné spustit kód. K úspěšnému útoku stačilo navštívit web, otevřít email či PDF. Důležitý byl i první update macOS Sierra 10.12.1, který opravoval několik chyb spuštění kódu a desítky dalších zranitelností. Zranitelnostem se nevyhnuly ani Apple Watch, Apple TV, či Xcode server. Pokud by vás zajímaly detaily chyby v IOSurface, na blogu Google Project Zero je detailní popis včetně exploitu.

Henry Hoggard na svém blogu popsal chybu umožňující obejít 2FA na webu PayPal. Chyba je již opravena, ale její zneužití bylo opravdu primitivní. Stačilo použít alternativní přihlášení pomocí “bezpečnostních otázek” a z dat odeslaných na server smazat parametry a hodnoty těchto otázek. Server požadavek vyhodnotil jako validní a umožnil přístup na účet.

Icarus je zajímavá hračka od Jonathana Anderssona z Trend Micro TippingPoint DVLab. Dokáže identifikovat komunikaci mezi ovladačem a cílovým zařízením (dron, loď, auto, vrtulník, …) komunikující pomocí DSM protokolu, a protože DSM protokol nešifruje „klíč“ sloužící ke spárování ovladače a cílového zařízení, tak ho Icarus odposlechne a převezme kontrolu nad zařízením. K tomu všemu zablokuje komunikaci původního ovladače. I hračky potřebují vysokou bezpečnost.

Ministerstvo chystá jednotku hackerů. Cílem takové jednotky bude nejen chránit, ale provést i protiúder v případě potřeby. Záleží na útočnících, ale často to jen přilije olej do ohně. Nicméně hodně štěstí s náborem kvalitních lidí, kterých je málo, a jestli budou ke všemu placeni tabulkově a jejich manažerem bude kompetentní osoba s ECDL certifikátem, tím menší šanci mají na úspěch.

Mirai botnet (Botnet-of-Things), který mimo jiné nedávno útočil na populární službu Dyn DNS, obsahuje chybu, díky které je možné zastavit či úplně odstavit HTTP útoky tohoto botnetu. Scott Tenaglia analýzou zdrojových kódu Mirai zjistil, že kód zodpovědný za HTTP flood útoky obsahuje chybu umožňující poškození paměti podprocesu, který útok provádí. Můžete tak během útoku na vaše systémy provést protiútok a ničit procesy na stanicích, které mají útoky provádět. Jen upozorním, že toto jednání může být v některých zemích ilegální. Druhou možností protiúderu je si podobný botnet koupit za pár tisíc dolarů.

Tým The Tencent Keen Security Lab z číny si na soutěži Mobile Pwn2Own vydělal pěkných 215 tisíc dolarů. Dokázali se nabourat jak do iPhone 6S, tak do Nexusu 6P. U iPhonu se jednalo o use-after-free chybu umožňující ze zařízení stáhnout obrázky, dále remote code execution chybu pomocí upraveného JPEG obrázku (pravděpodobně se nejedná o CVE-2016–4635) a nakonec chybu umožňující instalaci aplikace, která však nepřežila restart telefonu díky ochranám iPhonu. U Nexusu šlo o využití několika chyb umožňující instalaci škodlivé aplikace bez povšimnutí uživatele. Mimochodem tato skupina jsou ti samí, co dokázali např. ovládnout automobily Tesla.

Izraelskou společnost Cellebrite, specializující se na forenzní analýzu mobilních telefonů, jste mohli zaznamenat minulý rok, díky jejich propagačnímu videu na YT kde byli schopni odemknout iPhone během několika hodin. Jejich arzenál lze nyní stáhnout na webu jejich přeprodejce McSira. Cellebrite Universal Forensic Extraction Device (UFED) je klíčovým produktem, který se specializuje na obcházení bezpečnostních mechanizmů k získání soukromých dat a hesel z telefonů (Apple, Samsung, Blackberry, Nokia, LG). Několik výzkumníků již zkoumá daný SW a snaží se odhalit dosud neznámé exploity či postupy.

Ve zkratce

Pro pobavení

Závěr

Tento seriál vychází střídavě za pomoci pracovníků Národního bezpečnostního týmu CSIRT.CZ provozovaného sdružením CZ.NIC a redaktorů serveru Security-Portal.cz. Uvítali bychom i vaši spolupráci na tvorbě obsahu tohoto seriálu. Pokud byste nás chtěli upozornit na zajímavý článek, tak nám napište na FB stránku, případně na Twitter. Děkujeme.

Našli jste v článku chybu?

31. 10. 2016 11:45

Já ten bezpečnostní problém nechápu jako problém atomů, ale jako problém APC, kde je třeba možné zavolat funkci v cizím vlákně, aniž by byla nějaká možnost v cílovém procesu se tomu bránit. Ve windows se dá najít spoustu jiných míst. Svého času cokoliv co prošlo kolem PostMessage, třeba WM_TIMER obsahuje pointer na funkci, kterou je třeba zavolat - mám pocit, že už to teď nejde, nicméně pokud nějaká aplikace si přes zprávy předává adresy funkcí, které má zavolat při dispatchingu, tak je velice s…

31. 10. 2016 23:04

Bohužel ani na novějších verzích (vyjma Visty) to nedopadlo úplně tak, jak by bylo záhodno.

https://github.com/hfiref0x/UACME

Měšec.cz: Kdy vám stát dá na stěhování 50 000 Kč?

Kdy vám stát dá na stěhování 50 000 Kč?

Podnikatel.cz: EET zvládneme, budou horší zákony

EET zvládneme, budou horší zákony

DigiZone.cz: ČRo rozšiřuje DAB do Berouna

ČRo rozšiřuje DAB do Berouna

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Lupa.cz: Proč firmy málo chrání data? Chovají se logicky

Proč firmy málo chrání data? Chovají se logicky

DigiZone.cz: NG natáčí v Praze seriál o Einsteinovi

NG natáčí v Praze seriál o Einsteinovi

DigiZone.cz: ČRa DVB-T2 ověřeno: Hisense a Sencor

ČRa DVB-T2 ověřeno: Hisense a Sencor

Podnikatel.cz: Víme první výsledky doby odezvy #EET

Víme první výsledky doby odezvy #EET

Vitalia.cz: To není kašel! Správná diagnóza zachrání život

To není kašel! Správná diagnóza zachrání život

DigiZone.cz: ČT má dalšího zástupce v EBU

ČT má dalšího zástupce v EBU

Vitalia.cz: Jsou čajové sáčky toxické?

Jsou čajové sáčky toxické?

Vitalia.cz: 9 největších mýtů o mase

9 největších mýtů o mase

Vitalia.cz: Říká amoleta - a myslí palačinka

Říká amoleta - a myslí palačinka

Vitalia.cz: Paštiky plné masa ho zatím neuživí

Paštiky plné masa ho zatím neuživí

DigiZone.cz: Recenze Westworld: zavraždit a...

Recenze Westworld: zavraždit a...

Podnikatel.cz: 1. den EET? Problémy s pokladnami

1. den EET? Problémy s pokladnami

Měšec.cz: Finančním poradcům hrozí vracení provizí

Finančním poradcům hrozí vracení provizí

Měšec.cz: Jak vymáhat výživné zadarmo?

Jak vymáhat výživné zadarmo?

Vitalia.cz: Chtějí si léčit kvasinky. Lék je jen v Německu

Chtějí si léčit kvasinky. Lék je jen v Německu

Vitalia.cz: „Připluly“ z Německa a možná obsahují jed

„Připluly“ z Německa a možná obsahují jed