Пока гром не грянет, а враг не стухнет

Oct 06, 2010 18:37

«Небо над портом было цвета экрана телевизора настроенного на пустой канал» - так начинается классическая повесть «Нейромантик» Уильяма Гибсона, отца «киберпанка» - одного из наиболее интересных направлений современной научной фантастики. Если обозначить две наиболее яркие черты этого стиля - то, на мой взгляд, ими станут гигантские мега-корпорации, превосходящие своими возможностями суверенные государства и нации, и кибер-войны - вооруженные столкновения происходящие между жителями будущего в виртуальном пространстве киберпанковской вселенной. В визуальном плане, если вы просто хотите представить мир киберпанка, и вам лень пробиваться сквозь достаточно вязкие тексты Гибсона - просмотрите еще раз культовый «Blade runner» Ридли Скота, впечатление он создаст соответствующее.

Мысль о том, что в очередной раз фантасты достаточно точно предугадали будущее, появилась у меня после размусоленной СМИ истории о конфликте китайского правительства с корпорацией Google. Подумайте на секунду: с одной стороны- Китай, полтора миллиарда населения; страна, которая производит для остального мира весь возможный ширпотреб - от электроники до одежды, а с другой стороны - некая биржевая компания, пусть и с капитализацией, которой позавидуют многие страны, причем не обязательно третьего мира.

Кроме того, характерен сам предмет конфликта. Им, как известно, явились результаты поиска в интернете, выдаваемые калифорнийской корпорацией! На такое, думаю, даже у Гибсона не хватило бы воображения двадцать лет назад. На самом деле, в новостях последних лет уже мелькали похожие истории - может и менее высокотехнологичные, но очень показательные; например, очень дурнопахнущая, но так окончательно не доказанная сделка между BP и ливийским правительством по поводу освобождения террориста в обмен на нефтяную концессию. То что, Ливия не смогла получить от Англии на международном уровне, BP сумела организовать через своих лоббистов в парламенте соединенного королевства.

Новости последней недели принесли с собой упоминание о кибервойне, к которым я, уже по привычке, отнесся достаточно скептически. Все эти «автострады информации», «кибертеррористы» и прочие красивые слова, упоминаемые дикторами радио и профессорами-гуманитариями, обычно не означают вообще ничего - так как вся эта публика не понимает минимальных технических деталей, необходимых для ведения дискуссии на том уровне, который не сведется автоматически к переливанию из пустого в порожнее. Чуть позже, когда мне на глаза попались технические детали, я понял насколько глубоко ошибался. И по поводу кибер-войны вообще, и по поводу последних новостей.

Добро пожаловать в киберпанковский мир, надеюсь нам в нем понравится жить, и он будет для нас более добрым и светлым, чем вселенная героев Гибсона и Дика.



Но перед тем как мы пригласим на арену нашего сегодняшнего героя дня: первую ласточку киберпанковской эпохи, и первое в мире настоящие кибероружие, компьютерный вирус «Stuxnet»,я,с вашего позволения, позволю себе коротенький ликбез по компьютерной безопасности и построению современных систем автоматического управления производством.

Практически любой современный завод управляется с помощью микроконтроллеров, иначе называемых PLC. Они гораздо проще, чем персональный компьютер, на них бежит определенная программа,собирающая данные с различных датчиков, и посылающая команды на исполняющие элементы. Например программа контроля, бегущая в микропроцессоре на виноводочном комбинате будет собирать информацию с датчиков уровня сахара и алкоголя в браге, получать от другой группы датчиков температурные показатели раствора, делать какие-то свои вычисления, и выдавать приказы нагревательным элементам о нагреве/охлаждении смеси и т.д. и т.п.

Микропроцессоры эти, по понятным причинам связанным с безопасностью нашего винзавода, к интернету не подключаются никогда, но частенько с них снимают всякие данные (руки потянулись написать «телеметрию», но наверное это слишком громкое слово для происходящего в винной бочке). Данные попадают на какую-нибудь компьютерную систему, которую опять-же к интернету не подключают, а уж она рисует на контрольной панели управления красивые картинки с зелеными лампочками.

Следующим будет краткий экскурс в мир компьютерной безопасности.

Существует такое понятие, 0-day exploit - в моем вольном переводе «свежайший взлом». Таким вот свежачком называется только что найденная вами уязвимость в какой-нибудь программе или операционной системе. Пока о ней никто кроме вас не знает - вы можете написать какой-нибудь очень неприятный вирус и заразить им полмира, еще до того как производитель оригинального софта сделает для нее заплатку. Создатели современных антивирусов обычно ищут уже знакомые им вирусы - то есть, пока ваше творение себя каким-нибудь вредоносным способом не проявит себя, шансы на то, что его остановит уже имеющийся на компьютере антивирус невелики.

Любой 0-day exploit стоит на черном рынке хакерского софта бешенных денег - например потому, что вы запросто можете с его помощью написать вирус, который будет красть номера кредитных карточек своих жертв, или еще каким-нибудь способом позволит вам многократно отбить затраты на закупку «свежего взлома»

