Hlavní navigace

Postřehy z bezpečnosti: zero day pro MySQL

Martin Čmelík 19. 9. 2016

Dnes se podíváme na dvě kritické chyby všech bežně používaných větví MySQL umožňující plné ovádnutí cílového systému, na zranitelnosti Xenu, behaviorální detekci malwaru na macOS a backdoor v telefonech Xiaomi.

Dawid Golunski objevil dvě kritické chyby v MySQL (a jeho klonech: MariaDB, PerconaDB) umožňující změnu konfiguračního souboru a tím vzdálené spuštění kódu a eskalaci oprávnění. Postižené jsou verze <= 5.7.14, 5.6.32, 5.5.51 a Dawid informoval projekty o zranitelnostech již 29. července. CVE-2016–6662 umožňuje vzdálenou změnu konfigurace MySQL (my.cnf). K tomu vám stačí oprávněný účet, nebo využití SQL Injection chyby webové aplikace používající postiženou verzi MySQL. Využitím této chyby je možné spustit vlastní kód s oprávněním roota. Před zneužitím chyby vás neochrání ani standardní politiky SELinux či AppArmor.

Každá instalace MySQL obsahuje mysqld_safe script sloužící pro inicializaci databáze a aktivaci základních bezpečnostních prvků. Tento script ale obsahuje SUID (Set owner User ID up on execution) bit a kdokoliv script spustí, tak běží s oprávněním roota. To není nic neobvyklého, ale je dobrým zvykem držet počet takových programů na naprostém minimu. Sami si to můžete ověřit na vlastním systému a odebrat SUID/SGID s root oprávněním, kde je to jen možné.

find / ! \( -wholename '/proc/*' -prune \) -perm -u=s -o -perm -g=s ! -type d

Script dále obsahuje parametr umožňující načíst knihovnu před spuštěním MySQL daemona, a to je ta kritická část, protože pak tato knihovna bude spuštěna s oprávněním roota při dalším restartu databáze/systému. Cílem je spuštění mysqld_safe s parametrem –malloc-lib nebo změnit jeden z konfiguračních souborů a přidat parametr malloc_lib s cestou ke knihovně útočníka. Pokud tedy útočník bude mít dostatečné oprávnění (FILE) v MySQL prostředí a bude schopen vložit do systému vlastní kód, tak mu tato chyba umožní plně ovládnout celý systém. První omezení oprávnění by měla řešit druhá chyba (CVE-2016–6663), která se týká zmíněné eskalace oprávnění. Detaily nejsou známy, ale Dawid by je měl (včetně PoC kódu) zveřejnit během několika dnů.

Jeden z příkladů změny konfiguračního souboru:

mysql> set global general_log_file = '/var/lib/mysql/my.cnf';
mysql> set global general_log = on;
mysql> select '
    '>
    '> ; injected config entry
    '>
    '> [mysqld]
    '> malloc_lib=/var/lib/mysql/mysql_hookandroot_lib.so
    '>
    '> [separator]
    '>
    '> ';
1 row in set (0.00 sec)
mysql> set global general_log = off;

Podobná chyba se objevila již v roce 2003 a tento vektor útoku od té doby neměl být možný, avšak Dawid svým PoC kódem dokázal, že tato zranitelnost stále existuje. Především na sdíleném webhostingu je pravděpodobnost zneužití a ovládnutí celých serverů velmi vysoká.

MariaDB a PerconaDB již vydali opravu, Oracle (MySQL) však stále ne (očekává se až 18. října). Dawid doporučuje jako dočasnou ochranu změnit vlastníka konfiguračních souborů MySQL na roota a vytvořit prázdné my.cnf konfigurační soubory ve všech cestách kde je MySQL očekává při startu. Vzhledem ke kompatibilitě klonů s MySQL, jednoduché migraci, použití nejmodernějších technologií, rychlejšímu vydávání oprav, otevřenosti a mnohem vyššímu výkonu (např. XtraDB, Galera) možná bude nejlepším doporučením přejít z MySQL na Mariu, či Perconu.

Naše postřehy

Nová verze Xenu, který je používán cloudovými službami jako AWS, Linode, Rackspace apod. opravuje čtyři bezpečnostní chyby. CVE-2016–7093 postihuje HVM (Hardware Virtual Machines) a umožňuje eskalaci oprávnění na úroveň hosta. CVE-2016–7092 se opět týká eskalace oprávnění, ale u paravirtualizovaných virtuálních mašin, a poslední dvě (CVE-2016–7154 a CVE-2016–7094) umožňují denial-of-service s tím, že u 7154 nelze vyloučit i eskalaci oprávnění.

Jestlipak si ještě pamatujete, jak FBI zaplatila 1.3 milionu dolarů za odemčení iPhonu? Nyní Sergei Skorobogatov publikoval studii, dle které je možné toho docílit za pouhých 100 dolarů. Lze toho docílit pomocí NAND mirroringu, jak se již dříve spekulovalo a o čemž ředitel FBI James Comey řekl: „It does not work“. Když se chce, tak to jde. Sergei zautomatizoval mirroring NAND paměti a bruteforcing hesla a za cca 40 hodin byl schopen prolomit čtyřmístné, číselné heslo. Několik týdnů trvá šestimístné. Útok je možné provést nejen na iPhonu 5C, ale i na iPhonu 6, protože používají stejné typy pamětí. Jestli bude stejným útokem postižená i poslední řada iPhonu, není jisté, ale již dříve se spekulovalo, že Apple implementoval do sedmé řady dodatečné ochrany znemožňující odemčení iPhonu. Rozhodně však i výše popsaný způsob není pro každého. Podle popisu se jednalo o chirurgickou práci o teplotách okolo 700 stupňů, aby se NAND chip nepoškodil.

