Аппаратная "тайм-бомба": как микросхема способна вмешаться в происходящее
Утро. Москва. Около входа в метро стоит странная очередь из людей, пытающихся войти внутрь. Из перехода идет противоположный поток. Несколько человек обсуждают свои транспортные карты, число поездок на которых почему-то обнулилось. Ноль поездок высвечивается даже на тех картах, которые были куплены только что в кассах метрополитена. Автобусы, троллейбусы, трамваи - весь транспорт парализован из-за сбоя в работе карт. Специалисты транспортного департамента пытаются разобраться в ситуации, но понимают, что все их компьютеры почему-то разом перестали работать. Через несколько часов становится понятно, что в такой ситуации оказались транспортные департаменты всех городов.
Эта придуманная фантастическая картина, на самом деле, не является столь уж невозможной, если предположить, что любые микросхемы, которые традиционно покупаются за рубежом, могут иметь незадокументированные возможности. Такая мина замедленного действия, заложенная в чип, традиционно называется закладкой. Стоит только дистанционно активировать аппаратную закладку, и в негодность могут прийти электронные устройства, карты, компьютеры - любая цифровая аппаратура.
Термин "закладка" уже давно не является сленгом, он даже внесен в государственные стандарты Российской Федерации (ГОСТ Р 51275-99) техническим комитетом по стандартизации (раздел "Защита информации"). Речь там идет о различных несанкционированных способах доступа к защищаемой информации, в том числе и об использовании закладок.
Алгоритмические закладки - это преднамеренное скрытое искажение части алгоритма программы, в результате которого возможно появление функций, не предусмотренных инструкцией. Программные закладки вносятся непосредственно в цифровой код. А вот аппаратные представляют собой электронные микросхемы, скрытно внедряемые в элементы атакуемой информационной системы.
Здесь существует два пути. Можно добавлять в микросхему дополнительные логические цепи, а можно изменить работу уже имеющихся в схеме микротранзисторов. Если первый вариант еще возможно, хоть и с очень большим трудом, найти при микроскопии или применив специализированный метод поиска подобных модификаций, то второй способ размещения аппаратных закладок недоступен для обнаружения вообще.
Самые примитивные варианты аппаратных закладок знакомы почти всем - это клавиатурные шпионы, или кейлоггеры (англ. keylogger) - микроустройства, регистрирующие различные действия пользователя: нажатия клавиш на клавиатуре компьютера, нажатия клавиш мыши и движения ею. Они могут располагаться в самой клавиатуре, в системном блоке, подключаться между клавиатурой и компьютером, быть замаскированными под переходники.
Другой известный широкой публике вариант аппаратной закладки - так называемая "ливанская петля" - прием, с помощью которого блокируется банковская карта, после того как ее вставляют в банкомат. Владелец банковской карты пытается ее вытащить, но это оказывается невозможным. Однако как только он отходит от банкомата, злоумышленник может эту карту забрать.
По сравнению с этими грубыми вариантами аппаратных закладок современные технологии позволяют разместить нужную логическую схему на этапе проектирования, спрятав ее внутри миллиардов микротранзисторов. Пока их количество изменялось сотнями и тысячами, еще можно было обнаружить тот кусочек логики, который предназначен для описания действий, не обозначенных в программе. Когда транзисторов миллиард - закладку обнаружить просто невозможно.
Большинство стран, работающих со сложной техникой, привыкли составлять интегральные микросхемы для своих устройств из IP-блоков (intellectual property - интеллектуальная собственность разработчика), купленных за рубежом. Это похоже на конструктор Lego. Каждый специализированный IP-блок отвечает за свой "отрезок работы". Есть, например, IP-блок, обеспечивающий взаимодействие с USB. Если вы не включите этот блок в свое устройство, ваш прибор подключаться к USB не будет.
Разработка отечественных IP-блоков - дело чрезвычайно дорогое, за одну лицензию на средство проектирования придется заплатить 100 000 долларов в месяц, кроме того, сама разработка займет год-полтора. Поэтому даже в отечественных процессорах, например Baikal-T1 (основа систем управления станками), используются готовые IP-блоки зарубежного производства, с потенциальной возможностью внедрения аппаратных закладок. В отечественных банковских картах "Мир" также используются зарубежные IP-блоки, несмотря на настойчивые предложения российских производителей микроэлектроники создать банковскую карту "с нуля". Что же это за национальная платежная система, если существует гипотетическая возможность, что где-то в Корее нажмут кнопку, и все сгорит?
Комментирует директор по коммуникациями связям с органами государственной власти АО "НИИ молекулярной электроники" (НИИМЭ) Алексей Дианов: "Мы считаем, что в стратегических отраслях российской экономики должна использоваться только отечественная элементная база, потому что это единственная гарантия отсутствия вредоносных закладок. А поскольку у нас сейчас жизнь вся цифровая, то эти закладки могут быть везде. Пока мы не добьемся, чтобы в системах телекоммуникаций, финансов, транспорта стояла бы российская микроэлектроника и желательно российского производства - мы потенциально уязвимы. То, что мы используем, мы используем, надеясь на то, что либо там ничего постороннего не записано, либо это не пустят в ход. Согласитесь, это очень слабый аргумент, чтобы чувствовать себя защищенным".