Keylogger

Origem: Wikipédia, a enciclopédia livre.
Ir para: navegação, pesquisa

Keystroke logging , muitas vezes referida como keylogging ou captura de teclado , é a ação de gravar (ou registrar) as informações escritas em um teclado, normalmente de uma forma encoberta de modo que a pessoa que usa o teclado não tem conhecimento de que suas ações estão sendo monitorados. Ela tem usos no estudo da interação humano-computador. Existem vários métodos keylogging, que vão desde hardwares e abordagens baseadas em software até análises de acústica.

Keyloggers baseados em software

Keylogger de captura de imagem de tela
Um arquivo de log de ​​um keylogger de software

São programas projetados para trabalhar nos softwares dos computadores. De uma perspectiva técnica, existem várias categorias:

  • Baseada em hipervisor: O keylogger pode, teoricamente, residir em um malware hipervisor sob o sistema operacional, que permanece intocado. Ele efetivamente se torna uma máquina virtual.
  • Baseados no Kernel: um programa na máquina torna-se “raiz" e se esconde no sistema operacional, começando a interceptar as teclas digitadas (porque elas sempre passam pelo kernel). Tais keyloggers residem no nível do kernel e são, portanto, difíceis de detectar, especialmente para aplicações em modo de usuário que não têm acesso root. Eles são frequentemente implementados como rootkits que subvertem o kernel do sistema operacional e obtêm acesso não autorizado ao hardware, tornando-os muito poderosos. Um keylogger utilizando este método pode atuar como um teclado controlador de dispositivo, por exemplo, e, assim, ganhar

acesso a qualquer informação digitada no teclado quando se passa para o sistema operacional.

  • Baseados em API: Estes keyloggers são ganchos de teclado APIs dentro de uma aplicativo em execução. O keylogger registra eventos de teclas, como se fosse uma peça normal do aplicativo em vez de malware. O keylogger recebe um evento de cada vez que o usuário pressiona uma tecla. O keylogger simplesmente registra-os.
  • Injeção d'e' memória à base: Injeção de memória à base (MITB) de keyloggers alteram tabelas de memória associadas com as funções do navegador e outro sistema para desempenhar suas funções de log. Remendando as tabelas de memória ou injetando diretamente na memória, esta técnica pode ser utilizada por autores de malwares que estão olhando para ignorar o Windows UAC (User Account Control). Os Zeus e SpyEye Trojans usam esse método exclusivamente. Os sistemas não-Windows têm mecanismos de proteção análogas que precisam ser de alguma forma frustradas pelo keylogger.
  • Analisadores de pacotes: Isso envolve o tráfego de rede de captação associada com HTTP POST eventos para recuperar senhas não criptografadas. Isso não funciona se você estiver conectado com HTTPS - na verdade, era esse tipo de ataque que eles estavam brigando quando inventaram HTTPS.
  • Keyloggers software de acesso remoto: Estes são keyloggers locais de software com um recurso adicional que permite o acesso aos dados gravados localmente a partir de um local remoto. A comunicação remota pode ser alcançada utilizando um dos seguintes métodos:
    • Os dados são enviados para um site, banco de dados ou um FTP do servidor.
    • Os dados são periodicamente enviados para um e-mail pré-definido.
    • Os dados são sem fios, transmitidos por meio de um sistema de hardware em anexo.
    • O software permite que um login remoto ao computador local a partir da Internet ou da rede local, para registros de dados armazenados na máquina de destino a ser acessada.

A maioria destes não são parados por criptografia HTTPS porque isso só protege os dados em trânsito entre computadores; esta é uma ameaça em seu próprio computador - aquele conectado ao teclado.

Keystroke logging no Processo de escrita Research

Keystroke logging tornou-se um método de pesquisa criada para estudar os processos de escrita. Diferentes programas têm sido desenvolvidos para coletar dados de processos on-line de atividades de escrita. Os mais comuns são: Inputlog, Scriptlog e Translog. A maioria destes programas têm recursos que se sobrepõem, mas todos eles têm também características muito específicas tornando-os complementares na sua utilização.

Keystroke logging pode ser um instrumento de pesquisa adequado em vários contextos de escrita. As áreas de pesquisa incluem, por exemplo, o seguinte: estudos sobre os processos cognitivos da escrita em geral, descrição de estratégias de escrita em escrita profissional ou escrita criativa, o desenvolvimento da escrita de crianças com e sem dificuldades de escrita, ortografia, primeira e segunda língua escrita, e a escrita de especialistas e novatos escritores em contextos profissionais e em áreas de habilidades especializadas, como a tradução e legendagem. Keystroke logging não só pode ser usado em pesquisas especificamente sobre a escrita, ele também pode ser integrado em domínios educacionais para segunda língua de aprendizagem, habilidades de programação e habilidades de digitação.

Recursos relacionados

Keyloggers de software podem ser aumentados com informações e funcionalidades que o usuário captura sem depender de teclado. Alguns desses recursos incluem:

  • Registro de transferência. Tudo o que foi copiado para a área de transferência pode ser capturado pelo programa.
  • Registro de tela. Imagens são tomadas, a fim de capturar a informação baseada em gráficos. As aplicações com capacidades de registro da tela podem tirar screenshots da tela inteira, apenas uma aplicação ou até mesmo ao redor do cursor do mouse. Eles podem tomar estes screenshots periodicamente ou em resposta a comportamentos do usuário (por exemplo, quando um usuário clicou o mouse). Uma aplicação prática utilizada por alguns keyloggers com esta habilidade de registro de tela é tomar pequenos screenshots ao redor, onde um mouse acaba clicando; estes teclados baseados na web derrotam (por exemplo, os teclados de tela baseados na web que são frequentemente utilizados pelos bancos).
  • Programaticamente a captura do texto em um controle. O Microsoft Windows API permite que os programas solicitem o "valor" do texto em alguns controles. Isto significa que algumas palavras-passe podem ser capturadas, mesmo se eles são escondidos atrás de máscaras de senha (geralmente asteriscos).
  • A gravação de cada programa/pasta/janela aberta, incluindo uma imagem de cada site visitado, incluindo também uma imagem de cada um.
  • A gravação por consultas de pesquisas web, de mensagens instantâneas, conversas, downloads FTP e outras atividades baseadas na Internet (incluindo a largura de banda utilizada).
Keylogger Tipo Hardware

Keyloggers baseados em hardware

Um keylogger tipo hardware conectado.

Keyloggers baseados em hardware não dependem de qualquer software que está sendo instalado, eles existem em um nível de hardware em um sistema de computador.

  • Baseada em Firmware: BIOS-level firmware que lida com

eventos de teclado pode ser modificado para registrar esses eventos como eles são processados. Física e/ou de acesso em nível raiz é necessária para a máquina e o software carregado na BIOS precisa ser criado para o hardware específico que será executado.

  • Hardware do teclado: keyloggers de hardware são usados ​​para registro

de teclas por meio de um circuito de hardware que está ligado em algum lugar entre o teclado do computador e o computador, geralmente em linha com o conector do cabo do teclado. Há também conectores USB baseados em keyloggers de hardware, bem como aqueles para computadores portáteis (os plugues de cartão Mini-PCI no slot de expansão de um laptop). Mais implementações furtivas podem ser instaladas ou construídas em teclados padrão, de modo que nenhum dispositivo está visível no cabo externo. Ambos os tipos de log registram toda a atividade do teclado para sua memória interna, que pode ser acessada posteriormente, por exemplo, digitando uma sequência de chave secreta. Um keylogger hardware tem uma vantagem sobre uma solução de software: ele não depende de ser instalado no sistema operacional do computador de destino e, portanto, não irá interferir com qualquer programa em execução no computador de destino ou ser detectado por qualquer software. No entanto a sua presença física pode ser detectada se, por exemplo, é instalado fora do caso, como um dispositivo em linha entre o computador e o teclado. Algumas destas implementações têm a capacidade de ser controlada e monitorizada remotamente por meio de um padrão de comunicação sem fio.

  • Sniffers de teclado sem fio: Estes sniffers passivos coletam pacotes de

