Группа ученых из Рурского университета в Бохуме и Общества научных исследований имени Макса Планка обнаружила уязвимость, затрагивающую чипы FPGA (Field Programmable Gate Arrays, Программируемая пользователем вентильная матрица) от американской компании Xilinx. Эти решения широко применяются в центрах обработки данных, IoT-устройствах, промышленном и медицинском оборудовании, и так далее.
«В наши дни чипы FPGA можно найти во многих критически важных приложениях, от облачных дата-центров и базовых станций мобильных телефонов, до зашифрованных USB-накопителей и АСУ ТП. Их решающее преимущество заключается в перепрограммируемости, в отличие от обычных аппаратных чипов с фиксированными функциями», — объясняют исследователи.
Упомянутая специалистами «перепрограммируемость» приводит к тому, что пользователи могут создавать и загружать свои собственные конфигурации (наборы операций) для FPGA. Такая конфигурация называется bitstream (битовый поток). Обычно она хранится и загружается в зашифрованном виде с внешнего носителя, такого как память SRAM или из прошивки внешнего микроконтроллера.
Уязвимость, получившая название Startbleed, позволяет злоумышленнику (как с удаленным, так и с физическим доступом) извлечь, расшифровать и изменить битовый поток FGPA, то есть, по сути, перепрограммировать чип, оснастив его произвольным вредоносным кодом.
Перед проблемой уязвимы FPGA Xilinx 7-ой серии (семейства Spartan, Artix, Kintex и Virtex) и 6-ой серии (Virtex). Новое поколение плат Xilinx UltraScale уязвимости уже не подвержено.
Исследователи пишут, что для выполнения атаки Starbleed потребуется физический доступ к порту JTAG FPGA, но в то же время отмечается, что если битовый поток загружается из микроконтроллера или иного сетевого источника, атаку в итоге можно провести и удаленно.
К сожалению, эксперты пришли к выводу, что исправить обнаруженные проблемы без полной переработки и замены FPGA не получится. Компанию Xilinx еще в прошлом году уведомили об уязвимости, и разработчики согласились предупредить своих клиентов об опасности.
В компании признают, что проблема Startbleed реальна, впрочем, представители Xilinx подчеркивают, что в большинстве сценариев атаки злоумышленник должен «иметь близкий физический доступ к системе». По мнению производителя, это означает, что клиентам достаточно позаботиться о том, чтобы у хакера не было физического доступа к компонентам FPGA, а также портам отладки и конфигурации.