Wojny w cyberprzestrzeni

Do opracowania kodu niezbędnego do przeprogramowywania wirówek musiano zgromadzić fizyczne urządzenia i zbudować środowisko testowe, w którym sprawdzano skuteczność infekowania wirówek oraz ich uszkadzania. Wprowadzenie Stuxneta do środowiska informatycznego elektrowni nie nastręczało problemów: wykorzystano do tego najprawdopodobniej jednego z poddostawców lub usługodawców, który wniósł wirus na nośniku USB. Następnie wirus rozprzestrzeniał się w elektrowni, aż trafił do komputera, na którym było zainstalowane oprogramowanie Siemens SIMATIC Step 7 lub WinCC. Wtedy uruchamiał swoją podstawową funkcjonalność uszkadzającą wirówki.

Sam proces infekcji i rozprzestrzeniania się również nie był trywialny. Najpierw wirus sprawdzał, czy ma do czynienia z 32-bitową wersją systemu (64-bitowe nie były infekowane), potem weryfikował, jakiego rodzaju oprogramowanie antywirusowe jest zainstalowane na stacji i odpowiednio dobierał metodę uzyskania praw administratora przy wykorzystaniu właściwej podatności.

Po uzyskaniu praw administratora Stuxnet wyodrębniał i uruchamiał ze swojego pliku, w zależności od wyników analizy konfiguracji zainfekowanej stacji, moduły odpowiedzialne za instalację:

- głównego procesu wirusa w systemie;

- rootkita w celu ukrywania swojej obecności;

- serwera RPC do komunikacji pomiędzy zainfekowanymi hostami za pomocą mechanizmu P2P;

- procesu komunikacji z centrum sterowania Comand &Control (C&C);

- algorytmu sprawdzania łączności z siecią internet;

- mechanizmu replikacji poprzez LAN lub USB;

- programu infekującego wirówki;

- deinstalatora wirusa.

Twórcy przewidzieli, że docelowy komputer może nie być podłączony do sieci, stworzyli więc mechanizm porozumiewania się zainfekowanych hostów za pośrednictwem sieci LAN lub plików przenoszonych na zainfekowanych pamięciach USB. Wirus dzięki temu potrafił zbudować drzewo komunikacji z C&C poprzez pierwszy znaleziony komputer połączony z siecią publiczną (potrafił też korzystać z proxy). W ten sposób mógł pobierać aktualizacje oraz przyjmować dalsze komendy.

Duqu

Pierwsza wzmianka o Duqu pochodzi z października 2011 r., jednak w trakcie analizy wątku odnaleziono dowody działania wirusa już od marca 2010 roku. Ze Stuxnetem łączy go wiele wspólnych cech, takich jak modularna budowa, język OO C użyty do kompilacji głównego programu wirusa, wykorzystywana podatność "zero day", wbudowany mechanizm komunikacji oraz algorytmy szyfrowania plików. Duqu nie zawiera jednak kodu adresowanego do modyfikowania parametrów konkretnych urządzeń. Jego celem jest kradzież informacji niezbędnych do przeprowadzenia ataku za pomocą narzędzia podobnego do Stuxneta.

Duqu dostarczany był do ofiary za pomocą zainfekowanego pliku MS Word dołączonego do wiadomości e-mail. Po odczytaniu przez ofiarę zawirusowanego dokumentu wykorzystywał podatność "zero day" i rozpoczynał sekwencję instalacji, podobną do tej w Stuxnecie. Potrafił rozpoznawać programy antywirusowe, instalował się jako proces systemowy i ładował kolejne moduły. Duqu nie replikował się samoistnie, miał jednak możliwość infekowania kolejnych komputerów, do czego używał funkcjonalności keyloggera. Jeśli udało się ukraść hasło użytkownika uprzywilejowanego, wtedy możliwe było przejęcie kontroli nad kolejnym komputerem i kradzież z niego danych. Duqu miał wbudowany mechanizm samozniszczenia po 30 dniach od infekcji. Prawdopodobnie miało to na celu jego zabezpieczenie przed wykryciem. Ciekawostką był mechanizm wymiany danych z C&C poprzez przesyłanie plików JPG, w których zaszywano szyfrowane sekwencje danych.


TOP 200