dados a serem transferidos a partir de um teclado sem fio e seu receptor. Como criptografia podem ser usados ​​para proteger as comunicações sem fios entre os dois dispositivos, este pode necessitar ser rompido de antemão se as caixas de velocidades são para serem lidos.

  • Sobreposições de teclado: Os criminosos foram conhecidos para usar

sobreposições de teclado em caixas eletrônicos para capturar PINs das pessoas. Cada tecla pressionada é registrado pelo teclado do ATM, bem como o teclado do criminoso, que é colocado sobre ele. O dispositivo foi projetado para se parecer com uma parte integrada da máquina, de modo que os clientes dos bancos não estão cientes de sua presença.

  • Keyloggers acústicos: criptoanálise acústico pode ser utilizado para

monitorizar o som criado por alguém escrevendo em um computador. Cada tecla no teclado faz uma assinatura acústica sutilmente diferente quando atingido. Em seguida, é possível identificar qual assinatura keystroke relaciona-se à qual personagem teclado através de métodos estatísticos, como a análise de frequência. A frequência de repetição de teclas de assinaturas acústicas semelhantes, os horários entre os diferentes cursos do teclado e outras informações de contexto, como o idioma provável em que o usuário está escrevendo são utilizados nesta análise ao mapa de sons às letras. A gravação bastante longa (1000 ou mais teclas digitadas) é necessária para que uma amostra grande o suficiente seja coletada.

  • Emissões eletromagnéticas: É possível capturar as emissões eletromagnéticas. de um teclado com

fio de até 20 metros (66 pés) de distância, sem estar fisicamente com o fio a ele. Em 2009, pesquisadores suíços testaram 11 tipos diferentes de USB, PS-2 e teclados de laptop em uma semi-câmara anecóica e encontrou-os todos vulneráveis, principalmente por causa do custo proibitivo de adicionar proteção durante a fabricação. Os pesquisadores usaram um receptor wide-band para sintonizar a frequência específica das emissões irradiadas a partir dos teclados.

  • Vigilância óptica: vigilância óptica, embora não seja um keylogger no sentido clássico, não deixa de ser uma abordagem que pode ser usada para capturar senhas ou PINs. Uma câmera colocada estrategicamente, como uma oculta câmera de vigilância em um ATM , pode permitir que um criminoso possa assistir a um PIN ou a senha a ser digitada.
  • Evidência física: Para um teclado que é usado apenas para introduzir um

código de segurança, as chaves que estão em uso real terão provas de utilização de muitas impressões digitais. A senha de quatro dígitos, se os quatro dígitos em questão são conhecidos, é reduzido de 10 mil possibilidades para apenas 24 possibilidades (104 versus 4! (fatorial de 4)). Estes poderiam então, ser usados em ocasiões separadas por um manual "ataque de força bruta".

  • Sensores Smartphone: Pesquisadores demonstraram que é possível capturar as teclas de teclados de computador nas proximidades usando apenas um acelerômetro encontrado em Smartphone. O ataque é possível, colocando um Smartphone perto de um teclado na mesma mesa. O acelerômetro do Smartphone pode então detectar as vibrações criadas digitadas no teclado, e depois traduzir esse sinal de acelerômetro bruto em frases legíveis com precisão de em média 80%. A técnica envolve o trabalho através da probabilidade de detecção de pares de teclas, em vez de teclas individuais. Modela "eventos de teclado" em pares e, em seguida, funciona se o par de teclas pressionadas está do lado esquerdo ou do lado direito do teclado e se eles estão juntos ou distantes no teclado QWERTY. Uma vez que se tem trabalhado nisso, que compara os resultados de um dicionário pré-carregado, onde cada palavra foi dividida da mesma forma. Técnicas semelhantes foram também demonstradas serem eficazes na captura de batidas de tecla no teclado do ecrã sensível enquanto que, em alguns casos, em combinação com giroscópio.

História

