Rok 2017 bol jednoznačne rokom, kedy sa software supply chain útoky asi najviac zapísali do pamäte (nielen) bezpečnostných analytikov z celého sveta. Či už to boli júnové NotPetya útoky šírené cez napadnutý aktualizačný server finančného softvéru MEDoc, ktoré vyústili v pravdepodobne najdrahší kyberbezpečnostný incident v histórii alebo zneužitie populárneho softvéru na čistenie počítača CCleaner na šírenie malwaru Floxif, ktoré zasiahlo pre zmenu skoro 2,3 milióna jeho užívateľov.
Rok 2018 bol o dosť pokojnejší. Niežeby supply chain útoky zrazu prestali, ale oproti roku 2017 mali rádovo menší dopad a publicitu, viď napríklad zneužitý balíček event-stream v JavaScript package manageri npm, alebo balíček colourama v package manageri PyPI pre Python.
Posledný marcový pondelok roku 2019 však priniesol prebudenie v podobe článku na portáli Motherboard o napadnutí a následnom zneužití aktualizačných serverov spoločnosti ASUS na šírenie malwaru nazvaného ShadowHammer.
Jednalo sa o aktualizačné servery softvéru Live Update, čo je nástroj, ktorý slúži na aktualizáciu rôznych ovládačov, aplikácii alebo BIOSu na počítačoch od ASUSu, kde navyše býva predinštalovaný. Odhady výskumníkov uvádzajú 0,5 – 1 milión nakazených koncových zariadení vyrobených spoločnosťou ASUS. Cieľom útočníkov však nebolo nakaziť čo najväčší počet zariadení.
Podľa spoločnosti Kaspersky, ktorá útok v januári 2019 objavila a analyzovala, bolo finálnym cieľom útokov asi 600 zariadení identifikovaných priamo v kóde malvéru ich MAC adresami. Táto cielenosť bola aj jedným z dôvodov, prečo objavenie útoku prišlo až po viac ako 6 mesiacoch od jeho začiatku (06/2018) – ak malware netrafil správnu MAC adresu, nevykonával žiadne činnosti.
Už len tento fakt sám o sebe ukazuje na to, že išlo o pokročilých, pravdepodobne štátom sponzorovaných útočníkov. Spoločnosť Kaspersky, odvolávajúc sa na svoje analýzy a paralely s už vyššie spomínaným útokom na CCleaner a ďalšie útoky s podobným „modus operandi“ ako najpravdepodobnejšieho útočníka menuje čínsku APT skupinu BARIUM.
Či bola vaša MAC adresa v zozname cieľov si môžete overiť napríklad na stránke https://shadowhammer.kaspersky.com/. Rovnako tak by už aj váš antivírový softvér mal daný malware detekovať a odstrániť. Ako sa však dá systémovo brániť proti takýmto útokom? Bolo by dobré asi začať tým, v čom daný útok vlastne spočíva.
Čo rozumieme pod pojmom software supply chain attack?
Jednoducho by sa dalo povedať, že sa jedná o útoky, pri ktorých dôjde k vloženiu malvéru do bežne dostupného legitímneho softvéru, ktorý je distribuovaný štandardným spôsobom. Tak ako v prípade CCleaneru či ASUS Live Update, útočníci napadnú infraštruktúru výrobcu softvéru a tam nepozorovane upravia kód daného programu, ktorý je následne distribuovaný cez štandardné aktualizačné servery a webové stránky výrobcu.
Poznáme viacero druhov software supply chain útokov, ktoré sa líšia najmä spôsobom zneužitia infraštruktúry výrobcu softvéru. Môže to byť napr. napadnutie infraštruktúry používanej priamo na vývoj daného softvéru (prípad CCleaneru ) či napadnutie a zneužitie certifikátov používaných ako zaručenie pôvodu legitímneho softvéru (prípad ASUS LiveUpdate).
Za špecifické druhy software supply chain útoku môžeme považovať aj zneužívanie rôznych knižníc a balíčkov (prípad npm a PyPI) alebo predinštalovaný malware na zariadeniach ako sú smartfóny, kamery alebo rôzne IoT zariadenia.
Z hľadiska bezpečnosti vývoja softvéru ide o štandardný útok a obrana je pomerne jasná – zabezpečenie infraštruktúry používanej na vývoj softvéru. Z hľadiska užívateľov daného softvéru však ide o oveľa závažnejší problém, v ktorého jadre sa nachádza fundamentálne narušenie dôvery voči oficiálnym zdrojom legitímneho softvéru a tranzitívne tak dochádza k prevráteniu aktualizácii z bežne doporučovaného riešenia problému na problém.
Obrana proti software supply chain útokom
Je treba hneď na začiatku povedať, že sa pre útočníkov jedná o jeden z najnáročnejších typov útokov vôbec. Útoky s veľkým dopadom tak vidíme najmä od rôznych APT skupín. To však neznamená, že ak nie sme potenciálnym cieľom APT, nič sa nám nemôže stať. O tom svedčí to, že v prípade ASUSu bolo kvôli 600 zariadeniam napadnutých stovky tisíc zariadení, v prípade CCleaner sa jednalo dokonca iba o 40 cieľov pri napadnutí 2,3 milióna zariadení.
Ďalším dôvodom, prečo nezaspať na vavrínoch, sú útoky na menej rozšírený softvér, ktoré síce nemusia byť globálne ani pokročilé, ale sú rovnako náročné na prevenciu a detekciu. Situáciu navyše komplikuje to, že spravidla takýto útok nie je detekovateľný antivírom, keďže sa jedná o legitímny softvér vrátane digitálneho podpisu.
Pri prevencii a detekcii je najlepšie využiť kombináciu rôznych prístupov:
a) redukcia počtu inštalovaných aplikácii a application whitelisting – cieľom je obmedziť počet inštalovaných aplikácii, ktoré sa môžu stať cieľom útoku
b) zabezpečenie koncových zariadení – zameriavame sa už na rýchlu detekciu a reakciu na nekorektné chovanie softvéru najmä využitím viditeľnosti do činností prebiehajúcich na koncovom zariadení. Je možné využitie EDR riešení alebo pokročilého logovania (napr. Sysmon) a naslednej analýzy týchto dát v SIEMe
c) analýza sieťového provozu – pomocou tohto prístupu dokážeme využiť rôzne NBA alebo IDS riešenia na detekciu anomálnej komunikácie napadnutého koncového zariadenia
d) segmentácia siete a kontrola prístupu – cieľom je skôr zmenšovanie dopadu útoku obmedzením prístupu koncových zariadení alebo potenciálne napadnutých užívateľských účtov k business critical systémom a dátam
Ochrániť sa proti software supply chain útokom je veľmi náročné a úplne eliminovať túto hrozbu prakticky nie je možné, no s nárastom týchto útokov sa o to treba aspoň snažiť pomocou dostupných nástrojov. Každopádne, zásada „Dôveruj ale preveruj“ stále platí.
Dávid Kosť, Lead Security Analyst, Axenta a.s.