Најтешка програма

Од преведувачот: Најдов прашање на Quora: Која програма или код може да се нарече најсложена досега напишана? Одговорот на еден од учесниците беше толку добар што е доста достоен за статија.

Прицврстете ги безбедносните појаси.

Најкомплексната програма во историјата е напишана од тим на луѓе чии имиња не ги знаеме.

Оваа програма е компјутерски црв. Црвот очигледно бил напишан помеѓу 2005 и 2010 година. Бидејќи овој црв е толку сложен, можам само да дадам општ опис на она што го прави.

Црвот прво се појавува на USB-уред. Некој може да најде диск што лежи на земја, да го добие по пошта и да се заинтересира за неговата содржина. Штом дискот бил вметнат во компјутер со Windows, без знаење на корисникот, црвот автоматски се активирал и се копирал на тој компјутер. Имаше најмалку три начини на кои можеше да се лансира. Ако еден не функционираше, тој се обиде со друг. Најмалку два од овие методи на лансирање беа сосема нови, и двата експлоатираа две независни, тајни грешки во Windows за кои никој не знаеше додека не се појави овој црв.

Штом црвот работи на компјутер, се обидува да добие администраторски права. Нему особено не му пречи инсталираниот антивирусен софтвер - тој може да ги игнорира повеќето такви програми. Потоа, во зависност од тоа на која верзија на Windows работи, црвот ќе проба еден од двата досега непознати методи за стекнување администраторски права на компјутерот. Како и досега, никој не знаеше за овие скриени пропусти пред да се појави овој црв.

По ова, црвот може да ги скрие трагите од своето присуство во длабочините на ОС, така што ниту една антивирусна програма не може да го открие. Толку добро се крие што дури и да погледнете на дискот на местото каде што треба да биде овој црв, нема да видите ништо. Овој црв се криеше толку добро што успеа да се шета на Интернет цела година без никаква безбедносна компанија дури и не го препознал фактот на неговото постоење.

Црвот потоа проверува дали може да пристапи на Интернет. Ако може, тој се обидува да посетува локации www.mypremierfutbol.com или www.todaysfutbol.com. Во тоа време овие сервери беа Малезија и Данска. Отвора шифриран канал за комуникација и им кажува на овие сервери дека новиот компјутер е успешно преземен. Зошто црвот автоматски се ажурира на најновата верзија?

Црвот потоа се копира на кој било друг USB-уред што случајно ќе го вметнете. Тоа го прави со инсталирање на уредно дизајниран драјвер за непријателски диск. Овој драјвер содржеше дигитален потпис на Realtek. Ова значи дека авторите на црвот некако успеале да пробијат на најсигурната локација на голема тајванска компанија и да го украдат најтајниот клуч на компанијата без компанијата да знае за тоа.

Подоцна, авторите на овој возач почнаа да го потпишуваат со приватен клуч од JMicron, друга голема тајванска компанија. И повторно, авторите успеаја да упаднат во најзаштитеното место во ова компанија и го украде најтајниот клуч што го поседува ова компанија без тие да знаат ништо за тоа.

Црвот за кој зборуваме многу комплицирано. И уште сме не започна.

После ова, црвот почнува да експлоатира два неодамна откриени грешки во Windows. Едната грешка е поврзана со мрежни печатачи, а другата е поврзана со мрежни датотеки. Црвот ги користи овие грешки за да се инсталира преку локалната мрежа на сите други компјутери во канцеларијата.

Црвот потоа почнува да бара специфичен софтвер развиен од Сименс за автоматизирање на големите индустриски машини. Откако ќе го најде, тој (погодувате) користи друга претходно непозната бубачка за да ја копира програмабилната логика на индустриски контролер. Откако црвот ќе се насели на тој компјутер, тој останува таму засекогаш. Ниту една количина на замена или „дезинфекција“ на вашиот компјутер нема да се ослободи од него.

Црвот бара прикачени индустриски електрични мотори од две конкретни компании. Едната од овие компании е во Иран, а другата е во Финска. Моторите што тој ги бара се нарекуваат „погони со променлива фреквенција“. Тие се користат за контрола на индустриски центрифуги. Центрифугите може да се користат за прочистување на многу хемиски елементи.

На пример, ураниум.

Сега кога црвот има целосна контрола над центрифугите, може да прави што сака со нив. Може да ги исклучи сите. Тој може да ги уништи сите веднаш - само завртете ги со максимална брзина додека не се распаднат како бомби, убивајќи ги сите што ќе се најдат во близина.

Но не. Ова комплицирано црв. И црвот има други планови.

Откако ќе ги зароби сите центрифуги во вашата фабрика... црвот едноставно заспива.

Поминуваат денови. Или недели. Или секунди.

Кога црвот одлучи дека е дојдено време, брзо се буди. Тој по случаен избор избира неколку центрифуги додека тие го прочистуваат ураниумот. Црвот ги блокира, така што ако некој забележи дека нешто е чудно, нема да може да ги исклучи овие центрифуги.

И тогаш, малку по малку, црвот почнува да ги врти овие центрифуги... малку погрешно. Воопшто не многу. Само, знаеш, малку пребрзо. Или малку премногу бавен. Само малку надворешни безбедни параметри.

Во исто време, го зголемува притисокот на гасот во овие центрифуги. Овој гас се нарекува UF6. Многу штетна работа. Црвот го менува притисокот на овој гас малку надвор од безбедните граници. Токму така што доколку гасот навлезе во центрифугите за време на работата, постои мала шанса тој ќе се претвори во камења.

Центрифугите не сакаат да работат премногу брзо или премногу бавно. И тие не сакаат ниту камења.

Но, на црвот му останува уште еден последен трик. И тој е брилијантен.

Покрај сите негови дејствија, црвот почнал да пушта снимка од податоците од последните 21 секунда од работењето, кои ги снимал кога центрифугите работеле нормално.
Црвот ја пушташе снимката одново и одново во јамка.

Како резултат на тоа, податоците од сите центрифуги за луѓе изгледаа сосема нормално. Но, ова беа само лажни записи создадени од црвот.

Сега замислете дека вие сте одговорни за рафинирање на ураниум користејќи ја оваа голема индустриска постројка. И се чини дека сè работи добро. Моторите можеби звучат малку чудно, но бројките на компјутерот покажуваат дека моторите на центрифугата работат како што треба.

Тогаш центрифугите почнуваат да се распаѓаат. По случаен редослед, еден по друг. Тие обично умираат тивко. Меѓутоа, во некои случаи, тие ја организираат сегашноста изведба. И производството на ураниум почнува нагло да опаѓа. Уран мора да биде чист. Вашиот ураниум не е доволно чист за да направите нешто корисно со него.

Што би направиле ако ја водите оваа фабрика за збогатување ураниум? Ќе проверуваш сè повторно и повторно и повторно, не разбирајќи што е проблемот. Ако сакате, можете да ги промените сите компјутери во фабриката.

Но, центрифугите сепак би се расипале. И ти немаше начин да се дознае зошто.

Со текот на времето, под ваш надзор, околу 1000 центрифуги се распаѓаат или исклучуваат. Полудувате обидувајќи се да сфатите зошто работите не функционираат според планираното.

Ова е токму она што всушност се случи

Никогаш не би очекувале дека сите овие проблеми се создадени од компјутерски црв, најлукавиот и најинтелигентен компјутерски црв во историјата, напишан од некој неверојатно таен тим со неограничени пари и време. Црвот е дизајниран само за една цел: поминете низ сите познати методи за дигитална безбедност и уништи ја нуклеарната програма на вашата земја без да бидете фатени.
Да се ​​создаде програма што може да направи ЕДНА од овие работи е само по себе мало чудо. Направете програма која може да го направи СЕ ова и многу повеќе...

… за ова Stuxnet црв мораше да стане најкомплексната програма некогаш напишана.

Извор: www.habr.com

Додадете коментар