Как создаются и чем опасны вирусы для микросхем
Мы давно привыкли к тому, что практически любое программное обеспечение может быть заражено — и, по определению, не гарантирует полной безопасности. Однако теперь уже бьют тревогу инженеры, занимающиеся аппаратной частью.
Они обрисовывают сценарий новой опасности. В то время как в процессор интегрируется все больше полезных функций, постоянной частью вычислительной системы может стать дистанционно управляемый троян. Это предупреждение нельзя считать безосновательным хотя бы потому, что в мире все чаще появляются флеш-накопители с интерфейсом USB, заражаемые вредоносными программами уже в момент производства.
«В обороте уже есть зараженные чипы, которые только и ждут команды на активацию»
— профессор Джон Вилласеньор
Профессор Джон Вилласеньор из Калифорнийского университета в Лос-Анджелесе полагает, что в обороте уже есть зараженные процессорные чипы, которые только и ждут команды на активацию. В простейшем случае они могут заблокировать функциональные возможности ПК или мобильных телефонов. Однако самый вероятный, по мнению Вилласеньора, сценарий — это незаметный шпионаж на системном уровне, например, отправка копий электронных писем или данных кредитных карт на некие секретные серверы.
Потеря контроля
«При нынешних методах разработки чипов существует чисто статистическая вероятность неконтролируемого дизайна», — такова гипотеза Вилласеньора.
Он ссылается на тот факт, что в разработке дизайна одного чипа сегодня заняты сотни предприятий, разбросанных по всей планете. Всего в мире существует около 1550 таких фирм, каждая из которых специализируется на определенных функциональных блоках для процессоров. Эти компании ежегодно разрабатывают тысячи CPU.
«Положение, сложившееся в области дизайна чипов, напоминает то, что происходило 15 лет назад с разработками для Интернета. Тогда отношения строились на обоюдном доверии, и нельзя было представить себе, чтобы во всем этом участвовали люди с недобрыми намерениями. Однако чем шире становится круг участников, тем выше вероятность того, что в него могут внедриться мошенники», — говорит профессор о современной ситуации в области разработки полупроводниковых микросхем, сложившейся в мире.
Сегодняшняя схема дизайна процессоров обычно выглядит так: фирма-заказчик, осуществляющая общее производство, интегрирует в свой продукт отдельные блоки, разрабатываемые многочисленными смежными предприятиями. Именно здесь Вилласеньор видит главное уязвимое место. Если кто-то захочет внедрить в чип троян, он может осуществить свой злой умысел фактически на любой стадии разработки и производства — от построения логической схемы до изготовления на заводе.
При современной сложности отдельных блоков ни одно предприятие не в состоянии проверить все теоретически возможные сценарии их использования, поэтому обычно тестируют лишь основные функциональные возможности, а также типичные варианты ошибок. Однако никто не знает, как будет реагировать тот или иной блок, если он получит некий незапланированный входной сигнал
— предупреждает профессор Вилласеньор
Если внедриться в производственную фирму не удалось, то всегда остается возможность модификации уже готовых чипов. Правда, для этого потребуется весьма дорогостоящее оборудование — установка для ионного травления (ФИП, фокусируемый ионный пучок) стоимостью несколько миллионов долларов. Подобно микрохирургу, проводящему сверхточные операции под мощным микроскопом с использованием специальных инструментов, оператор установки для ионного травления с помощью сфокусированного пучка ионов изменяет связи между отдельными логическими элементами чипа.
Зараженные процессоры могут использоваться и как оружие, считает Сергей Скоробогатов, выпускник МИФИ и сотрудник группы по безопасности в компьютерной лаборатории Кембриджского университета, недавно обнаруживший бэкдор в китайском чипе PROAsic 3. Данная микросхема широко используется в объектах инфраструктуры, атомных станциях и даже системах вооружения. Последствия подобной атаки могут иметь самые разрушительные последствия.
Трояны внутри военных чипов?
В сентябре 2007 года Израиль атаковал подозрительный ядерный объект, расположенный на территории Сирии. Незадолго до начала налета израильской авиации суперсовременные радары сирийской армии, которые использовались в системе ПВО, вышли из строя. После этого случая эксперты по компьютерной безопасности забили тревогу: по их мнению, причиной такого неожиданного отказа техники стал бэкдор, заложенный в чипы радаров еще на этапе производства.
В Пентагоне к подобной возможности относятся очень серьезно и опасаются, что существующие системы вооружений уже заражены и в один прекрасный день могут быть дистанционно деактивированы. Ради гарантий, по меньшей мере, на будущее, министерство требует, чтобы поставщики компьютерных систем предоставляли точные данные компаний, участвующих в разработке процессоров, и их персонала. Выполнять такие работы имеют право только лица с соответствующим американским секретным допуском, — независимо от того, в какой стране мира они находятся.
Вилласеньор оценивает это решение как половинчатое. «У любого контроля, осуществляемого человеком, есть свои слабые места, особенно, если он производится вне соответствующей компетенции», — говорит он о мерах, предпринимаемых военными. Кроме того, потенциальным хакерам было бы выгоднее заражать чипы серверов или компьютеров частных предприятий, ведь такие действия могут принести большие деньги.
Кроме того, протестировать микросхему на наличие в ней всех незадокументированных разработчиком функций невозможно ввиду высокой сложности современных кремниевых чипов. Ведь даже на этапе проверки специфичных функций систем на чипе, в которые, помимо вычислительных ядер, встроены различные контроллеры, память и другие элементы, практически невозможно исследовать все 100% площади поверхности процессора.
Поэтому Вилласеньор призывает крупные концерны, производящие CPU, изменить дизайн своих продуктов. «Чипы должны иметь встроенный компонент, отвечающий за безопасность. Его задача — следить за тем, чтобы на уровне отдельных блоков не было нежелательного поведения».
6 шагов к спасению
Для защиты от железных троянов, по мнению профессора Джона Вилласеньора, необходимо реализовать в чипе шесть функций:
- Контроль памяти Каждому блоку чипа назначается одна, строго определенная рабочая область памяти. Любая попытка обратиться к другой области отклоняется.
- Контроль шины предотвращает блокировку шины микросхемы со стороны зараженного блока. Это позволит сохранить функциональные возможности всей системы в целом.
- Мониторинг ввода/вывода уберегает от кражи данных, задавая каждому блоку определенное поведение для операций ввода/вывода и не допуская никаких отклонений.
- Самотестирование функциональных блоков Чип самостоятельно проводит регулярную проверку отдельных блоков, из которых он состоит, на предмет правильности их поведения. При любых аномалиях блок запирается.
- Самопрограммирующаяся аппаратная логика обеспечивает замену функционального минимума зараженного и запертого блока, чтобы отключение инфицированных частей процессора не привело к отказу всей системы.
- Предупреждение в случае атаки Блок, подвергшийся атаке, посылает предупреждения остальным блокам, а они реагируют строго определенным образом — отправляют поврежденный блок в карантин.
Быстродействие как основа безопасности
Вилласеньор считает, что дополнительная вычислительная нагрузка, необходимая для реализации в процессоре шести предложенных им функций, повышающих безопасность, не представляет для актуальных чипов серьезной проблемы. «Современные чипы имеют очень высокую производительность, которая почти никогда не используется на пределе возможного», — такова его оценка сложившейся ситуации.
Вместо того, чтобы внедрять в микросхему дополнительные полупроводниковые элементы, мы изменили работу имеющихся в чипе транзисторов и тем самым изготовили наш аппаратный троян. После ряда экспериментов нам удалось выборочно изменить полярность допанта и повлиять на работу криптографического блока процессора нужным нам образом. Созданные по нашей методике аппаратные закладки невозможно выявить большинством методов, включая сканирующую микроскопию и сравнение с эталонными чипами.
— Георг Беккер, аспирант Массачусетского университета в Амхерсте, США
Крупные производители микросхем воздерживаются от комментариев по поводу опасений Вилласеньора. Например, Джордж Алфс, советник по связям с общественностью компании Intel, пока единственный, кто до сих пор вообще хоть что-нибудь сказал: «Мы относимся к этой проблеме с полной серьезностью и предпринимаем все возможное, чтобы полностью исключить практические риски». Однако он не пояснил, какие конкретные мероприятия имеются в виду.
Некоторые эксперты по безопасности тоже задумываются о вероятности подобных заражений. «Я считаю, что нынешним чипам ничто не угрожает, так как все фирмы, занимающиеся дизайном, находятся в странах, куда не проникли террористы», — таково мнение профессора Техасского университета Карла Стефана. Сказанное, однако, относится лишь к угрозам в адрес военных систем, а не к главному тезису, высказанному Вилласеньором: вероятнее всего то, что хакеры могут внедрить трояны в процессоры бытовых компьютеров и гаджетов по экономическим мотивам, — если только они уже этого не сделали.
Невидимые железные трояны
Группа исследователей из США, Германии, Швейцарии и Нидерландов, в которую входит Георг Беккер, разработала скрытный метод внедрения троянов в полупроводниковые микросхемы. Созданные по данной методике уязвимости нельзя выявить ни с помощью деструктивного тестирования, ни путем сравнения с эталонным чипом и других аналогичных методик. Для заражения не нужно встраивать в микросхему какие-либо дополнительные транзисторы или дорожки, поэтому сторонний наблюдатель не сможет отличить зараженный чип от здорового.
Суть этого способа заключается в изменении полярности допанта (добавки, повышающей удельную электрическую проводимость материала) на определенных участках транзистора в ходе производства чипа.
В качестве примера практического применения своей системы исследователи называют возможность модификации блоков генерации псевдослучайных чисел (ГПСЧ) процессора Intel Ivy Bridge, чтобы существенно повысить вероятность угадывания сгенерированных им чисел и взлома шифра. Подобный блок в данном процессоре порождает 128-разрядные псевдослучайные числа на основе неизвестных злоумышленнику 128-разрядного числа и 128-разрядного ключа, используя алгоритм шифрования AES. Если некоторое количество его регистров, в которых хранится 128-разрядное число, а также все регистры с ключом изменить таким образом, чтобы в них постоянно хранилась константа, то вероятность угадывания сгенерированного блоком ГПСЧ числа (а значит, и взлома шифра) возрастет с 1/2128 до 1/2m, где m — количество оставленных без изменения регистров с числом. Выявить сбой в работе блока ГПСЧ модифицированного процессора даже при m=32 будет практически невозможно, ведь он успешно пройдет все тесты.
Зарубежные исследователи разработали скрытный аппаратный троян и на примере процессора Intel Core третьего поколения объяснили, как с его помощью модифицировать блок генерации псевдослучайных чисел для уменьшения криптостойкости.
Как вычислить железного трояна
Способы обнаружения аппаратных троянов делятся на две группы: предпроизводственные и постпроизводственные.
В первом случае задачей инженеров является нахождение подозрительных блоков в логической структуре чипа, которые могли появиться в нем по вине недобросовестных сотрудников или сторонних компаний, привлеченных к разработке микросхемы. Выявить внедренные на этапе производства трояны можно также методами второй группы.
Хотя эта тактика с высокой степенью вероятности позволяет выявить лишние транзисторы и дорожки, она очень трудоемка. Кроме того, проверить всю партию микросхем деструктивным методом невозможно, поскольку в его процессе чип полностью разрушается.
Альтернатива деструктивному тестированию — это метод сканирования микросхемы рентгеновскими лучами, который позволяет добиться аналогичного эффекта без разрушения кристалла.
Также практикуется способ сравнения результатов работы испытуемой микросхемы с теми, что выдает так называемый «золотой» чип (идеальный образец), трояны в котором заведомо отсутствуют.
Существуют и менее затратные методики — например, фаззинг (fuzz testing). Ввиду того что современные микросхемы имеют очень сложную структуру, их разработчики зачастую пользуются стандартными блоками, среди которых — отладчик JTAG. Он необходим для того, чтобы считывать отладочную информацию с «ног» чипа, не вставляя его в разъем. Путем посылки нестандартных запросов можно вычислить некоторые созданные или измененные со злым умыслом блоки тестируемой микросхемы.
Подобная методика помогла Сергею Скоробогатову, сотруднику отдела безопасности в компьютерной лаборатории Кембриджского университета, вычислить бэкдор в китайском чипе PROAsic 3 компании Microsemi.
После сканирования по методике, разработанной учеными университета совместно с Quo Vadis Labs, в микросхеме была выявлена опасная уязвимость, которая позволяла отключать криптографическую защиту, менять ключ шифрования AES, получать доступ к незашифрованному потоку данных или даже вовсе вывести чип из строя. Исследователям удалось извлечь секретный ключ, который активировал бэкдор.
Фото: компании-производители, DragonImages/Fotolia.com, NASA, Accretion Disc/Flickr.com