几美元的一根天线、一个无线发射器,还有几行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. python : jquery实现左侧菜单

    左侧菜单 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3 ...

  2. session失效后,登录页面嵌入iframe框架

    在登录页面的onload方法中加入以下代码解决: //防止登录页面嵌入iframe框架 if (top.location != self.location){ top.location=self.lo ...

  3. 一步一步教你编写与搭建自动化测试框架——python篇

    [本文出自天外归云的博客园] 这两天用python写了一个自动化测试框架,取名为Auty.准备用来做Web方面的接口测试,以下为Auty框架一步一步的搭建过程——

  4. [Python]处理windows下多级目录文件,上传到Linux服务器

    #-*- coding: utf-8 -*- __author__ = 'tsbc' import sys reload(sys) sys.setdefaultencoding('utf-8') im ...

  5. R----plotly包介绍学习

    plotly包:让ggplot2的静态图片变得可交互 Plotly 是个交互式可视化的第三方库,官网提供了Python,R,Matlab,JavaScript,Excel的接口,因此我们可以很方便地在 ...

  6. 两个有序数组中查找第K大数

    题目:两个数组A.B,长度分别为m.n,即A(m).B(n),分别是递增数组.求第K大的数字.   方法一: 简单的办法,使用Merge Sort,首先将两个数组合并,然后在枚举查找.这个算法的时间复 ...

  7. [linux] shellshock

    1> Test if the system is vulnerable env X="() { :;} ; echo vulnerable" /bin/sh -c " ...

  8. iOS - Mac Vim 编辑器

    Mac Vim 编辑器 1)vi 文本编辑器 1.打开一个文件:vi 文件名 按住 shift 连按两次 z 键( :q )退出 vi 编辑器 2.vi 两种模式:第一是命令模式(按 esc 进入命令 ...

  9. mongoDB 数据导出与导入

    一.导出 命令格式:在mongodb/bin目录下 mongoexport -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -c 表名 -f 字段 -q 条件导出 --csv ...

  10. WLAN拓扑介绍-07

    学完本课程后,您应该能: 描述802.11基本概念 概括WLAN基本拓扑结构 列举华为WDS组网模式 描述mesh网络模式 802.11基本元素总结 BSS(Basic Service Set):基本 ...