Skip to content
Encyklopedia ataków | | 9 min czytania

COSMICENERGY - malware do ataku na sieci energetyczne, który wyciekł z rosyjskich ćwiczeń

COSMICENERGY - analiza malware ICS odkrytego przez Mandiant w 2023 roku: komponenty PIEHOP i LIGHTWORK, protokół IEC 60870-5-104, powiązania z Rostelecom-Solar i wnioski dla sektora energetycznego.

COSMICENERGYICSMITRE ATT&CKIEC 104
COSMICENERGY - malware do ataku na sieci energetyczne, który wyciekł z rosyjskich ćwiczeń

Grudzień 2021 roku. Ktoś w Rosji przesyła na platformę VirusTotal plik, który przez półtora roku pozostaje niezauważony. Jeden z tysięcy próbek wgrywanych każdego dnia - nic szczególnego. Dopiero wiosną 2023 roku analitycy Mandiant (Google Cloud) trafiają na ten artefakt i rozumieją, na co patrzą: narzędzie zdolne do wysyłania poleceń sterujących do urządzeń w sieciach elektroenergetycznych. Narzędzie, które potrafi gasić światło.

Nazwali je COSMICENERGY. I choć nigdy nie zostało użyte w rzeczywistym ataku, jego samo istnienie mówi coś niepokojącego o świecie, w którym żyjemy - granica między narzędziem treningowym a bronią cybernetyczną jest cienka jak papier.

Czym jest COSMICENERGY

COSMICENERGY to malware zaprojektowany do interakcji z urządzeniami ICS (Industrial Control Systems) komunikującymi się za pomocą protokołu IEC 60870-5-104 (w skrócie IEC 104). Ten protokół jest jednym z fundamentów europejskich sieci elektroenergetycznych - służy do przesyłania telekomend i teledanych między centrami dyspozycyjnymi a stacjami elektroenergetycznymi. Za jego pośrednictwem operatorzy wydają polecenia otwierania i zamykania wyłączników mocy, a RTU (Remote Terminal Units) raportują stan urządzeń polowych.

COSMICENERGY potrafi wysyłać do tych urządzeń polecenia ON i OFF - zmieniając stan wyłączników bez wiedzy i zgody operatora. W praktyce oznacza to zdolność do powodowania przerw w dostawie energii elektrycznej.

Co wyróżnia ten malware na tle wcześniejszych zagrożeń ICS? Nie jest dziełem wieloletniego programu ofensywnego prowadzonego przez państwową agencję wywiadowczą. Najprawdopodobniej powstał jako narzędzie do ćwiczeń red team - i właśnie to czyni go tak istotnym sygnałem ostrzegawczym.

Pochodzenie - Rostelecom-Solar i rosyjskie ćwiczenia

Mandiant opublikował swoją analizę 25 maja 2023 roku. Badacze odkryli poszlaki wskazujące na powiązanie COSMICENERGY z rosyjską firmą cyberbezpieczeństwa Rostelecom-Solar (dawniej Solar Security) - jednostką telekomunikacyjnego giganta Rostelecom odpowiedzialną za bezpieczeństwo cybernetyczne.

Kluczowe fakty:

  • Próbka została przesłana na VirusTotal w grudniu 2021 roku z rosyjskiego adresu IP
  • W kodzie PIEHOP (komponent Pythonowy) znaleziono komentarz odwołujący się do projektu o nazwie kodowej “Solar Polygon” - tego samego określenia, jakiego Rostelecom-Solar używa na swoje środowiska testowe do symulacji cyberataków
  • Publicznie dostępne informacje potwierdzają, że Rostelecom-Solar otrzymywał fundusze od rosyjskiego rządu na szkolenia z zakresu cyberbezpieczeństwa, w tym symulacje zakłóceń w dostawach energii elektrycznej przeprowadzane w październiku 2021 roku

Mandiant zastrzegł, że nie może jednoznacznie potwierdzić tej atrybucji. Możliwe są dwa scenariusze: COSMICENERGY powstał jako narzędzie treningowe do ćwiczeń reagowania na incydenty w sektorze energetycznym, albo został opracowany z myślą o rzeczywistych operacjach ofensywnych, a “ćwiczenia” stanowiły jedynie przykrywkę.

Niezależnie od intencji twórców, kod trafił do publicznego repozytorium malware - i jest dostępny dla każdego, kto wie, gdzie szukać.

Architektura - PIEHOP i LIGHTWORK

COSMICENERGY składa się z dwóch komponentów, które Mandiant oznaczył jako PIEHOP i LIGHTWORK. Razem tworzą łańcuch ataku: od serwera pośredniczącego do urządzeń polowych.

PIEHOP - komponent sterujący (Python)