Одним из способов, который производители программ придумали для уменьшения возможности заражения вашего компьютера всякой непонятной заразой стали так называемые сертификаты. Разбираться сейчас в модели trusted third party и влазить в тонкости протоколов PKCS мы не будем, ограничусь лишь констатацией факта, что для того, чтобы тот-же Windows не начал кричать: «хозяин, ты на меня какую-то гадость пытаешься поставить» инсталлируемая вами программа должна быть подписана специальным сертификатом, которые выдается не такому уж широкому списку доверенных фирм-производителей программного обеспечения.

Это все была преамбула. Переходим к амбуле.

Где-то в районе июля 2010 года был обнаружен презабавнейший вирус, который окрестили Stuxnet. Забавным в нем было почти все: во-первых, основным (но не единственным!) способом его распространения были USB флешки - и это при том, что механизм распространения через интернет в него тоже был встроен. Во-вторых, он использовал 4 (!) доселе неизвестных «свежих взлома», а в третьих, он не приносил никакого явного вреда компьютерам, которые он заразил, кроме, собственно говоря, самого факт заражения. Вдобавок вирус оказался подписанным абсолютно настоящими сертификатами двух вполне серьезных тайваньских фирм, друг с другом никак не связанных, но физически занимающих соседние офисы в одном здании. Понятное дело, их сертификаты были немедленно отозваны, но это все уже было маханием кулаками после драки.

География зараженных компьютеров была тоже очень интересной, но о ней мы еще поговорим чуть позже.

Итак, исследователи вирусов удивились, полезли внутрь - и обнаружили компьютерный код, который своим уровнем исполнения отличается от обычного вируса примерно так, как собранный на конвейере автомобиль отличается от спаянного в гараже из грязных железок самоката. По самым скромным оценкам, Stuxnet писался командой из восьми-десяти очень профессиональных программистов на протяжении минимум года, в отличии от стандартного вируса, накропанного на коленке прыщавым тинейджером во время школьных каникул.

Эксперты утверждают, что проект такой сложности - скорее всего дело рук не частной,а государственной конторы. Например американского No Such Agency, или его израильского аналога из четырех цифирок.

В этот момент у специалистов по безопасности появился основной вопрос - зачем такую мощь тратить на абсолютно безвредную деятельность по саморазмножению, без каких-либо попыток монетизировать свои возможности, они полезли ковырять код дальше и обнаружили самое интересное. Безвредным вирус был только на обычных компьютерах, никак не подключенных к контролерам микропроцессоров. В случае-же обнаружения индустриальной системы и соответствующих PLC вирус устраивался поудобнее и проверял содержание вышеназванных микропроцессоров. Если они не принадлежали к какой-то конкретной партии или партиям - он опять-таки возвращался к спокойному ничегонеделанию смешанному с не слишком торопливым размножением. Если же микропроцессоры подходили под заранее зашитое в вирус описание - наш червь, во-первых, дописывал в них свою программу, а во вторых - делал все возможное, чтобы эти изменения нельзя было отследить. Таким образом, мало того, что создатели вируса имели под рукой образцы искомых микропроцессоров - они еще и неплохо представляли теперешнее программное обеспечение этих коробок.

Что конкретно на них менял вирус - абсолютно непонятно. То есть, мы знаем, что в содержание блоков 8062 и 890 вносились какие-то изменения, но понять их смысл нет никакой возможности без конкретной привязки к той аппликации, которая бежит на микропроцессоре. Это может быть, например, инструкция не понижать температуру браги из нашего вино-водочного примера (таким образом будущее пиво просто испортится), или, скажем, команда разогнать лопасти гидротурбины выше предельно допустимого значения, или еще что-то. По ходу дела, вносимый в микропроцессоры код еще каким-то образом интересовался сетевым трафиком между зараженным микропроцессором и всеми остальными, но этот момент исследователи пока понять не смогли.

Такие вот факты. А, чуть не забыл про географию - на июль 2010 года 60% зараженных компьютеров находилось на територии Исламской Республики Иран. Судя по тому, что вирус начал свою работу минимум на полгода-год раньше, несложно понять откуда он начал свое распространение.

Все остальное в этой истории - домыслы и спекуляции, так-как иранцы пока не сообщают мировой общественности чем занимались искомые микропроцессоры,и, думаю, при нынешнем правительстве не сообщат никогда.

Впрочем, вряд-ли это был вино-водочный комбинат.

Линки по теме (русский)

http://www.computerra.ru/own/kiwi/564744/
http://www.computerra.ru/own/kiwi/565316/
http://malaya-zemlya.livejournal.com/584125.html
http://malaya-zemlya.livejournal.com/586908.html
http://malaya-zemlya.livejournal.com/589347.html
http://kommersant.ru/doc.aspx?fromsearch=ba2fc7f9-a628-40e4-a7be-ad4427508a5a&docsid=1511716

nsa

Previous post Next post
Up