Исследователи Массачусетского технологического института обнаружили, что компонент компьютерных процессоров, соединяющий разные части чипа, может использоваться злоумышленниками, стремящимися украсть секретную информацию из программ, запущенных на компьютере.
Современные компьютерные процессоры содержат множество вычислительных блоков, называемых ядрами, которые совместно используют одни и те же аппаратные ресурсы. Межблочное соединение на кристалле — это компонент, который позволяет этим ядрам взаимодействовать друг с другом. Но когда программы на нескольких ядрах работают одновременно, есть шанс, что они могут задерживать друг друга, когда они используют межсоединение для одновременной отправки данных через чип.
Отслеживая и измеряя эти задержки, злоумышленник может провести так называемую «атаку по сторонним каналам» и восстановить секретную информацию, хранящуюся в программе, такую как криптографический ключ или пароль.
Исследователи из Массачусетского технологического института перепроектировали межсоединение на кристалле, чтобы изучить, как такая атака возможна. Основываясь на своих открытиях, они построили аналитическую модель того, как трафик проходит между ядрами процессора, которую они использовали для разработки и запуска удивительно эффективных атак по сторонним каналам. Затем они разработали две стратегии смягчения последствий, которые позволяют пользователю повысить безопасность без внесения каких -либо физических изменений в компьютерный чип.
«Многие текущие средства защиты по побочным каналам являются специальными — мы видим здесь небольшую утечку и исправляем ее. Мы надеемся, что наш подход с этой аналитической моделью подталкивает к более систематическим и надежным средствам защиты, которые одновременно устраняют целые классы атак. », — говорит соавтор Майлз Дай, MEng 21.
Дай написал статью вместе с соавтором Риккардо Пакканеллой, аспирантом Иллинойского университета в Урбана-Шампейн; Мигель Гомес-Гарсия ’22; Джон Маккалпин, научный сотрудник Техасского центра передовых вычислений; и старший автор Мэнцзя Ян, доцент Гомера А. Бернелла по развитию карьеры в области электротехники и информатики (EECS) и член Лаборатории компьютерных наук и искусственного интеллекта (CSAIL). Исследование будет представлено на конференции по безопасности USENIX.
Зондирующие процессоры
Современный процессор подобен двумерной сетке с несколькими ядрами, расположенными рядами и столбцами. Каждое ядро имеет свой собственный кеш, в котором хранятся данные, а также есть больший кеш, общий для всего процессора. Когда программе, расположенной на одном ядре, требуется доступ к данным в кеше, который находится на другом ядре, или в общем кеше, она должна использовать внутреннее соединение для отправки этого запроса и извлечения данных.
Хотя это большой компонент процессора, межсоединение на кристалле остается недостаточно изученным, потому что его трудно атаковать, объясняет Дай. Хакеру необходимо начать атаку, когда трафик от двух ядер на самом деле мешает друг другу, но, поскольку трафик проводит так мало времени в интерконнекте, трудно правильно рассчитать время для атаки. Межсоединение также сложное, и между ядрами может проходить трафик по нескольким путям.
Чтобы изучить, как проходит трафик по интерконнекту, исследователи Массачусетского технологического института создали программы, которые преднамеренно обращаются к кешам памяти, расположенным за пределами их локальных ядер.
«Испытывая разные ситуации, пробуя разные варианты размещения и меняя местами эти программы на процессоре, мы можем понять, какие правила стоят за потоками трафика в интерконнекте», — говорит Дай.
Они обнаружили, что интерконнект похож на шоссе с несколькими полосами движения, идущими в каждом направлении. Когда два потока трафика сталкиваются, межсоединение использует политику арбитража приоритетов, чтобы решить, какой поток трафика будет идти первым. Более «важные» запросы имеют приоритет, например, от программ, критически важных для работы компьютера.
Используя эту информацию, исследователи построили аналитическую модель процессора , которая резюмирует, как трафик может проходить по интерконнекту. Модель показывает, какие ядра будут наиболее уязвимы для атаки по сторонним каналам. Ядро было бы более уязвимым, если бы к нему можно было получить доступ через множество различных линий. Злоумышленник может использовать эту информацию, чтобы выбрать лучшее ядро для мониторинга, чтобы украсть информацию из программы-жертвы.
«Если злоумышленник понимает, как работает межсоединение, он может настроить себя таким образом, чтобы выполнение некоторого конфиденциального кода можно было наблюдать через межсоединение. Затем они могут по крупицам извлекать некоторую секретную информацию , например криптографический ключ», — объясняет Пакканелла . .
Эффективные атаки
Когда исследователи использовали эту модель для запуска атак по сторонним каналам, они были удивлены тем, насколько быстро эти атаки сработали. Им удалось восстановить полные криптографические ключи от двух разных программ-жертв.
Изучив эти атаки, они использовали свою аналитическую модель для разработки двух механизмов смягчения последствий.
В первой стратегии системный администратор будет использовать модель, чтобы определить, какие ядра наиболее уязвимы для атак, а затем запланировать запуск конфиденциального программного обеспечения на менее уязвимых ядрах. Для второй стратегии смягчения последствий администратор может зарезервировать ядра, расположенные вокруг уязвимой программы, и запускать на этих ядрах только доверенное программное обеспечение.
Исследователи обнаружили, что обе стратегии смягчения могут значительно снизить точность атак по сторонним каналам. По словам Дая, ни один из них не требует от пользователя внесения каких-либо изменений в физическое оборудование, поэтому меры по смягчению последствий будет относительно легко реализовать.
В конечном счете, они надеются, что их работа вдохновит больше исследователей на изучение безопасности межсоединений на кристалле, говорит Пакканелла.
«Мы надеемся, что эта работа показывает, что внутреннее соединение на кристалле, которое является таким крупным компонентом компьютерных процессоров, остается упускаемой из виду поверхностью атаки. В будущем, когда мы будем создавать системы с более сильными свойствами изоляции, мы не должны игнорировать межсоединение, » он добавляет.
Теги: микроэлектроника, процессор, связь, хакеры