
Neste projeto, encontramos um ataque recente através do contêiner malicioso e implementamos um mecanismo de segurança para pará-lo.
Neste projeto, encontramos um ataque recente através do contêiner malicioso e implementamos um mecanismo de segurança para impedi-lo.
Os ciberataques tornaram-se um desafio crítico tanto para empresas quanto para pequenos negócios, em grande parte devido a vulnerabilidades em diversos componentes de seus recursos de TI. Entender essas ameaças é o primeiro passo para proteger os dados e ativos de uma organização. Formas comuns de ataques incluem malware, ransomware e phishing. Estudos recentes destacam a crescente prevalência de ataques direcionados a infraestruturas de contêineres. Os adversários frequentemente exploram contêineres mal configurados localizando-os através de motores de busca públicos e ferramentas de varredura.
Assim, neste projeto, implementamos um ataque usando a vulnerabilidade CVE-2019-5736 do Docker e identificamos um mecanismo de segurança para prevenir um ataque.
Usamos a seguinte configuração para implementar com segurança um ataque e mecanismo de segurança. Na máquina base com Windows OS, a estação de trabalho VMware foi implantada com a máquina virtual Ubuntu 18.04 OS. Além disso, o aplicativo de contêiner Docker 18.03.1-ce (Runc 1.0.0-rc5) foi instalado no Ubuntu 18.04.
O arquivo "usr/docker/runc" é um arquivo interno executável sensível que nenhum usuário terceiro deveria ser capaz de modificar. No entanto, a versão 18.03 do Docker tem a vulnerabilidade pela qual não registra a modificação do arquivo docker "runc"; como resultado, o atacante pode usar essa vulnerabilidade para modificar o arquivo "usr/docker/runc" e obter acesso root ao nosso sistema Linux.
Como resultado:
A causa raiz dessa vulnerabilidade é a capacidade da imagem docker maliciosa de alterar o arquivo “/usr/docker/runc” e incluir código hostil no arquivo executável.
Para impedir que esse ataque ocorra, usamos o comando "Chattr" para tornar o arquivo “/usr/docker/runc” imutável. Como resultado, o exploit falha ao executar e não há resposta do lado do atacante.
O mecanismo de segurança que aplicamos de fato interrompe o ataque, significando que conseguimos evitar que o código malicioso explorasse a vulnerabilidade daquele arquivo docker específico que encontramos. Para o mecanismo de segurança, não pudemos usar o comando 'chmod' porque nessa vulnerabilidade específica que usamos, o acesso root é concedido ao ataque. Assim, o comando "chmod" não poderia prevenir um ataque.
Neste projeto, escolhemos implementar um ataque que explorou a vulnerabilidade CVE-2019-5736 com a pontuação CVSS HIGH, que dá a um atacante acesso remoto à máquina do usuário com privilégios root. Executamos o ataque com sucesso e encontramos o mecanismo de segurança para preveni-lo.
Desafios: