- Ferramenta de instrumentação automática segura e confiável para aplicações Go desenvolvida pela Datadog
- Insere instrumentação em tempo de compilação para minimizar a sobrecarga em tempo de execução
- Protege a aplicação por meio de recursos de RASP
- Modifica o código-fonte durante o processo de compilação para inserir automaticamente a instrumentação para rastreamento do Datadog APM
- Protege a aplicação contra vulnerabilidades comuns por meio do recurso Exploit Prevention do Datadog Application Security Management
Como funciona
- Integra-se ao toolchain do Go para analisar e modificar o código-fonte durante o processo de compilação.
- Manipula o código no nível de Abstract Syntax Tree (AST), permitindo que o compilador Go valide todas as alterações e faça a verificação de tipos.
- Evita erros que poderiam surgir ao modificar diretamente o binário compilado, ao mesmo tempo em que permite acesso irrestrito a todos os comportamentos da aplicação.
- O código modificado passa pelo processo de otimização do compilador Go, o que reduz a sobrecarga em tempo de execução.
- Insere a diretiva pragma Go
//line no código-fonte modificado para que os números de linha não sejam afetados pelas mudanças e para que os stack traces gerados pela aplicação instrumentada apontem para os locais corretos no código-fonte original.
Por que usar instrumentação em tempo de compilação
- Segurança, confiabilidade e qualidade dos dados: a instrumentação em tempo de compilação produz dados mais seguros e confiáveis do que binary patching ou eBPF.
- Automação: binary patching e eBPF oferecem alto nível de automação, mas o Orchestrion exige mudanças no processo de build e reimplantação da aplicação.
- Sobrecarga de desempenho: o eBPF pode gerar sobrecarga de desempenho devido às trocas de contexto entre kernel e espaço do usuário. O Orchestrion insere a instrumentação em tempo de compilação para minimizar a sobrecarga em tempo de execução.
- Ambientes suportados: o eBPF é limitado ao ambiente Linux, mas o Orchestrion oferece suporte a diversos ambientes.
- Funcionalidade geral: o eBPF tem funcionalidades limitadas, enquanto o Orchestrion opera no nível do código e oferece mais recursos.
Orchestrion para segurança
- Implementa recursos de RASP ao inserir instrumentação capaz de alterar o fluxo de controle do programa por meio de operações no nível do código.
- Pode proteger a aplicação por conta própria contra vulnerabilidades comuns, como SQL injection ou inclusão local de arquivos.
- Pode substituir completamente determinadas APIs por outras APIs, para que os desenvolvedores não precisem se preocupar em passar valores de contexto por todas as camadas da lógica de negócio para encadear o contexto de rastreamento.
Ainda não há comentários.