Skutočný prípad 01Ofenzívna bezpečnosť

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.

  1. Internet
  2. Hraničný router (presmerovaný port 3389)
  3. Plochá sieť: kancelária, servery, inžinierske stanice, PLC
  4. 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. 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. 2.Raz za štvrťrok prejsť pravidlá na routeri a firewalle a zrušiť tie, ktoré nikto nevie vysvetliť.
  3. 3.Uchovávať zálohy programov PLC a porovnávať ich s tým, čo v PLC naozaj beží.
  4. 4.Určiť, kto a ako často sa pozerá na výstupy zo Zeeku, alebo prejsť na Security Onion s upozorneniami.
Ozvite sa

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.