几美元的一根天线、一个无线发射器,还有几行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

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

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

    index.html <html> <head>     <meta charset=;} #search_auto li a:hover{background:#D8D ...

  2. AutoCompleteTextView 与sqlite绑定实现记住用户输入的内容并自动提示

    把用户输入的内容保存到数据库表中,然后用户输入时,进行模糊查询并把查询结果附到AutoCompleteTextView中. 1:activity_main.xml <LinearLayout x ...

  3. js打印保存用户输入的内容

    在用js打印局部页面时,遇到用户新输入的内容没能打印出来,经过观察,发现我采用的js打印方法是读取页面源代码,而用户输入的内容如果不将其写入到页面源代码中去,是打印不出来的,下面是我的解决方法: // ...

  4. 【Android工具类】用户输入非法内容时的震动与动画提示——EditTextShakeHelper工具类介绍

    转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 当用户在EditText中输入为空或者是数据异常的时候,我们能够使用Toast来提醒用户,除此之外,我们还能 ...

  5. 防御XSS攻击-encode用户输入内容的重要性

    一.开场先科普下XSS 跨站脚本攻击(Cross Site Scripting),为不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS.恶 ...

  6. mailto实现将用户在网页中输入的内容传递到本地邮件客户端

    背景: 想在自己的网站中有这样一个设计: 用户点击提交按钮之后,就会打开本地邮件客户端,并自动将他在输入框中输入的内容作为邮件的内容,像下面这样: mailto可以帮助实现这个功能. 简介: mail ...

  7. Python学习【第四篇】用户输入及判断

    用户输入: 例1.写一个用户输入密码的小程序,流程如下: 1.用户输入自己的用户名 2.打印"Hello+用户名" #!/usr/bin/env python #name = ra ...

  8. 微信小程序 获得用户输入内容

    在微信小程序里,如何获得用户输入的内容?? js: document.getElementById("Content").value jq:$("#Content&quo ...

  9. php防止用户输入进行跨站攻击的方式

    1.对用户输入的内容进行转义 //1.过滤内容中html标记 $userinput=strip_tags($userinput); //2.转换成HTML实体 $userinput=htmlentit ...

随机推荐

  1. 如何在iPhone与iPad上开启firebug

    原文: MARTIN KOOL games - web - dad - sarien.net - q42 - livejs - handcraft How to use Firebug on your ...

  2. IOS开发之异步加载网络图片并缓存本地实现瀑布流(二)

    /* * @brief 图片加载通用函数 * @parma imageName 图片名 */ - (void)imageStartLoading:(NSString *)imageName{ NSUR ...

  3. 特征的SID表、M表、P表、Q表、X表、Y表、T表

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  4. Entity Framework 教程

    http://www.cnblogs.com/lsxqw2004/category/266012.html

  5. python成长之路【第七篇】:面向对象

    概述 面向过程:根据业务逻辑从上到下写垒代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象:对函数进行分类和封装,让开发“更快更好更强...” 面向对象三大特性 面向 ...

  6. Google Protocol Buffer的安装与.proto文件的定义

    什么是protocol Buffer呢? Google Protocol Buffer( 简称 Protobuf) 是 Google 公司内部的混合语言数据标准. 我理解的就是:它是一种轻便高效的结构 ...

  7. NPM 使用介绍

    NPM是随同NodeJS一起安装的包管理工具,能解决NodeJS代码部署上的很多问题,常见的使用场景有以下几种: 允许用户从NPM服务器下载别人编写的第三方包到本地使用. 允许用户从NPM服务器下载并 ...

  8. PHP 小方法之 过滤参数

    if (! function_exists ( 'parameter_filter' )) { function parameter_filter($str, $type = 'string', $f ...

  9. 转!!mybatis在xml文件中处理大于号小于号的方法

    第一种方法: 用了转义字符把>和<替换掉,然后就没有问题了. SELECT * FROM test WHERE 1 = 1 AND start_date  <= CURRENT_DA ...

  10. jquery 返回上一页 ,关闭js代码

    1.关闭功能: $(“#guanbi”).live("click",function()){ window.close(); } 2.返回上一页: <a href=" ...