Um keylogger, também conhecido como keystroke logging, é um software ou dispositivo que regista e armazena todos as teclas pressionadas por um utilizador num computador ou dispositivo móvel. As informações obtidas por um keylogger podem ser armazenadas num ficheiro de texto ou na memória do computador, para posteriormente serem enviadas ao servidor de um atacante de diferentes formas.
Embora existam programas desse tipo para usos legítimos, quando são usados para fins maliciosos e/ou sem o consentimento do utilizador, são considerados um tipo de malware dentro da categoria de spyware. Nestes casos, a partir do uso de um keylogger para espionar as conversas, o atacante usará o programa para roubar informações sigilosas, como credenciais para aceder contas através do home banking, conversas de chat, mensagens de e-mail, entre outros tipos de informação pessoal que o utilizador inseriu usando o dispositivo comprometido.
O que um keylogger pode fazer
Os keyloggers foram mudando ao longo do tempo, adicionando ao seu recurso básico de pressão de teclas a capacidade de controlar a câmara do computador da vítima, fazer capturas de ecrã, obter informações da área de transferência (utilitário que permite armazenar temporariamente trechos de texto na memória RAM quando usamos as funções de copiar e colar), ganhar persistência no computador, entre outras opções. Alguns keyloggers também têm a capacidade de gravar chamadas de voz e controlar o microfone do dispositivo.
Quem pode estar a aproveitar-se deste malware?
Os keyloggers são normalmente usados por cibercriminosos para obter credenciais de contas válidas, como e-mail, conta bancária ou detalhes de cartão de crédito, de forma a realizar outros tipos de ataques ou atividades criminosas.
Um utilizador pode ser afetado por um keylogger de diferentes formas. Algumas das formas mais comuns são por intermédio de e-mails de phishing que incluem um anexo que contém a ameaça; através do download de software num site de reputação duvidosa no qual o keylogger foi incorporado; e pode estar presente num site comprometido (javascsript) ou num dispositivo USB, entre outros.
Por sua vez, diferentes malwares foram detetados, como Emotet, Trickbot ou Zbot (Zeus), bem como outros trojans bancários direcionados principalmente à América Latina, como o Mekotio, por exemplo, ou até mesmo ameaças mais sofisticadas operadas por grupos APT, que incluem o uso de keyloggers no seu arsenal malicioso. Ou seja, não usam o keylogger como função principal, mas como mais um complemento para aumentar as suas chances de sucesso nos ataques.
Tipos de keylogger
Existem dois tipos de keyloggers, um a nível do software e outro a nível do hardware. Um keylogger de software é um programa instalado num dispositivo para, como mencionámos anteriormente, monitorizar a atividade realizada no dispositivo da vítima. Por sua vez, os keyloggers de software podem ser subdivididos em algumas das seguintes categorias:
- Kernel:este tipo de keylogger reside a nível do kernel do computador, escondido dentro do sistema operativo, o que torna a sua deteção ainda mais difícil; especialmente quando falamos de aplicações que funcionam a nível do utilizador no computador.
- API:são aqueles que utilizam funções das APIs do Windows para registar toda a atividade realizada no teclado.
- Javascript:neste tipo de keylogger, o código javascript é injetado em uma página web, por exemplo, por meio de um tipo de ataque conhecido como Cross-Site Scripting (XSS), e pode escutar eventos, seja por meio da função addEventListener() ou também usando “document.onkeypress”, entre outros.
- Injeção de memória:modificam as tabelas de memória que estão vinculadas às chamadas de funções do sistema e dos navegadores de Internet. Ao fazer essa “correção” ou injeção direta na memória, o programa pode ignorar o Controle de Conta de Utilizador do Windows (Windows UAC).
Por outro lado, os keyloggers baseados em hardware não dependem de nenhum software instalado no sistema operacional para serem executados, uma vez que estão a nível do hardware da máquina, algumas subcategorias podem ser:
- Keylogger de firmware:o BIOS do computador pode ser modificado para registrar eventos enquanto eles estão sendo processados. O software a ser carregado no BIOS deve ser criado especialmente para o hardware no qual será executado.
- Keyboard hardware:é um dispositivo que se liga entre o teclado e alguma porta de entrada do computador para registar eventos.
- Wireless keyboard sniffers:obtém e salva os pacotes que são enviados entre o teclado e o recetor. As informações nos pacotes podem ser criptografadas por motivos de segurança.
- Keyloggers overlay: neste caso, um teclado falso é colocado sobre o original para que, quando uma tecla for pressionada, ela seja capturada pelo teclado original e pelo teclado falso. Como podemos ver neste artigo, eles são comuns em ataques de ATM.
Keylogger é sempre sinónimo de malware?
Embora seja verdade que a atividade realizada por um keylogger é maliciosa e ameaça a privacidade dos indivíduos, existem usos legítimos que são permitidos em alguns países (por falta de uma lei que os proíba). Por exemplo, para monitorizar a exposição dos nossos filhos na Internet – ou de uma empresa para monitorizar os seus funcionários.
A verdade é que, se não tivermos o consentimento da pessoa, isso pode acabar sendo uma violação da privacidade que, dependendo das leis que se aplicam em cada país, pode levar a um grave problema jurídico.
Dicas de segurança
Um keylogger é caracterizado, entre muitas coisas, por efetivamente se esconder dentro do dispositivo da vítima, o que pode dificultar a sua deteção. Eles podem até ser reinstalados no caso de serem removidos. Mas isso não significa que eles não possam ser detetados e removidos permanentemente. Portanto, listamos a seguir algumas dicas para estar protegido contra esse tipo de malware:
- Use uma solução antivírus e a mantenha sempre atualizada.
- Use um gestor de passwords seguro, como o KeePass ou o ESET Smart Security Premium para versões domésticas, evitando digitar a senha nos sites aos quais se pretende aceder.
- Implemente a autenticação de dois fatores.
- Instale apenas programas de fontes fiáveis.
- Bloqueie o dispositivo quando não estiver a ser usado para evitar que outra pessoa possa instalar um keylogger.