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

31. 10. 2016
Doba čtení: 5 minut

Sdílet

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.

ict ve školství 24

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.

ikonka

Zajímá vás toto téma? Chcete se o něm dozvědět víc?

Objednejte si upozornění na nově vydané články do vašeho mailu. Žádný článek vám tak neuteče.

Autor článku

Security Architect, šéfredaktor serveru Security-Portal.cz, spoluorganizátor konference Security Session a hlavní vývojář distribuce Securix GNU/Linux.