Кто такие эти ваши «Root-of-Trust» и с чем их есть?
В нашем мире всё больше устройств подключено к интернету: от смартфонов до холодильников. И чтобы гарантировать, что эти устройства работают безопасно, специалисты используют так называемый «корень доверия» или «Root-of-Trust», сокращённо «RoT».
Но что же вообще такое этот «корень доверия»? Представьте, что у вас есть сейф, ключ от которого вы доверяете только одному человеку. Этот человек – ваш «корень доверия». В электронном мире «корень доверия» – это основной блок безопасности, который гарантирует, что то или иное устройство запускается и работает правильно, а его компоненты и операционная система защищены от третьих лиц.
Корень доверия может быть реализован как программно, так и аппаратно, причём в последнем случае он представляет из себя отдельный чип, который встроен, например, в смартфон, автомобиль или даже банковскую карту. Он следит за тем, чтобы всё в устройстве работало как положено, без незапланированных изменений.
В идеале аппаратный RoT должен быть размещён в отдельном защищённом от несанкционированного доступа чипе. Такие решения называют «кремниевый корень доверия» или «Silicon RoT» (сокращённо «S-RoT»). И они могут помочь защитить устройство от буткитов, руткитов и атак на прошивку.
«Без безопасного места загрузки и надлежащей проверки того, что все аппаратные вызовы действительно предоставляют корректные данные, все последующие операции могут быть скомпрометированы таким образом, что это будет незаметно для чего-либо внутри операционной системы», — объясняет Дункан Миллер, директор по безопасности конечных точек компании Tanium.
OpenTitan, о котором и пойдёт речь в этой статье, можно охарактеризовать как безопасный микроконтроллер с криптографической подписью, устойчивый к несанкционированному вмешательству.
«Он работает независимо от операционной системы и предоставляет ей определённые гарантии безопасности. Например, гарантирует, что нижние уровни операционной системы и драйверов не были скомпрометированы», — объясняет Гэвин Феррис, один из основателей проекта LowRISC, образованного в 2014 году при компьютерной лаборатории Кембриджского университета.
OpenTitan S-RoT достиг статуса заморозки уровня передачи регистров (RTL) в июне 2023 года. Это означает, что логическая конструкция чипа уже полностью проверена и отлажена, что является важной вехой в разработке подобных устройств.
LowRISC разрабатывает OpenTitan как S-RoT с открытым исходным кодом. «Ценность открытого исходного кода очевидна: он даёт возможности для обмена основополагающей интеллектуальной собственностью и предоставления компаниям возможности быстро создавать безопасные продукты», — считает Феррис.
Кроме того, у S-RoT с открытым исходным кодом есть два основных преимущества: прозрачность и доступность. Когда первые RoT на уровне чипа были только представлены (первым был PTT от Intel в 2008 году), у людей существовало скрытое беспокойство по поводу того, что использование устройства теперь контролируется Intel. Если RoT проверяет загрузочную прошивку и подлинность операционной системы, он может предотвратить запуск всего, что не одобрено разработчиком этого RoT.
«Такие устройства используются для защиты вашей пищевой цепи», — комментирует Феррис. «Они используются для хранения таких вещей, как секреты доступа к сети, независимо от операционной системы. С одной стороны, это хорошо, однако кто тогда контролирует то, чему вы доверяете?»
С годами преимущества этой RoT в области кибербезопасности явно победили недоверие, возникающее из-за отсутствия прозрачности в отношении проприетарных продуктов. Однако S-RoT с открытым исходным кодом обеспечивает как безопасность, так и прозрачность, что развеивает оставшийся скепсис.
«У OpenTitan есть три основных принципа, — сказал Феррис: — гибкость, качество и прозрачность. И прозрачность имеет основополагающее значение. Разработчики создают собственные операции RoT для своих продуктов и закрепляют все свойства доверия в микросхеме под операционной системой. Чтобы получить широкую поддержку OpenTitan, нам нужен тот уровень прозрачности, который только возможен в условиях открытого исходного кода».
В то время как S-Rot обеспечивает доверие к работе устройства, прозрачность обеспечивает доверие к S-RoT.
Возможно, наиболее перспективное применение OpenTitan в настоящее время находится в сфере Интернета вещей (Internet of Things, IoT) и «его более страшного родственника» — операционных технологий (Operational Technology, OT).
«В OT вы размещаете различные клапаны, приводы и датчики, которые теперь подключены к сети. Это огромная и растущая поверхность атаки — самое большое нарушение безопасности в истории», — считает Феррис.
«Безопасность устройств, особенно безопасность Интернета вещей, требует знания того, что устройство соответствует его характеристикам», — добавляет Джон Галлахер, вице-президент Viakoo Labs.
«Многие организации развёртывают сертификаты 802.1x на устройствах, чтобы внедрить необходимое доверие программным способом. OpenTitan и другие аппаратные подходы набирают обороты, поскольку они позволяют обеспечить безопасность устройства на уровне набора микросхем, а не использовать программные подходы на последующих этапах цепочки поставок».
«S-RoT особенно подходит для устройств Интернета вещей, — соглашается Барт Стивенс, старший директор по маркетингу продуктов Rambus, — многим устройствам Интернета вещей до сих пор не хватает корня доверия. В то время как программируемые решения RoT строятся на базе ЦП, решения RoT на основе кремния с фиксированными функциями обычно достаточно компактны и особенно хорошо подходят для встроенных устройств IoT».
«OpenTitan — это автономный чип с низким энергопотреблением. Он может вписаться в модуль Интернета вещей без ущерба для дизайна», — поясняет Феррис.
«Вы можете взять существующую систему на кристалле и поместить OpenTitan в угол, чтобы он находился внутри существующего дизайна. Чип занимает немного больше кремниевой площади, но всё ещё интегрирован и не требует дополнительного чипа на плате. Это важно, когда вы разрабатываете решения с низким энергопотреблением».
S-RoT предназначен для обеспечения безопасности тех частей устройства, которые могут быть атакованы третьей стороной. Однако остаётся вопрос: можно ли атаковать сам S-RoT? К сожалению, ответ положительный — любой RoT может стать мишенью злоумышленников.
Чтобы RoT получился максимально безопасным, он должен включать в себя такие возможности, как:
Такой функционал обеспечивает безопасность устройства и снижает вероятность любой компрометации.
«Любые системы могут быть атакованы», — соглашается Феррис, — но мы потратили пять лет на разработку OpenTitan и включили все знания и опыт наших партнёров, включая Google. Само название является отсылкой к линейке RoT от Google Titan, которую Google использует для защиты своих серверов, Chromebook и других устройств».
Поскольку OpenTitan имеет открытый исходный код, известные угрозы и встроенные меры противодействия доступны для публичной проверки. Феррис признаёт, что RoT-чипы являются особой мишенью для атак, однако каждый раз, когда обнаруживался способ обойти защиту OpenTitan, инженеры устраняли этот недостаток, делая модуль безопаснее с каждой итерацией.
Программируемый аппаратный RoT может защитить от многих угроз безопасности, включая компрометацию хост-процессора, извлечение ключей энергонезависимой памяти (NVM) и повреждение NVM. Он также может защитить от атак на интерфейс тестирования и отладки, атак по побочным каналам, атак типа «человек посередине», атак повторного воспроизведения, а также инсайдерских атак.
Решения S-RoT превращаются из просто хорошей вещи в важную часть работы любых электронных устройств в целом и IoT/ОТ сферы в частности. OpenTitan, в свою очередь, обеспечивает прозрачность и доступность, предлагая привлекательный путь для производителей разного рода девайсов.