大量无线键盘存在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解释道。
因此,建议广大用户们还是换个好一点的蓝牙键盘,或者索性换成有线键盘吧。
大量无线键盘存在KeySniffer漏洞-可嗅探用户输入的内容的更多相关文章
- jquery+php实现用户输入搜索内容时自动提示
index.html <html> <head> <meta charset=;} #search_auto li a:hover{background:#D8D ...
- AutoCompleteTextView 与sqlite绑定实现记住用户输入的内容并自动提示
把用户输入的内容保存到数据库表中,然后用户输入时,进行模糊查询并把查询结果附到AutoCompleteTextView中. 1:activity_main.xml <LinearLayout x ...
- js打印保存用户输入的内容
在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: // ...
- 【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍
转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 当用户在EditText中输入为空或者是数据异常的时候,我们能够使用Toast来提醒用户,除此之外,我们还能 ...
- 防御XSS攻击-encode用户输入内容的重要性
一.开场先科普下XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶 ...
- mailto实现将用户在网页中输入的内容传递到本地邮件客户端
背景: 想在自己的网站中有这样一个设计: 用户点击提交按钮之后,就会打开本地邮件客户端,并自动将他在输入框中输入的内容作为邮件的内容,像下面这样: mailto可以帮助实现这个功能. 简介: mail ...
- Python学习【第四篇】用户输入及判断
用户输入: 例1.写一个用户输入密码的小程序,流程如下: 1.用户输入自己的用户名 2.打印"Hello+用户名" #!/usr/bin/env python #name = ra ...
- 微信小程序 获得用户输入内容
在微信小程序里,如何获得用户输入的内容?? js: document.getElementById("Content").value jq:$("#Content&quo ...
- php防止用户输入进行跨站攻击的方式
1.对用户输入的内容进行转义 //1.过滤内容中html标记 $userinput=strip_tags($userinput); //2.转换成HTML实体 $userinput=htmlentit ...
随机推荐
- 如何在iPhone与iPad上开启firebug
原文: MARTIN KOOL games - web - dad - sarien.net - q42 - livejs - handcraft How to use Firebug on your ...
- IOS开发之异步加载网络图片并缓存本地实现瀑布流(二)
/* * @brief 图片加载通用函数 * @parma imageName 图片名 */ - (void)imageStartLoading:(NSString *)imageName{ NSUR ...
- 特征的SID表、M表、P表、Q表、X表、Y表、T表
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Entity Framework 教程
http://www.cnblogs.com/lsxqw2004/category/266012.html
- python成长之路【第七篇】:面向对象
概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向对象三大特性 面向 ...
- Google Protocol Buffer的安装与.proto文件的定义
什么是protocol Buffer呢? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准. 我理解的就是:它是一种轻便高效的结构 ...
- NPM 使用介绍
NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...
- PHP 小方法之 过滤参数
if (! function_exists ( 'parameter_filter' )) { function parameter_filter($str, $type = 'string', $f ...
- 转!!mybatis在xml文件中处理大于号小于号的方法
第一种方法: 用了转义字符把>和<替换掉,然后就没有问题了. SELECT * FROM test WHERE 1 = 1 AND start_date <= CURRENT_DA ...
- jquery 返回上一页 ,关闭js代码
1.关闭功能: $(“#guanbi”).live("click",function()){ window.close(); } 2.返回上一页: <a href=" ...