Хотя действие закона Мура имеет свой предел, непрерывный марш процессоров, содержащих все больше транзисторов на кристалле, продолжается, а это означает и постоянное усложнение проектирования новых контроллеров устройств и процессоров.
Как следствие, в топологию кристаллов могут вкрасться ошибки. Но более тревожным, по мнению ученых, является то, что по ходу разработки и производственного цикла с помощью вредоносного агента в них может быть внедрена функциональность «троянского коня».
Создание «кода-убийцы» или добавление в топологию процессора функционала для скрытого наблюдения может показаться надуманным сценарием хорошего современного триллера. Но, по мнению профессора департамента компьютерных наук и инжиниринга Калифорнийского университета (г. Сан-Диего) Райана Кастнера, такая возможность существует.
Поскольку проектированием аппаратной части часто занимаются команды специалистов из разных частей света, риск взлома проектной цепочки вполне реален, заявил Кастнер.
«Проекты стали сверхсложными. И даже если они таковыми не являются, нелегко выявить потенциальные проблемы, связанные с выбором технических решений, даже если чип целиком разрабатывает одна группа», — сказал он.
Академические исследователи сосредоточили большие усилия на поиске способов выявления аппаратных «троянских коней» — устройств, чипов или модификаций компонентов оборудования, позволяющих атакующему получить доступ к устройству.
Кастнер вместе с исследователями из Северо-Западного политехнического университета и компании-стартапа Tortuga Logic, напротив, сконцентрировались на этапе проектирования чипов, создавая способы проверки их топологии с целью выявления неожиданной функциональности. Специальная методика, известная как отслеживание потока информации на уровне вентилей (gate-level information-flow tracking, GLIFT), позволяет обнаруживать аномалии в проекте, которые могут быть следствием ошибки инженеров или намеренных действий злоумышленника.
Современные процессоры содержат миллионы, а часто миллиарды транзисторов. Например, процессор A8, который является основным для Apple iPhone 6, включает 2 млрд. транзисторов; система на кристалле для Xbox One содержит 5 млрд. транзисторов;
Трудно убедиться, что в топологии этих чипов, а также периферийных компонентов, таких как процессоры сетевых функций и шифрования, нет встроенных «троянских коней».
«Современный чип описывается тысячами „строк кода“, которые превращаются в направляемую на завод спецификацию, — рассказал Кастнер. — В этом коде могут скрываться троянцы. А поскольку значительную часть кода мы используем повторно, любые вредоносные изменения могут распространяться по разным проектам».
Разработанная исследователями техника выявления потенциально вредоносных изменений позволяет отслеживать потоки информации, чтобы идентифицировать ее фрагменты (например, ключ шифрования или номер кредитной карты) и посмотреть, куда они могут перемещаться в процессоре в соответствии с его топологией.
На основе такого анализа проектировщик может оценить безопасность чипа. Например, могут ли конкретные данные быть сохранены в незащищенной части чипа или передаваться в ту его часть, которая разработана не пользующейся доверием группой.
«Если какое-то свойство оказывается нарушенным, то вы узнаете об этом, — сказал Кастнер. — Это может быть следствием ошибки, но может быть и результатом вредоносных действий».
В настоящее время Tortuga Logic применяет технологию GLIFT для обнаружения ошибок в проектах чипов своих клиентов.