Seu DevOps é seu maior risco de segurança?
25 de fevereiro de 2021Uma preocupação comum de pessoas que usam plataformas em nuvem como AWS são os contos de terror sobre um desenvolvedor negligente (ou desinformado) inadvertidamente expondo chaves de API da AWS online, apenas para que hackers encontrem essas chaves, penetrem na conta e causem danos massivos.
Mas quão comuns são essas violações? Eles são uma ameaça legítima ou apenas um mito urbano para o pessoal de TI sem sono? E o que, se houver alguma coisa, pode ser feito contra tal exposição?
O problema da exposição da chave de acesso à API
O problema da exposição da chave de acesso da API da AWS refere-se a incidentes em que as chaves de acesso da API do desenvolvedor para contas da AWS e recursos de nuvem são inadvertidamente expostas e encontradas por hackers.
AWS e a maioria dos outros provedores de infraestrutura como serviço (IaaS) fornece acesso direto a ferramentas e serviços por meio de interfaces de programação avançada (APIs). Os desenvolvedores aproveitam essas APIs para escrever scripts automatizados para ajudá-los a configurar recursos baseados em nuvem. Isso ajuda os desenvolvedores e DevOps a economizar muito tempo na configuração de recursos hospedados na nuvem e na automação da implementação de novos recursos e serviços.
Para garantir que apenas desenvolvedores autorizados possam acessar esses recursos e executar comandos neles, as chaves de acesso da API são usadas para autenticar o acesso. Apenas o código que contém credenciais autorizadas será capaz de se conectar e executar.
Isso acontece o tempo todo
O problema, entretanto, é que essas chaves de acesso às vezes são deixadas em scripts ou arquivos de configuração carregados para recursos de terceiros, como o GitHub. Os hackers estão totalmente cientes disso e executam varreduras automatizadas em tais repositórios, a fim de descobrir chaves não seguras. Depois de localizar essas chaves, os hackers obtêm acesso direto ao ambiente de nuvem exposto, que eles usam para roubo de dados, controle de conta e exploração de recursos.
Um caso de uso muito comum é os hackers acessarem uma conta de nuvem desavisada e ativar várias instâncias de computação para executar atividades de mineração de criptografia. Os hackers embolsam a criptomoeda extraída, enquanto deixam o dono da conta da nuvem arcar com a conta pelo uso dos recursos de computação.
E os exemplos continuam …
O problema é tão difundido que a Amazon ainda tem uma página de suporte dedicada para dizer aos desenvolvedores o que fazer se inadvertidamente exporem suas chaves de acesso.
Como se proteger
Um dos principais motivadores da migração para a nuvem é a agilidade e flexibilidade que ela oferece às organizações para acelerar a implementação de novos serviços e reduzir o tempo de colocação no mercado. No entanto, essa agilidade e flexibilidade frequentemente têm um custo para a segurança. Em nome da conveniência e da demanda do consumidor, os desenvolvedores e DevOps às vezes podem não tomar as precauções necessárias para proteger seus ambientes ou credenciais de acesso.
Tal exposição pode acontecer em uma infinidade de maneiras, incluindo a exposição acidental de scripts (tais como o upload para GitHub), configuração incorreta de recursos de nuvem que contêm tais chaves, compromisso de 3 rd parceiros -party que têm tais credenciais, a exposição através de código do lado do cliente que contém chaves, ataques de spear-phishing direcionados contra a equipe de DevOps e muito mais.
No entanto, há uma série de etapas importantes que você pode seguir para proteger seu ambiente de nuvem contra tais violações:
1. Seja tão paranóico
Não há como contornar isso: proteger suas credenciais, tanto quanto possível, é fundamental. No entanto, como as credenciais podem vazar de inúmeras maneiras e de várias fontes, você deve, portanto, presumir que suas credenciais já estão expostas ou podem ser expostas no futuro.
Adotar essa mentalidade o ajudará a canalizar seus esforços não (apenas) para limitar essa exposição, mas como limitar os danos causados à sua organização caso essa exposição ocorra.
2. Limite de permissões
Como apontamos anteriormente, um dos principais benefícios da migração para a nuvem é a agilidade e a flexibilidade que os ambientes de nuvem fornecem quando se trata de implementar recursos de computação. No entanto, essa agilidade e flexibilidade frequentemente têm um custo para a segurança.
Uma vez que tal exemplo concede permissões promíscuas a usuários que não deveriam tê-las. Em nome da conveniência, os administradores frequentemente concedem permissões gerais aos usuários, a fim de remover qualquer obstáculo às operações. O problema, entretanto, é que a maioria dos usuários nunca usa a maioria das permissões concedidas e, provavelmente, nem precisa delas.
Isso leva a uma brecha de segurança, pois se algum desses usuários (ou suas chaves de acesso) for comprometido, os invasores poderão explorar essas permissões para causar danos significativos.
Portanto, limitar essas permissões, de acordo com o princípio dos privilégios mínimos, ajudará muito a limitar os danos potenciais se (e quando) tal exposição ocorrer.
3. Aja para detecção precoce
A etapa final é implementar medidas que monitorem ativamente a atividade do usuário em busca de qualquer comportamento potencialmente malicioso. Esse comportamento malicioso pode ser o uso da API pela primeira vez, acesso de locais incomuns, acesso em horários incomuns, padrões de comunicação suspeitos, exposição de ativos privados para o mundo e muito mais.
Fonte: https://en.wikipedia.org/wiki/Streaming_media