PIEHOP to narzędzie napisane w Pythonie i spakowane za pomocą PyInstaller do pliku wykonywalnego Windows. Jego zadaniem jest:

  1. Połączenie z serwerem Microsoft SQL - PIEHOP łączy się z serwerem MSSQL znajdującym się w sieci OT, który pełni rolę punktu pośredniego między siecią korporacyjną a urządzeniami ICS
  2. Przesłanie payloadu - po nawiązaniu połączenia PIEHOP uploaduje na serwer komponent LIGHTWORK
  3. Wydanie poleceń - PIEHOP instruuje LIGHTWORK, aby wysłał polecenia IEC 104 do wskazanych RTU
  4. Zacieranie śladów - po wykonaniu operacji PIEHOP usuwa plik LIGHTWORK z serwera

Warto podkreślić: analitycy Mandiant odkryli w kodzie PIEHOP błędy logiczne, które uniemożliwiają prawidłowe wykonanie poleceń IEC 104. To sugeruje, że malware był w fazie rozwoju lub testowania - nie był jeszcze w pełni operacyjny.

LIGHTWORK - komponent wykonawczy (C++)

LIGHTWORK to narzędzie napisane w C++, które implementuje protokół IEC 60870-5-104 na poziomie TCP. Jego działanie przebiega w dwóch krokach:

  1. Interrogacja stacji - wysłanie polecenia C_IC_NA_1 (Station Interrogation Command) do docelowej stacji w celu odczytania aktualnego stanu urządzeń
  2. Zmiana stanu - wysłanie poleceń C_SC_NA_1 (Single Command) do zakodowanych na stałe adresów IOA (Information Object Address), przełączając wyłączniki w pozycję ON lub OFF

LIGHTWORK operuje bezpośrednio na warstwie aplikacyjnej protokołu IEC 104, konstruując prawidłowe jednostki ASDU (Application Service Data Unit). Z perspektywy RTU polecenia te są nieodróżnialne od legalnych komend operatora - protokół IEC 104 nie przewiduje uwierzytelniania nadawcy.

Schemat ataku

Atakujący → PIEHOP → Serwer MSSQL (sieć OT) → LIGHTWORK → RTU (IEC 104) → Wyłączniki mocy

Ten łańcuch zakłada, że atakujący dysponuje już dostępem do sieci oraz poświadczeniami do serwera MSSQL. COSMICENERGY nie posiada zdolności rekonesansu - nie skanuje sieci, nie odkrywa urządzeń, nie eskaluje uprawnień. Jest narzędziem post-intruzyjnym, zaprojektowanym do jednego zadania: zmiany stanu wyłączników.

Oś czasu

DataWydarzenie
Październik 2021Rostelecom-Solar prowadzi ćwiczenia symulujące zakłócenia w sieciach energetycznych
Grudzień 2021Próbka COSMICENERGY zostaje przesłana na VirusTotal z rosyjskiego adresu IP
25 maja 2023Mandiant (Google Cloud) publikuje analizę COSMICENERGY
Maj 2023Dragos publikuje ocenę zagrożenia - brak bezpośredniego ryzyka, ale sygnał ostrzegawczy
Maj 2023CISA i partnerzy wydają alerty dotyczące nowego malware ICS

MITRE ATT&CK - mapowanie technik

COSMICENERGY nie posiada jeszcze dedykowanego wpisu w bazie MITRE ATT&CK (w odróżnieniu od Industroyera - S0604). Na podstawie analizy Mandiant można jednak zmapować jego zachowania na następujące techniki ICS:

TaktykaTechnikaIDZastosowanie w COSMICENERGY
ExecutionCommand-Line InterfaceT0807Uruchomienie LIGHTWORK z parametrami (adres IP celu, port, polecenie ON/OFF)
Lateral MovementLateral Tool TransferT0867Przesłanie LIGHTWORK na serwer MSSQL za pośrednictwem PIEHOP
Impair Process ControlUnauthorized Command MessageT0855Wysyłanie poleceń IEC 104 (C_SC_NA_1) do RTU bez autoryzacji operatora
Impair Process ControlManipulation of ControlT0831Zmiana stanu wyłączników mocy (ON/OFF) w stacjach elektroenergetycznych
CollectionAutomated CollectionT0802Interrogacja stacji (C_IC_NA_1) w celu odczytu stanu urządzeń przed atakiem
EvasionIndicator Removal on HostT0872Usunięcie pliku LIGHTWORK po wykonaniu operacji
ImpactLoss of AvailabilityT0826Wyłączenie zasilania poprzez otwarcie wyłączników mocy

Więcej o frameworku MITRE ATT&CK i jego zastosowaniu w analizie zagrożeń OT - w naszym przewodniku po MITRE ATT&CK.

COSMICENERGY na tle rodziny malware ICS

COSMICENERGY wpisuje się w rosnącą rodzinę malware zaprojektowanego do atakowania systemów sterowania przemysłowego. Każdy kolejny przedstawiciel tej rodziny obniża barierę wejścia:

