SPUTNIK
24.01.2022, 21:38
В современном мире процессоров уже никого не удивляет нахождение очередной уязвимости, а иногда тропинкой для злоумышленника становятся технологии, изначально призванные повысить уровень безопасности. Ряд исследователей небезосновательно считает, что «заплатками» отделаться не получится и надо менять (https://3dnews.ru/640421) глубинные принципы, лежащие в основе процессорных архитектур.
Один из таких проектов, развиваемый с 2010 года усилиями SRI International и Кембриджского университета — это CHERI (https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/). В 2019 к нему присоединилась Arm, недавно представившая первый прототип платы с процессором Morello, который базируется на двух ключевых принципах, заложенных в CHERI — масштабируемая компартментализация и тонко настраиваемая защита содержимого памяти. Оба принципа реализованы аппаратно и сами по себе не новы.
https://3dnews.ru/assets/external/illustrations/2022/01/24/1058617/morello1.png
Изображения: Arm
По сути речь идёт о расширении стандартного набора инструкций, с помощью которого даже написанное с использованием языков, позволяющих относительно легко сделать ошибки при работе с памятью (а это обычно C/C++), ПО можно заставить работать без образования серьёзных дыр в защите. Тщательная компартментализация (т.е. разделение) кода ОС и приложений хотя и не исключает наличие уязвимостей, но серьёзно ограничивает область возможного нанесения вреда.
https://3dnews.ru/assets/external/illustrations/2022/01/24/1058617/compartment.png
В частности, любая инструкция типа load/store и любая операция выборки должны быть авторизованы на аппаратном уровне со стороны процессора. Разумеется, это не высокоуровневая защита, а скорее набор базовых блоков для построения таковой. Принцип компартментализации ещё проще: если в классической архитектуре взломщик может получить контроль над всей системой, то в изолированных друг от друга ОС и приложениях, он лишь проникнет в одну из множества небольших «ячекк», а его действия послужат сигналом для защитных механизмов.
https://3dnews.ru/assets/external/illustrations/2022/01/24/1058617/sm.morello-arch.800.png
Блок-схема Arm Morello
Arm Morello (https://www.arm.com/architecture/cpu/morello) — первый чип на базе CHERI. Текущая аппаратная реализация (https://www.arm.com/blogs/blueprint/morello) использует модифицированные ядра Neoverse N1 (https://servernews.ru/983268) (ARMv8.2) с частотой 2,5 ГГц. Первые платы с новым процессором предназначены таким IT-гигантам как Google и Microsoft, а также заинтересованным партнёрам образовательным учреждениям. На текущий момент разработчики предлагают (https://www.lightbluetouchpaper.org/2022/01/20/arm-releases-experimental-cheri-enabled-morello-board-as-part-of-187m-ukri-digital-security-by-design-programme/) модифицированное ядро FreeBSD, часть стандартных UNIX-программ, а также некоторые другие приложения. С появлением готовых плат и процессоров процесс адаптации ПО должен значительно ускориться.
Источник https://servernews.ru/1058617
Один из таких проектов, развиваемый с 2010 года усилиями SRI International и Кембриджского университета — это CHERI (https://www.cl.cam.ac.uk/research/security/ctsrd/cheri/). В 2019 к нему присоединилась Arm, недавно представившая первый прототип платы с процессором Morello, который базируется на двух ключевых принципах, заложенных в CHERI — масштабируемая компартментализация и тонко настраиваемая защита содержимого памяти. Оба принципа реализованы аппаратно и сами по себе не новы.
https://3dnews.ru/assets/external/illustrations/2022/01/24/1058617/morello1.png
Изображения: Arm
По сути речь идёт о расширении стандартного набора инструкций, с помощью которого даже написанное с использованием языков, позволяющих относительно легко сделать ошибки при работе с памятью (а это обычно C/C++), ПО можно заставить работать без образования серьёзных дыр в защите. Тщательная компартментализация (т.е. разделение) кода ОС и приложений хотя и не исключает наличие уязвимостей, но серьёзно ограничивает область возможного нанесения вреда.
https://3dnews.ru/assets/external/illustrations/2022/01/24/1058617/compartment.png
В частности, любая инструкция типа load/store и любая операция выборки должны быть авторизованы на аппаратном уровне со стороны процессора. Разумеется, это не высокоуровневая защита, а скорее набор базовых блоков для построения таковой. Принцип компартментализации ещё проще: если в классической архитектуре взломщик может получить контроль над всей системой, то в изолированных друг от друга ОС и приложениях, он лишь проникнет в одну из множества небольших «ячекк», а его действия послужат сигналом для защитных механизмов.
https://3dnews.ru/assets/external/illustrations/2022/01/24/1058617/sm.morello-arch.800.png
Блок-схема Arm Morello
Arm Morello (https://www.arm.com/architecture/cpu/morello) — первый чип на базе CHERI. Текущая аппаратная реализация (https://www.arm.com/blogs/blueprint/morello) использует модифицированные ядра Neoverse N1 (https://servernews.ru/983268) (ARMv8.2) с частотой 2,5 ГГц. Первые платы с новым процессором предназначены таким IT-гигантам как Google и Microsoft, а также заинтересованным партнёрам образовательным учреждениям. На текущий момент разработчики предлагают (https://www.lightbluetouchpaper.org/2022/01/20/arm-releases-experimental-cheri-enabled-morello-board-as-part-of-187m-ukri-digital-security-by-design-programme/) модифицированное ядро FreeBSD, часть стандартных UNIX-программ, а также некоторые другие приложения. С появлением готовых плат и процессоров процесс адаптации ПО должен значительно ускориться.
Источник https://servernews.ru/1058617