大量无线键盘存在KeySniffer漏洞-可嗅探用户输入的内容

几美元的一根天线、一个无线发射器,还有几行Python代码,有了这些,黑客就可以在几十米开外主动地记录下你的用户名、密码、信用卡、你写的稿子,总之就是你用无线键盘输入的任何东西。

黑客所利用的是一种无线键盘漏洞,这种漏洞无法轻易防范,而且很难想到。来自Bastille安全公司的研究人员率先发现了这一漏洞,并把它命名为KeySniffer

影响设备

研究人员对12款来自知名厂商的键盘进行了测试,发现其中8款能被窃听,但是实际上这个列表还远不及真正存在漏洞的数量。这个漏洞波及的范围实在太大,研究人员相信有大量的设备存在漏洞。

与此同时,厂商的态度也令人失望。Bastille首席研究官Ivan O’Sullivan称,“大部分的厂商还没有回应我们披露的信息。

演示视频

升级版的MouseJack

细心的读者可能注意到了,这个Bastille公司就是今年年初发现MouseJack漏洞的公司。MouseJack是一种针对蓝牙键盘鼠标的攻击,攻击者可以利用漏洞控制受害者的电脑操作。由于这些无线鼠标没有完善的身份认证机制,黑客可以借此伪装成用户的鼠标与适配器进行匹配;又因为没有无线鼠标传输的数据没有加密,黑客便可以轻松伪造数据操作电脑。

KeySniffer漏洞就是升级版的MouseJack,不同的是,KeySniffer不需要匹配设备,而且能够让黑客获取到无线键盘和USB适配器传输的数据。

问题原因:无线键盘明文传输数据

与MouseJack漏洞相似,KeySniffer的问题也出在缺少加密。

存在漏洞的键盘与插入电脑的USB无线接收器之间的数据都是明文传输的。这样攻击者就能够检测到受害用户输入的文字了。也正由于没有加密,攻击者还能够在数据流中注入他们自己的键盘敲击。

黑客如果想要注入恶意的键盘输入,可以通过脚本自动化执行。唯一的条件就是等用户离开电脑几分钟。

很多操作系统在鼠标操作失灵时会提供基于键盘的控制,因此,控制了用户的键盘就相当于控制了整台电脑。

如何防范

KeySniffer漏洞无法通过补丁修复。

本质上,KeySniffer攻击使用了逆向工程收发器的技术,这些技术在阿姆斯特丹的Hack in the Box安全会议上有过演示。Bastille称,所有出现问题的无线键盘都是在2.4GHz ISM频段使用频率偏移调制工作的。

“这些无线键盘由于没有加密,天生就是不安全的,而且不支持固件更新。”Bastille解释道。

因此,建议广大用户们还是换个好一点的蓝牙键盘,或者索性换成有线键盘吧。

*参考来源:Zdnet & Softpedia

时间: 2024-07-31 07:41:31

大量无线键盘存在KeySniffer漏洞-可嗅探用户输入的内容的相关文章

jquery+php实现用户输入搜索内容时自动提示

 今天突然想给本站做个搜索页面,这样用户可以通过搜索来找到自己喜欢的内容,也避免了在海量信息中手动查找资源的麻烦,我的目标和百度首页的效果类似,当用户输入要搜索的文字时,我们在下方给出相关的十条信息,如果用户要找的就是这十条信息内的某一条,那么简单,直接点击就可在新页面中打开页面,主要就是想更人性化一点,让用户使用起来更方便. 先看一下效果图吧,这样更有动力,要不然大家还不知道我在讲什么,到底要达到什么样的效果! 下面先主要讲解原理: 在search.html页面中,用户在搜索框内输入"j&qu

winform-WinForm窗体中,清空诸如TEXTBOX 等控件中用户输入的内容

问题描述 WinForm窗体中,清空诸如TEXTBOX 等控件中用户输入的内容 WinForm窗体中,清空诸如TEXTBOX 等控件中用户输入的内容.记得有使用Controls和foreach 之类的.... 在下初学者,悉心求教.望各长辈指点迷津 解决方案 foreach (TextBox tb in Controls.OfType<TextBox>()) { tb.Text = ""; } 解决方案二: 不同的控件没有通用的方法,不过你可以有另一个思路,就是把窗体重新加

thinkphp-用weiphp开发微信如何在代码中调用文本回复?然后如何获取用户输入的内容?

问题描述 用weiphp开发微信如何在代码中调用文本回复?然后如何获取用户输入的内容? 用weiphp开发微信如何在代码中调用文本回复?然后如何获取用户输入的内容? 解决方案 微信.NET 微信开发 自动内容回复 ASP.NET C#代码 解决方案二: if(IS_POST){ $token = get_token (); $openid = get_openid (); $item = I('post.item'); $market = I('post.market'); $name = I(

对用户输入的内容进行安全检查

function clean_value($val) { if ($val == "") { return ""; } $val = trim($val); $val = str_replace("

如何在C#的LISTBOX中获取用户输入的内容逐行请大神解答!

问题描述 要做一个数学测试系统!想用listbox控件当作题目的显示和答案的输入空间! 解决方案 解决方案二:一个数学测试系统怕不能简简单单一个ListBox就实现了吧.再说,ListBox也没法输入啊解决方案三:它默认不支持编辑,你不如用datagridview,自己可以通过重绘,实现样式的改变

使用window.prompt()实现弹出用户输入的对话框

 无意中看到window.prompt()方法,之前真没有使用过,孤陋寡闻.不过现在学习下吧. 在网页中,有时需要弹出一个提示框,而且在提示框中还需要用户输入一些内容,这就可以用prompt对象,具体实现用法如下. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 <!DOCTYPE html> <html> <head> <meta http-equiv="Content

python入门基础之用户输入与模块初认识_python

一.注释 当前行注释:# 被注释内容 多行注释:""" 被注释内容 """ 二.用户输入 #!/usr/bin/env python #_*_coding:utf-8_*_ #name = raw_input("What is your name?") #only on python 2.x name = input("What is your name?") print("Hello "

JS中使用mailto实现将用户在网页中输入的内容传递到本地邮件客户端_javascript技巧

背景: 想在自己的网站中有这样一个设计: 用户点击提交按钮之后,就会打开本地邮件客户端,并自动将他在输入框中输入的内容作为邮件的内容,像下面这样: mailto可以帮助实现这个功能. 简介: mailto是一种电子邮件协议,通过该协议可以创建一个指向电子邮件地址的超级链接,通过该链接可以在Internet中发送电子邮件.就像在地址栏输入一个网址会打开一个网页一样,输入mailto:name@email.com,就会打开本地邮件客户端,并将邮件发送给name@email.com. 在HTML中使用

当当网漏洞或致用户资料泄露

498)this.width=498;' onmousewheel = 'javascript:return big(this)' style="width: 463px; height: 203px" border="0" alt="" width="544" height="222" src="http://images.51cto.com/files/uploadimg/20111110/1