Od prevodioca: Našao sam pitanje na Quori: Koji program ili kod se može nazvati najkompleksnijim ikad napisanim? Odgovor jednog od učesnika bio je toliko dobar da je sasvim vrijedan članka.
Vežite pojaseve.
Najsloženiji program u istoriji napisao je tim ljudi čija imena ne znamo.
Ovaj program je kompjuterski crv. Crv je očigledno napisan između 2005. i 2010. godine. Pošto je ovaj crv tako složen, mogu dati samo opšti opis onoga što radi.
Crv se prvo pojavljuje na USB disku. Neko bi mogao pronaći disk kako leži na podu, primiti ga poštom i postati znatiželjan o njegovom sadržaju. Čim se disk ubaci u računar, Windows Neznajući korisniku, crv se automatski pokrenuo i kopirao na računar. Postojala su najmanje tri načina na koja se mogao pokrenuti. Ako jedan nije uspio, pokušao je s drugim. Najmanje dvije od ovih metoda pokretanja bile su potpuno nove i obje su iskorištavale dvije nezavisne, tajne greške u Windows za koje niko nije znao sve dok se nije pojavio ovaj crv.
Nakon što se crv pokrene na računaru, pokušava dobiti administratorske privilegije. Ne mari posebno za instalirani antivirusni softver - može ignorirati većinu takvih programa. Zatim, ovisno o verziji Windows Ako uspije, crv će pokušati jednu od dvije prethodno nepoznate metode da dobije administratorske privilegije na računaru. Kao i prije, niko nije znao za ove skrivene ranjivosti prije pojave ovog crva.
Nakon toga, crv je u stanju da sakrije tragove svog prisustva u dubinama OS-a, tako da ga nijedan antivirusni program ne može otkriti. Toliko se dobro skriva da čak i ako pogledate disk na mjestu gdje bi ovaj crv trebao biti, nećete vidjeti ništa. Ovaj crv se tako dobro sakrio da je uspio lutati internetom godinu dana bez ikakve sigurnosne kompanije nije ni prepoznao činjenicu svog postojanja.
Crv zatim provjerava da li može pristupiti Internetu. Ako može, pokušava posjetiti stranice ili . U to vrijeme ti serveri su bili Malezija i Danska. Otvara šifrovani komunikacioni kanal i govori ovim serverima da je novi računar uspešno preuzet. Zašto se crv automatski ažurira na najnoviju verziju?
Crv se zatim kopira na bilo koji drugi USB uređaj koji slučajno ubacite. To radi instalacijom uredno dizajniranog lažnog drajvera diska. Ovaj drajver je sadržavao Realtek digitalni potpis. To znači da su autori crva nekako uspjeli provaliti na najsigurniju lokaciju velike tajvanske kompanije i ukrasti najtajniji ključ kompanije, a da kompanija nije znala za to.
Kasnije su autori ovog drajvera počeli da ga potpisuju privatnim ključem JMicron-a, druge velike tajvanske kompanije. I opet, autori su uspjeli provaliti na najzaštićenije mjesto ovo kompaniju i ukrasti najtajniji ključ koji posjeduje ovo kompanija, a da oni ništa o tome ne znaju.
Crv o kome govorimo veoma komplikovano. I čak smo mirni nije počelo.
Nakon ovoga, crv počinje iskorištavati dvije nedavno otkrivene greške u WindowsJedan bug je povezan s mrežnim štampačima, a drugi s mrežnim datotekama. Crv iskorištava ove bugove da se instalira na sve ostale računare u kancelariji putem lokalne mreže.
Crv tada počinje da traži poseban softver koji je razvio Siemens za automatizaciju velikih industrijskih mašina. Jednom kada ga pronađe, on (pogodili ste) koristi još jednu ranije nepoznatu grešku da sam kopira programabilnu logiku industrijskog kontrolera. Jednom kada se crv nastani na tom računaru, ostaje tamo zauvek. Nikakva zamjena ili "dezinfekcija" vašeg računara neće ga se riješiti.
Crv traži priključene industrijske elektromotore od dvije specifične kompanije. Jedna od ovih kompanija je u Iranu, a druga u Finskoj. Motori koje traži zovu se "pogoni s promjenjivom frekvencijom". Koriste se za kontrolu industrijskih centrifuga. Centrifuge se mogu koristiti za pročišćavanje mnogih hemijskih elemenata.
Na primjer, uranijum.
Sada kada crv ima potpunu kontrolu nad centrifugama, može s njima raditi šta god želi. Može ih sve isključiti. Može ih odmah sve uništiti - samo ih zavrti maksimalnom brzinom dok se ne razlete kao bombe, ubijajući sve koji se nađu u blizini.
Ali ne. Ovo komplikovano crv. I crv ima drugi planovi.
Jednom kada uhvati sve centrifuge u vašoj biljci... crv jednostavno zaspi.
Dani prolaze. Ili nedeljama. Ili sekunde.
Kada crv odluči da je došlo vrijeme, brzo se probudi. On nasumično bira nekoliko centrifuga dok pročišćavaju uranijum. Crv ih blokira tako da ako neko primijeti da je nešto čudno, neće moći isključiti ove centrifuge.
A onda, malo po malo, crv počinje da vrti ove centrifuge... malo pogrešno. Ne puno. samo, znaš, malo prebrzo. Or malo presporo. Samo немного van bezbednih parametara.
Istovremeno, povećava pritisak gasa u ovim centrifugama. Ovaj gas se zove UF6. Veoma štetna stvar. Crv menja pritisak ovog gasa malo izvan sigurnih granica. Upravo tako da ako gas dospe u centrifuge tokom rada, postoji mala šansa da pretvoriće se u kamenje.
Centrifuge ne vole da rade prebrzo ili presporo. A ni oni ne vole kamenje.
Ali crvu je ostao još jedan trik. I on je briljantan.
Pored svih svojih radnji, crv je počeo da pušta snimak podataka iz poslednje 21 sekunde rada, koje je snimio kada su centrifuge radile normalno.
Crv je puštao snimak iznova i 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 stvorio crv.
Sada zamislite da ste odgovorni za rafinaciju uranijuma koristeći ovo veliko industrijsko postrojenje. I čini se da sve dobro funkcioniše. Motori mogu zvučati malo čudno, ali brojevi na kompjuteru pokazuju da motori centrifuge rade kako bi trebali.
Tada se centrifuge počinju kvariti. Slučajnim redoslijedom, jedan za drugim. Obično umiru tiho. Međutim, u nekim slučajevima oni uređuju sadašnjost zastupanje. I proizvodnja uranijuma počinje naglo opadati. Uran mora biti čist. Vaš uranijum nije dovoljno čist da bi sa njim uradio bilo šta korisno.
Šta biste uradili da vodite ovu fabriku za obogaćivanje uranijuma? Provjeravali biste sve iznova i iznova i iznova, ne shvatajući u čemu je problem. Mogli biste promijeniti sve kompjutere u fabrici ako želite.
Ali centrifuge bi se i dalje pokvarile. I ti nije bilo načina da se otkrije zašto.
Tokom vremena, pod vašim nadzorom, oko 1000 centrifuga se pokvari ili ugasi. Poludiš pokušavajući da shvatiš zašto stvari ne rade kako je planirano.
Upravo se to dogodilo
Nikad ne biste očekivali da je sve ove probleme stvorio kompjuterski crv, najlukaviji i najinteligentniji kompjuterski crv u istoriji, koji je napisao neki neverovatno tajni tim sa neograničenim novcem i vremenom. Crv je dizajniran sa samo jednom svrhom: prođite kroz sve poznate metode digitalne sigurnosti i uništite nuklearni program svoje zemlje, a da ne budete uhvaćeni.
Stvoriti program koji bi mogao učiniti JEDNU od ovih stvari je samo po sebi malo čudo. Kreirajte program koji može SVE ovo i mnogo više...
… za ovo morao postati najkompleksniji program ikada napisan.
izvor: www.habr.com
