Os tempos mudaram e, nestes últimos anos, a tendência  na procura de soluções baseadas na Cloud é cada vez mais vincada. As empresas apostam numa infraestrutura central, altamente disponível e escalável.

E até que ponto uma infraestrutura na Cloud é segura?

Existe uma grande preocupação implicitamente ligada à informação digital e, por consequência, também à Cloud, nomeadamente à sua segurança. Desde o início deste paradigma que empresas como a Salesforce, Amazon, Google, IBM e Microsoft iniciaram uma grande ofensiva nesta nova fronteira da era digital.

É importante ter em mente que tanto a Amazon Web Services (AWS), como outros provedores, possibilitam a criação de dezenas de infraestruturas de uma maneira ágil, num curto espaço de tempo, sem grande investimento inicial e ainda com alta disponibilidade (maioritariamente baseados em mecanismos de escalabilidade como o auto scaling e em várias regiões de disponibilidade). Para fornecer uma segurança e privacidade de ponta a ponta, a AWS provisiona recursos e serviços de acordo com as melhores práticas de segurança [1][2].

O atual paradigma de monitorização baseado em Intrusion Detection Systems (IDSs) foi modificado ligeiramente comparativamente com aquilo que era o esqueleto de uma infraestrutura local que continha ferramentas para deteção de atividades suspeitas, firewalls locais, entre outros periféricos de rede. Este artigo apresenta uma visão geral sobre IDSs passivos baseados na tipologia de Cloud Infrastructure as a Service (IaaS).

IDS Tradicional

Um IDS tradicional refere-se a um sistema implantado sob uma infraestrutura de rede com o objetivo de deteção de atividades potencialmente maliciosas, como por exemplo ações ilícitas, tráfego malicioso e intrusões. No entanto, com o passar dos anos, e com o aumento da complexidade ao nível da tecnologia e sobretudo da segurança com que os dados são transmitidos, este tipo de implementações foi-se tornando também cada vez mais complexa. Existem diferentes tipos de IDSs no que diz respeito à velocidade como produzem resultados, nomeadamente: (i) em tempo de execução, (ii) em tempo real virtual e (iii), em tempo indeferido.

Os IDSs em tempo de execução detetam os ataques em tempo real e evitam que os mesmos tenham sucesso. Em tempo real virtual detetam intrusões e ataques pouco tempo depois de acontecerem, pelo menos evitam que o ataque se repita uma segunda vez. Por fim, os IDSs abordados ao longo deste artigo são os de tempo indeferido. Estes são os mais tradicionais e permitem detetar intrusões passadas com base em registos (logs).

Em seguida, segue um exemplo típico para infraestruturas desta linha baseadas num IDS tempo real virtual e também utilizada em IDSs indeferidos.

Uma das implementações mais descomplicadas e diretas é o posicionamento do IDS antes da infraestrutura de forma a que todo o tráfego de entrada possa ser monitorizado. A monitorização é idealmente concretizada com base em regras de filtragem de tráfego definidas a priori pelo administrador ou entidade que controla a infraestrutura. Para o cenário de utilização de um IDS indeferido, em vez do posicionamento entre a Internet e a infraestrutura, este seria deslocado para o lado da infraestrutura. O Snort ainda representa uma das soluções gratuitas e com maior usabilidade dentro do contexto de monitorização de tráfego de rede.

É possível usar um IDS numa infraestrutura da AWS?

IDS Moderno na AWS

Atualmente ainda subsistem algumas dúvidas relativamente à implantação de um IDS tradicional sobre tipologias IaaS na Cloud. Muitos administradores de redes procuram perceber se esta representa, ou não, uma solução efetiva. A resposta acaba por ser um mais ou menos. Confuso?

Um dos princípios elementares associados à Cloud é refletido na camada de abstração fornecido por este paradigma e que também desvia o utilizador de processos de mais baixo nível, como por exemplo o controlo de tráfego de rede ao nível da camada de ligação de dados [3]. Dito isto, não é possível o acesso ao tráfego de rede de forma a implementar soluções efetivas e equiparáveis a um IDS em tempo de execução ou tempo real virtual sob este tipo de arquiteturas de computação.

