Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
oak — Осмысленный контроль над данными в распределённых системах. | Kitploit
Инструменты/GitHubGitHub/project-oak/oak
Безопасность облачной инфраструктурыБезопасность встроенных системБезопасность контейнеровВиртуализация для безопасностиКриптографияКонфиденциальностьАппаратная БезопасностьБезопасность Цепочки ПоставокАутентификацияСтатьи и Исследования
1.5k149381 день назадПроверено Kitploit
GitHub
project-oak/oak

oak

Осмысленный контроль над данными в распределённых системах.

Репозиторий

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

Project Oak Logo

Oak — это программная платформа для построения распределённых систем, обеспечивающая прозрачным образом внешне проверяемые (или опровержимые) утверждения о поведении системы.

Oak предоставляет строительные блоки, используемые для создания Enclave Applications, то есть приложений, изолированных от хоста, на котором они выполняются, и допускающих удалённую аттестацию.

В этом документе мы сосредоточимся на распределённых системах, состоящих из гетерогенных «узлов»; узел может быть Enclave Application, работающим на сервере (например, в частном дата-центре, у публичного облачного провайдера и т. п.), обычным приложением, работающим на клиентском устройстве (например, телефоне, ноутбуке), обычным HTTP- или gRPC-сервисом, системой хранения и т. д. Когда два узла общаются друг с другом, один или оба из них могут быть Enclave Applications. Для каждого взаимодействия между двумя узлами мы называем их «инициатором» и «ответчиком». Мы избегаем терминов «клиент» и «сервер» для этих ролей, поскольку в некоторых случаях узел-«инициатор» может фактически работать на «сервере» — возможны все комбинации.

Enclave Application в распределённой системе Oak может удалённо аттестовать себя перед другими узлами: это состоит в предоставлении доказательств собственной программной и аппаратной идентичности, привязанных к локальным криптографическим ключам (хранящимся в защищённом от взлома оборудовании, гарантирующем, что ключи не могут быть похищены или скопированы), в конечном счёте подписанных одним или несколькими программными или аппаратными корнями доверия, доступными на хосте этого узла. Программная идентичность Enclave Application состоит из измерений (то есть дайджестов / хешей) исполняемых бинарных файлов, которые в неё входят, а также дополнительных данных (например, конфигурации).

Корень доверия

Oak сосредоточен на основанных на виртуальных машинах доверенных средах исполнения (TEE) (например, AMD SEV-SNP, Intel TDX) как аппаратном корне доверия для Enclave Applications. Это позволяет Enclave Application предоставлять отчёт об удалённой аттестации, подписанный привязанными к оборудованию ключами в TEE, которые недоступны провайдеру услуг. Эти ключи в конечном счёте укоренены в производителе TEE (например, AMD, Intel); это снижает (в идеале — устраняет) необходимость доверять провайдеру услуг этого узла для проверки его доказательств, распределяя доверие между несколькими не сговаривающимися субъектами.

Зашифрованная связь

При запуске каждая Enclave Application генерирует локальную пару ключей и привязывает открытый ключ к своим собственным доказательствам. Когда узел намеревается связаться с Enclave Application (в роли инициатора или ответчика), между двумя узлами устанавливается сквозной зашифрованный канал. В рамках установления канала каждый узел также предоставляет свои собственные доказательства (если они есть) другому узлу и может использовать доказательства, предоставленные другим узлом, для установления его доверенности, прежде чем решить, обмениваться ли с ним данными.

Этот зашифрованный и аттестованный канал обеспечивает:

  • Конфиденциальность: каждый узел знает, что данные, отправленные по нему, могут быть прочитаны только другим узлом
  • Целостность: каждый узел знает, что полученные по нему данные должны были быть записаны другим узлом
  • Подлинность: каждый узел знает идентичность бинарного файла любого аттестованного узла, обрабатывающего данные, которые он отправляет по каналу.

Разделённая архитектура

Чтобы минимизировать поверхность атаки и доверенную вычислительную базу (TCB) Enclave Application, Oak поощряет разделённую архитектуру:

  • Приложение-анклав: бинарный файл, (воспроизводимо) собранный из открытого исходного кода и работающий внутри TEE. Приложение-анклав имеет доступ к ключам расшифровки, привязанным к аттестационным данным; оно расшифровывает входящие запросы от других узлов, обрабатывает их, шифрует ответы и отправляет их обратно по каналу связи. Именно этот бинарный файл связан с внешне проверяемыми утверждениями. Никакой другой бинарный файл не имеет доступа к входящим запросам в открытом виде.

  • Хост-приложение: бинарный файл, работающий в среде хост-сервера (недоверенной) и выполняющий роль фронтенда для приложения-анклава; он предоставляет gRPC-эндпоинт, доступный извне другим узлам. Этот бинарный файл работает только с зашифрованными данными; его основная задача — создавать и поддерживать экземпляр приложения-анклава в TEE и пересылать зашифрованные данные в приложение-анклав и обратно. Он также может содержать проприетарную логику, необходимую для взаимодействия с плоскостью управления или другими внутренними системами, требуемыми для работы на инфраструктуре поставщика услуг.

Такая архитектура означает, что поставщик услуг не смог бы подменить бинарный файл приложения-анклава другим (потенциально вредоносным) без обнаружения. Если бы поставщик услуг внедрил бэкдор в приложение-анклав, ему пришлось бы подписать бинарный файл и опубликовать его в проверяемом журнале посредством процесса Transparent Release, что сделало бы бэкдор необратимо видимым для внешних наблюдателей.

Sealed Computing

Каноническое применение Oak — создание приложений для конфиденциальных вычислений (sealed computing).

В приложении для конфиденциальных вычислений узел (обычно клиентское устройство) отправляет данные приложению-анклаву (обычно серверу), которое обрабатывает данные так, что поставщик услуг, размещающий приложение-анклав, не может видеть входные данные, выходные данные или побочные эффекты вычислений.

Ниже приведена упрощённая архитектурная схема.

architectural_overview

Операционная система

Oak поддерживает два варианта операционных систем внутри TEE, на которых могут развёртываться приложения-анклавы:

  • Oak Restricted Kernel: очень минимальное микродро, написанное специально, которое поддерживает только один CPU и одно приложение. Оно накладывает очень строгие ограничения на то, что может делать приложение, предоставляя приложению лишь очень ограниченный набор системных вызовов. Приложения Oak Restricted Kernel подходят для случаев, когда критически важен обзор всей доверенной кодовой базы внутри TEE, а ограниченные возможности и сниженная производительность являются приемлемым компромиссом. В идеале один эксперт-человек должен иметь возможность полностью проверить код Oak Restricted Kernel за пару недель.
Скачать инструмент