Опенсорсний чіп OpenTitan замінить пропрієтарне коріння довіри Intel та ARM

Опенсорсний чіп OpenTitan замінить пропрієтарне коріння довіри Intel та ARM

Некомерційна організація lowRISC за участю Google та інших спонсорів 5 листопада 2019 року представила проект OpenTitan, який називає "першим опенсорсним проектом зі створення відкритої, якісної архітектури мікросхем з коренем довіри (RoT) на апаратному рівні".

OpenTitan на архітектурі RISC-V — мікросхема спеціального призначення для встановлення на серверах у дата-центрах та в будь-якому іншому обладнанні, де потрібно забезпечити автентичність завантаження, захистити прошивку від змін та виключити ймовірність руткітів: це материнські плати, мережні карти, маршрутизатори, пристрої IoT , мобільні гаджети та ін.

Звичайно, такі модулі є в сучасних процесорах. Наприклад, апаратний модуль Intel Boot Guard є коренем довіри у процесорах Intel. Він по ланцюжку довіри верифікує справжність UEFI BIOS перед завантаженням ОС. Але питання, наскільки ми можемо довіряти пропрієтарним корінням довіри з урахуванням того, що ми не маємо гарантій відсутності багів у дизайні, а перевірити його немає можливості? статтю «Довірене завантаження Шредінгера. Intel Boot Guard» з описом того, «як роками клонована помилка на виробництві кількох вендорів дозволяє потенційному зловмиснику використовувати цю технологію для створення в системі прихованого руткіта, що не видаляється (навіть програматором)».

Загроза компрометації обладнання в ланцюжку поставок напрочуд реальна: судячи з усього, будь-який електронник-аматор може впаяти жучок у материнську плату сервера, використовуючи обладнання вартістю не більше ніж 200 доларів. Деякі експерти підозрюють, що «організації з бюджетом у сотні мільйонів доларів можуть займатися цим уже багато років». Хоча жодних доказів немає, але теоретично таке можливе.

«Якщо ви не можете довіряти апаратному завантажувачу, гра закінчена, каже Гевін Ферріс (Gavin Ferris), член ради директорів lowRISC. — Неважливо, що робить операційна система — якщо на момент завантаження операційної системи ви скомпрометовані, то інша справа техніки. З вами вже покінчено».

Цю проблему і має вирішити перша у своєму роді відкрита апаратна платформа OpenTitan (репозиторій GitHub, документація, апаратні специфікації). Відхід від пропрієтарних рішень дозволить змінити «неповоротливу та недосконалу індустрію RoT», вважає Google.

Сама компанія Google почала розробку Titan, виявивши операційну систему Minix, вбудовану в чіпи Intel Management Engine (ME). Ця складна ОС непередбачуваним та некерованим чином розширювала поверхню атаки. Google спробувала позбутися Intel Management Engine (ME)але невдало.

Що таке корінь довіри?

Кожен етап процесу завантаження системи перевіряє справжність наступного етапу, формуючи таким чином ланцюжок довіри.

Корінь довіри (Root of Trust, RoT) — це апаратна автентифікація, яка гарантує, що джерело першої інструкції в ланцюжку довіри не підлягає зміні. RoT є базовим захистом від руткітів. Це ключовий етап процесу завантаження, який бере участь у подальшому запуску системи - від BIOS до ОС та додатків. Він повинен перевіряти справжність кожного наступного етапу завантаження. Для цього на кожному етапі використовується набір ключів із цифровим підписом. Одним із найпопулярніших стандартів апаратного захисту ключів є TPM (Trusted Platform Module, довірений платформний модуль).

Опенсорсний чіп OpenTitan замінить пропрієтарне коріння довіри Intel та ARM
Встановлення кореня довіри. Вище представлена ​​п'ятиетапна завантаження, яка формує ланцюжок довіри і починається із завантажувача, що знаходиться в незмінній пам'яті. На кожному етапі використовується відкритий ключ, за допомогою якого засвідчується справжність наступного компонента, що завантажується. Ілюстрація з книги Перрі Лі «Архітектура інтернету речей»

RoT може запускатися різними способами:

  • завантаження образу та кореневого ключа з прошивки або незмінної пам'яті;
  • зберігання кореневого ключа в одноразовій програмованій пам'яті за допомогою ф'юз-бітів;
  • завантаження коду із захищеної області пам'яті в захищене сховище.