Uma abordagem tradicional para acesso direto ao tráfego de rede em infraestruturas locais é o uso de um network Test Access Point (TAP) ou um Switch Port Analyser (SPAN). O local ideal dentro do contexto da AWS para efetuar essa abordagem seria ao nível dos Internet Gateways (IGWs) e Elastic Load Balancers (EBLs). Porém, não existe uma forma de monitorizar estes dois recursos, por exemplo, através de portas de rede, networks taps, ou até mesmo uma ponte de acesso à camada dois da rede.

Por outro lado, também não é possível correr instâncias Elastic Compute Cloud (EC2) em modo promiscuous de forma a consumir e analisar (sniffing) o tráfego de rede que é transmitido para a infraestrutura.

Atualmente, a abordagem mais comum para a concessão de IDSs baseados na Cloud assenta na seguinte ideologia:

  • Host Intrusion Detection System (HIDS), um IDS em tempo real virtual baseado no host, operando dentro da própria Virtual Machine (VM), filtrando todo o tráfego e enviando alarmes para o administrador ou para um dashboard central de alertas.
  • IDS indeferido centralizado e operando sobre algumas ferramentas de gestão de segurança e configuração da infraestrutura, no caso da AWS e a título de exemplo, as Access Control Lists (ACLs), Security Groups, S3 buckets, Identity and Access Management (IAM), leitura de logs (Cloud Trail), entre outros.

Muitas empresas de segurança reuniram esforços na implementação de ferramentas para o ecossistema  aqui abordado, e existem soluções que compilam aquilo que foi dito mais acima e também disponíveis no marketplace da AWS, nomeadamente:

[4], [5], [6], [7], [8]

 

O desenho da anatomia de um IDS moderno é conseguido mais ou menos como apresentado no esquema abaixo, tendo em conta que poderá sofrer alterações, dependendo muito da maneira como a ferramenta foi pensada e arquitetada.

 

Os IDSs são desenhados com base nos serviços disponibilizados pelos provedores de Cloud  e representam um misto entre dois tipos de IDSs passivos: em tempo real virtual e indeferido. Eles monitorizam, em tempo real virtual, VMs da infraestrutura, recolhendo todas as métricas de consumo e performance associadas a cada periférico de hardware, nomeadamente o CPU, a memória, o acesso ao disco, network inbound, etc. Também recolhem métricas associadas a configurações de segurança, como configuração de portos de acessos às VMs, depois a mais alto nível e no caso da AWS, os utilizadores com acesso à consola de gestão, rotação de palavras-passe desses utilizadores e suas chaves de acesso (access keys) e também outros serviços específicos de cada provedor. É neste ponto que estes tipos de IDSs se diferenciam daqueles usados de uma forma mais tradicional, que se limitavam, na maioria das vezes, a monitorizar e entregar informação relativa à camada de rede e análise de logs. Hoje em dia, estas peças de software são direcionadas para a Cloud e desenhadas para avaliar as configurações da infraestrutura junto de cada provedor e também entregar à entidade que controla toda a infraestrutura possíveis alternativas com a finalidade de tornar o ecossistema ainda mais seguro.

Em seguida segue uma breve descrição de como os IDSs atuais operam ao nível dos serviços de configuração da AWS.

EC2

As instâncias são monitorizadas em tempo real virtual. Estes IDSs estão apetrechados de soluções de monitorização em tempo real ao nível dos componentes mais físicos, e.g., CPU e memória, e também do tráfego de rede de um modo mais virtual (tipicamente só notificam depois do ataque ter acontecido). Neste caso recolhem essas métricas com base em agentes instalados aquando do IDS. Esses agentes são os referidos HIDS, isto é, IDSs baseados no host.

Cloud Trail

Neste serviço o IDS recolhe informação relativa aos logs da infraestrutura, chamadas a Application Programming Interfaces (APIs), criação, remoção e alteração de configurações, etc. O IDS torna-se uma peça de software sofisticada entregando uma análise completa da infraestrutura. Por exemplo, disponibiliza informação de quem criou determinada regra de acesso ao porto 22 da instância X.P.T.O.

