Stuxnet – działający w systemie Windows robak komputerowy, po raz pierwszy wykryty w czerwcu 2010. Jest pierwszym znanym robakiem używanym do szpiegowania i przeprogramowywania instalacji przemysłowych[1]. Zawierał rootkit na system Windows[2], pierwszy w historii PLC rootkit[2]. Wykorzystywał też liczne luki typu 0-day[2]. Wirus miał zdolność aktualizacji metodą peer-to-peer[2].
Podstawową formą rozpowszechniania się robaka są zainfekowane podręczne pamięci USB[3].
Po zainstalowaniu się w systemie operacyjnym Windows robak zaczyna poszukiwać określonego modelu sterownika PLC produkcji firmy Siemens (w prasie popularnie choć niedokładnie nazywanymi systemami SCADA[4]). Sterowniki PLC są często używane w różnego rodzaju fabrykach, rafineriach czy elektrowniach i robak poszukuje kontrolera Siemens SIMATIC WinCC/Step 7[3].
Jeżeli zarażony robakiem komputer nie jest podłączony do poszukiwanego przez niego kontrolera to robak nie robi nic. Jeżeli kontroler zostanie odnaleziony to robak zmienia niektóre z ustawień kontrolera PLC robiąc to w sposób sugerujący, że jego twórcy mieli na celu tylko wybrane kontrolery[3].
Dokładna liczba zarażonych komputerów i systemów nie jest znana, według danych z 29 września zarażonych było ok. 100 000 komputerów ze 155 krajów, najwięcej infekcji odkryto w Iranie - 58% z zarażonych komputerów, Indonezji - 18%, Indiach - 10% i Azerbejdżanie - 3,4% (pozostałe kraje poniżej 2%)[5].
Według niepotwierdzonych informacji chińskiego producenta oprogramowania antywirusowego, Rising International, robak zaatakował kilka tysięcy zakładów przemysłowych w Chinach[6].
Nie wiadomo na pewno czy robak jest odpowiedzialny za jakieś fizyczne straty. Podejrzewa się, że mógł być odpowiedzialny za problemy z indyjskim satelitą INSAT-4B[3]. Wiadomo, że zainfekował komputery irańskiej elektrowni atomowej w Buszehr[3] choć według oficjalnych informacji rządu irańskiego zainfekowane zostały tylko osobiste komputery niektórych z pracowników, a nie systemy elektrowni[7]. W grudniu 2010 prezydent Iranu Mahmud Ahmadineżad przyznał, że wirus spowodował "problemy w niewielkiej liczbie wirówek używanych do wzbogacania uranu"[7]. Stuxnet zwiększał prędkość pracy wirówek[8].
Nie jest wiadomo kto i dlaczego napisał Stuxneta choć na ten temat istnieje wiele teorii, w tym teorii spiskowych[3][5][9][10]. W styczniu 2011 pojawiły się informacje o opracowaniu wirusa przez specjalistów izraelskich i amerykańskich[11].
Według analizy wirusa przeprowadzonej w firmie Symantec wirus zainteresowany jest najbardziej dwoma typami sterowników PLC, po infekcji modyfikuje je w specyficzny sposób zmieniając parametry pracy kontrolowanych przez nich silników w taki sposób aby je fizycznie uszkodzić[5].
Język następcy Stuxneta, Duqu odkrytego we wrześniu 2011 roku[12], był zagadką dla analityków bezpieczeństwa Kaspersky Lab przez ponad pół roku. Niewiadomymi były również użyty do scalenia modułów wirusa kompilatora a także typu szkieletu, na jakim oparto całe rozwiązanie Duqu. W lutym 2012 roku poprosili oni o pomoc na forach internetowych[13]. Miesiąc później okazało się, że Duqu jest napisany w OO C[14].