Hlavní obsah

Německý programátor možná překazil největší kyberútok v historii

Foto: Pavel Kasík, Seznam Zprávy

Mohlo se jednat o nejzákeřnější zadní vrátka, která kdy byla takto masově rozšířena.

aktualizováno •

Při rutinní kontrole odhalil německý programátor Andres Freund podivnou nesrovnalost. Zvědavost jej přivedla až do zdrojového kódu nástroje pro kompresi, do kterého neznámý útočník schoval zadní vrátka.

Článek

Při každodenním užívání internetu si nejspíše neuvědomujeme, jak křehká struktura to je. Kdyby to bylo letadlo, asi byste do něj nenastoupili: Každé křídlo od jiného výrobce, motor z raketoplánu, podvozek omotaný lepicí páskou.

Čtete ukázku z newsletteru TechMIX, ve kterém Pavel Kasík a Matouš Lázňovský každou středu přinášejí hned několik komentářů a postřehů ze světa vědy a nových technologií. Pokud vás TechMIX zaujme, přihlaste se k jeho odběru!

Tato „improvizovaná“ podstata internetu nepřekvapí nikoho, kdo v poslední době programoval. Je to lepení mnoha různých knihoven a každá z nich je závislá na dalších knihovnách. V mnoha ohledech je to výhodné. Umožní vám to vyzkoušet nové věci a rapidně vyvíjet vlastní produkty, aniž byste museli znovu vynalézat kolo.

Foto: Pavel Kasík, Seznam Zprávy

V horním patře této budovy žijeme všichni, kdo tak či onak závisíme na internetu. (inspirace: Randall Munroe, XKCD)

Je to jedna z klíčových myšlenek tzv. open-source hnutí: Než aby někdo od začátku vyvíjel vlastní komplexní řešení, může využít jednoúčelová osvědčená řešení. O jejich transparentní správu se stará komunita z celého světa. Takže když takové cizí řešení využijete, můžete se spolehnout, že kód už prošly desítky lidí a v praxi jej otestovaly miliony uživatelů.

Nečekaně propracovaný útok

Jak byste vlastně do takového shora i zdola kontrolovaného ekosystému protlačili útok na celosvětovou internetovou architekturu? Museli byste dlouhodobě budovat svou důvěryhodnost, léta užitečně a bezplatně přispívat do zdrojového kódu zdánlivě nepodstatných programů… A pak řekněme do jednoho takového nepatrného prográmku přidat ještě méně důležitou drobnost, zamaskovanou jako testovací podproceduru.

A právě to se zřejmě nedávno stalo. Plánovaný útok měl využít open-source nástroj pro rychlou bezztrátovou kompresi XZ Utils. To je relativně malá knihovna, která vlastně nedělá nic důležitého ani převratného. Využívá ji ale řada větších projektů, včetně třeba nástroje SSH pro šifrovaný vzdálený přístup.

SSH je také open-source projekt, ale řádově větší a neskonale důležitější. Využívají jej správci sítě po celém světě a stojí na něm další aplikace. Pokud by se útočníkovi skutečně povedlo propašovat do SSH protokolu „zadní vrátka“, mohl by podle některých uskutečnit „největší kyberútok v dějinách“.

Německý programátor Andres Freund neměl „zastavení globálního útoku“ v popisu práce. V rámci svého zaměstnání u Microsoftu pracuje na rozvoji open-source projektu PostgreSQL. Mimochodem, firma Microsoft je už nějakou dobu jedním z největších přispěvatelů do open-source systémů. Ostatně i populární programátorská platforma GitHub, přes kterou se vývoj řady open-source projektů koordinuje, patří od roku 2018 Microsoftu.

Náhoda a pečlivost

V rámci celkem běžného testu narazil Freund na drobnou nesrovnalost. Test komponenty SSH zatížil jeho počítač o něco více, než si pamatoval. Po troše pátrání vystopoval, že na vině je netradiční chování nástroje XZ Utils.

„Rozdíl byl vlastně velmi malý, jen asi jedno, nebo dvě procenta,“ vysvětlil později Freund. V další analýze viděl volání nástroje pro vytváření záznamů, ale v daný moment nebyl žádný důvod k tomu, proč byla daná knihovna xz/liblzma vůbec volaná.

Posléze se mu podařilo najít i konkrétní zdrojový kód, který za to mohl. A v něm tzv. backdoor, tedy zadní vrátka. Ty do XZ Utils verze 5.6.0 a 5.6.1 ukryl neznámý útočník, varoval Freund 29. března.

„Jakmile bylo jasné, že jde o zákeřná zadní vrátka, jako kdyby se zastavil čas,“ popsal Freund. „Pustil jsem se do zkoumání. Původně jsem myslel, že se to týká jen systému Debian. Tak jsem jim začal psát upozornění. Ale pak jsem zjistil, že se to týká všech. Úplně všech. Hned pak jsem to nahlásil a spustila se koordinace, co s tím dál.“

