Hlavní navigace

Postřehy z bezpečnosti: nebezpečné důsledky neslušného operátoru

28. 1. 2019
Doba čtení: 5 minut

Sdílet

V dnešním zlodějském speciálu se vyhneme neslušným obrazcům při programování, naučíme se číst cizí záložky, obohatíme se daty z VPN provozu, zcizíme soubory chmatáckým MySQL a ochutnáme shnilou hrušku.

Velbloudí pukavec

Minulý týden se v systému pro hlášení debianích chyb objevil příspěvek ohlašující zranitelnost ve skriptu gropdf, který je součástí textového procesoru groff určeného zejména pro vytváření unixových manuálových stránek. Uvedený skript je psán v Perlu a využívá poměrně nebezpečný tzv. diamantový operátor <>.

Jak píše náš slavný spisovatel z Liberce ve své populární knize: Je z toho vidět, jak jsou ti angloameričané slušní. Oni když vidí kosočtverec, napadne je diamant. Zde z možných následků ovšem nic slušného nekouká, ba naopak. Jsou-li v Perlu úhlové závorky prázdné, jsou synonymem k handlu <ARGV>, který pojme argumenty skriptu jako jména souborů a následně pracuje s jejich obsahem. Pokud ovšem jméno souboru končí svislítkem |, Perl provede volání shellu a následně pracuje s výstupem dané příkazové sekvence. Pokud tedy perlovský skript (mezi které patří i gropdf běžně obsažený ve většině unixových distribucích) obsahuje kód typu

while (<>) {
  print;
}

pak lze voláním např.

$ skript.pl "echo 'skodlivy_kod' >camel_egg; chmod +x camel_egg|"

nasadit v systému zkažené vejce a čekat, až se ujme. Samozřejmě zneužití téhle chyby se může leckomu zdát obtížné, či nepravděpodobné. Často se však do systému může dostat např. archiv, jehož soubory jsou takovým skriptem strojově zpracovávány. Pokud škodič do archivu vloží soubor se jménem echo 'Skodlivy_kod' >came_egg.txt; chmod +x camel_egg.txt|, pak skript uvedený soubor neotevře, ale provede akci, kterou obsahuje jeho jméno. A to, že se povede takto připravený útok, je už mnohem pravděpodobnější.

Zajímavé je, že problém s diamantovým operátorem v Perlu se řeší už minimálně od roku 2000. Přesto se ve zkontrolovaných distribucích Linuxu stále najdou skripty, které jej používají. Varuje před ním dokonce i samotná manuálová stránka perlop, kde je popsán. Je v ní uvedeno i bezpečné řešení v podobě zdvojení úhlových závorek <<>> (tím si bohužel programátor odstřihne možnost použití pomlčky jako standardního vstupu), nebo modulu ARGV::readonly.

Pozor na zloděje záložek

Vědec Dolière Francis SoméUniversite ́Co ̂te d’Azur a francouzského státního výzkumného ústavu INRIA tento měsíc publikoval zprávu, podle které se mu pomocí škodlivé WWW stránky podařilo provést teoretický útok na API rozšíření většiny běžných prohlížečů a pomocí něj zcizit citlivé údaje uživatelů, např. záložky, cookies, či historii prohlížení. Pokud by zmíněný útok provedl škodič, byl by následně schopen unést aktivní uživatelské relace a získat tak přístup k e-mailovým a bankovním účtům, k uživatelovým profilům na sociálních sítích a dalším autorizovaným službám. Aby toho nebylo málo, skrze rozšíření lze uživatelům podstrčit i škodlivá data, uložit je do úložiště těchto rozšíření a pomocí nich mimo jiné sledovat uživatelovu činnost napříč Internetem.

