
Agente de segurança runtime baseado em eBPF para Kubernetes que detecta processos desconhecidos e alterações em arquivos, impõe restrições pré-registradas e automatiza a exclusão de pods ou o alerta para mitigar ransomware e outros ataques.

Proteja suas aplicações executando em Kubernetes contra ataques maliciosos pré-registrando seus processos confiáveis e assinaturas de arquivos confiáveis. O Tarian detectará processos desconhecidos e alterações nos arquivos registrados, então enviará alertas e tomará uma ação automatizada. Salve seu ambiente K8s de Ransomware!
Queremos manter este projeto como código aberto para lutar contra os ataques ao nosso ecossistema Kubernetes favorito. Com contribuição contínua, podemos combater ameaças juntos como comunidade.
Como o Tarian funciona?
O Cluster Agent do Tarian é executado no cluster Kubernetes detectando processos desconhecidos e mudanças desconhecidas em arquivos, reportando-os ao Servidor Tarian e, opcionalmente, tomando uma ação: deletar o pod violado. Ele usa eBPF para detectar novos processos. Para detecção de alterações em arquivos, o Cluster Agent do Tarian injeta um container sidecar no pod da sua aplicação principal que verificará os checksums dos arquivos no caminho configurado e os comparará com os checksums registrados no Servidor Tarian. O Tarian fará parte do pod da sua aplicação desde o ambiente de desenvolvimento até o de produção, permitindo que você registre no seu banco de dados Tarian o que deve estar acontecendo e executando no seu container + assinaturas de arquivos a serem monitoradas + o que pode ser notificado + ação a ser tomada (autodestruir o pod) com base nas mudanças detectadas. Faça o shift-left do seu mecanismo de detecção!
E se uma mudança desconhecida ocorrer dentro do container que não está no banco de registro do Tarian, como o Tarian reage a ela?
Se uma mudança desconhecida ocorrer, o Tarian pode simplesmente notificar análises observadas à sua Equipe de Segurança. Então seus Engenheiros de Segurança podem registrar essa mudança no banco de dados Tarian, seja considerada uma ameaça ou não. Além disso, com base na análise, eles podem configurar qual ação tomar quando essa mudança ocorrer novamente.
Como a contribuição da comunidade ajuda a combater as ameaças através do Tarian?
Qualquer nova detecção analisada e marcada como ameaça por seus Especialistas em Segurança, se eles escolherem, pode ser compartilhada com o banco de dados da comunidade open-source Tarian com todos os logs, strings a serem procuradas, observação, transparência, ações a configurar, etc. Basicamente, tudo que os Especialistas quiserem alertar e compartilhar com a comunidade. Você pode usar essas informações como usuário do Tarian e configurar ações no aplicativo Tarian usado no seu ambiente. Este é basicamente um mecanismo para compartilhar informações sobre ameaças e o que fazer com elas. Isso ajuda todos que usam o Tarian a agirem juntos em seus respectivos ambientes K8s, compartilhando conhecimento e experiência.
Que tipo(s) de ação(ões) o Tarian tomaria com base em ameaça(s) conhecida(s)?
O Tarian simplesmente autodestruiria o pod no qual está executando. Se o malware/vírus se espalhar para o resto do ambiente, bem, você sabe o que acontece. Então, o Tarian é basicamente projetado para ajudar a reduzir o risco ao máximo, destruindo pods. O provisionamento de um novo pod será tratado pelo deployment do K8s. O Tarian só fará a destruição dos pods se você instruí-lo a fazê-lo. Se você não quiser que nenhuma ação ocorra, não precisa configurar ou acionar nenhuma; você pode simplesmente dizer ao Tarian para apenas notificá-lo. O Tarian basicamente faz o que você deseja para reduzir o risco.
Por que outra nova ferramenta de segurança quando já existem muitas ferramentas disponíveis, como Falco, Kube-Hunter, Kube-Bench, Calico Enterprise Security e muitas outras ferramentas de segurança (open-source e comerciais) que podem detectar e prevenir ameaças em nível de rede, infraestrutura e aplicação? Por que o Tarian?
A principal razão pela qual o Tarian nasceu é para combater ameaças no Kubernetes juntos como comunidade. Outra razão foi: e se ainda existir algum ataque sofisticado capaz de penetrar em todas as camadas da sua segurança, capaz de alcançar sua aplicação em tempo de execução (Remote Code Execution) e seus volumes de armazenamento, e capaz de se espalhar para danificar ou bloquear sua infraestrutura e dados?! O que você quer fazer sobre tais ataques, especialmente aqueles que se transformam em ransomware? O Tarian é projetado para reduzir esses riscos, tomando ação(ões). Sabemos que o Tarian não é a solução definitiva, mas estamos confiantes de que pode ajudar a reduzir riscos, especialmente quando o conhecimento é compartilhado continuamente pela comunidade. De uma perspectiva técnica, o Tarian pode ajudar a reduzir o risco destruindo os recursos infectados.

| Ambiente | Funcionando | Observações |
|---|---|---|
| Kind v0.14.0 | ✔️ | |
| Minikube v1.26.0 | ✔️ | |
| Linode Kubernetes Engine (LKE) 1.22 | ✔️ | |
| Digital Ocean Kubernetes Engine (DOKS) 1.22 | ✔️ | |
| Google Kubernetes Engine (GKE) 1.22 | ✔️ | |
| Amazon Elastic Kubernetes Engine (EKS) | ➖ | kernel < 5.8 |
| Azure Kubernetes Service (AKS) | ➖ | kernel < 5.8 |
kubectl create namespace tarian-system
Você pode usar qualquer opção de instalação Dgraph desde que seja acessível a partir do servidor tarian.
helm repo add tarian https://kube-tarian.github.io/helm-charts
helm repo update
helm upgrade -i tarian-server tarian/tarian-server --devel -n tarian-system --set server.dgraph.address=DGRAPH_ADDRESS:PORT
helm upgrade -i tarian-cluster-agent tarian/tarian-cluster-agent --devel -n tarian-system