Apesar da escassez de profissionais de segurança, estamos cada vez mais trabalhando nesta área com diferentes motivações e, com certeza, com diferentes preferências em relação a especialidade escolhida. Ao entrar nesse mundo há todo um universo de assuntos para escolher e aprender. Hoje quero falar sobre cinco desses campos e sobre algumas das ferramentas e técnicas que utilizamos no Laboratório de Investigação da ESET.
No Dia Internacional da Segurança Informática, que é celebrado hoje (30), quero contar tudo o que é necessário saber para escolher sua especialidade e começar a se transformar em um expert.
Vale a penas mencionar a importância de saber sobre a lógica de programação. Considerando que conhecer muitas linguagens de programação pode ser de grande ajuda. Como base, é ideal conhecer alguma linguagem de scripting, sendo Python um dos mais utilizados. Além disso, é necessário estar familiarizado com bash e seus comandos, já que cada vez mais nos encontramos com ferramentas que tem uma interface gráfica, que em muitos casos são executadas por meio de uma consola.
Análise de malware
Nesse campo existe um espectro muito amplo de formas que deveríamos citar, mas hoje só iremos falar de algumas ferramentas que podemos chegar a utilizar para analisar malware que afeta a sistemas operativos Windows e Android.
Para fazer análise dinâmica, é preciso ter um ambiente virtual para executar a mostra e fazer um acompanhamento das ações que serão realizadas no sistema. Apesar que existe uma ampla variedade de ferramentas que podem ser utilizadas, de acordo com as preferências de cada um, há também outras que podem ser escolhidas considerando suas funcionalidades. Por exemplo, Process Monitor permite conhecer ações no registro, sistema de arquivos e conexões de rede. Já para monitorar o tráfego da rede com o objetivo de detectar os endereços de IP são recomendadas ferramentas que se conectam ao malware como Wireshark ou Tshark.
Depois de reunir informação com a análise dinâmica, talvez seja melhor dar um passo a frente e desmontar a amostra para analisar com mais detalhes as ações que realiza. Sem sair do ambiente virtual, podemos utilizar ferramentas como IDA para reconhecer padrões no código, se a ameaça tem algum tipo de proteção.
Não poderia deixar de fora YARA, uma ferramenta bastante poderosa para detectar padrões em análises de diferentes arquivos: seja para detectar a data de compilação de um executável, encontrar informação de geolocalização em imagens ou para a classificação do malware, YARA é um importante aliado para as tarefas que temos no dia a dia.
Apesar da análise do malware no Android merecer um post a parte, vale a pena mencionar ferramentas como apktool para decodificar o arquivo, poder ler o conteúdo e, dessa forma, analisar as permissões que o aplicativo solicita para sua instalação e execução. Também existem outras opções como AppMon, que permite realizar a análise da APK, ou Frida, uma ferramenta de instrumentação dinâmica que pode ser injetada em processos em execução.
Além disso, podemos considerar a Appie, uma ferramenta com uma interface de usuário atrativa e intuitiva que fornece os materiais básicos para começar o estudo de um arquivo APK. Trata-se de uma suíte de ferramentas, cuja portabilidade nos permite montar rapidamente um laboratório de análises em qualquer ambiente operativo Windows.
Ethical hacking
Este é um assunto muito amplo, por isso, irei tratá-lo de forma bastante pragmática, mencionando apenas um póker de ferramentas: as mais básicas e as que são necessárias para manusear se o seu é o ethical hacking e o penetration testing. Para começar, temos NMAP, uma ferramenta para o escâner de redes que permite identificar quais serviços estão sendo executados em um dispositivo remoto, assim como a identificação de equipamentos ativos, sistemas operativos no equipamento remoto, existência de filtros ou firewalls, entre outros.
Por outro lado, está NESSUS, que pode ser utilizado para identificar vulnerabilidades nos Serviços identificados durante o processo de análises. Esta ferramenta possui uma extensa base de dados de vulnerabilidades conhecidas em diferentes serviços e, para cada uma destas, possuem plugins que se executam para identificar se a vulnerabilidade existe (ou não) em determinado equipamento.
Não podemos esquecer da Mestaploit, um framework que nos permite realizar a exploração de vulnerabilidades aproveitando seu amplio arquivo de exploits. E para finalizar o póker, temos o BeEF, outro framework de exploração, mas que é enfocado em navegadores web.
O interessante é que todas as ferramentas podem ser encontradas em distribuições de sistemas operacionais pensados com este objetivo. Uma das mais famosas é sem dúvidas Kali Linux, o sucessor do Backtrack, embora seja possível encontrar outras alternativas gratuitas que tem características semelhantes; no final é uma questão de preferência.
Análise Forense
Algumas vezes, o objetivo das tarefas do especialista em segurança está focado em analisar um ataque informático depois da ocorrência. Com o objetivo de responder perguntas para determinar como e quando ocorreu o incidente, a origem do ataque, se foi exitoso e o alcance do mesmo, há algumas ferramentas que pode ajudar e na maioria dos casos coletar informação que, em seguida, possa ser evidência incontrovertível em processos internos ou inclusive legais.
Continuando as fases que deve seguir toda análise forense digital, podemos utilizar dc3dd, uma ferramenta de cópia bit a bit que inclui certas características que facilitam a aquisição de imagens forenses.
Se a tarefa se trata da análise de imagens de discos, The Sleuth Kit é uma alternativa. Incialmente desenvolvida para plataformas UNIX, esta suíte atualmente se encontra disponivel tambem para OS X e Windows. Além disso, conta com uma interface gráfica conhecida como Autopsy que agrupa todas suas ferramentas e plugins.
E quando se trata de análises forense em ambientes de rede, buscamos capturar tráfego, registros e eventos de rede para descobrir a origem de um incidente ou ataque, ferramentas como NetworkMiner nos pode dar uma mãozinha.
Desenvolvimento seguro
Algo que você deve ter claro é que em segurança informática não existem coincidências, por isso que muitas vezes os incidentes estão relacionados com vulnerabilidades e falhas dentro do software utilizado. É por essa razão que cada vez existem mais profissionais que se interessam pelo desenvolvimento seguro dos aplicativos.
Apesar que existem marcos de trabalho e metodologias muito completas que tentam conseguir um desenvolvimento seguro, existe um modelo muito geral que nos serve para não esquecer os aspectos mais gerais que pode ter. Sua denominação, SD3, vem das siglas em inglês secure by design, by default, and in deployment. A ideia de ter em conta esses três aspectos presentes durante o processo de desenvolvimento é obter sistemas realmente seguros.
Gestão de segurança
Para aqueles que decidem se dedicar à segurança da informação de uma maneira mais holística, é preciso conhecer padrões e normas que podem ser utilizadas dependendo da realidade de cada empresa. Neste aspecto, é minimamente necessário conhecer a ISO 27001, um dos padrões de gestão mais populares. E para complementar a gestão, nos aspectos relacionados com a segurança da infraestrutura não se pode deixar de lado ITIL, um quadro de trabalho que contém as melhores práticas para essa área da empresa.
Na verdade, condensar toda a informação sobre as ferramentas e técnicas para trabalhar com segurança é uma tarefa que não tem fim. De fato, não é a primeira vez que recomendamos por onde começar a aprender e também elaboramos um guia para os que estão iniciando. Tenho a certeza de que deixo muitas opções fora, e nem sequer fui exaustivo com tudo o que chegamos a utilizar no Laboratório da ESET; no entanto, essa é uma revisão de tudo o que se pode encontrar e a ampla variedade de opções que existem para realizar o seu trabalho.