Somé si na testování vytvořil nástroj, kterým prověřil přes 78 tisíc rozšíření Firefoxu, Chrome a Opery. V nich objevil 197 rozšíření, přes která lze zcizit interní data prohlížeče, ke kterým by mělo mít přístup pouze rozšíření samotné, pokud k tomu dostane patřičné oprávnění. Více než 15% zranitelných rozšíření má přes 10 tisíc instalací, problém je tedy i ve velmi oblíbených nástrojích prohlížečů. Somé ihned informoval výrobce prohlížečů, ti problém potvrdili. Zatímco Firefox a Opera ihned dotčená rozšíření odebrali z obchodu, Chrome stále řeší, zda rozšíření odebrat či zda je má raději opravit.

Zpackané soukromí

Podle výzkumu projektu Top10VPN každá pátá z bezplatných VPN aplikací pro Android je potenciálním nositelem malware a čtvrtina z nich obsahuje chyby narušující soukromí uživatelů, např. úniky DNS dotazů a historie prohlížených odkazů k ISP. Ani zde se zdaleka nejedná o aplikace z konce žebříčku, jedná se o VPN aplikace, které mají velké množství instalací. Jakýmsi vedlejším zjištěním výzkumu, které nepřekvapí je skutečnost, že testované aplikace ve velké míře požadují oprávnění, která by ke svému účelu vůbec neměly potřebovat, např. přístup k poloze (čtvrtina testovaných aplikací), čtení stavu zařízení (38% z nich), nebo dokonce přístup ke kameře a k mikrofonu (těch bylo naštěstí jen málo).

Když byl Simon Migliano, vedoucí výzkumu, dotázán, zda i placené verze aplikací trpí výše uvedenými problémy, řekl, že ani od jedné aplikace placenou verzi nezkoušel, ale že je přesvědčen, že problematické části kódu budou stejné.

Chmatácká databáze

V MySQL serveru je návrhová chyba, kdy lze příkazem LOAD DATA s modifikátorem LOCAL stáhnout pomocí upraveného serveru od klienta jakýkoliv soubor, ke kterému má uživatel na straně klienta přístupová práva. Problém je známý a zmiňuje se o něm dokonce oficiální dokumentace. Jak se ukázalo, tato chyba je oblíbeným nástrojem škodičů. Vědec Willem de Groot při své analýze nedávných říjnových útoků na e-shopy zjistil, že přesně tímto způsobem cílil na své oběti gang kyberzločinců známý jako Magecart.

Tito kyberzločinci kromě nastrčeného škodlivého MySQL serveru využili ještě i zranitelnosti v populárním nástroji Adminer, určeným pro správu databází.

Po třech krocích přípravy svého útoku popsaného v Grootově zprávě následně zločinci odcizili citlivá data, nebo na počítač oběti nasadili skimmer.

root_podpora

Nahnilá hruška

Minulý týden museli správci projektu PEAR, repozitáře na PHP rozšíření, odstavit své oficiální stránky. Kdosi jim totiž nahradil originální verzi správce balíčků go-pear.phar vlastní, škodlivou verzí. Jak říká bezpečnostní zpráva na odstaveném serveru, škodlivá verze se na serveru nalézala minimálně neuvěřitelných šest měsíců. Pokud jste si tedy poslední půlrok správce balíčků instalovali na server, bude pravděpodobně kompromitován. Čistá verze je dostupná na GitHubu a její číslo je 1.10.10.

Krátké zprávy

Pro pobavení

O seriálu

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 bezpečnostního týmu CESNET-CERTS sdružení CESNET, bezpečnostního týmu CDT-CERT provozovaného společností ČD Telematika a bezpečnostních specialistů Jana Kopřivy ze společnosti Nettles Consulting a Moniky Kutějové ze sdružení TheCyberValkyries. Více o seriálu…

Byl pro vás článek přínosný?

Autor článku

CESNET-CERTS je oficiální jméno bezpečnostního týmu sdružení CESNET, z. s. p. o. od ledna roku 2004. Jeho součástí je také Forenzní laboratoř FLAB. Články tvoří společně jednotliví členové týmu.