MalwareRokProtokółZłożonośćAtrybucja
Stuxnet2010Profinet/S7commBardzo wysokaUSA/Izrael
Industroyer2016IEC 104, IEC 61850, OPC DA, IEC 101WysokaSandworm (GRU)
TRITON2017TriStation (Schneider)Bardzo wysokaTEMP.Veles (CNIIHM)
COSMICENERGY2021/2023IEC 104UmiarkowanaRostelecom-Solar (?)

Kluczowa obserwacja: COSMICENERGY jest znacznie prostszy od swoich poprzedników. Industroyer implementował cztery protokoły przemysłowe i zawierał moduły wipera i DoS. TRITON wymagał inżynierii wstecznej zastrzeżonego protokołu i exploita zero-day na firmware kontrolera. COSMICENERGY to w porównaniu z nimi proste narzędzie - Python, C++, jeden protokół, brak rekonesansu.

I właśnie ta prostota jest niepokojąca. Pokazuje, że stworzenie malware zdolnego do zakłócenia pracy sieci energetycznej nie wymaga już zasobów państwowej agencji wywiadowczej.

Wnioski dla sektora energetycznego

1. Narzędzia treningowe stają się bronią

COSMICENERGY prawdopodobnie powstał jako narzędzie do ćwiczeń - ale trafił do publicznego repozytorium malware. Historia cyberbezpieczeństwa pełna jest przykładów red teamowych narzędzi, które zostały zaadaptowane przez rzeczywistych atakujących (Cobalt Strike, Metasploit, Mimikatz). Narzędzia OT podążają tą samą ścieżką.

TIP

Organizacje energetyczne powinny założyć, że narzędzia klasy COSMICENERGY są dostępne dla potencjalnych atakujących. Scenariusze ćwiczeń incident response powinny uwzględniać ataki na protokół IEC 104 - nie jako teoretyczne zagrożenie, lecz jako udokumentowaną zdolność.

2. Serwery MSSQL w sieci OT to krytyczny wektor ataku

COSMICENERGY wykorzystuje serwer Microsoft SQL jako punkt pośredni między atakującym a urządzeniami ICS. W wielu instalacjach przemysłowych serwery baz danych (historian, MSSQL) znajdują się na styku sieci IT i OT - co czyni je idealnym celem dla lateral movement.

TIP

Zweryfikować, czy serwery baz danych w strefie OT mają minimalne uprawnienia, segmentację sieciową zgodną z modelem stref i korytarzy (IEC 62443) oraz monitorowanie nietypowych połączeń i zapytań SQL.

3. Protokoły ICS nadal nie mają uwierzytelniania

COSMICENERGY po raz kolejny potwierdza fundamentalny problem protokołów przemysłowych: IEC 104 nie weryfikuje, kto wysyła polecenie. Każdy host z dostępem sieciowym do RTU może wydawać komendy sterujące. To nie jest luka - to cecha architektury protokołu zaprojektowanego w erze fizycznej izolacji.

TIP

Wdrożyć monitorowanie ruchu IEC 104 pod kątem anomalii: polecenia sterujące z nieznanych adresów IP, nietypowe sekwencje komend, polecenia w godzinach, gdy nie powinny być wydawane. Rozważyć wdrożenie rozwiązań klasy IDS/IPS dedykowanych protokołom przemysłowym.

4. Obniżenie bariery wejścia jest trendem

Od Stuxneta (wymagającego zasobów dwóch państw) przez Industroyera (zasoby agencji wywiadowczej) do COSMICENERGY (poziom zaawansowanego red teamu) - każde kolejne narzędzie jest prostsze w budowie. Python, publiczne biblioteki, jeden protokół. Następne może powstać w garażu.

TIP

Nie zakładać, że ataki na infrastrukturę OT wymagają zasobów państwowego aktora. Budować obronę pod kątem zdolności, nie intencji. Regularnie testować odporność systemów ICS na scenariusze manipulacji protokołami przemysłowymi.

Podsumowanie

COSMICENERGY nie spowodował blackoutu. Nie zniszczył żadnego transformatora. Prawdopodobnie nigdy nie opuścił środowiska laboratoryjnego. A mimo to jego odkrycie przez Mandiant w maju 2023 roku jest jednym z ważniejszych wydarzeń w historii bezpieczeństwa OT - ponieważ pokazuje kierunek ewolucji zagrożeń.

Kiedy Sandworm tworzył Industroyera, potrzebował miesięcy rozpoznania, czterech modułów protokołów i wsparcia rosyjskiego wywiadu wojskowego. COSMICENERGY realizuje część tych samych celów za pomocą skryptu w Pythonie i kilkuset linii kodu C++. Bariera wejścia spada.

Dla organizacji zarządzających infrastrukturą energetyczną wniosek jest jednoznaczny: nie wystarczy chronić się przed Sandwormem. Trzeba chronić się przed każdym, kto potrafi pobrać plik z VirusTotal i przeczytać dokumentację IEC 104.


Źródła

Omówimy zakres, metodykę i harmonogram.