Najtrudniejszy program

Od tłumacza: Znalazłem pytanie na Quorze: Jaki jest najbardziej złożony program lub kod, jaki kiedykolwiek napisano? Odpowiedź jednego z uczestników była tak dobra, że ​​artykuł został przyciągnięty.

Zapiąć pasy.

Najbardziej złożony program w historii został napisany przez zespół ludzi, których nazwisk nie znamy.

Ten program jest robakiem komputerowym. Robak najwyraźniej został napisany w latach 2005–2010. Ponieważ robak ten jest tak złożony, mogę jedynie podać ogólny opis jego działania.

Robak pojawia się najpierw na dysku USB. Ktoś mógł znaleźć leżącą na ziemi płytę, otrzymać ją pocztą i zainteresować się jej zawartością. Gdy tylko dysk został włożony do komputera z systemem Windows, bez wiedzy użytkownika, robak automatycznie uruchamiał się i kopiował na ten komputer. Istniały co najmniej trzy sposoby, na jakie mógł się wystrzelić. Jeśli jeden nie działał, próbował innego. Co najmniej dwie z tych metod uruchamiania były całkowicie nowe i obie wykorzystywały dwa niezależne, tajne błędy w systemie Windows, o których nikt nie wiedział aż do pojawienia się tego robaka.

Gdy tylko robak uruchomi się na komputerze, próbuje uzyskać uprawnienia administratora. Nie przejmuje się zbytnio zainstalowanym oprogramowaniem antywirusowym - większość z nich może zignorować. Następnie, w zależności od wersji systemu Windows, na której działa, robak spróbuje jednej z dwóch nieznanych wcześniej metod uzyskania uprawnień administratora na komputerze. Tak jak poprzednio, przed pojawieniem się tego robaka, nikt nie wiedział o tych ukrytych lukach.

Następnie robak jest w stanie ukryć ślady swojej obecności w głębi systemu operacyjnego, tak że żaden program antywirusowy nie jest w stanie go wykryć. Ukrywa się tak dobrze, że nawet jeśli przeszukasz dysk w poszukiwaniu lokalizacji, w której robak powinien się znajdować, nic nie zobaczysz. Robak ten ukrywał się tak dobrze, że przez rok mógł surfować po Internecie bez żadnej pomocy firmy ochroniarskiej nawet nie przyznał się do jego istnienia..

Następnie robak sprawdza, czy może uzyskać dostęp do Internetu. Jeśli może, próbuje odwiedzać różne strony www.mypremierfutbol.com lub www.todaysfutbol.com. W tamtym czasie tymi serwerami były Malezja i Dania. Otwiera zaszyfrowany kanał komunikacyjny i informuje serwery, że nowy komputer został pomyślnie przechwycony. Dlaczego robak automatycznie aktualizuje się do najnowszej wersji.

Następnie robak kopiuje się na każde inne urządzenie USB, które musiałeś podłączyć. Robi to poprzez instalację starannie spreparowanego fałszywego sterownika dysku. Ten sterownik został podpisany cyfrowo przez firmę Realtek. Oznacza to, że autorom robaka udało się w jakiś sposób włamać do najbezpieczniejszej lokalizacji dużej tajwańskiej firmy i ukraść jej najtajniejszy klucz bez wiedzy samej firmy.

Później autorzy tego sterownika zaczęli podpisywać go kluczem prywatnym JMicron, innej dużej tajwańskiej firmy. I znowu autorom udało się włamać do najbezpieczniejszego miejsca w to firmę i ukraść najbardziej tajny klucz to firmą, o której nic nie wiedzą.

Robak, o którym mówimy bardzo skomplikowane. A my nawet nie zaczęło się.

Następnie robak zaczyna wykorzystywać dwa niedawno wykryte błędy w systemie Windows. Jeden błąd dotyczy drukarek sieciowych, a drugi plików sieciowych. Robak wykorzystuje te błędy do instalowania się poprzez sieć lokalną na wszystkich pozostałych komputerach w biurze.

Następnie robak szuka konkretnego oprogramowania opracowanego przez firmę Siemens w celu automatyzacji dużych maszyn przemysłowych. Kiedy już go znajdzie, (jak się domyślacie) wykorzystuje inny nieznany wcześniej błąd, aby skopiować sobie programowalną logikę sterownika przemysłowego. Gdy robak zadomowi się w komputerze, pozostaje tam na zawsze. Żadna wymiana czy "dezynfekcja" komputera nie pomoże się go pozbyć.