Um keylogger  foi escrito por Perry Kivolowitz e enviada para as Usenet grupo de notícia de rede unix-assistentes, rede sources em 17 de novembro de 1983. A postagem parece ser um fator de motivação em restringir o acesso em sistemas Unix. O programa do modo de usuário operado por localizar e despejar listas de caracteres (CLISTs) como foram montados no kernel Unix.

Na década de 1970, os espiões instalaram keyloggers nos edifícios da embaixada e consulado em Moscou e São Petersburg. E se instalou os bugs no Selectric II e III Selectric máquinas de escrever elétricas.

Embaixadas soviéticas usam máquinas de escrever manuais, em vez de máquinas de escrever elétricas, para informações classificadas, aparentemente porque elas são imunes a tais bugs. A partir de 2013, os serviços especiais russos ainda usam máquinas de escrever

.Fenda

Escrevendo aplicações de softwares simples para keylogging pode ser trivial e, como qualquer programa de computador nefasto, pode ser distribuído como um cavalo de Troia ou como parte de um vírus. O que não é trivial para um atacante, no entanto, é a instalação de um keystroke logger secreta sem ser pego e download de dados que foram registrados sem ser rastreado. Um atacante que se conecta manualmente para uma máquina host para baixar as teclas digitadas registradas e rastreadas. Um trojan que envia dados keylogged para um endereço de e-mail fixo ou riscos de endereços IPs expontos a atacante.

Troiano

Os investigadores concebido vários métodos para solucionar este problema. Eles apresentaram um ataque de senha arrebatador em que o trojan keystroke logging é instalado usando um vírus ou worm.  Um atacante que está preso com o vírus ou worm pode pretender uma vítima. Os dados são criptografo assimetricamente em pares login / senha furtados usando a chave pública do autor trojan e secretamente transmite o texto cifrado resultante. Eles mencionaram que o texto cifrado pode ser codificado e enviado para uma placa de boletim pública, como Usenet.

Uso pela polícia

Em 2000, o FBI usou FlashCrest iSpy para obter a senha PGP de Nicodemo Scarfo Jr., filho do chefe da máfia Nicodemo Scarfo. Também o FBI em abril de 2000 elaborou um plano e atraiu dois suspeitos de crimes cibernéticos da Rússia para os EUA, e capturou seus nomes de usuários e senhas com um keylogger que foi secretamente instalado em uma máquina que eles usaram para acessar seus computadores na Rússia. O FBI então usou estas credenciais para invadir os computadores dos suspeitos na Rússia, a fim de obter provas para processá-los.

Contramedidas

A eficácia varia de contramedidas, porque keyloggers utilizar uma variedade de técnicas para capturar dados.A contramedida deve ser eficaz contra a técnica de captura de dados em particular. Por exemplo, um teclado na tela será eficaz contra keyloggers de hardware, a transparência vai derrotar alguns, mas não todos, screenloggers e um aplicativo anti-spyware que só pode desativar keyloggers mais não ineficaz contra keyloggers baseados em kernel.

Além disso, os autores do programa keylogger podem ser capaz de atualizar o código para se adaptar às medidas defensivas que podem ter provado ser eficaz contra eles. 

Anti Keyloggers

Um anti keylogger é um pedaço de software especificamente concebido para detectar keyloggers em um computador, geralmente comparando todos os arquivos no computador de um banco de dados de keyloggers procurando semelhanças que podem sinalizar a presença de um keylogger escondido. Como anti keyloggers foram projetados especificamente para detectar keyloggers, eles têm o potencial para ser mais eficaz do que o software anti-vírus convencional; algum software anti-vírus não considerar determinados keyloggers um vírus, como em algumas circunstâncias um keylogger pode ser considerado uma peça legítima de software Keyloggers .

CD/ USB

Reiniciando o computador usando um CD ou protegido contra gravação USB é uma possível medida preventiva contra keyloggers software se o CD está limpo de malware e o sistema operacional contido nele é garantido e totalmente atualizado para que ele não  sejam infectado assim que é começou. Iniciando um sistema operacional diferente não afeta o uso de um hardware ou keylogger baseado BIOS.

Os programas anti-spyware / anti-vírus.

