Defesa Cibernética: é possível ser proativo?
O forte crescimento de ameaças à segurança do espaço cibernético, seja em infraestruturas críticas, militares, sistemas de comunicações do governo, sistemas financeiros, sistemas de informações empresariais e outros, tem ampliado a necessidade de uma nova geração de armas de defesa cibernética.
Pedimos licença para usar o termo “arma”, pois tem sido cada vez mais comuns as notícias de uso do ciberespaço como ambiente propício para ameaças a soberania, em ações provindas de estruturas organizadas por outros países, configurando um verdadeiro cenário de guerra.
À medida que novos métodos de ataque se tornam mais sofisticados e persistentes, os esforços de detecção e correção tradicionais são ultrapassados, não só colocando a segurança de ativos críticos em perigo, como ameaçando a segurança das infraestruturas críticas - incluindo redes de distribuição de energia elétrica, petróleo e gás, sistemas financeiro, transporte, dentre tantos outros serviços aos cidadãos e às Nações.
Soluções clássicas de defesa tendem a ser rígidas e inflexíveis frente a este novo cenário. Ferramentas tradicionais como firewalls, sistemas de detecção de intrusão e os honeypots (“alçapões”) podem ser facilmente identificados, ignorados e contornados. Para fazer frente a este novo espectro de ameaças os sistemas de defesa cibernética devem tentar ocupar uma posição anterior em relação ao antigo modelo de proteção.
Esse cenário nascente requer novas capacidades de monitoramento altamente inteligente e sistemas de resposta que detectem proativamente quando a segurança está para ser violada e, de maneira automatizada, proporcionem proteção aos ativos antes que algum dano seja ocasionado.
Defesa Cibernética Proativa, esse novo ramo, lança mão de muitas áreas de apoiocomo estatística, mineração de dados e textos (para lidar com logs), aprendizado de máquina, inteligência computacional, dentre outras, tomando emprestadas técnicas de linguística computacional, de inferência estatística, de modelagem comportamental, de boosting, de correlação e outras formas de análise de dados históricos e em tempo real, transformando-os em conhecimento útil e acionável.
A dificuldade da predição
É bastante comum vermos atualmente modelos de predição que funcionam com relativa precisão, capaz de proporcionar conforto (ainda que subjetivo) aos que fazem uso dos resultados da previsão. Os modelos mais comuns talvez sejam os de previsão climática.
Porém, como modelar o caos da natureza não é uma tarefa lá muito fácil, dependem de recursos intensivos de processamento sendo, portanto, um problema delegado à Supercomputadores (HPC – High Performance Computing [1]). Este é um caso particular de predição onde os resultados não precisam ser imediatos.
Um modelo de previsão climática [2] visa a predizer condições dentro de uma janela de tempo que, conforme a distância desde o momento atual, pode ser mais fácil (futuro próximo) ou mais difícil (futuro distante). Para prever o futuro é imprescindível que haja tempo hábil para executar o modelo e obter os resultados antes que este futuro a ser previsto se torna a realidade do presente. Não existe sentido prático em levar dois segundos para prever o próximo segundo.
Então como fazer previsão em situações de “tempo quase real”? Obviamente que este tipo de previsão não existe sem o prévio armazenamento de algum histórico de dados e, até, de cálculos. Assim, o que normalmente ocorre, a cada novo evento, é o disparo de uma nova execução do modelo e o cálculo dos resultados de forma incremental, interagindo com os dados que continuam entrando.
Uma aplicação bastante interessante que segue esta sistemática incremental é a dos algoritmos que sugerem filmes aos usuários do Netflix [3]. O sistema prevê e sugere filmes seguindo o perfil de consumo dos filmes anteriores cada nova escolha realimenta os dados de previsão para a próxima oferta. A Netflix promoveu um concurso de âmbito mundial [4], para selecionar os melhores algoritmos de filtragem colaborativa que se adequassem à previsão de avaliações que os usuários fariam aos filmes.
Muitos são os métodos de predição [5] e, normalmente, é a conjunção de mais de um deles que torna os modelos de previsão mais poderosos. Seja pelo uso da estatística, dos processos estocásticos, passando pelo aprendizado de máquina e simulação, cabe usar toda sorte de técnicas potencialmente preditivas, incluindo até um acelerador de partículas como o interessante experimento realizado para prever as tendências de aquecimento global [6].
Até a Google, por exemplo, está investindo em serviços de predição e já soltou no mercado a sua API [7], com direito a teste gratuito.
Previsão empregada na proteção de ativos cibernéticos
Os métodos principais de previsão empregados em Defesa Cibernética seguem uma linha semelhante ao filtro colaborativo usado no Netflix.
A partir de uma linha base de informações sobre ataques prévios, busca predizer comportamentos de ataque similares no futuro. Normalmente emprega aprendizado de máquina para fazer classificação com base em comportamentos da rede que possam ser considerados maliciosos ou não.
O método chamado Early Warning (EW), foi originalmente criado para detectar indícios previamente. O EW foi empregado para prever abalos sísmicos e a ideia é tão clara quanto o nome, ”alerta precoce“, que pretende emitir um aviso prévio a partir de indícios que considera como fortes.
O Governo Americano adotou esta ideia como abordagem para montar um plano nacional de defesa cibernética, desdobrando-se desde os níveis estratégicos, com ações políticas, até os níveis operacionais com uso de tecnologia. O conceito-chave do plano era a existência de uma Rede Federal de Detecção de Intrusão (FIDNet – Federal Instrusion Detection Network), desenvolvida a partir das necessidades da segurança nacional de se proteger as infraestruturas críticas do país [8].
Nos EUA, durante o governo de Bill Clinton foi criada a Comissão Presidencial de Proteção às Infraestruturas Críticas (PCCIP – Presidential Commission Critical Infrastructure Protection), provida de meios para monitorar as redes de infraestruturas críticas nacionais.
A capacidade de monitoramento e detecção não estavam propriamente na leitura de todos os dados que trafegavam na rede, mas sim na observação de comportamento anormal a partir de uma linha base (baseline) de atividade pré-definida na rede mantidas condições normais de operação. Um vez estabelecida a baseline a rede era então monitorada em tempo real para identificação de padrões anormais de atividade.
A PCCIP começou a trabalhar como modelos estatísticos para "estabelecer perfís" (profiling), registrando análises de características psicológicas e comportamentais de pessoas, sendo a principal fonte de informação as chamadas telefônicas.
Gigantescas bases de dados foram criadas para registrar a data/hora, origem/destino e duração das chamadas. As chamadas internacionaiseram sempre confrontadas com o perfil normal de uso dos consumidores, identificados no banco de dados.
Obviamente que os modelos foram evoluindo em sua capacidade de análise, bem como na condição de obtenção de outras fontes (e-mails, mensageria do telefone, Skype, Messenger, dentre outros), o que mais tarde foi inclusive denunciado por Edward Snowden.
Durante o período da iniciativa de Clinton até os dias atuais, muita gente estudou o emprego de técnicas EW para emprego em ciberdefesa, principalmente com informação advinda de redes sociais [9], fonte riquíssima para atividades de inteligência.
As oportunidades mais flagrantes de defesa cibernética nas organizações, hoje, recaem na capacidade de monitoramento em tempo real, associada à observação do contexto histórico da operação, batizado com a alcunha de Processamento de Eventos Complexos (CEP - Complex Events Processing).
Aproveitamos o ensejo para nosarriscarmos a dizer que o termo mais adequado devesse ser Processamento Complexo de Eventos. O motivo ficará mais claro quando apresentarmos a aplicação prática mais atual do modelo CEP na defesa cibernética, os SIEM (Security Information Event Manager) [10], resultado da agregação de diversos tipos de software voltados para segurança integrando tecnologias ligeiramente diferentes, porém complementares.
Tudo começou com os LMS (Log Management System), que coletam e armazenam arquivos de log de sistemas operacional e aplicações hospedadas em locais diversos e, por intermédio de um sistema centralizado oferecem recursos para se fazer gerenciamento dos logs [11].
LMS era um sistema com viés mais administrativo do que necessariamente de segurança. Porém, logo na sequência, surgiram SLM (Security Log Manager) e os SEM (Security Event Manager) [12], que não são mais do que LMS com foco na segurança.
Surgiram também alguns chamados de SIM (Security Information Manager) [13], que são gerenciadores de ativos semelhantes aos anteriores capazes de incorporar informações de outros sistemas de segurança, como por exemplo listas de vulnerabilidades ou alertas de sistemas de antivírus ou de sistemas de detecção de intrusão.
Posteriormente foram incorporadas funcionalidades de correlação entre eventos de logs distintos, em forma de componentes associados aos sistemas anteriores ou como forma de sistema independente conhecido como SEC (Security Event Correlation).
Foi então que começaram a surgir os primeiros sistemas conhecidos como SIEM, que conforme já mencionado, engloba todas as funcionalidades já descritas dos outros sistemas.
Um SIEM é capaz de agregar informações advindas de diversos dispositivos de controle de segurança. Não precisa interpretar protocolos e endereçamento IP, mas é capaz de entender os logs gerados por um sistema de detecção de intrusos que interprete os protocolos. Não precisa monitorar acessos aos dispositivos, mas é capaz de entender eventos gerados por estes dispositivos a cada tentativa errada de acesso.
Não precisa acompanhar os eventos de falhas na infraestrutura ou nos serviços das aplicações, mas é capaz de incorporar seus logs à sua base de dados e realizar uma análise conjunta de todos os sistemas. Seu papel é realizar uma análise cruzada de eventos gerados por sistemas diferentes e estabelecer critérios especiais de alarme tudo sobre uma mesma interface.
Resumindo, um SIEM faz, de maneira automatizada, o trabalho que um ou mais analistas deveriam fazer utilizando sistemas diferentes para executar a tarefa de análise.
Conforme mencionamos anteriormente, sobre a motivação para redenominação do termo CEP, facilmente se verifica que o processamento e que é complexo. Os eventos podem ser simples e, mais ainda, de qualquer natureza. O mesmo motor empregado no SIEM pode ser utilizado para eventos de negócio de qualquer tipo. Neste caso estaríamos chamando genericamente (e conceitualmente) de BIEM (Business Information Event Management).
Hoje em dia, um novo olhar tem sido lançado sobre as formas de se defender de ameaças cibernéticas. Grande interesse tem sido demonstrado em se desenvolver métodos proativos de Defesa Cibernética, nos quais as estratégias dos atacantes sejam antecipadas e estas percepções são incorporadas aos projetos de defesa.
Porém, como qualquer forma de predição, demanda de forte embasamento científico para que não seja relegada e receba a pecha da ciência da adivinhação (Voodoo Science, termo cunhado por Robert L. Park [14]).
O caminho mais utilizado atualmente é o emprego de um modelo baseado no reforço de evidências. Nele parte-se de um ou mais eventos associados e com base em refinamentos e análises cada vez mais especializadas conclui-se sobre a situação e avaliam-se os impactos. Na medida em que os eventos vão ocorrendo, vão sendo comparados com uma linha base de comportamento dos sistemas, ao mesmo tempo em que vão sendo associados a outros eventos também percebidos em tempo real.
O segredo atual do arsenal de defesa cibernética então estaria na habilidade de fundir dados históricos e eventos em tempo real, realizando uma análise capaz de extrair conhecimento útil e acionável ao disparo de contramedidas proativas de proteção dos ativos cibernéticos.
Será que o segredo da proatividade é realmente apenas este? A melhor reposta para todas as perguntas também é para esta: depende!
Prever que um avião irá atingir uma das torres gêmeas quando já se observa o avião descendo com o nariz apontado para o prédio pode não ser efetivo. E com base no histórico de que um avião já atingiu uma das torres e tendo um evento já disparado de que existe outro avião nas proximidade que está fora de sua rota normal?
A ideia é se antecipar? Então, com o perdão do pleonasmo, que a antecipação seja bem antecipada! Respondendo a pergunta do título: sim, é possível. Mas quanto?
[1] Weather forecasting, from Wikipedia - the free encyclopedia (em 09.06.2015):
http://en.wikipedia.org/wiki/Weather_forecasting
[2] Supercomputer, from Wikipedia - the free encyclopedia (em 09.06.2015):
http://en.wikipedia.org/wiki/Supercomputer
[3] The Science Behind the Netflix Algorithms That Decide What You’ll Watch Next (em 09.06.2015):
http://www.wired.com/2013/08/qq_netflix-algorithm/
[4] Netflix Prize, from Wikipedia - the free encyclopedia (em 09.06.2015):
http://en.wikipedia.org/wiki/Netflix_Prize
[5] Forecasting, from Wikipedia - the free encyclopedia (em 09.06.2015):
http://en.wikipedia.org/wiki/Forecasting
[6] Cloudy climate change: How clouds affect Earth's temperature – TED Ed Lessons Worth Sharing (em 09.06.2015):
http://ed.ted.com/lessons/cloudy-climate-change-how-clouds-affect-earth-s-temperature-jasper-kirkby
[7] Prediciton API: Google’s machine learning algorithms to analyze data and predict future outcomes using a familiar RESTful interface (em 09.06.2015):
https://cloud.google.com/prediction/
[8] Proactive Defense for Evolving Cyber Threats, Richard Colbaugh and Kristin Glass - Sandia National Laboratories.
[9] Federal Intrusion Detection, Cyber Early Warning and the Federal Response (em 09.06.2015):
http://www.sans.org/reading-room/whitepapers/warfare/federal-intrusion-detection-cyber-early-warning-federal-response-1095
[10] Security Information Event Manager, from Wikipedia - the free encyclopedia (em 16.06.2015)
https://en.wikipedia.org/wiki/Security_information_and_event_management
[11] Log Management, from Wikipedia - the free encyclopedia (em 16.06.2015)
https://en.wikipedia.org/wiki/Log_management
[12] Security Event Manager, from Wikipedia - the free encyclopedia (em 16.06.2015)
https://en.wikipedia.org/wiki/Security_event_manager
[13] Security Information Manager, from Wikipedia - the free encyclopedia (em 16.06.2015)
https://en.wikipedia.org/wiki/Security_information_management
[14] Simple Event Correlator - Best Practices for Creating Scalable Configurations, Risto Vaarandi, Bernhards Blumbergs and Emin Çalışkan
http://ristov.users.sourceforge.net/publications/cogsima15-sec-web.pdf
[15] Voodoo Science, from Wikipedia - the free encyclopedia (em 09.06.2015)
http://en.wikipedia.org/wiki/Voodoo_Science