Najteži program

Od prevoditelja: Našao sam pitanje na Quori: Koji se program ili kod može nazvati najsloženijim ikada napisanim? Odgovor jednog od sudionika bio je toliko dobar da je sasvim vrijedan članka.

Vežite svoje pojaseve.

Najsloženiji program u povijesti napisao je tim ljudi čija imena ne znamo.

Ovaj program je računalni crv. Crv je očito napisan između 2005. i 2010. godine. Budući da je ovaj crv tako složen, mogu dati samo opći opis onoga što radi.

Crv se prvi put pojavljuje na USB disku. Netko bi mogao pronaći disk kako leži na zemlji, primiti ga poštom i zainteresirati se za njegov sadržaj. Čim je disk umetnut u Windows računalo, bez znanja korisnika, crv se automatski pokrenuo i kopirao na to računalo. Postojala su najmanje tri načina na koja se mogao lansirati. Ako jedno nije uspjelo, pokušao je s drugim. Najmanje dvije od ovih metoda pokretanja bile su potpuno nove i obje su iskorištavale dvije neovisne, tajne greške u sustavu Windows za koje nitko nije znao dok se ovaj crv nije pojavio.

Čim se crv pokrene na računalu, pokušava dobiti administratorska prava. Ne smeta mu osobito instalirani antivirusni softver – većinu takvih programa zna zanemariti. Zatim će, ovisno o verziji sustava Windows na kojoj radi, crv pokušati jednu od dvije prethodno nepoznate metode za dobivanje administratorskih prava na računalu. Kao i prije, nitko nije znao za ove skrivene ranjivosti prije nego što se ovaj crv pojavio.

Nakon toga, crv je u stanju sakriti tragove svoje prisutnosti u dubinama OS-a, tako da ga nijedan antivirusni program ne može otkriti. Toliko se dobro skriva da čak i ako pogledate na disk na mjestu gdje bi trebao biti ovaj crv, nećete vidjeti ništa. Ovaj se crv tako dobro sakrio da je godinu dana uspio lutati internetom bez ikakve sigurnosne tvrtke čak nije prepoznao činjenicu svog postojanja.

Crv tada provjerava može li pristupiti internetu. Ako može, pokušava posjećivati ​​stranice www.mypremierfutbol.com ili www.todaysfutbol.com. U to su vrijeme ti poslužitelji bili Malezija i Danska. Otvara šifrirani komunikacijski kanal i govori tim poslužiteljima da je novo računalo uspješno preuzeto. Zašto se crv automatski ažurira na najnoviju verziju?

Crv se zatim kopira na bilo koji drugi USB uređaj koji slučajno umetnete. To čini instaliranjem uredno dizajniranog lažnog upravljačkog programa diska. Ovaj upravljački program sadržavao je Realtek digitalni potpis. To znači da su autori crva nekako uspjeli provaliti u najsigurniju lokaciju velike tajvanske tvrtke i ukrasti najtajniji ključ tvrtke, a da tvrtka za to ne zna.

Kasnije su ga autori ovog drajvera počeli potpisivati ​​privatnim ključem JMicrona, još jedne velike tajvanske tvrtke. I opet su autori uspjeli provaliti u najzaštićenije mjesto u ovo tvrtku i ukrasti najtajniji ključ koji posjeduje ovo tvrtka, a da oni o tome ništa ne znaju.

Crv o kojem govorimo vrlo komplicirano. Čak smo i dalje nije počeo.

Nakon toga, crv počinje iskorištavati dvije nedavno otkrivene greške u Windowsima. Jedan se bug odnosi na mrežne pisače, a drugi na mrežne datoteke. Crv koristi te bugove da se instalira preko lokalne mreže na sva ostala računala u uredu.

Crv tada počinje tražiti određeni softver koji je razvio Siemens za automatizaciju velikih industrijskih strojeva. Jednom kada ga pronađe, on (pogađate) koristi drugu prethodno nepoznatu grešku da sam kopira programabilnu logiku industrijskog kontrolera. Jednom kada se crv smjesti na to računalo, tamo ostaje zauvijek. Nikakva zamjena ili "dezinfekcija" vašeg računala neće ga se riješiti.