У різних процесорах корінь довіри реалізовано по-різному. Intel та ARM
підтримують такі технології:

  • ARM TrustZone. ARM продає виробникам чіпів пропрієтарний кремнієвий блок, який надає корінь довіри та інші механізми безпеки. Таким чином мікропроцесор відокремлюється від небезпечного ядра; він виконує Trusted OS - захищену операційну систему з чітко визначеним інтерфейсом взаємодії з небезпечними компонентами. Захищені ресурси знаходяться в довіреному ядрі і повинні бути якомога легковажнішими. Перехід між компонентами різного типу робиться за допомогою апаратного перемикання контексту, завдяки чому відпадає необхідність безпечного програмного забезпечення для моніторингу.
  • Intel Boot Guard - Це апаратний механізм для перевірки справжності початкового блоку завантаження криптографічних засобів або за допомогою процесу вимірювання. Для перевірки початкового блоку виробник повинен згенерувати 2048-бітний ключ, який складається із двох частин: відкритої та закритої. Відкритий ключ друкується на платі шляхом детонації ф'юз-бітів на етапі виробництва. Ці біти є одноразовими та не підлягають зміні. Закрита частина ключа генерує цифровий підпис для подальшого автентичності етапу завантаження.

Платформа OpenTitan відкриває ключові частини такої апаратно-програмної системи, як показано на діаграмі нижче.

Опенсорсний чіп OpenTitan замінить пропрієтарне коріння довіри Intel та ARM

Платформа OpenTitan

Розробка платформи OpenTitan йде під керівництвом некомерційної організації lowRISC. Колектив інженерів базується у Кембриджі (Великобританія), а головним спонсором є Google. Партнери-засновники включають Швейцарську вищу технічну школу Цюріха, G+D Mobile Security, Nuvoton Technology та Western Digital.

Google опублікувала анонс проекту у корпоративному блозі Google Open Source. Компанія заявила, що OpenTitan прагне «надати високоякісні рекомендації з дизайну та інтеграції RoT для використання в серверах центрів обробки даних, сховищах, периферійних пристроях та багато іншого».

Корінь довіри - перша ланка в ланцюжку довіри на найнижчому рівні в довіреному обчислювальному модулі, якому повністю довіряє система.

RoT критично важливий для програм, включаючи інфраструктури відкритих ключів (PKI). Це фундамент системи безпеки, на якій засновано складну систему, таку як додаток IoT або центр обробки даних. Тому зрозуміло, чому Google підтримує цей проект. Нині має 19 центрів обробки даних на п'яти континентах. Дата-центри, сховища та критично важливі програми становлять велику поверхню атаки, і для захисту цієї інфраструктури Google спочатку розробила власний корінь довіри на мікросхемі Titan.

Пропрієтарний чіп Titan для дата-центрів Google був вперше представлений в березні 2017 року на конференції Google Cloud Next. «Наші комп'ютери проводять криптографічну перевірку кожного пакета з програмним забезпеченням, а потім вирішують, чи варто видавати йому доступ до ресурсів мережі. Titan інтегрується в цей процес і пропонує додаткові захисні шари», — розповідали представники Google на тій презентації.

Опенсорсний чіп OpenTitan замінить пропрієтарне коріння довіри Intel та ARM
Мікросхема Titan на сервері Google

Архітектура Titan була власністю Google, але наразі стає суспільним надбанням у рамках опенсорсного проекту.

Перший етап проекту – створення логічного дизайну RoT на рівні мікросхеми, включаючи опенсорсний мікропроцесор lowRISC ibex, криптографічні процесори, апаратний генератор випадкових чисел, ієрархії ключів та пам'яті для енергонезалежного та енергонезалежного зберігання, захисні механізми, периферійні пристрої введення-виведення та безпечні процеси завантаження.

Google каже, що OpenTitan базується на трьох ключових принципах:

  • у кожного є можливість перевірити платформу та зробити свій внесок;
  • підвищена гнучкість за рахунок відкриття логічно безпечного дизайну, що не блокується пропрієтарними заборонами постачальника;
  • якість, забезпечена не лише самим дизайном, але також референсною прошивкою та документацією.

«Нинішні мікросхеми з корінням довіри дуже пропрієтарні. Вони заявляють про безпеку, але насправді ви приймаєте це на віру і самі не можете їх перевірити, — каже Домінік Ріццо (Dominic Rizzo), провідний спеціаліст з безпеки проекту Google Titan. — Тепер уперше з'являється можливість гарантувати безпеку без сліпої віри розробникам пропрієтарного дизайну коренів довіри. Отже, фундамент не просто міцний, його можна перевірити».

Ріццо додав, що OpenTitan можна вважати «радикально прозорим дизайном порівняно з нинішнім станом речей».

За словами розробників, OpenTitan у жодному разі не слід розглядати як готовий продукт, тому що розробка ще не закінчена. Вони спеціально відкрили специфікації та дизайн у середині розробки, щоб усі могли перевірити його, зробити свій внесок та вдосконалити систему перед початком виробництва.

Щоб розпочати виробництво чіпів OpenTitan, потрібно подати заявку та пройти сертифікацію. Зважаючи на все, жодних ліцензійних відрахувань не потрібно.

Джерело: habr.com

Додати коментар або відгук