Kávovar ako únikový kanál: kompromitácia siete malého výrobcu
Previerka siete bez akéhokoľvek incidentu našla útočníka, ktorý cez kávovar vynášal CAD súbory. Vstup, pohyb v sieti, reakcia a oddelenie IT, OT a IoT.
- Firma
- Slovenský výrobca, približne 40 zamestnancov
- Prostredie
- Kancelárske PC, dva starší servery s Windows, inžinierske stanice, stroje s PLC
- Sieť
- Segmentácia na papieri, v praxi jedna plochá sieť pre IT aj výrobu
- Zadanie
- Zistiť, ako je závod zraniteľný. Žiadny incident, žiadne upozornenia
- Trvanie
- Zhruba tri týždne
01Východiskový stav
K previerke viedli materiály Národného bezpečnostného úradu o PLC a priemyselných prostrediach. Majiteľ firmy sa chcel dozvedieť, ako je jeho závod zvonku aj zvnútra zraniteľný. Nič nenasvedčovalo incidentu a žiadny systém nehlásil problém.
Kancelária, servery, inžinierske stanice aj stroje vo výrobe zdieľali v praxi jednu sieť. PLC sú prevažne staršie jednotky, ktoré komunikujú cez Modbus/TCP, a časť prevádzky tvorí proprietárna komunikácia dodávateľov strojov. Klasický Modbus/TCP nemá autentifikáciu ani šifrovanie: kto je v tej istej sieti, môže PLC posielať príkazy.
Na firemnej Wi-Fi bol aj sieťový kávovar v kuchynke, ktorý pred rokmi nainštaloval jeho dodávateľ. V súpise IT majetku nebol.
- Internet
- Hraničný router (presmerovaný port 3389)
- Plochá sieť: kancelária, servery, inžinierske stanice, PLC
- Firemná Wi-Fi: kávovar
02Problém
Previerka začala pasívne. Zeek a Suricata zaznamenávali a vyhodnocovali komunikáciu v sieti, runZero zostavil súpis zariadení a Wireshark slúžil na ručnú analýzu. V prostredí s PLC je pasívny prístup nutnosť: aktívne skenovanie starších PLC ich môže zhodiť a zastaviť výrobu, preto bol každý aktívny krok obmedzený a vopred naplánovaný.
V záznamoch spojení zo Zeeku sa objavil trvalý odchádzajúci tok s malým objemom na IP adresu vo východnej Európe bez akejkoľvek reputácie. Nebolo to HTTPS ani DNS, ale vzor podobný telemetrii MQTT s občasnými metadátami v čitateľnej podobe, na neštandardnom porte, v pravidelných intervaloch a s malými dávkami dát. Zdrojom nebolo PLC ani server. Bol to kávovar.
Kávovar mal aj legitímne cloudové rozhranie výrobcu, no táto komunikácia mu nezodpovedala: iný cieľ, väčšie prenosy, než je pre zariadenie bežné, a pravidelný rytmus s malým náhodným rozptylom (jitter), typický pre beaconing riadiaceho servera útočníka (C2), nie pre telemetriu, ktorá vzniká pri udalostiach, napríklad pri uvarení kávy.
Záver: útočník už bol v sieti a kávovar používal ako trvalý skrytý výstup von. Z jeho pohľadu je to výborné zariadenie: stále zapnuté, takmer sa nereštartuje, nemá bezpečnostného agenta ani logy a jeho komunikáciu nikto nesleduje. Nástroje na riadenie útokov ako Sliver, Mythic alebo Cobalt Strike sú stavané presne na takúto pomalú a nenápadnú komunikáciu s nastaviteľným rytmom. Ide o rovnaký vzor ako v kasíne v Las Vegas v roku 2017, kde útočníci vyniesli dáta cez teplomer v akváriu pripojený na internet.
03Technická príčina
Vstupným bodom bol jeden zo starších serverov s Windows. Na hraničnom routeri mal z internetu presmerovaný port 3389 (vzdialená plocha, RDP), nastavený kedysi kvôli vzdialenej podpore a nikdy neodstránený. RDP otvorené do internetu je nepretržite cieľom automatizovaného hádania hesiel.
Plochá sieť urobila zvyšok. Zo servera boli dostupné inžinierske stanice, PLC aj kávovar a nič neobmedzovalo, kam smú zariadenia komunikovať smerom von.
Kávovar mal výrobné prihlasovacie údaje, zapnutú vzdialenú diagnostiku a pôvodný firmvér. Presný spôsob, akým ho útočník ovládol, sa z dostupných údajov určiť nedá, nič z toho mu to však nesťažilo. A keďže kávovar nebol v súpise majetku, nikto nesledoval, s kým komunikuje.
04Vyšetrenie
Najprv izolácia kávovaru a zachovanie všetkého, čo sa dalo zo zariadenia aj zo sieťových záznamov uložiť, ešte pred akoukoľvek zmenou. Reset alebo vypnutie by stopy zmazali.
Vstup: bezpečnostný denník Windows na serveri s presmerovaným RDP ukázal dlhý rad neúspešných prihlásení (udalosť 4625) a po ňom úspešné prihlásenie (4624) zo zahraničnej adresy. To zodpovedá hádaniu hesla hrubou silou.
Perzistencia: Velociraptor na triáž a prehľadávanie staníc, na počítačoch s Windows telemetria zo Sysmonu. Na kompromitovanom serveri bola naplánovaná úloha, ktorá opakovane spúšťala implantát s beaconingom, a na jednej inžinierskej stanici druhý, zatiaľ neaktívny implantát. Kávovar bol medzikrok, cez ktorý implantáty komunikovali von, nie ich pôvod.
Čo odišlo: útočník si súbory pred vynesením zhromaždil na inžinierskej stanici. Firma používa starší CAD, ktorý ukladá modely nekomprimované, a útočník ich pred odoslaním nezbalil. Prenos bol preto objemný a dal sa dodatočne dobre rozpoznať, no išlo o niekoľko gigabajtov, takže ho útočník takmer určite rozložil do dlhšieho obdobia, aby kávovar nezahltil. Zeek ukázal prenosy ďaleko nad rámec toho, čo kávovar potrebuje posielať, a spolu s artefaktmi na stanici to ukázalo na vynášanie počas pravdepodobne približne dvoch mesiacov. Vynesené boli iba CAD a 3D modely. Osobné údaje, účtovné záznamy ani prihlasovacie údaje medzi nimi neboli.
Povinnosti: keďže neunikli osobné údaje, nešlo o porušenie ochrany osobných údajov, ktoré by bolo treba hlásiť podľa GDPR. Firma je pod hranicami zákona č. 69/2018 Z. z. o kybernetickej bezpečnosti, nie je teda regulovaným subjektom podľa NIS2. Vzhľadom na to, ako celé zistenie začalo, Národný bezpečnostný úrad napriek tomu dobrovoľne informovala.
05Náprava
Okamžite: kávovar resetovaný, zmenené prihlasovacie údaje, aktualizovaný firmvér. Presmerovanie RDP na routeri zrušené, oba zasiahnuté počítače preinštalované a heslá v celej doméne zmenené.
Segmentácia: všetky IoT zariadenia (kávovary, informačné displeje, senzory) majú vlastnú VLAN, kde je odchádzajúca komunikácia predvolene zakázaná a povolené sú iba konkrétne koncové body výrobcov. Výroba (OT) dostala vlastný segment podľa modelu zón a prepojení (zones and conduits) z normy IEC 62443: medzi zónami sa komunikuje iba cez definované prepojenia s pravidlami. Niekoľko starších PLC, ktoré mali priamy prístup do internetu bez akéhokoľvek prevádzkového dôvodu, ho stratilo.
Monitorovanie: Zeek ostal nasadený, takže firma má základný obraz bežnej komunikácie, s ktorým sa dá porovnávať. Väčšie priemyselné prostredia na to používajú platformy ako Nozomi Networks, Claroty alebo Dragos, ktoré lepšie rozumejú priemyselným protokolom. Pre firmu tejto veľkosti sú rozumným open-source začiatkom Security Onion alebo Malcolm.
06Prečo oprava funguje
Zrušené presmerovanie zavrelo konkrétnu vstupnú cestu. Server už z internetu nie je dostupný, takže hádanie hesiel nemá kam mieriť.
Preinštalovanie namiesto čistenia: po kompromitácii sa nedá spoľahlivo dokázať, že na počítači neostala ďalšia perzistencia. Čistá inštalácia s novými heslami je istejšia než hľadanie každého artefaktu.
Predvolene zakázaná odchádzajúca komunikácia mení kávovar z ideálneho únikového bodu na zariadenie, ktoré sa dostane iba k svojmu výrobcovi. Keby ho útočník znova ovládol, nemá kam posielať dáta.
Zóny a prepojenia obmedzujú pohyb v sieti: z kancelárskeho počítača už nevidno priamo PLC ani inžinierske stanice.
Základný obraz v Zeeku robí odchýlky viditeľnými. Útočníka prezradila práve odchýlka od normálu: nový cieľ, pravidelný rytmus a objem, ktorý k zariadeniu nesedel.
Čo to nerieši: segmentácia nezabráni útoku vnútri jednej zóny a povolený koncový bod výrobcu je stále dôvera voči tretej strane. Monitorovanie odhalí iba to, na čo sa niekto pozrie.
07Overenie
- Port 3389 na verejnej adrese firmy už z internetu nie je dostupný.
- Kávovar po resete komunikuje iba s povolenými koncovými bodmi výrobcu, všetko ostatné firewall zahodí.
- Nové záznamy zo Zeeku sa porovnávajú so základným obrazom komunikácie.
08Výsledky
Opravené
- Vstupná cesta cez RDP je zavretá, zasiahnuté počítače preinštalované, heslá v doméne zmenené.
- Kávovar už nie je únikový kanál.
Znížené riziko
- IoT zariadenia sa nedostanú do internetu mimo povolených cieľov.
- Výroba je oddelená od kancelárie a PLC bez prevádzkového dôvodu nemajú prístup von.
- Firma vie, čo všetko má v sieti pripojené, a má s čím porovnávať.
Ostáva otvorené
- Vynesené CAD dáta sa vrátiť nedajú.
- Kedy presne útočník prenikol dnu, sa z dostupných záznamov určiť nedá.
09Obmedzenia
- Monitorovanie je iba také dobré, ako často sa niekto pozrie na výstupy. Firma nemá bezpečnostné centrum ani nepretržitú službu.
- Zmeny programov v PLC sa nezaznamenávajú, takže prípadný zásah do nich by sieťové záznamy nemuseli odhaliť.
- Povolené koncové body výrobcov sú dôvera voči tretím stranám. Ak by ich niekto kompromitoval, povolená cesta ostáva otvorená.
10Poučenia
- To, že zvnútra všetko vyzerá v poriadku, neznamená, že je. Útočník bol v sieti týždne bez jediného upozornenia.
- Zabudnuté presmerovanie portu je jedna z najčastejších vstupných ciest. Vzdialený prístup patrí za VPN s dvojfaktorovým overením.
- Súpis majetku musí obsahovať všetko, čo je pripojené, nielen počítače. Zariadenie, ktoré nie je v súpise, nikto nesleduje.
- Kontrolujte odchádzajúcu komunikáciu, nielen prichádzajúcu.
- V prostredí s PLC začínajte pasívne. Aktívne skenovanie starších PLC môže zastaviť výrobu.
- Zmena hesiel po kompromitácii domény zahŕňa aj servisné účty a heslo účtu krbtgt, zmenené dvakrát.
11Ďalšie kroky pre malú firmu
- 1.Vzdialený prístup pre dodávateľov aj vlastných ľudí iba cez VPN s dvojfaktorovým overením, nikdy presmerovaním portu.
- 2.Raz za štvrťrok prejsť pravidlá na routeri a firewalle a zrušiť tie, ktoré nikto nevie vysvetliť.
- 3.Uchovávať zálohy programov PLC a porovnávať ich s tým, čo v PLC naozaj beží.
- 4.Určiť, kto a ako často sa pozerá na výstupy zo Zeeku, alebo prejsť na Security Onion s upozorneniami.
Spoznávate v tom svoju firmu?
Napíšte nám, čoho sa to týka. Ozveme sa do jedného pracovného dňa a povieme, či je to práca pre nás, aj keď odpoveď bude nie.