Recentemente, eu me fiz a mesma pergunta, apenas para keyloggers de hardware plugáveis (provavelmente mais comuns) como, por exemplo. Keyloggers USB ou PS / 2.
Para responder a essa pergunta eu comprei recentemente um keylogger USB para experimentar. Embora existam certamente dispositivos diferentes no mercado e nem todos funcionam da mesma maneira, o que eu comprei ( KeeLog USB Keygrabber ) parece ser uma porca difícil de detectar.
Usando o software
O que eu tentei até agora (no Linux):
-
lsusb
e lsusb -t
-
lshw
-
powertop
-
tail -f /var/log/syslog
Nenhum desses comandos mostrou diferença, dependendo de o keylogger estar em uso ou não. Nenhum dispositivo adicional está aparecendo, nenhuma mensagem de erro estranha no log, nenhum endereço de barramento diferente para o mesmo dispositivo, etc.
Então o keylogger que eu comprei não se comporta como um hub USB ou algo assim, ele parece passar (e capturar) todos os pacotes no barramento.
Mas como o keylogger deve ser inserido entre o computador e o teclado, você pode considerar que qualquer teclado USB desconecte eventos como suspeitos. Embora eu espere alguns falsos positivos.
A única maneira de ver a diferença até agora foi com hardware adicional:
Medindo o consumo de energia
Eu usei o USB Charger Doctor da Adafruit entre meu computador e o keylogger e ele mostrou 0,04 A mais do que sem o keylogger. Mas até agora não consegui ver essa diferença no consumo de energia com o software, ou seja, com powertop
.
Mas esse tipo de detecção tem vários inconvenientes:
-
Acertar Caps-Lock e / ou Num-Lock no teclado também causou consumo de energia adicional de seu LED e que estava na mesma faixa de acordo com o USB Charger Doctor: 1 LED = 0,03 A, 2 LED = 0,05 A.
-
Se eu tiver que verificar o USB Charger Doctor toda vez antes de usar um PC, é muito provável que eu também detecte um keylogger USB no mesmo local ou nas proximidades.
Usando dispositivos adicionais na mesma porta USB
Se você procurar keylogger em, por exemplo, Amazon, você notará que alguns não funcionarão se houver um hub USB no teclado (e outros afirmarem que o produto deles faz isso). Por isso, coloquei um hub USB simples atrás do keylogger e liguei o teclado ao hub USB (por exemplo, Computador → Keylogger → Hub USB → Teclado).
O resultado foi que - pelo menos com o modelo de keylogger que comprei - nem o hub USB nem o teclado foram detectados pelo meu computador, nem traços nos logs como de costume quando eu conecto um dispositivo USB. O LED de energia no hub USB estava ligado.
Portanto, uma forma de mitigar (e nada mais) o perigo de não detectar um keylogger de hardware USB é usar um cabo de extensão USB na parte de trás do seu PC, terminando em um local visível na sua área de trabalho, conectando um hub USB e o teclado no hub. Se, de repente, o teclado parar de funcionar, você provavelmente verificará toda a cadeia USB e poderá notar um keylogger assim.
Então, minha recomendação pessoal é:
Certifique-se de verificar facilmente o conector do teclado
Configure sua mesa e seu PC de modo que o conector do seu teclado esteja sempre ou, pelo menos, com bastante frequência visível:
-
Insira o teclado em um soquete USB frontal, se o seu PC estiver na sua área de trabalho. Atualmente, os keyloggers ainda são grandes o suficiente para serem notados dessa forma.
-
Se você não precisa de nenhuma parte frontal do seu PC (por exemplo, unidade de CD-ROM) e não se importa com o seu lado ruim, gire seu PC para ver todos os conectores traseiros enquanto estiver trabalhando.
-
Se você tiver espaço suficiente em torno de sua mesa e seu PC for um gabinete de torre instalado em sua mesa, configure-o de maneira a passar as costas de seu computador regularmente e dar uma olhada na parte de trás seu PC, por exemplo todas as manhãs quando você chega ao trabalho ou assim.
Discussão adicional
Este tópico também foi abordado no site de Segurança de TI do StackExchange, na pergunta " Detectando Keyloggers de hardware… soluções elegantes? ".