键盘记录
键盘记录
键盘监听,又称键盘侧录或按键记录,是指在使用键盘的人不知情的情况下,通过隐蔽的方式记录下键盘的每一次敲击的行为。进行键盘监听可通过各种软硬件手段实现,包括软件按键记录器或硬件设备。虽然按键记录程序本身可以用于合法目的,如让雇主监督员工的计算机使用情况,但它们通常用于窃取密码和其他机密信息。按键记录还可用于研究击键动态或人机交互。存在许多按键记录方法,包括硬件和软件方法以及声学密码分析
定义
键盘记录,就是通过HOOK技术,来将键盘钩子添加到钩子链中,这样你通过键盘输入的任何程序,都会被钩子程序获取,并被记录。Windows是建立在消息传递的事件驱动的机制上。用钩子可以截获并处理送给其他应用程序的消息,来完成普通应用程序难以实现的功能。键盘记录者的原理就是使用键盘钩子截获键盘消息。当然,并非键盘记录一定要使用钩子,比如WinEggDrop的无钩子键盘记录者。
一般书上都会说:“全局钩子函数必须包含在DLL中,而线程专用钩子还可以包含在可执行文件中”。即如果钩子过程在应用程序中实现,只对该程序起作用;如果钩子过程在DLL中实现,程序在运行中动态调用它,它能对整个系统进行监控。我们做键盘记录当然希望是针对整个系统的了,所以我们发现很多键盘记录者或者带键盘记录功能的木马服务端里都包含用来支持键盘记录的DLL文件。多了DLL文件既增加了程序的体积,也容易因为丢了DLL文件而丧失了键盘记录的功能。
为了对抗软件层面的攻击(如键盘钩子),一些软件(例如腾讯QQ)在用户输入密码等敏感信息时会用一个更底层的驱动程序截取键盘输入,但攻击者也可以通过驱动程序从操作系统内核中获取未经干扰的按键。而通过硬件手段实现的键盘监听一般很难从软件层面发现。
参考资料
目录
概述
定义
参考资料