+38/050/370-3627
+38/093/220-0872
+38/044/257-2444
Новини

Google анонсував Asylo, універсальний фреймворк для захищених анклавів

Представлено новий відкритий фреймворк Asylo, за допомогою якого можна легко адаптувати додатки для винесення частини функціональності, що потребує підвищеного захисту, на бік захищеного анклаву (TEE, Trusted Execution Environment). Код фреймворку написаний мовою С++ та розповсюджується під ліцензією Apache 2.0. Фреймворк підготовлений Google, але не є офіційно підтримуваним продуктом Google. Для спрощення розробки пропонуються образи Docker-контейнерів з реалізацією готового складального оточення та середовища для тестування роботи анклавів.

Використання анклавів передбачає розбиття програми на дві логічні частини: невеликий верифікований захищений компонент для анклаву (наприклад, код для роботи з секретними даними) та незахищений компонент (інший код програми). Asylo абстрагує функціональність анклавів і дозволяє створювати переносні програми, які можуть бути портовані для різних технологій анклавів без зміни програмного коду. Програма, що використовує Asylo, може зберігати можливість ізольованого виконання конфіденційних обчислень у різних оточеннях, в яких застосовуються апаратні або програмні технології ізоляції.

Для виконання в анклаві, наприклад, може бути винесений код для шифрування, автентифікації, роботи з конфіденційними даними, ключами та паролями. Як базовий набор примітивів шифрування, які можуть використовуватися в анклаві, пропонується BoringSSL (Форк OpenSSL). Крім того, Asylo надає API для управління анклавом (Enclave Manager, Enclave Client), набір POSIX-функцій для застосування в анклаві, засоби для ідентифікації та авторизації, API для захищеного вводу/виводу та віртуалізації доступу до ФС, підтримку Protocol Buffers та gRPC з протоколом EKEP (Enclave Key Exchange Protocol).

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

З апаратних механізмів ізоляції в Asylo поки що підтримується тільки технологія Intel SGX. У майбутніх випусках обіцяють додати підтримку інших систем, таких як ARM TrustZone, AMD PSP (Platform Security Processor) і AMD SEV (Secure Encryption Virtualization). Програмні механізми формування анклавів ґрунтуються на застосуванні технологій віртуалізації.

У контексті технології Intel SGX анклав являє собою закриті області пам'яті, в яких може виконуватися код додатків рівня користувача, вміст яких не може бути прочитаний і змінений навіть ядром і кодом, що виконується в режимах ring0, SMM і VMM. Передати керування кодом в анклаві неможливо традиційними функціями переходу та маніпуляціями з регістрами та стеком - для передачі керування в анклав застосовується спеціально створена нова інструкція, яка виконує перевірку повноважень. При цьому код, що міститься в анклаві, може застосовувати класичні методи виклику для звернення до функцій всередині анклаву і спеціальну інструкцію для виклику зовнішніх функцій. Для захисту від апаратних атак, таких як підключення до модуля DRAM, використовується шифрування пам'яті анклаву.

 

 

Інші новини

Найкраща ціна