Kdyby tato vrátka v prográmku zůstala, mohl by je útočník (ten samý, ale klidně i jiný, pokud by znal příslušný tajný kód) využít k propašování a spuštění zdrojového kódu na cizím stroji. Tedy v podstatě k libovolnému útoku.

Hrozba zřejmě odvrácena

Zatím nebyl zaznamenán žádný útok využívající tato zadní vrátka. A teď, když jsou odhalena, je světová bezpečnostní komunita zřejmě velmi rychle vymaže z povrchu zemského, respektive z počítačů po celém světě, kam se v rámci aktualizací software nahrála.

„Mohlo se jednat o nejrozšířenější a nejúčinnější zadní vrátka, která kdy byla do jakéhokoli softwarového produktu vložena,“ uvedl Alex Stamos ze společnosti SentinelOne, která se zabývá výzkumem kybernetické bezpečnosti.

Útočník pracoval pod pseudonymem Jia Tan, a zjevně své renomé budoval minimálně dva roky. Z nováčka se vypracoval na důvěryhodného přispěvatele a později i správce knihovny XZ Utils. „Bylo to velmi záhadné,“ myslí si o útočnících Freund, který jejich plán zhatil. „Zjevně vynaložili hodně úsilí, aby skryli, co dělají.“

Kdo je tajemný Jia Tan?

Zadní vrátka vložil do zdrojového kódu XZ Utils uživatel vystupující pod přezdívkou Jia Tan. Využil k tomu síly – a zároveň slabiny – opensourcového hnutí: komunitního vývoje.

Útoku předcházely zřejmě roky příprav. První dohledatelná aktivita uživatele Jia Tan (což je s největší pravděpodobností pseudonym) je z listopadu 2021.

Foto: GitHub.com

Aktivity uživatele JiaT75 na vývojářském repozitáři GitHub.

„Tato několikaletá operace byla velmi mazaná. Ta vpašovaná zadní vrátka jsou neuvěřitelně zákeřná,“ říká Costin Raiu, který do loňského roku působil jako hlavní výzkumný pracovník ruské kyberbezpečnostní společnosti Kaspersky. „Řekl bych, že se jedná o skupinu podporovanou národním státem, která má své dlouhodobé cíle a může si dovolit si investovat do mnohaletých infiltrací open source projektů.“ Jako hlavní kandidáty jmenoval obvyklé podezřelé: Čínu, Rusko nebo Severní Koreu.

Časová razítka úprav, která uživatel Jia Tan posílal, by odpovídala zóně v oblasti východní Asie. Jak ale odborníci upozorňují, uživatel mohl změny schválně časovat, aby zametl stopy.

Významné kyberútoky, zranitelnosti a zadní vrátka

Stuxnet (2010) Jeden z nejznámějších cílených kyberútoků napadl íránský jaderný program a ničil drahé vybavení využívané k obohacování uranu. Za sofistikovným útokem zřejmě stojí západní tajné služby.

Heartbleed (2014) Bezpečnostní chyba CVE-2014-0160 v knihovně OpenSSL umožňovala „přetečení zásobníku“ a spuštění závadného kódu na cizím počítači. Pravděpodobně šlo o náhodnou chybu. Ve své době byl kvůli rozsahu označována za největší bezpečnostní díru v historii, a náklady na odstranění (záplatování) byly vyčísleny na půl miliardy dolarů.

NotPetya (2017) Útok na (především ukrajinské) počítačové sítě. Malware využil ke své distribuci oblíbený účetní nástroj MeDoc, skrze jehož aktualizace se dostal na počítače na Ukrajině i na celém světě. Z útoku je podezřelé Rusko.

SolarWinds (2020) Kyberútočníci pronikli do systémů firmy SolarWinds a vpašovali malware do platformy Orion. Tento software následně nainstalovaly tisíce klientů, včetně organizací jako americká vláda, NATO nebo Evropský parlament. Zodpovědnost za útok je přičítána „státem sponzorované skupině“, představitelé USA označili za pravděpodobné pachatele ruskou skupinu APT29.

„Bezpečnost je týmový sport,“ pochválil svého zaměstnance šéf Microsoftu. „Mám radost, když čtu, jak nás Andres Freund díky své zvědavosti a zručnosti dokázal zachránit.“ Open-source svět tak může slavit. Jeho hlavní premisa – kdokoli může vidět zdrojový kód – se opět ukázala jako výhodná. Ale bylo to tentokrát jen o fous.

V plné verzi newsletteru TechMIX toho najdete ještě mnohem víc. Přihlaste se k odběru a budete ho dostávat každou středu přímo do své e-mailové schránky.

Doplnění: Doplnili jsme podrobnosti o útoku, o použitých službách a o procesu nalezení zadních vrátek.

Doporučované