Todos os artigos > Aplicando o aprendizado de máquina para evitar o novo ataque de phishing: Barra de Inception
Aplicando o aprendizado de máquina para evitar o novo ataque de phishing: Barra de Inception
Recentemente, James Fisher escreveu sobre um simples ataque de phishing, chamado Barra de Inception, criado para usuários móveis do Google Chrome: a rolagem para baixo no aplicativo Chrome em um dispositivo móvel oculta a barra de URL para maximizar o espaço na tela. Fisher demonstrou como um atacante pode simplesmente inserir a imagem …

Aplicando o aprendizado de máquina para evitar o novo ataque de phishing: Barra de Inception

Publicado: 18.06.2019 - 17:02, por eCompare.com.br

<!-- --> Recentemente, James Fisher escreveu sobre um simples ataque de phishing, chamado Barra de Inception, criado para usuários móveis do Google Chrome: a rolagem para baixo no aplicativo Chrome em um dispositivo móvel oculta a barra de URL para maximizar o espaço na tela. Fisher demonstrou como um atacante pode simplesmente inserir a imagem …

<!--

-->

Recentemente, James Fisher escreveu sobre um simples ataque de phishing, chamado Barra de Inception, criado para usuários móveis do Google Chrome: a rolagem para baixo no aplicativo Chrome em um dispositivo móvel oculta a barra de URL para maximizar o espaço na tela. Fisher demonstrou como um atacante pode simplesmente inserir a imagem de uma falsa barra de URL do Google Chrome em qualquer domínio que esteja tentando imitar e, com um pouco de mágica de CSS e JavaScript, enganar o usuário e levá-lo a pensar que está em um site legítimo, como banco.com, em vez de no SiteDePhishing.com.

Como ressalta Fisher em seu post “prova de conceito”, há várias mudanças na interface do usuário que o Google pode fazer para impedir ou pelo menos atenuar essa técnica de phishing – mas, como um experimento mental, vamos imaginar algumas formas de aprendizado de máquina (ML, de machine learning) para detectar e evitar esse tipo de ataque.

Modelando imagens individuais

Uma contramedida eficaz pode ser usar técnicas de visão computacional para classificar imagens individuais. Em particular, ao lidar com imagens, as abordagens de modelagem mais óbvias implicam o uso de redes neurais convolucionais. Redes neurais convolucionais, geralmente chamadas simplesmente de CNNs ou ConvNets, são uma das razões pelas quais o aprendizado profundo se tornou tão popular: as CNNs permitem o desempenho de última geração em várias tarefas relacionadas a imagem, como reconhecimento de objetos, segmentação e legendagem de imagens.

Para abordar o ataque à Barra de Inception, uma abordagem ingênua é tentar o aprendizado de máquina supervisionado para classificar imagens individuais em uma página da Web como benignas ou mal-intencionadas com uma CNN ou outro tipo de classificador. Idealmente, isso identificaria a imagem da barra de URL da barra de início como mal-intencionada. No entanto é questionável se essa abordagem teria taxas suficientemente positivas reais e negativas verdadeiras porque, mesmo para um ser humano, não há nada sobre a imagem da URL da barra de início que pareça particularmente mal-intencionada (na verdade, esse é o ponto principal do ataque). Talvez as imagens de barras de URL sejam raras o suficiente em páginas benignas da Web para que um classificador aprenda que essas imagens são mal-intencionadas, mas isso precisaria ser confirmado por experimentos.

Outra abordagem seria usar modelagem de imagem em um contexto de mineração de dados. Por exemplo, em trabalho publicado anteriormente pela equipe da Cylance Data Science, mostramos como um autocodificador convolucional poderia ser usado para aprender com recursos de imagem para classificação benigna vs. maliciosa. É possível usar um autocodificador convolucional para aprender uma representação compactada de imagens e, em seguida, usar essa representação compactada para procurar imagens semelhantes rotuladas em um banco de dados.

Em outras palavras, pegue cada imagem em uma página da Web, execute-a pelo autocodificador convolucional para obter a representação compactada e, em seguida, verifique seu banco de dados em busca de imagens com uma representação compactada semelhante. Se as imagens semelhantes forem reconhecidas como maliciosas, você pode presumir que a imagem desconhecida também é mal-intencionada. Esse é essencialmente um tipo de classificador de vizinhos mais próximos de k. Fazer vizinhos mais próximos de k em altas dimensões apresenta vários problemas de escalabilidade, mas a pesquisa de imagens em escala é uma área rica de estudo.

Modelando websites holisticamente

Em vez de modelar imagens individuais, uma abordagem mais bem-sucedida poderia ser modelar a página como um todo, incluindo imagens, HTML, JavaScript e CSS. Mais contexto provavelmente ajudaria o modelo a decidir com mais precisão se uma página da Web é benigna ou mal-intencionada.

Assim como na modelagem de imagem, também houve grandes melhorias na modelagem de texto na comunidade de ML nos últimos anos, devido ao sucesso com modelos de aprendizado profundo. E o que são HTML, JavaScript e CSS, senão um monte de dados de texto, certo? Ao aplicar redes neurais recorrentes, redes neurais convolucionais e outras técnicas, poder-se-ia modelar uma página da Web inteira de maneira holística, a fim de classificar a página como benigna ou maliciosa.

Por exemplo, a imagem da Barra de Inception do banco.com pode aparecer em um site de phishing, e o modelo holístico mostraria corretamente que a página da Web é mal-intencionada. Mas, quando a mesma imagem da barra inicial do banco.com aparece no blog de James Fisher explicando o ataque à Barra de Inception, o modelo holístico pode ter contexto suficiente para perceber que a página é benigna, mesmo que tenha a mesma imagem inicial da barra do site de phishing.

Em suma, os avanços no aprendizado de máquina – especialmente aplicações de aprendizado profundo – neutralizarão em breve os ataques da natureza que Fisher descreve em sua prova de conceito, além de trabalhar para minar outras formas de phishing, engenharia social e ataques drive-by.