Robak wyszukuje podłączone przemysłowe silniki elektryczne dwóch konkretnych firm. Jedna z tych firm znajduje się w Iranie, a druga w Finlandii. Silniki, których szuka, nazywane są „Napędami o zmiennej częstotliwości”. Służą do sterowania wirówkami przemysłowymi. Wirówki można stosować do oczyszczania wielu pierwiastków chemicznych.

Na przykład uran.

Teraz, gdy robak ma pełną kontrolę nad wirówkami, może z nimi zrobić, co chce. Może je wszystkie wyłączyć. Może natychmiast zniszczyć je wszystkie - wystarczy kręcić nimi z maksymalną prędkością, aż rozsypią się jak bomby, zabijając wszystkich, którzy znajdą się w pobliżu.

Ale nie. Ten skomplikowane robak. I robak tak ma inne plany.

Kiedy już przejmie kontrolę nad wszystkimi wirówkami w twoim zakładzie... robak po prostu zasypia.

Mijają dni. Albo tygodnie. Albo sekundy.

Gdy robak uzna, że ​​nadszedł już czas, szybko się budzi. Do rafinacji uranu wybiera losowo kilka wirówek. Robak je blokuje, dzięki czemu jeśli ktoś zauważy, że dzieje się coś dziwnego, nie będzie mógł wyłączyć tych wirówek.

A potem powoli robak zaczyna kręcić tymi wirówkami… trochę źle. Wcale nie dużo. Po prostu wiesz trochę za szybko. Lub trochę za wolno. Tylko nieznacznie poza bezpiecznymi parametrami.

Jednocześnie zwiększa ciśnienie gazu w tych wirówkach. Gaz ten nazywa się UF6. Bardzo szkodliwa rzecz. Ślimak zmienia ciśnienie tego gazu trochę poza bezpiecznymi granicami. Dokładnie tak, że gdy gaz przedostaje się do wirówek podczas pracy, jest na to niewielka szansa zamieni się w kamień.

Wirówki nie lubią pracować zbyt szybko ani zbyt wolno. I oni też nie lubią kamieni.

Ale robakowi pozostała jeszcze jedna sztuczka. I jest genialny.

Oprócz wszystkich swoich działań robak zaczynał odtwarzać zapis ostatnich 21 sekund operacji, które zarejestrował, gdy wirówki pracowały normalnie.
Robak odtwarzał nagranie w kółko, w pętli.

W rezultacie dane dotyczące wszystkich ludzkich wirówek wyglądały całkiem normalnie. Były to jednak tylko fałszywe wpisy utworzone przez robaka.

Teraz wyobraź sobie, że jesteś odpowiedzialny za oczyszczanie uranu w tym dużym zakładzie przemysłowym. I wydaje się, że wszystko działa dobrze. Silniki mogą wydawać się trochę dziwne, ale liczby na komputerze pokazują, że silniki wirówek działają tak, jak powinny.

Wtedy wirówki zaczynają się psuć. Losowo, jeden po drugim. Zwykle umierają spokojnie. Jednak w niektórych przypadkach pasują do teraźniejszości wydajność. Produkcja uranu zaczyna gwałtownie spadać. Uran musi być czysty. Twój uran nie jest wystarczająco czysty, aby zrobić z nim cokolwiek przydatnego.

Co byś zrobił, gdybyś zarządzał tą fabryką wzbogacania uranu? Sprawdzałbyś wszystko raz za razem, nie rozumiejąc, w czym tkwi problem. Jeśli chcesz, możesz zmienić wszystkie komputery w fabryce.

Ale wirówki i tak by się zepsuły. A ty nawet nie wiedziałem dlaczego.

Z biegiem czasu pod Twoim nadzorem około 1000 wirówek ulega awarii lub wyłączeniu. Szalejesz, próbując dowiedzieć się, dlaczego sprawy nie działają zgodnie z planem.

To jest dokładnie to, co się wydarzyło

Nigdy nie spodziewałbyś się, że wszystkie te problemy zostały stworzone przez robaka komputerowego, najbardziej przebiegłego i inteligentnego robaka komputerowego w historii, napisanego przez jakiś niesamowicie tajny zespół dysponujący nieograniczonymi pieniędzmi i czasem. Robak został zaprojektowany tylko w jednym celu: przejdź przez wszystkie znane zabezpieczenia cyfrowe i zniszcz program nuklearny swojego kraju, nie dając się złapać.
Stworzenie programu, który mógłby wykonać JEDNĄ z tych rzeczy, jest małym cudem samym w sobie. Stwórz program, który potrafi zrobić to WSZYSTKO i jeszcze więcej...

… dla tego robak Stuxnet musiał stać się najbardziej złożonym programem, jaki kiedykolwiek napisano.

Źródło: www.habr.com

Dodaj komentarz