В продолжении темы поднятой в посте ««Газпрому» принудительно отключили импортную технику через спутник.»
Главным технологическим событием последних дней стала новость о дистанционном отключении австрийских компрессоров, используемых Газпромом. И хотя само это событие произошло давно, оно напомнило, как уязвима Россия при использовании западного оборудования. Что такое компьютерные закладки, где они уже применяются – и как им противодействовать?
Программная или аппаратная закладка в сложном оборудовании – это уже практически данность в современном мире. Фактически любое сложное оборудование сегодня снабжено схемой микроконтроллерного или микропроцессорного управления и имеет собственное программное обеспечение различной степени сложности, вплоть до операционной системы.
Кроме того, местоположение оборудования может отслеживаться с помощью систем глобального позиционирования (таких, как GPS), а его состояние и параметры могут (а иногда и просто обязаны, что прописано в контракте на поставку) передаваться по сети в центральный офис компании-производителя. Ещё одним фактором являются ремонты и техническое обслуживание. Часто оборудование может блокироваться по истечению определённого времени или наработанных часов, официально – для регулярного осмотра, настройки или ремонта, а фактически – для операций скрытого мониторинга и контроля со стороны производителя.
При этом практика помещения закладок, негативно влияющих на функционирование оборудования, в общем-то, порицается. Однако определить «вредоносность» такого рода закладки вплоть до её срабатывания затруднительно. Действительно, в большинстве случаев отличить срабатывание аварийного выключателя (англ. kill switch) из-за использования, например, некондиционного смазочного масла или работы оборудования за пределами технических регламентов от произвольного отключения изделия по желанию компании-производителя практически невозможно.
«Первопроходцами» в деле создания таких закладок ещё в 1960-е годы выступила компания IBM: в аппаратных возможностях её больших компьютеров были прописаны секретные коды операций, которые использовались только операционной системой с закрытым исходным кодом. С тех пор технологии закладок лишь развивались и совершенствовались.
Опасность закладки в том, что обычно её функционал недоступен и неизвестен конечному пользователю – и он практически не может управлять её срабатыванием, даже если оно формально должно, например, уберечь систему от перегрузки или разрушения. В том же случае, когда закладка срабатывает и вовсе по желанию компании-производителя, нарушая или даже полностью блокируя функциональность проданного оборудования, то возникает вопрос: «А покупали ли вы действительно этот компрессор или просто взяли его попользоваться под жёстким и постоянным присмотром?».
Зависимость от «чужого дяди»
Закладки являются одним из скрытых механизмов защиты технологического лидерства, на использовании которого западные страны базировали всю свою колониальную политику последних двух веков. Просто в XIX веке это были пушки и ружья, а в XXI веке – компьютеры, микроконтроллеры и программы.
На сегодняшний день многие западные компании пытаются прописать в договорах на продажу своего оборудования кабальные условия:
фактически заменив продажу на сдачу оборудования в аренду в самых жёстких ограничениях. В таком случае при продаже оговаривается практика так называемых циклов обслуживания и привязки оборудования к определённому местоположению. После начального монтажа на место обычно посылается специалист производителя, который не просто запускает изделие, но и снабжает его «кодом годности», действующим определённое время. Кроме того, оборудование может снабжаться приёмниками GPS или высокоточными гироскопами, которые сигнализируют о его несанкционированном перемещении.
В таком случае уже вскорости, по окончанию «цикла обслуживания» или просто при перемещении оборудования с оговоренного места, включается программа или аппаратное обеспечение блокировки, после чего единица оборудования превращается в мёртвый груз. Судя по всему, именно это и случилось с компрессорами Газпрома: ведь в сообщении компании говорится, что мобильные компрессорные станции IMF использовались в дочерних структурах Газпрома с 2010 года.
Впрочем, может быть и хуже
Стоит учитывать, что отнюдь не все закладки срабатывают в стиле «оно просто остановилось и не работает».
Например, одной из наиболее крупных техногенных аварий, вызванных закладками в программном обеспечении, стала диверсия на ГЭС Гури, которая привела к практически полному отключению энергетической системы Венесуэлы 7 марта 2019 года. Успешность атаки определялась «зеленостью» электроэнергетики Венесуэлы, которая на 82% зависит от производства электроэнергии на трех крупнейших гидроэлектростанциях страны – Гури, Каруачи и Макагуа. При этом крупнейшая ГЭС Гури в одиночку дает 65% электроэнергии. Такая сверхконцентрация генерирующих мощностей и позволила успешно «положить» всю энергосистему Венесуэлы диверсией лишь на одном крупном объекте.
В 2005 году электростанция Гури прошла через процесс масштабной модернизации, которую осуществлял международный технологический консорциум ABB – Asea Brown Boveri Ltd. В рамках этого договора ABB провел полную замену системы управления и защиты этой венесуэльской ГЭС. При этом старая, «аналоговая» ГЭС с помощью АВВ была полностью «оцифрована»: через контроллеры стало возможным управлять практически всеми функциями ГЭС – от открытия заслонок и запуска генерирующих агрегатов и вплоть до выдачи мощности в общую сеть. Контроллеры АВВ имели возможность предоставления аналоговой и цифровой информации, вели логическую и программную обработку данных, а также взяли на себя функции мониторинга и связи.
На верхнем уровне контроллеры ожидаемо управлялись через программный пакет для разработки или обеспечения работы в реальном времени (SCADA) на основе… Windows XP. Просто потому, что так в 2005 году было удобно, да и выглядело не особо опасным.
Как показал анализ атаки 2019 года, ГЭС Гури «взломали» именно через компьютерный интерфейс высокого уровня, однако со знанием «закладок» контроллеров АВВ, которым просто отдали приказ на остановку гидроагрегатов и отсоединение ГЭС от общей энергосистемы. В итоге попытки персонала станции сделать хоть что-то вручную просто провалились – везде их усилия упирались в ту самую «модную» систему автоматического управления, которая не допускала ручного управления параметрами станции в незадокументированном режиме.
ГЭС Гури, Венесуэла.
Впрочем, самая нашумевшая кибератака, хотя и с менее значимыми последствиями, случилась девятью годами ранее. Опасность её заключалась в том, что в тот раз объектом атаки стала ядерная отрасль Ирана. В 2010 году компьютерный червь Stuxnet был внедрён между программируемыми логическими контроллерами марки Simatic S7 и рабочими станциями SCADA-системы фирмы Siemens. Несмотря на то, что само внедрение червя шло опять-таки через уязвимость системы Windows, в дальнейшем он использовал систему «закладок» внутри контроллеров Simatic S7, которая штатно позволяла их удалённое перепрограммирование.
Stuxnet при этом стал первым компьютерным вирусом, который смог приостановить иранскую ядерную программу, повредив около 1000 центрифуг обогащения уранового топлива и переведя их в нештатный режим работы. В сентябре 2019 года было опубликовано журналистское расследование, согласно которому заражение вирусом иранского центра по обогащению было произведено иранским специалистом, завербованным голландской разведкой AIVD по поручению ЦРУ и Моссада.
Чем защищаться?
Основной и главной защитой от такого рода «подарков» производителей является публикация полного описания всей структуры управления готовым изделием – начиная от микроконтроллерного оборудования и заканчивая операционными системами и управляющими программами. Ещё двадцать лет назад такой подход мог вызвать у продавцов только улыбку: в мире царило так называемое проприетарное (лицензируемое) программное обеспечение – и никто не жаждал открывать исходные коды своих программ.
На сегодняшний же день движение в сторону свободного программного обеспечения с открытым исходным кодом уже привело к тому, что
в хорошую практику входит поставка и программ, и даже низкоуровневых драйверов в исходном коде, в котором любой желающий может как определить существующие закладки, так и убрать их оттуда.
При этом можно попутно «отделить зёрна от плевел», добившись того, чтобы контроллер или программа останавливали оборудование в опасных или нежелательных ситуациях, но игнорировали запросы на остановку по «желанию левой пятки компании-производителя».
Такого рода цифровой контроль на стороне потребителя вдвойне важен в современных условиях. В частности, после 2014 года правительством США в отношении России введены так называемые региональные ограничения, которые подразумевают запрет на перемещение важных видов оборудования в некоторые регионы России (в частности в Крым).
Производители других западных стран формально были не обязаны исполнять это решение, так как юрисдикция этого предписания носила внутриамериканский характер, однако «рекомендации» США законодательно легализовал Брюссель – после чего практически все иностранные поставщики стараются внести этот пункт в свои договоры о поставках в Россию. Кроме того, в отношении российских компаний действуют и так называемые секторальные санкции, которые также ограничивают поставки оборудования. Понятным образом, механизм закладок и связанных с ними блокировок может быть задействован и по этой линии.
Наглядный рецепт защиты от такого скрытого и явного давления уже давно демонстрирует Китай – там еще в 2014 году была принята общенациональная программа перехода с проприетарного программного обеспечения (в основном Windows) на открытую операционную систему Linux. В большинстве случаев речь идёт о Kylin Linux – собственной китайской разработке, чьи клоны сейчас повсеместно внедряются в КНР. Как следствие, «экосистема» китайского открытого программного обеспечения постоянно растёт – и монополия западного цифрового мира сжимается год за годом. Конечно, пока ещё прямые атаки на Китай со стороны Запада, схожие с недавней блокировкой Huawei, всё ещё болезненны, но уже видно, что КНР действует в правильном направлении.
Как видится, у России сегодня тоже есть шанс поддержать движение мира к открытому и свободному программному обеспечению. Ведь похожая ситуация произошла в мире полвека тому назад, когда благодаря советскому АК-47 страны Третьего мира наконец получили возможность метко стрелять в ответ в колонизаторов из мира Первого. Из мира, который весь XIX и начало ХХ века почему-то ещё и мнил себя миром Высшим. На протяжении минимум двух веков у стран Третьего мира не было на эту претензию внятного ответа. А Михаил Калашников этот ответ создал – после чего сотни фабрик по всему миру превратили АК-47 в «оружие ответа».
Так что сегодня у нас тоже есть шанс. Тем более, что теперь стрелять ни в кого не надо. Стоит просто сказать: это наше оборудование – и управлять им будем только мы.