Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

FeedsContatoPrivacidade© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
oak — Controle significativo dos dados em sistemas distribuídos. | Kitploit
Ferramentas/GitHubGitHub/project-oak/oak
Segurança de Infraestrutura em NuvemSegurança de Sistemas EmbarcadosSegurança de ContêineresVirtualização para SegurançaCriptografiaPrivacidadeSegurança de HardwareSegurança da Cadeia de SuprimentosAutenticaçãoPapers e Pesquisa
1.5k14938há 1 diaRevisado pelo Kitploit
GitHub
project-oak/oak

oak

Controle significativo dos dados em sistemas distribuídos.

Ver Repositório

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

Project Oak Logo

Oak é uma plataforma de software para construir sistemas distribuídos que fornecem, de forma transparente, afirmações verificáveis externamente (ou falsificáveis) sobre o comportamento dos sistemas.

Oak fornece blocos de construção usados para criar Enclave Applications, ou seja, aplicações isoladas do host no qual são executadas e que podem ser atestadas remotamente.

Neste documento, focamos em sistemas distribuídos compostos por "nós" heterogêneos; um nó pode ser uma Enclave Application em execução em um servidor (por exemplo, data center privado, provedor de nuvem pública etc.), uma aplicação comum em execução em um dispositivo cliente (por exemplo, telefone, laptop), um serviço HTTP ou gRPC comum, um sistema de armazenamento etc. Quando dois nós se comunicam, um ou ambos podem ser Enclave Applications. Para cada interação entre dois nós, referimo-nos a eles como "iniciador" e "respondedor". Evitamos os termos "cliente" e "servidor" para esses papéis, porque, em alguns casos, o nó "iniciador" pode estar na verdade em execução em um "servidor" — todas as combinações são possíveis.

Uma Enclave Application em um sistema distribuído Oak pode atestar remotamente a si mesma para outros nós: isso consiste em fornecer evidências de sua própria identidade de software e hardware, vinculadas a chaves criptográficas locais (armazenadas em hardware à prova de adulteração, garantindo que as chaves não possam ser exfiltradas ou copiadas), assinadas em última instância por uma ou mais raízes de confiança de software ou hardware disponíveis no host desse nó. A identidade de software de uma Enclave Application consiste em medições (ou seja, digests / hashes) dos binários executáveis que contribuem para ela, bem como dados adicionais (por exemplo, configuração).

Raiz de Confiança

Oak concentra-se em Trusted Execution Environments (TEEs) baseados em VM (por exemplo, AMD SEV-SNP, Intel TDX) como raiz de confiança de hardware para Enclave Applications. Isso permite que uma Enclave Application forneça um relatório de atestação remota assinado por chaves vinculadas ao hardware na TEE, que não são acessíveis pelo provedor de serviços. Essas chaves têm, em última instância, raiz no fabricante da TEE (por exemplo, AMD, Intel); isso reduz (idealmente, elimina) a necessidade de confiar no provedor de serviços desse nó para validar suas evidências, distribuindo a confiança entre múltiplos atores que não coludem entre si.

Comunicação Criptografada

Na inicialização, cada Enclave Application gera um par de chaves local e vincula a chave pública às suas próprias evidências. Quando um nó pretende se comunicar com uma Enclave Application (como iniciador ou respondedor), um canal criptografado de ponta a ponta é estabelecido entre os dois nós. Como parte do estabelecimento do canal, cada nó também fornece suas próprias evidências (se houver) ao outro nó e pode usar as evidências fornecidas pelo outro nó para estabelecer sua confiabilidade, antes de decidir se troca dados com ele.

Esse canal criptografado e atestado fornece:

  • Confidencialidade: cada nó sabe que os dados enviados por ele só podem ser lidos pelo outro nó
  • Integridade: cada nó sabe que os dados recebidos por ele devem ter sido escritos pelo outro nó
  • Autenticidade: cada nó conhece a identidade do binário em qualquer nó atestado que processe os dados que ele envia pelo canal.

Arquitetura Dividida

Para minimizar a superfície de ataque e a Trusted Computing Base (TCB) de uma Enclave Application, Oak incentiva uma arquitetura dividida:

  • Aplicação Enclave: um binário construído (de forma reproduzível) a partir de código-fonte aberto, executado dentro do TEE. A Aplicação Enclave tem acesso às chaves de descriptografia vinculadas às evidências de atestação; ela descriptografa as requisições recebidas de outros nós, processa-as, criptografa as respostas e as envia de volta pelo canal de comunicação. Este é o binário associado a declarações verificáveis externamente. Nenhum outro binário tem acesso às requisições recebidas em texto simples.

  • Aplicação Host: um binário executado no ambiente do servidor host (não confiável) que atua como front-end da Aplicação Enclave; ele expõe um endpoint gRPC acessível externamente por outros nós. Este binário lida apenas com dados criptografados; sua principal função é criar e manter uma instância da Aplicação Enclave no TEE e encaminhar dados criptografados de e para a Aplicação Enclave. Ele também pode conter lógica proprietária necessária para interagir com o plano de controle ou outros sistemas internos necessários para executar na infraestrutura do provedor de serviços.

Essa arquitetura significa que o provedor de serviços não seria capaz de substituir o binário da Aplicação Enclave por outro diferente (potencialmente malicioso) sem ser detectado. Se o provedor de serviços introduzisse um backdoor na Aplicação Enclave, ele teria que assinar o binário e publicá-lo em um log verificável por meio do processo de Transparent Release, o que tornaria o backdoor irreversivelmente visível para observadores externos.

Computação Selada

Um uso canônico do Oak é construir aplicações de computação selada que preservam a privacidade.

Em uma aplicação de computação selada, um nó (geralmente um dispositivo cliente) envia dados para uma aplicação enclave (geralmente um servidor), que processa os dados sem que o provedor de serviços que hospeda a aplicação enclave consiga ver as entradas, saídas ou efeitos colaterais da computação.

A seguir está um diagrama arquitetural simplificado.

architectural_overview

Sistema Operacional

O Oak suporta dois tipos de Sistemas Operacionais dentro do TEE, nos quais as Aplicações Enclave podem ser implantadas:

  • Oak Restricted Kernel: um microkernel personalizado extremamente minimalista, escrito sob medida, que suporta apenas uma única CPU e uma única aplicação. Ele impõe restrições muito severas ao que a aplicação pode fazer, expondo apenas um conjunto muito limitado de syscalls à aplicação. As aplicações do Oak Restricted Kernel são adequadas para casos em que a revisão de toda a base de código confiável dentro do TEE é crítica, e os recursos limitados e o desempenho reduzido são um trade-off aceitável. Idealmente, deveria ser possível que um único especialista humano revisasse o código do Oak Restricted Kernel em sua totalidade em algumas semanas.
Baixar ferramenta