Muitos aplicativos anti-spyware são capazes de detectar keyloggers baseados algum software e colocar em quarentena, desativar ou purificá-los. No entanto, porque muitos programas keyloggers são peças legítimas de software em algumas circunstâncias, anti spyware muitas vezes deixa de rotular programas keyloggers como um vírus ou spyware. Estas aplicações são capazes de detectar keyloggers baseados em software baseado em padrões de código executável, heurística e comportamentos keylogger (tais como o uso de ganchos e certas APIs).

Nenhum aplicativo anti-spyware com base em software pode ser 100% eficaz contra todos os keyloggers. Além disso, baseado em software anti-spyware não pode derrotar keyloggers não de software (por exemplo, keyloggers de hardware conectados a teclados receberá sempre as teclas digitadas antes de qualquer aplicativo anti-spyware com base em software).

No entanto, a técnica particular, que são usada em aplicativos anti-spyware irá influenciar a sua eficácia potencial contra keyloggers software. Como regra geral, as aplicações anti-spyware com privilégios elevados vai derrotar keyloggers com privilégios inferiores. Por exemplo, um aplicativo anti-spyware com base em gancho não pode derrotar um keylogger baseado no kernel (como o keylogger irá receber as mensagens de teclas antes da aplicação anti-spyware), mas ele poderia derrotar keyloggers de gancho e baseada no API.

Monitoramento de rede

Monitores de rede (também conhecido como reverse-firewalls) podem ser usados para alertar o usuário quando um aplicativo tenta fazer uma conexão de rede. Isto dá ao usuário a chance de evitar o keylogger de "telefonar para casa" com a sua informação digitada.

Programas automáticos forma de preenchimento

