Jump to content
       (0 reviews)

    Leandro Fróes
     Share

    Se você é da área de Segurança da Informação ou simplesmente tem interesse pelo assunto já deve ter notado que todo dia temos notícias de novos malwares surgindo, sejam eles malwares completamente novos ou variantes de um malware já conhecido. Com isto em mente, faz algum tempo que as empresas de segurança, inteligência e até mesmo pesquisadores independentes passaram a buscar métodos de automatizar não só a análise destes malwares, mas também a administração e armazenamento do arquivo em si, suas características e relacionamentos com outros arquivos demais entidades (domínios, campanhas, endereços IP, etc). Obviamente a análise automatizada não substitui a análise humana, mas já é uma ajuda e tanto considerando o número de malwares surgindo diariamente.

    Para cada uma destas necessidades descritas anteriormente existe uma ou mais ferramentas/plataformas que podem ser utilizadas para cumprir estes objetivos. Dentre elas estão plataformas de sandboxing  como Hybrid-Analysis e AnyRun, ferramentas de análise estática de arquivos como o DIE (Detect It Easy), pev, yara, capa, e também repositórios de malware como o VirusShare e o Malware Bazaar.

    Não podemos negar que todas estas ferramentas/plataformas ajudam e muito no nosso dia a dia, mas ainda assim não conseguiríamos organizar nossas informações e centralizá-las em um único lugar de forma automática, tendo em vista que as as soluções descritas acima são isoladas e não conectam umas com as outras de forma nativa. A plataforma que chegou mais próximo de atingir as quatro exigências (isto é: análise automatizada, administração, armazenamento, relacionamento com demais entidades) foi uma plataforma chamada Virus Total, também conhecido como VT, atualmente administrado pelo Google.

    Virus Total

    O Virus Total trouxe para a comunidade uma forma simples e rápida de análise de IoCs (Indicator of Compromise) e também uma API bem simples de se utilizar para fins de automação. Dentre as diversas funcionalidades da plataforma estão inclusas análise estática, checagem de assinatura utilizando uma lista gigantesca de Anti-Virus, descrição das características gerais do IoC e comentários da comunidade. Além disso, ele também possui uma versão paga (bem cara por sinal) onde você pode fazer hunting de malwares utilizando regras de Yara, download de arquivos, buscas baseadas em histórico, visualização gráfica e uma API bem mais robusta e permissiva.

    É importante deixar claro que o termo IoC não se refere apenas à arquivos e seus hash, mas também à URL, domínios e IP. Ou seja, o VT realmente acaba se tornando uma opção super viável para começar qualquer tipo de investigação.

    O cenário atual de Segurança da Informação

    Com o passar do tempo não só a comunidade, mas também o mercado de Segurança da Informação no geral passou a notar que a única forma de se posicionar contra os ataques atuais é através de contribuição. Pelo mesmo motivo que gerou a necessidade de se criar formas automatizadas de análise, a contribuição se mostra cada dia mais que necessária pois ela não impõe limites, muito pelo contrário, ela dá liberdade o suficiente para você contribuir da forma que quiser.

    Um ótimo exemplo que mostra o exercício da contribuição e o quão valioso isto pode ser é o próprio Linux, que desde sua primeira versão foi liberado para receber contribuições e hoje é um dos maiores projetos existentes na área de tecnologia, com milhares de contribuidores ao redor do mundo.

    Com isto em mente, podemos notar uma desvantagem no VT: o espaço para contribuição é limitado.

    Desafios

    Como já comentado anteriormente, as principais funcionalidades são suportadas apenas na versão paga e infelizmente não são todos que podem pagar pelo valor do serviço.

    Um dos principais motivos dessa limitação é fato do código não ser aberto, isto é, estamos presos às funcionalidades que o time do VT disponibiliza. Se o código fosse disponível para a comunidade, resolveríamos tanto o problema monetário quanto a limitação de funcionalidades disponíveis.

    Uma outra porta que seria aberta no cenário descrito acima é a seguinte: Imagine que você, sua empresa, seu time ou um grupo de amigos estão com um projeto em mãos que envolve análise, classificação, categorização ou qualquer tipo de manipulação de malware. Com o código em mãos você teria liberdade de fazer a instalação da plataforma localmente ou em um servidor do qual você controla, limitando o acesso à quem você quiser e como quiser.

    A comunidade

    Tendo estes desafios em mente, a comunidade começou a criar alternativas para resolver alguns problemas encontrados no cenário atual. A ideia do artigo não é de forma alguma dizer que uma plataforma é melhor que outra ou que o Virus Total está errado em trabalhar no modelo que trabalha, muito pelo contrário, o objetivo aqui é mostrar as várias formas que temos de se chegar no mesmo objetivo. Uns mais flexíveis, outros com mais conteúdo disponível, mas todos conseguem te ajudar a chegar no mesmo lugar:

    • Saferwall: Este é o projeto mais maduro que temos atualmente quando o assunto é análise automatizada e contribuição da comunidade. Robusto e flexível para ser instalado em  diversos ambientes, o Saferwall consegue entregar informações estáticas de arquivos, detecções baseadas em assinaturas de alguns antivírus, identificações de packers e download dos arquivos submetidos anteriormente. Além disso, o Saferwall possui uma plataforma aberta e que aceita colaboração, além de disponibilizar o código para você instalar onde e como bem entender. Dentre as formas de instalação estão inclusas o minikube (indicado para ambientes de testes), em nuvem utilizando AWS e On-Premise.

    image.thumb.png.98b1b160e77156aae424941f948b5a16.png

    image.thumb.png.25491adee63ca51a57d1e82152ca3b88.png

    image.thumb.png.91fbf4e8b23e437352b43a59c8bdbf3f.png

    • Freki: O projeto Freki foi criado por uma única pessoa, mas não deixa a desejar quando o assunto é funcionalidade e fácil instalação. Com possibilidade de ser instalado utilizando Docker, este projeto possui não só análise estática dos arquivos PE submetidos, mas também disponibiliza sua própria API e puxa informações do VT para garantir que não falte nada.

    image.thumb.png.eb6f1b93f01c33017fbf00bb6f6544fa.png

    image.thumb.png.e47d9234786d6d575f8860c0afc3ef71.png

    image.thumb.png.36bd89438287020f80baa3995535b627.png

    • Aleph: focando bastante na parte de inteligência, o projeto Aleph entrega para você não só informações estáticas dos arquivos submetidos, mas também análise dinâmica utilizando sandbox, visualização gráfica dos resultados e uma saída em JSON formatada para ser utilizada em backends como Elasticsearch, por exemplo. Além disso, o Aleph também consegue mapear as técnicas utilizadas pelo malware utilizando o MITRE ATT&CK Framework. Eu realmente aconselho você dar uma olhada na palestra da MBConf v3 sobre o Aleph para saber mais sobre o projeto.
       

    image.thumb.png.a2e523fdc3523e90ddf7f2743823d0ed.png

    image.thumb.png.8e977208dbdb6de411fb1ac143fefaf2.png

    image.thumb.png.6e86b9f3e6507f4ceaa0357a203a7fd1.png

    A tabela à seguir foi criada para facilitar a visualização das funcionalidades descritas acima. É importante deixar claro que a versão do VT utilizada para a criação da tabela é a gratuita:

     

     

    VirusTotal

    Saferwall

    Freki

    Aleph

    Análise Estática

    ✔️

    ✔️

    ✔️

    ✔️

    Análise Dinâmica

     

    X

     

    ✔️

     

    X

     

    ✔️

     

    Suporte à múltiplos SO

    ✔️

     

    ✔️

     

    X

     

    ✔️

     

    Análise de IoC de rede

    ✔️

     

    X

     

    X

     

    X

     

    Código Aberto

    X

     

    ✔️

     

    ✔️

     

    ✔️

     

    Download de arquivos

     

    X

     

    ✔️

     

    ✔️

     

    ✔️

     

    Instalação local

    X

     

    ✔️

     

    ✔️

     

    ✔️

     

    Controle total do backend

    X

     

    ✔️

     

    ✔️

     

    ✔️

     

    API

     

    ✔️

     

    ✔️

     

    ✔️

     

    X

    Como podemos ver, todos estes projetos são de código aberto, o que permite a seus usuários livre contribuição. Caso você tenha interesse em contribuir para alguns desses projetos, aqui vai uma dica: nenhum deles possui ainda análise de URL/IP/domínio de forma isolada, isto é, independente do arquivo. Tenho certeza que uma contribuição deste tipo seria bem vinda. ?

    Conclusão

    Ajudando estes projetos nós não só melhoramos a ferramenta/plataforma em si, mas ajudamos todos que a utilizam e também construímos um sistema livre e aberto de análise, inteligência e investigação.

    Se você é da área ou simplesmente curte contribuir, não deixe de dar uma olhada em cada um destes projetos e, se possível, contribuir com eles. Lembrando que quando falamos de contribuição, não há limites. Pode ser um commit, uma ideia, ajuda monetária ou um simples OBRIGADO aos desenvolvedores e contribuidores por disponibilizarem projetos tão úteis para a comunidade.


    Revisão: Fernando Mercês
     Share


    User Feedback

    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest

    • This will not be shown to other users.
    • Add a review...

      ×   Pasted as rich text.   Paste as plain text instead

        Only 75 emoji are allowed.

      ×   Your link has been automatically embedded.   Display as a link instead

      ×   Your previous content has been restored.   Clear editor

      ×   You cannot paste images directly. Upload or insert images from URL.


  • Similar Content

    • By Fernando Mercês
      No últmo artigo falei sobre como montar uma máquina virtual básica para ER em Windows. Agora chegou a vez do Linux, já que o mundo não é feito só de PE. 🙂
       A ideia aqui é montar um ambiente legal para reverter binários ELF. Dá uma olhada neste vídeo (em tela cheia de preferência) pra ter uma ideia do poder dessas ferramentas:
      Legal né? Então mãos à obra!
      Máquina virtual
      1 GB de memória Placa de rede em modo NAT Sistema operacional
      Utilizo a ISO netinstall do Debian 64-bits, mas como sempre você é livre para utilizar a distribuição que quiser, só que este artigo é escrito com base nesta. 😉
      Algumas dicas de instalação:
      Não utilizar seu nome verdadeiro na criação da conta de usuário. Não instalar as extensões do software virtualizador como VMware Tools ou VirtualBox Guest Additions. Não configurar nenhuma regra de firewall ou qualquer software de proteção. /etc/apt/sources.list
      Eu deixo do seguinte jeito:
      deb http://deb.debian.org/debian/ testing main contrib non-free deb-src http://deb.debian.org/debian/ testing main contrib deb http://security.debian.org/debian-security testing-security main contrib non-free deb-src http://security.debian.org/debian-security testing-security main contrib O importante aqui é ter o contrib non-free após o main, já que alguns programas como o rar não são livres.
      Depois de configurado este arquivo, é bom atualizar os pacotes existentes:
      # apt update # apt upgrade -y Instalação de software
      Agora é hora de instalar os pacotes necessários:
      # apt install man gdb binutils vim strace ltrace ht build-essential tcpdump unhide foremost sudo p7zip-full rar unrar fasm gcc-multilib git file zip unzip python3-pip GEF
      Este é um plugin para o GDB que adiciona muitos recursos:
      # pip3 install capstone keystone-engine unicorn ropper # git clone https://github.com/hugsy/gef.git # echo "source $PWD/gef/gef.py" >> ~/.gdbinit Observações finais
      Após instalar todos os softwares, é de extrema utilidade criar um snapshot da máquina virtual, pra você voltar facilmente a este estado limpo após analisar um arquivo suspeito, por exemplo. Não precisa instalar um ambiente gráfico. Existe uma distribuição Linux chamada REMnux com foco em engenharia reversa, se você preferir.
    • By Mente Binaria
      O que faz?
      Toda a informação provida por diversas áreas faz sentido quando é transformada em inteligência. A pessoa profissional desta área classifica, entende, monitora de perto e investiga ameaças na área de Segurança da Informação, seja de forma reativa ou proativa.
      Que tipo de empresa contrata?
      Empresas fabricantes de software/hardware de segurança, resposta à incidentes e empresas de Inteligência de ameaças costumam ser as que mais tem olhos para tais profissionais.
      Materiais obrigatórios
      Engenharia Reversa Python C/C++ Análise de logs Infraestrutura Banco de dados Materiais desejáveis
      Web  
       
    • By Fernando Mercês
      Versão 0.1 do nosso livro "Fundamentos para Engenharia Reversa", também disponível online.
    • By Bruna Chieco
      Para que a proteção de sistemas de uma empresa funcione, é preciso fazer a avaliação sobre sua segurança, e para que isso seja bem feito, depende da atuação de dois profissionais: os que trabalham fazendo ataques simulados para medir a força dos recursos de segurança existentes em uma organização, e os que identificam como proteger as áreas que precisam de melhoria e estão mais expostas a esses riscos. São eles que compõem as equipes conhecidas como Red Team e Blue Team, respectivamente.
      Normalmente, o que vemos é que Red Team, a área de pesquisa ofensiva, é muito sedutora, sempre mostrada nos filmes ou na mídia, com hackers invadindo sistemas e conseguindo encontrar e explorar vulnerabilidades. O que sabemos é que esse trabalho é muito importante, sim, para ajudar as empresas a saberem onde estão suas possíveis falhas e, assim, protegê-las. É aí que a equipe de defesa, ou o Blue Team, entra. Mas nem sempre ouvimos falar tanto sobre a atuação desses profissionais. "Fazer um vírus que um antivírus não pega é muito fácil. Eu quero ver fazer um antivírus que pegue todos os vírus. Esse é o desafio real", diz Fernando Mercês, pesquisador na Trend Micro e fundador do Mente Binária.
      A segurança ofensiva fica ainda mais "glamourizada" com a quantidade de programas de bug bounty, ou caçadores de recompensa, que hoje existem oferecidos por empresas que querem estimular pesquisadores a encontrar possíveis vulnerabilidades em seus sistemas em troca de uma boa quantia em dinheiro. Mas nem sempre quem vai participar possui tantas habilidades técnicas a ponto de encontrar falhas que realmente impactem o negócio de uma empresa.
      "A importância desse trabalho [de pesquisa ofensiva] para as empresas depende muito do que o pesquisador quer fazer com o achado (vulnerabilidade)", diz Joaquim Espinhara, líder do time de Red Team & Adversarial Simulation na Tesserent. Para ele, a importância deste profissional para a segurança das empresas está sujeita à motivação do próprio pesquisador.
      Espinhara destaca que alguns profissionais que procuram por vulnerabilidades em softwares, depois de provar que é possível explorá-lo, acabam vendendo-a para alguma empresa ou governo que vai usar para fins de espionagem, ao mesmo tempo que pesquisadores normalmente encontram uma falha em um site/aplicação de uma empresa e decidem reportá-la, seja por recompensa ou não. Tem ainda o perfil do pesquisador que coleciona falhas, mostrando-as aos amigos para ganhar os chamados "street credits" – ou seja, pontos por ter feito algo considerado legal ou impressionante.
      Habilidades da pesquisa ofensiva – O conhecimento técnico que o pesquisador deve ter para buscar vulnerabilidades também depende do tipo de falha que ele está procurando, e onde está procurando, diz Espinhara. "Existem muitas classes diferentes de vulnerabilidades. Normalmente o que eu vejo no Brasil e na bolha do bug bounty são falhas relacionadas a aplicações web (SQL Injection, Cross-Site Scripting, File Include, etc)", destaca. 
      Ele ressalta que existem outras vertentes de pesquisa de falhas em sistemas operacionais e software nativos, ou mais recentemente pessoas que estão focadas em blockchain e smart contract security. Na sua visão, os programas de bug bounty são válidos para que pesquisadores tenham opções de rentabilizar o esforço em achar determinada vulnerabilidade. "Empresas deveriam (e até acontece) recompensar de acordo com o impacto da vulnerabilidade ao negócio", avalia Espinhara.
      Mas ele pontua que este mercado, no Brasil, ainda não é tão atrativo, em especial por conta da desvalorização do real perante o dólar. "Normalmente as empresas pagam o bounty em dólar americano. Algumas já se adaptaram a isso no Brasil, mas ainda não é a maioria. Normalmente, quanto maior a recompensa em um programa de bug bounty maior será a quantidade de pesquisadores mais habilidosos/experientes reportando", diz.
      Espinhara começou a atuar na área ofensiva há bastante tempo e já tem mais de 10 anos de experiência. "Assim como muita gente na área, eu fiz o caminho padrão: entrei na universidade (que não concluí), comecei a fazer alguns estágios e em um deles fiquei alocado na área de segurança de redes. Foi um caminho sem volta", conta. 
      Atacar só se for para defender – Espinhara pontua que existe uma má interpretação sobre o que é, de fato, o Red Team. "Conversando com alguns amigos que atuam nesta área de verdade no Brasil, eles me falam que o maior desafio é explicar que Red Team não é apenas um pentest com mais dias de execução", diz.
      Para explicar a melhor definição para Red Team, Espinhara utiliza uma citação de Joe Vest and James Tubberville no livro Red Team Development and Operations: A practical guide: "Red Teaming é o processo de usar táticas, técnicas e procedimentos (TTPs) para emular uma ameaça do mundo real, com o objetivo de medir a eficácia das pessoas, processos e tecnologias usadas para defender um ambiente". 

      "O nosso trabalho é preparar o Blue Team para responder a ameaças reais. Ou seja, sem Blue Team não existe Red Team" – Joaquim Espinhara 
       
      Assim, ele avalia que um dos objetivos do Red Team é mostrar para o Blue Team a perspectiva de um atacante. "O Blue Team faz uma 'leitura' dessa simulação e se prepara para responder a ameaças iguais ou semelhantes em termos de TTPs", diz. "Red Team e Blue Team têm que trabalhar juntos. Por exemplo, aqui na empresa nós só realizamos exercícios de Red Team se o cliente tiver um Blue Team. O nosso trabalho é preparar o Blue Team para responder a ameaças reais. Ou seja, sem Blue Team não existe Red Team". 
      Essa também é a visão de Thiago Marques, Security Researcher na Microsoft. Segundo ele, as duas áreas trabalham juntas, apesar de alguns grupos manterem uma certa rixa. "O Red Tem dá muita informação de como proteger. Eu vejo como duas áreas que realmente se completam", avalia. 
      Ele pontua, contudo, que é comum ver pessoas mais interessadas pela área ofensiva, por ter uma idealização sobre conseguir invadir um sistema e quebrar proteções. "Já na parte defensiva, poucas pessoas veem o trabalho do pesquisador, e quando veem é porque você não conseguiu proteger", destaca Thiago. Na sua visão, o lado negativo é que existem muitas pessoas que se intitulam profissionais ofensivos, mas somente executam scripts.
      Oportunidades na área defensiva – Thiago Marques diz que as oportunidades para quem quer atuar com pesquisa defensiva no Brasil são grandes. Isso porque muitas vezes empresas estrangeiras veem a necessidade de ter pessoas que entendam sobre o ecossistema brasileiro para monitorar e se defender de certos ataques. "Por anos o Brasil tem estado no topo de ameaças, principalmente financeiras, com malwares feitos aqui. E a dificuldade de empresas de fora é que tudo é feito em português. Isso gera uma barreira, porque um estranegito olha uma ameaça específica do Brasil e não consegue entender exatamente o que está acontecendo", conta. 

      "Há profissionais bem habilitados no mercado para realizar pesquisas defensivas, mas nem sempre eles são vistos" – Thiago Marques
       
      Um exemplo é uma ameaça comum no Brasil que envolve boletos. "Um estrangeiro não sabe o que é um boleto. Essa necessidade tem feito com que muitas empresas queiram aumentar a visibilidade dentro da América Latina, buscando profissionais aqui para monitorar e entender esses ataques". Thiago destaca ainda que há profissionais bem habilitados no mercado para realizar pesquisas defensivas, mas nem sempre eles são vistos. "Tem bastante gente boa, que trabalha em qualquer empresa em qualquer lugar do mundo", pontua.
      Segundo ele, para quem quer atuar na parte de defesa, primeiramente é preciso saber analisar malware, ou seja, ter a capacidade de analisar um arquivo. "Isso seria o principal. E para fazer a análise de malware é preciso ter uma noção básica de programação", diz, contando que ele mesmo sempre gostou de programar e começou a fazer isso usando macros do Word. 
      Desde 2007, Thiago é analista de malware, e no ano passado, ele começou a trabalhar na área de proteção da Microsoft, entendendo a forma com que os atacantes usam seus métodos de ataque, e identificando como alertar e bloquear esses ataques, até mesmo aprendendo e tentando prever movimentos que atacantes podem fazer no futuro. "Nunca trabalhei muito na parte ofensiva. Eu escolhi a defensiva porque eu gosto, mas já tive ofertas de trabalho para o Red Team", conta. 
      Thiago ressalta que para aproveitar as oportunidades que a área oferece, as pessoas precisam querer entender como as coisas funcionam. "Os ataques usam sistemas que ninguém está olhando, e é preciso conhecer isso para identificá-los. Ter uma boa base de conhecimento sobre sistema operacional e programação, saber como é o processo entre o que você escreveu até o resultado chegar na sua tela, entender esse fluxo leva tempo, e por isso muita gente acaba pulando essa etapa", diz.  
      Para ele, dedicar um tempo para entender as coisas básicas de funcionamento é essencial antes de focar no que você gosta. "A parte de defesa abrange análise de dados, engenharia reversa, depende muito. Mas ter uma base de como as coisas funcionam vai ajudar em qualquer área", complementa.
    • By Felipe.Silva
      Livro em Português sobre Assembly em constante desenvolvimento. É de autoria do @Felipe.Silva, membro da comunidade aqui! 🤗
×
×
  • Create New...