Crv traži priključene industrijske elektromotore od dvije određene tvrtke. Jedna od tih kompanija nalazi se u Iranu, a druga u Finskoj. Motori koje traži zovu se "pogoni s promjenjivom frekvencijom." Koriste se za upravljanje industrijskim centrifugama. Centrifuge se mogu koristiti za pročišćavanje mnogih kemijskih elemenata.

Na primjer, uran.

Sada kada crv ima punu kontrolu nad centrifugama, može s njima raditi što god želi. Može ih sve ugasiti. Može ih sve odmah uništiti - samo ih zavrti maksimalnom brzinom dok se ne rasprše poput bombi, ubijajući sve koji se nađu u blizini.

Ali ne. Ovaj kompleks crv. I crv ima drugi planovi.

Nakon što zauzme sve centrifuge u vašem postrojenju... crv jednostavno zaspi.

Dani prolaze. Ili tjednima. Ili sekunde.

Kada crv odluči da je došlo vrijeme, brzo se probudi. On nasumično odabire nekoliko centrifuga koje pročišćavaju uran. Crv ih blokira tako da ako netko primijeti da je nešto čudno, neće moći ugasiti te centrifuge.

I onda, malo po malo, crv počinje okretati te centrifuge... pomalo pogrešno. Uopće ne puno. Samo, znaš, malo prebrzo. Ili malo prespor. Samo немного izvan sigurnih parametara.

Istodobno povećava tlak plina u tim centrifugama. Ovaj plin se zove UF6. Vrlo štetna stvar. Crv mijenja tlak ovog plina malo izvan sigurnih granica. Upravo tako da ako plin uđe u centrifuge tijekom rada, male su šanse da pretvorit će se u kamenje.

Centrifuge ne vole raditi ni prebrzo ni presporo. A ne vole ni kamenje.

Ali crvu je preostao još jedan trik. I on je briljantan.

Crv je uz sve svoje radnje počeo puštati i snimku podataka iz zadnje 21 sekunde rada, koje je snimao dok su centrifuge radile normalno.
Crv je puštao snimku uvijek iznova u petlji.

Kao rezultat toga, podaci iz svih centrifuga za ljude izgledali su sasvim normalno. Ali to su bili samo lažni unosi koje je napravio crv.

Sada zamislite da ste odgovorni za rafiniranje urana pomoću ovog velikog industrijskog postrojenja. I čini se da sve dobro funkcionira. Motori možda zvuče malo čudno, ali brojke na računalu pokazuju da motori centrifuge rade kako treba.

Tada se centrifuge počinju kvariti. Nasumičnim redoslijedom, jedan za drugim. Obično umiru tiho. Međutim, u nekim slučajevima oni organiziraju sadašnjost zastupanje. I proizvodnja urana počinje naglo padati. Uran mora biti čista. Vaš uran nije dovoljno čist da bi s njim bilo što korisno.

Što biste učinili da vodite ovu tvornicu za obogaćivanje urana? Provjeravali biste sve iznova i iznova i iznova, ne shvaćajući u čemu je problem. Možete promijeniti sva računala u tvornici ako želite.

Ali centrifuge bi se ipak pokvarile. I tebe nije bilo načina čak ni saznati zašto.

S vremenom se pod vašim nadzorom pokvari ili ugasi oko 1000 centrifuga. Poludiš pokušavajući shvatiti zašto stvari ne rade kako je planirano.

To je upravo ono što se zapravo dogodilo

Nikada ne biste očekivali da je sve ove probleme stvorio računalni crv, najlukaviji i najinteligentniji računalni crv u povijesti, kojeg je napisao neki nevjerojatno tajni tim s neograničenim novcem i vremenom. Crv je dizajniran sa samo jednom svrhom: prođite kroz sve poznate digitalne sigurnosne metode i uništite nuklearni program svoje zemlje, a da vas ne uhvate.
Napraviti program koji bi mogao učiniti JEDNU od ovih stvari samo po sebi je malo čudo. Napravite program koji može SVE ovo i još mnogo toga...

… za ovo Crv Stuxnet morao postati najsloženiji program ikada napisan.

Izvor: www.habr.com

Dodajte komentar