Programas de preenchimento de formulários automáticos pode impedir keylogging, retirando a exigência de um usuário digitar dados pessoais e senhas usando o teclado. Preenchimentos de formulários são principalmente concebidos para navegadores da web para preencher páginas de inscrição e registro de usuário em suas contas. Uma vez que conta e cartão de crédito as informações do usuário foi inserido no programa, ele será inserido automaticamente em formas sem nunca usar o teclado ou prancheta, reduzindo assim a possibilidade de que os dados privados está sendo gravada. No entanto alguém com acesso físico à máquina ainda pode ser capaz de instalar um software que é capaz de interceptar essas informações em outras partes do sistema operacional, seja em trânsito na rede. (Transport Layer Security (TLS) impede a interceptação de dados em trânsito por sniffers de rede e ferramentas de proxy.

Senhas de uso único (OTP)

Usando senhas de uso único pode ser keylogger-seguro, uma vez que cada senha é invalidada, logo que ele é usado. Esta solução pode ser útil para alguém que utilize um computador público. No entanto, um atacante que tem o controle remoto através de um computador como esse pode simplesmente esperar que a vítima a entrar nos seus / suas credenciais antes de executar transações não autorizadas em seu nome, enquanto a sessão está ativa.

Os tokens de segurança

O uso de cartões inteligentes ou outros tokens de segurança podem melhorar a segurança contra ataques de repetição em fase de um ataque keylogging sucesso, como o acesso a informações protegidas exigiria tanto o (hardware) token de segurança, bem como a senha / senha apropriada. Conhecer as teclas, as ações do mouse, monitor, etc. Prancheta utilizada em um computador não serão posteriormente ajudada a um invasor obtenha acesso ao recurso protegido. Alguns tokens de segurança funciona como um tipo de sistema de senha única assistida por hardware, e outros implementos uma autenticação desafio-resposta de criptografia, o que pode melhorar a segurança de uma maneira conceitualmente similar ao senhas one-time. Leitores de cartões inteligentes e seus teclados associados para a entrada do PIN pode ser vulnerável a keystoke login através de uma chamada ataque cadeia de fornecimento onde um atacante substitui o hardware entrada leitor de cartão / PIN para uma que registra o PIN do usuário.

Teclados na tela

A maioria dos teclados na tela (como o teclado na tela que vem com o Windows XP) enviar mensagens normais do evento teclado para o programa de destino externo para digitar texto. Software key loggers pode registrar esses caracteres digitados enviados a partir de um programa para outro. Além disso, esse tipo de software pode tirar screenshots do que é exibido na tela (periodicamente, ou a cada clique do mouse), o que significa que, embora, certamente, um medida de segurança útil, um teclado na tela não vai proteger de todos os keyloggers.

Software interferência de teclas

Software interferência Keystroke também está disponível. Esses programas tentam enganar keyloggers através da introdução de combinações de teclas aleatórias, embora isso simplesmente resulta na keylogger gravar mais informação do que ele precisa. Um atacante tem a tarefa de extrair as teclas de juros a segurança deste mecanismo, especificamente quão bem ele se levanta para criptoanálise, é claro.

O reconhecimento de voz

Semelhante a teclados na tela, software de conversão de voz para texto também pode ser usado contra keyloggers, já que não há movimentos de digitação ou mouse envolvidos. O ponto mais fraco do uso de software de reconhecimento de voz pode ser a forma como o software envia o texto.

Caligrafia gestos de reconhecimento e mouse

Além disso, muitos PDAs e ultimamente tablet PCs já pode converter caneta também chamado de movimentos em suas telas sensíveis ao toque para computador texto compreensível com sucesso. Mouse Gestures usa este princípio, usando os movimentos do mouse em vez de uma caneta. Programas gesto do mouse converter esses cursos para as ações definidas pelo usuário, como a digitação do texto. Da mesma forma, tablets e canetas de luz pode ser usada para entrada destes gestos, porém estes são todos os dias menos comum.

A mesma fraqueza potencial de reconhecimento de voz para esta técnica aplica-se bem

Expansões de macro / gravadores

Com a ajuda de muitos programas, um texto aparentemente sem sentido pode ser expandido para um texto significativo e a maior parte do tempo contexto-sensível, por exemplo, "en.wikipedia.org" pode ser expandido quando uma janela de navegador tem o foco. A maior fraqueza desta técnica é que esses programas enviar suas teclas digitadas diretamente para o programa de metas. No entanto, isso pode ser superado através da técnica de "alternância" descrito a seguir, ou seja, o envio de cliques de mouse para áreas não-responsivos do programa de metas, o envio de chaves sem sentido, o envio de um outro clique do mouse para direcionar área (por exemplo, campo de senha) e comutação back- e-forth.l.

Os métodos não-tecnológicos

Alternando entre digitar e as credenciais de login e digitar os caracteres em outro lugar na janela de foco pode causar um keylogger para gravar mais informações do que o necessário, embora isso possa ser facilmente filtrados por um invasor. Da mesma forma, um usuário pode mover o cursor usando o mouse durante a digitação, fazendo com que as teclas registradas estejam na ordem errada, por exemplo, digitando uma senha que começa com a última letra e, em seguida, usar o mouse para mover o cursor para cada letra subsequente. Por fim, alguém também pode usar os menus de contexto para remover, cortar, copiar e colar partes do texto digitado sem usar o teclado. Um atacante que é capaz de capturar apenas partes de uma senha terá um espaço de chave menor para atacar, se ele escolheu para executar um ataque de força bruta.

Outra técnica muito semelhante usa o fato de que qualquer porção de texto selecionado é substituído pela seguinte chave digitada. Por exemplo, se a senha é "secreto", pode-se digitar "s", em seguida, algumas chaves falsas "asdfsd". Então, esses bonecos podem ser selecionado com o mouse, e a próximo caractere da senha "e" é digitado, que substitui os manequins "asdfsd".

Estas técnicas assumem incorretamente que software keystroke logging não pode monitorar diretamente a área de transferência, o texto selecionado em um formulário, ou tirar uma imagem de captura de tela toda vez que uma tecla ou clique do mouse ocorre. Eles podem, contudo, ser eficazes contra alguns keyloggers de hardware.

Ver Também[editar | editar código-fonte]

Referências

Ligações externas[editar | editar código-fonte]

Ícone de esboço Este artigo sobre Informática é um esboço. Você pode ajudar a Wikipédia expandindo-o.