Esta solução antiphishing em tempo real para macOS leva a detecção baseada em referência a um novo patamar, alertando instantaneamente os usuários de Mac que eles estão em um site de phishing.
Quantos sites de phishing exclusivos foram publicados em 2023? O Antiphishing Working Group
A solução que descrevo abaixo começou como um experimento de prova de conceito em
Os aplicativos antiphishing atuais usam principalmente três métodos de detecção: lista negra, abordagem baseada em classificação e abordagem baseada em referência. Cada método tem suas vantagens, mas todos exigem mais melhorias. Vamos explorar cada um deles.
A abordagem da lista negra é prática e precisa, mas não consegue acompanhar a rapidez com que sites de phishing se espalham. Nem sempre é eficaz, pois novos sites de phishing ainda podem precisar ser adicionados à lista, enquanto os invasores frequentemente alteram URLs para evitar a detecção.
Por exemplo, o Google Safe Browsing usa listas de sites de phishing conhecidos. Quando você tenta visitar um site, ele verifica o endereço em relação a essa lista. Se houver uma correspondência, ele bloqueia o acesso e avisa sobre o perigo. Mas e se o site foi publicado há poucos minutos? Ele não estará na lista, e o usuário ficará preso.
Neste método antiphishing, o machine learning analisa recursos de páginas da web, como estruturas de URL, conteúdo HTML e metadados para determinar se um site é falsificado ou legítimo. A classificação é excelente para extensões de navegador porque aprende com dados do usuário para detectar novos sites de phishing.
A desvantagem aqui é que o aprendizado de máquina requer algoritmos complexos e muitos dados de treinamento, enquanto os cibercriminosos rapidamente inventam novas táticas de ofuscação para evitar a detecção. Isso torna as abordagens baseadas em classificação menos precisas e não ideais para produtos de segurança autônomos.
Algumas das soluções baseadas em referência são consideradas de última geração. Elas usam visão computacional para analisar a aparência de páginas da web e detectar efetivamente sites de phishing. O que também vemos, no entanto, é que as soluções baseadas em referência poderiam ser mais rápidas se não estivessem processando casos de phishing na nuvem.
Há um intervalo de tempo crítico entre um site de phishing ir ao ar e os sistemas de detecção baseados em referência o adicionarem à lista. Queríamos diminuir esse intervalo para garantir detecção e resposta mais rápidas.
Nosso objetivo era alertar os usuários de Mac sobre sites de phishing assim que eles fossem ao ar. Para conseguir isso, adotamos a abordagem baseada em referência e a aprimoramos. Eliminamos o processamento em nuvem e sugerimos fazer todos os cálculos localmente, visando reduzir o tempo de detecção. Como bônus, nossa solução aumenta a privacidade, pois todos os dados do usuário são processados no dispositivo e não vão para nenhum outro lugar.
Construímos um aplicativo macOS nativo usando Swift, incorporando estruturas para
Veja como funciona em poucas palavras.
Quando em um site, nosso aplicativo tenta entender o layout da página. Ele identifica elementos-chave da página, como logotipos, campos de entrada e botões. Para esta tarefa, escolhemos
Nesta etapa, é importante reconhecer o posicionamento dos elementos no site, principalmente a área com o logotipo da marca e os formulários para inserir credenciais.
Em seguida, o protótipo verifica se um logotipo detectado no site corresponde a alguma marca bem conhecida. Além disso, ele compara a URL da página da web com uma lista de referência de sites legítimos. Se o site for oficial, pulamos as etapas seguintes.
Em uma nota lateral, ficamos consternados ao ver quantos domínios oficiais as marcas usam para marketing. Não é de se admirar que sites de phishing sejam tão eficazes em enganar suas vítimas. Por exemplo, a DHL tem vários domínios oficiais como dhl.com, express.dhl, mydhli.com, dhlsameday.com e dhlexpresscommerce.com.
Classificamos a página da web em duas categorias: se ela requer credenciais ou não. Esta etapa verifica se um site de phishing está tentando roubar informações pessoais do usuário.
Na captura de tela, nosso protótipo encontrou campos de entrada de credenciais, atribuiu a página à DHL e verificou a URL em relação à lista de domínios oficiais da DHL. O usuário recebeu um aviso de phishing, pois a página não pertence à DHL.
Nosso sistema mantém ou supera a precisão da linha de base e certamente tem tempos de processamento mais rápidos. Alcançamos uma precisão de 90,8% no reconhecimento de logotipo e 98,1% na detecção de entrada de credenciais.
O gráfico abaixo mostra nosso desempenho em relação a outras soluções antiphishing e como nos comparamos em precisão, recall e taxa de falsos positivos. Detectamos orgulhosamente 87,7% das tentativas de phishing, mantendo a taxa de falsos positivos em baixos 3,4%.
As métricas finais demonstram que nossa solução roda suavemente em segundo plano sem perda perceptível de desempenho. O uso da CPU é mínimo: com oito núcleos no Apple M1 Mac, nosso protótipo usa apenas 16% da capacidade disponível de 800%. Esse nível de consumo é semelhante a três abas ativas do Safari ou uma chamada do Zoom.
Há muitos aplicativos antiphishing no mercado, mas a maioria deles processa dados em servidores externos. Nosso protótipo mostra que o hardware em computadores modernos nos permite trazer modelos de aprendizado de máquina localmente no dispositivo. Podemos usá-los para combater phishing e não nos preocupar com velocidades de processamento e uso de recursos do sistema. Felizmente, o ecossistema da Apple fornece estruturas e ferramentas para otimização.
Autor: Ivan Petrukha, engenheiro de pesquisa sênior na MacPaw Technological R&D, ex-Moonlock.