Virtual Private Clouds (VPCs) e ACLs

Embora constituam atualmente a forma padrão de inicialização de instâncias na AWS, as VPCs frequentemente não são utilizadas como devido. Além disso, muitos administradores que utilizam VPCs, em geral não utilizam adequadamente as network ACLs. Os IDSs possuem um comportamento pró-ativo no seio da infraestrutura, com a capacidade de notificar o administrador de problemas ou eventualmente melhores soluções de configuração.

Grupos de Segurança

Os grupos de segurança servem para abrir portos e acesso a determinadas instâncias ou ELBs. Um mau exemplo de configuração é definir uma regra 0.0.0.0/0 para um porto que roda uma base de dados MySQL apenas para acesso local. Essa base de dados é acedida localmente e está exposta a ataques através da Internet. Outro exemplo, e agora na vertente de uma atividade suspeita, pode ser, por exemplo, quando uma porta está disponível para comunicação apenas durante um período de 30 minutos. Estes IDSs realizam uma monitorização integral a configurações desta natureza.

IAM

Estas ferramentas entregam uma visão global ao nível das permissões associadas a cada utilizador em específico, que políticas estão ou devem estar agregadas a roles (ações), etc. Supondo que existe uma ação com permissão de leitura para determinado bucket no S3 da AWS e a política associada atribui acesso também para remoção. Possivelmente a política que concede privilégios para remoção deve ser negada.

As seguintes características são também parte integrante do IAM, nomeadamente:

Multi-factor Authentication (MFA)

Permite a implementação e configuração de um segundo fator de autenticação  para todo o tipo de acessos à consola de gestão. Esta é uma forma de controlar todos os acessos à infraestrutura de maneira mais restritiva.

(In)atividade de Utilizadores

Os administradores são notificados quando um utilizador acede à infraestrutura por exemplo, passado um longo período de tempo desde o último acesso.

Access Keys

Estes IDSs realizam uma análise bastante granular no que toca a políticas de segurança e chaves de acesso (access keys). Se determinada chave não possui um registo de atividade no último ano, provavelmente deve ser eliminada. Pelo contrário, se passado um ano da sua criação é usada por qualquer motivo, o administrador deve ser alertado de uma possível atividade maliciosa.

Rotação de Palavras-passe

São gerados alertas quando um utilizador não altera a sua palavra-passe de acesso à mais de “n” dias. A configuração deste tipo de políticas também é de fácil implementação.

Estes IDSs estão apetrechados com inteligência para notificar prontamente o administrador relativamente  à ativação de todos os serviços críticos de segurança, ou parte deles, e também produzir uma monitorização ao nível das políticas de segurança, de forma a melhorar e maximizar a segurança da infraestrutura.

Eles são classificados como IDSs passivos, isto é, não têm capacidade para responder a ataques maliciosos, eles apenas notificam essas ocorrências. De referir ainda que, tal como nos IDSs mais tradicionais, o envio de alertas para os administradores ou entidade que gere parte do sistema é geralmente conseguido com base em dashboards que apresentam todo o tipo de monitorização descrita ao longo do artigo. Como exemplo é apresentado, em seguida, o dashboard relativo ao IDS Alien Vault.

De um modo geral, este artigo descreve aquilo que são as soluções mais atuais no que toca à monitorização de IaaS na Cloud com base em sistemas de deteção de intrusões (IDSs).

Fica também o endereço para uma demo do IDS Alien Vault disponibilizada pelo próprio provedor do serviço.

De referir que este artigo foi inicialmente distribuído num outro blog.

Referências

[1] https://aws.amazon.com/pt/security/security-resources/

[2] https://aws.amazon.com/pt/security/introduction-to-cloud-security/

[3] https://tools.ietf.org/html/rfc793

[4] https://www.alertlogic.com/

[5] https://www.alienvault.com/

[6] http://www.trendmicro.co.uk/

[7] https://www.cloudpassage.com/

[8] https://www.sophos.com/en-us.aspx