Behavioral Detection and Prevention on OS X je studie Vincenta Van Mieghema zaměřující se na detekci malwarů za pomocí analýzy vzorců volání systémových funkcí. Díky sekvenční analýze a heatmapě dokázal najít vzor chování malwarů na OS X. Byl schopný takto identifikovat 100 % použitých vzorků. Jedinou nevýhodou je poměrně velké procento false positive, především pak u uživatelů/programátorů s vyšším oprávněním, používajících překladače či interprety jazyků Python a JavaScript.

Firefox 48.0.2 bude opravovat zranitelnost, která již byla opravena v Tor browseru a týká se nedostatečné kontroly při certificate pinning. Útočník v MitM pozici je tak teoreticky schopen podvrhnout webové stránky Mozilly (addons.mozilla.org) a nainstalovat do vašeho prohlížeče „novější“ verze doplňků prohlížeče, které budou obsahovat malware.

Student z Nizozemska objevil na svém Android telefonu Xiaomi Mi4 předinstalovanou aplikaci AnalyticsCore.apk, která běží na pozadí a i když ji smažete, tak se znovu objeví. Když na oficiálním fóru nedostal vysvětlující odpověď, tak se rozhodl „reverznout“ aplikaci, aby zjistil, čeho je schopna. Nejen, že posílá identifikační údaje a ověřuje, jestli na webu Xiaomi není novější verze, ale pokud nová verze existuje, tak ji bez povšimnutí nainstaluje, pomocí vlastního instalačního procesu. To mimo jiné znamená, že Xiaomi je schopna do vašeho telefonu nainstalovat bez povšimnutí jakoukoliv aplikaci. Ještě hůře, útočníci mohou teoreticky zaútočit na web, kde má být nová verze aplikace ke stažení a nainstalovat tak svůj malware (musel by být podepsaný) na stovky milionů zařízení během 24 hodin.

Výzkumníci společnosti CyberArk přišli se způsobem, jak je možné instalovat dodatečný malware, či jak obcházet bezpečnostní aplikace (antiviry, threat detection), ochrany systému Windows, či jak se dostat ke kritickým údajům, které chrání VSM (Virtual Secure Mode) představené ve Windows 10. Používají Safe Mode ve Windows, kdy se systém spustí jen s těmi nejnutnějšími ovladači a službami. Útočník však musí mít na koncové stanici oprávnění administrátora.

DualToy je trojan, který se poprvé objevil na začátku roku 2015. Jeho první verze jen instalovaly nevyžádané aplikace na Android platformu a zobrazovaly placenou reklamu. Po šesti měsících se začal zaměřovat i na iOS a po připojení iZařízení k infikovanému Windows počítači přes USB se snaží nainstalovat další aplikaci pro získání přihlašovacích údajů k Apple účtu. Pro komunikaci s iOS zařízením používá open-source nástroj iphonetunnel-usbmuxconnectbyport. Riziko je však nízké, protože Apple App certifikát je již neplatný.

Ve zkratce

Pro pobavení

Jedna z mých oblíbených definicí projektového manažera

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?

19. 9. 2016 7:16

Loldos (neregistrovaný)

Experte, máte tu formulář na nahlašování chyb!

19. 9. 2016 13:49

To je legrace s tím DUMPFILE. Jako zadefinovat trigger, který se spustí pod root uživatelem, to bych řekl, že je mnohem větší průser, než vše, co se tam píše předtím. Jo, umět tam nalámat .sočko a ovládnout celý linux. Ale úplně postačí získat root práva na mysql serveru ... třeba na takovém sdíleném hostingu....

Stačí ten trigger co tam je v example (v původním článku) upravit tak, aby přidělil práva nastavovat práva mně na *.*

Proč tam vlastně pořád ty FILE jsou? Nikdy jsem to nepotřeboval, …

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

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

Měšec.cz: Air Bank zruší TOP3 garanci a zdražuje kurzy

Air Bank zruší TOP3 garanci a zdražuje kurzy

Root.cz: Vypadl Google a rozbilo se toho hodně

Vypadl Google a rozbilo se toho hodně

Vitalia.cz: Jak vybrat ořechy do cukroví a kde mají levné

Jak vybrat ořechy do cukroví a kde mají levné

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

Přehledná titulka, průvodci, responzivita

Lupa.cz: Teletext je „internetem hipsterů“

Teletext je „internetem hipsterů“

Lupa.cz: Co se dá měřit přes Internet věcí

Co se dá měřit přes Internet věcí

Podnikatel.cz: Podnikatelům dorazí varování od BSA

Podnikatelům dorazí varování od BSA

120na80.cz: Horní cesty dýchací. Zkuste fytofarmaka

Horní cesty dýchací. Zkuste fytofarmaka

Vitalia.cz: Znáte „černý detox“? Ani to nezkoušejte

Znáte „černý detox“? Ani to nezkoušejte

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

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

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

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

Vitalia.cz: Mondelez stahuje rizikovou čokoládu Milka

Mondelez stahuje rizikovou čokoládu Milka

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

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

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Lupa.cz: Propustili je z Avastu, už po nich sahá ESET

Propustili je z Avastu, už po nich sahá ESET

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

Recenze Westworld: zavraždit a...

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

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

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

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

Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte