Najtežji program

Od prevajalca: Na Quori sem našel vprašanje: Kateri program ali kodo lahko imenujemo najbolj zapletena, kar jih je bilo kdaj napisano? Odgovor enega od udeležencev je bil tako dober, da je vreden članka.

Pripni varnostni pas.

Najbolj kompleksen program v zgodovini je napisala ekipa ljudi, katerih imen ne poznamo.

Ta program je računalniški črv. Črv je bil očitno napisan med letoma 2005 in 2010. Ker je ta črv tako zapleten, lahko podam samo splošen opis, kaj počne.

Črv se najprej pojavi na pogonu USB. Nekdo lahko najde disk na tleh, ga prejme po pošti in se začne zanimati za njegovo vsebino. Takoj ko je bil disk vstavljen v računalnik z operacijskim sistemom Windows, se je črv brez vednosti uporabnika samodejno zagnal in kopiral na ta računalnik. Obstajali so vsaj trije načini, na katere se je lahko izstrelil. Če eno ni delovalo, je poskusil z drugim. Vsaj dva od teh načinov zagona sta bila popolnoma nova in oba sta izkoriščala dve neodvisni, skrivni hrošči v sistemu Windows, za katere nihče ni vedel, dokler se ni pojavil ta črv.

Takoj ko se črv zažene v računalniku, poskuša pridobiti skrbniške pravice. Nameščena protivirusna programska oprema ga posebej ne moti – večino tovrstnih programov lahko prezre. Nato bo črv, odvisno od različice operacijskega sistema Windows, na kateri deluje, poskusil enega od dveh doslej neznanih načinov pridobitve skrbniških pravic v računalniku. Kot prej, nihče ni vedel za te skrite ranljivosti, preden se je pojavil ta črv.

Po tem lahko črv skrije sledi svoje prisotnosti v globinah operacijskega sistema, tako da ga noben protivirusni program ne more zaznati. Tako dobro se skriva, da tudi če pogledate na disk na mestu, kjer bi moral biti ta črv, ne boste videli ničesar. Ta črv se je tako dobro skril, da mu je uspelo eno leto tavati po internetu brez kakršnega koli varnostnega podjetja sploh ni prepoznal dejstva svojega obstoja.

Črv nato preveri, ali lahko dostopa do interneta. Če lahko, poskuša obiskati spletna mesta www.mypremierfutbol.com ali www.todaysfutbol.com. Takrat sta bila ta strežnika Malezija in Danska. Odpre šifriran komunikacijski kanal in tem strežnikom sporoči, da je bil novi računalnik uspešno prevzet. Zakaj se črv samodejno posodobi na najnovejšo različico?

Črv se nato prekopira na katero koli drugo USB napravo, ki jo vstavite. To stori tako, da namesti lepo oblikovan gonilnik diska. Ta gonilnik je vseboval digitalni podpis Realtek. To pomeni, da je avtorjem črva nekako uspelo vdreti na najbolj varno lokacijo velikega tajvanskega podjetja in ukrasti najskrivnejši ključ podjetja, ne da bi podjetje za to vedelo.

Kasneje so avtorji tega gonilnika začeli podpisovati z zasebnim ključem JMicron, drugega velikega tajvanskega podjetja. In spet je avtorjem uspelo vdreti v najbolj varovano mesto v to podjetje in ukradel najbolj skrivni ključ, ki ga ima to podjetje, ne da bi o tem kar koli vedeli.

Črv, o katerem govorimo zelo zapleteno. In celo mirujemo ni začelo.

Po tem začne črv izkoriščati dva nedavno odkrita hrošča v sistemu Windows. Ena napaka je povezana z omrežnimi tiskalniki, druga pa z omrežnimi datotekami. Črv uporablja te hrošče, da se preko lokalnega omrežja namesti na vse ostale računalnike v pisarni.

Črv nato začne iskati specifično programsko opremo, ki jo je razvil Siemens za avtomatizacijo velikih industrijskih strojev. Ko ga najde, (uganili ste) uporabi drugo prej neznano napako, da sam kopira programabilno logiko industrijskega krmilnika. Ko se črv enkrat naseli na tem računalniku, tam ostane za vedno. Znebiti se ga ne bo nobena količina zamenjave ali "razkuževanja" vašega računalnika.

Črv išče priložene industrijske elektromotorje dveh posebnih podjetij. Eno od teh podjetij je v Iranu, drugo pa na Finskem. Motorji, ki jih išče, se imenujejo "pogoni s spremenljivo frekvenco." Uporabljajo se za krmiljenje industrijskih centrifug. Centrifuge se lahko uporabljajo za čiščenje številnih kemičnih elementov.

Na primer uran.

Zdaj, ko ima črv popoln nadzor nad centrifugami, lahko z njimi počne, kar hoče. Vse jih lahko izklopi. Takoj jih lahko uniči vse – samo vrtite jih z največjo hitrostjo, dokler ne razletijo kot bombe in ubijejo vse, ki so v bližini.

Vendar ne. to zapleteno črv. In črv ima drugi načrti.

Ko zajame vse centrifuge v vašem obratu... črv preprosto zaspi.

Dnevi minevajo. Ali tednov. Ali sekunde.

Ko se črv odloči, da je prišel čas, se hitro zbudi. Naključno izbere več centrifug, ki čistijo uran. Črv jih blokira, tako da če kdo opazi, da je nekaj čudnega, teh centrifug ne more izklopiti.

In potem, malo po malo, začne črv vrteti te centrifuge... malo narobe. Sploh ne veliko. Samo, veš, malo prehitro. oz malo prepočasi. Samo немного zunaj varnih parametrov.

Hkrati poveča tlak plina v teh centrifugah. Ta plin se imenuje UF6. Zelo škodljiva stvar. Črv spreminja tlak tega plina malo zunaj varnih meja. Točno tako, da če med delovanjem pride plin v centrifuge, obstaja majhna možnost, da spremenil se bo v kamne.

Centrifuge ne marajo delovati prehitro ali prepočasi. In tudi kamnov ne marajo.

Toda črvu je ostal še zadnji trik. In on je briljanten.

Poleg vseh svojih dejanj je črv začel predvajati posnetek podatkov zadnjih 21 sekund delovanja, ki jih je posnel, ko so centrifuge normalno delovale.
Črv je predvajal posnetek znova in znova v zanki.

Posledično so bili podatki iz vseh centrifug za ljudi videti precej normalni. Toda to so bili le napačni vnosi, ki jih je ustvaril črv.

Zdaj pa si predstavljajte, da ste odgovorni za rafiniranje urana v tem velikem industrijskem obratu. In zdi se, da vse dobro deluje. Motorji se morda slišijo malo nenavadno, vendar številke na računalniku kažejo, da motorji centrifuge delujejo tako, kot morajo.

Nato se centrifuge začnejo kvariti. V naključnem vrstnem redu, enega za drugim. Običajno umrejo tiho. Vendar pa v nekaterih primerih uredijo sedanjost zastopanje. In proizvodnja urana začne strmo padati. Uran mora biti čista. Vaš uran ni dovolj čist, da bi z njim naredili kaj koristnega.

Kaj bi naredili, če bi vodili to tovarno za bogatenje urana? Vse bi preverjali znova in znova in znova, ne da bi razumeli, v čem je težava. Če bi želeli, bi lahko zamenjali vse računalnike v obratu.

Toda centrifuge bi se vseeno pokvarile. In ti sploh ni bilo mogoče izvedeti zakaj.

Sčasoma se pod vašim nadzorom pokvari ali zaustavi približno 1000 centrifug. Znorite, ko poskušate ugotoviti, zakaj stvari ne delujejo po načrtih.

Prav to se je dejansko zgodilo

Nikoli ne bi pričakovali, da je vse te težave ustvaril računalniški črv, najbolj zvit in inteligenten računalniški črv v zgodovini, ki ga je napisala neka neverjetno tajna ekipa z neomejenim denarjem in časom. Črv je bil zasnovan samo z enim namenom: pojdite skozi vse znane digitalne varnostne metode in uničite jedrski program svoje države, ne da bi vas ujeli.
Ustvariti program, ki bi lahko naredil ENO od teh stvari, je samo po sebi majhen čudež. Ustvarite program, ki zmore VSE to in še veliko več...

… za to Črv Stuxnet je moral postati najbolj zapleten program, ki je bil kdaj napisan.

Vir: www.habr.com

Dodaj komentar