隐形的监控——无线键盘侦听


在用户使用计算机时,键盘是信息输入的主要媒介,键盘输入包含大量的私人机密信息,包括帐号密码等,所以键盘侦听被各种攻击者所大量采用,成为一种普遍但是破坏力强大的攻击方式。键盘侦听主要通过键盘记录器来实现,所以大部分杀毒软件都把键盘记录器识别为恶意文件,各种高安全要求的网站例如网上银行等,也都要安全ActiveX安全模块来抵御键盘记录器的威胁。

和传统的有线键盘不同,在使用无线键盘时,用户信息不再直接输入到用户的计算机中,而是先在键盘内将用户的输入信息转化为相应的射频消息,然后将消息发送给适配器。适配器在接收到消息之后,会将消息按照规则转化为用户的输入递交给计算机进行处理。在无线键盘的使用过程中,可以发现在键盘和适配器的射频通讯如果被攻击者进行侦听,就会导致用户输入的泄露。与传统的键盘侦听手段不同,直接监听射频消息的攻击过程十分隐秘,用户完全无法察觉。

实验准备

在对无线键盘侦听的过程中,需要使用接收装置接收射频消息,这里选择使用的是 Hackrf来对用户输入进行侦听,实验平台为 kali Linux 。


在上一次对无线键盘研究中,已经确定无线键盘和适配器的通信频率为 2.4GHz,所以我们需要对这个频段对射频消息进行监听。在上一次使用重放攻击对用户输入进行干扰的过程中,我们已经获得了一些按键的射频消息,我们在上次的基础上展开。

 

实验过程

信号录制完成之后,需要对信号进行观察。在对无线电信号的研究中,我们发现Audicty作为一款音频处理软件,在处理无线电信号时也有十分优秀的效果,该软件是免费的,同时也有绿色版本,可供使用。这里首先使用Audicty导入录制好的按键射频信息。


选择导入的文件之后,会出现如下的界面,让用户设置文件导入的格式。由于audicity本身是一个音频处理软件,所以需要对采样率,编码格式,声道等信息进行重新设置。


成功对导入格式进行设置之后,audicity就开始导入数据了,导入数据的时间会根据计算机的性能和文件的大小有所变化,所以可能需要耐心等待,但一般来说正确设置导入格式之后,文件导入时间不会超过1分钟。


成功导入数据之后如下图所示,可以观察到信号在图中的具体变化情况,从图中可以观察到一系列的按键信号(红色圈出的信号)。


放大来看就可以看到具体的编码了。具体的编码如下图所示,从图中可以发现在正常的适配器的维持信号中出现了其他信号(红色圈出的信号),经过分析可以确认这些是按键的信号:


确定按键信号。由于在上一次实验中我们可以使用重放攻击直接对无线键盘进行攻击,所以可以确认,在无线键盘和适配器通讯过程中,没有使用到序列码等安全机制,所以进行以下操作。首先我们使用inspectrum进行对信号的处理。在监听信号之前,我们首先需要获取到不同按键的基准信号作为对原始信号的参考标准,同时对基准信号的分析,也可以找出无线键盘的通信协议的格式。下面例举一个按键B信号的处理过程。

在对基准信号进行处理的时候,可以使用inspectrum。Inspectrum是一个开源的无线电处理软件,可以用来对射频信号的分析,功能强大,可以在github上面找到。在kali上面可以使用下述方法安装:

sudo apt-get installqt5-defaultlibfftw3-dev cmake pkg-configmkdir buildcd buildcmake ..makesudo make install

可以在终端中直接使用inspectrum命令打开inspectrum软件,如下图所示:


然后选择需要导入要处理的文件,如下所示:


导入成功之后,可以看到和audicity一样的信号图,不同的是在inspectrum上面信号的显示更加清晰。同时用不同的颜色标注出更多的信息,比如说信号集中的频率等。如下所示:


为了对信号的进一步分析,需要通过inspectrum的强大功能导出信号的振幅图。导出方式为在信号图上点击鼠标右键选择导出的无线电信号图即可。如下所示:


接下来是对导出的振幅图对信号进行处理。使用inspectrum软件的功能以等间隔的方式分隔振幅图:


使用inspectrum导出不同振幅数据,这些数据十分重要是后面处理的关键。振幅数据如下所示:


得到振幅数据之后,需要对振幅数据进行相应的处理转化为01码才能进行按键信息的分析。我们使用相应的脚本对信号进行转化。脚本如下所示:

 

#!/bin/pythonfileread=open("w",'r')filewrite=open("w1",'w+')s=fileread.read()fileread.close()i=0rows=s.split(',')for row in rows:#print rowif(row==""):print(num)i=i+1ifnum>-0.99:filewrite.write("1")else:filewrite.write("0")filewrite.close()print str(i)+"data has been deal"

转化后的数据如下所示:


通过相同的方式获取同一个按键的多条数据之后,就可以获得了按键B的基准信号。我们对其他按键可以用相同的方法进行处理,简化起见,这里只处理了有限的基准信号,获得这些基准信号。就可以实施无线键盘的侦听攻击。

首先使用hackrf录制用户正常的按键信号,然后使用处理按键基准信号的方法,使用inspectrum处理用户的输入的射频数据,获取到用户输入的01序列,然后使用脚本将用户输入的01序列进行比对,比对成功之后,就可以确定用户按下的按键为那一个。由于射频信号接收的不稳定,即使同一个信号在接收到的时候也存在误差。所以在比对过程中需要设定可容忍出错的阈值,来减小接收误差带来的影响。但是这个阈值不能过大,防止出现按键的误判。所以在写判断脚本时,阈值的设置非常重要。成功设定阈值之后,就可以对按下的按键进行判断。在本次实验中只对字母按键进行了有限的测试。测试结果显示,按键侦听的成功概率大约在50%到70%之间。下面是对按键B的实验结果:

按键B判断正确:


按键B判断错误:


按键B判断正确:


威胁分析:

在研究中发现,目前已有不少针对无线键盘的窃听攻击,但是大多需要破解键盘和适配器之间的通讯协议。但是在本文的攻击方式中,直接针对无线电信号进行分析,对于没有使用序列码的无线键盘,信号本身不会存在变化,所以普通的加密手段没有作用。同时通过无线电侦听用户无线键盘输入的信息窃取方式十分隐蔽,不容易被发现,所以对用户的个人信息有很大的安全威胁。

安全建议:

对于无线键盘的生产厂商来说,直接分析无线电信号的攻击方式可以通过添加序列码来解决。使用了序列码之后,每一次按键按下的无线电信号都会有所不同,这回增加攻击者实施攻击的难度和成本。同时生产厂商还可以使用加密的手段来加强防御。在序列码的基础上添加加密手段之后,可以防止攻击者直接接触到序列码,通过大量数据分析出序列码的产生规则,进而伪造出正常的无线键盘数据,来欺骗适配器进行相应的操作。通过序列码和加密的手段,可以提高无线键盘的安全性,保证用户的数据安全。

对于普通用户而言,防御无线键盘攻击最根本的手段就是不使用无线键盘,这样可以彻底根绝射频信号泄漏用户输入的现象,可能这样的行为看上去有点因噎废食,但却是最根本的办法。其次在挑选无线键盘的时候,用户可以尽量选择大厂商的无线键盘,因为大厂商往往在无线键盘采用了相应的安全措施,可以保障无线键盘和适配器之间的通信安全需求。最后,在使用无线键盘的时候,尽量少输入关键的个人信息,防止攻击者的窥探,比如在输入密码的时候,尽量使用手机扫码登录的手段,这样不仅可以防止无线键盘泄漏用户密码,也可以防止电脑中恶意软件的窃听密码。

 


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/352138.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

httpwatch professional 破解版v9.4.17

httpwatch 是一款功能非常强大的网页数据分析工具,它拥有缓存管理、数据和目录管理、消息头发送/接受、字符查询.POST、Cookies管理等功能,并且他还不需要代理服务器或一些复杂的网络监控工具就能够非常轻松的显示网页请求和回应的日志信息,…

BCGControlBar库专业版,完整记录的MFC扩展类

BCGControlBar库专业版,完整记录的MFC扩展类 BCGControlBar Library Professional (BCGControlBar Pro MFC) 是一个 MFC 扩展库,包含 300 多个经过精心设计、测试和完整记录的 MFC 扩展类,例如功能区、工具栏、菜单、控件以及自定义和可视化,…

things 3 mac 破解版永久激活方法

Things3 for Mac破解版是目前Mac平台上最好的任务管理应用程序,使用简单易用,而且设计美观。things3 mac 破解版功能强大具有工作安排,日志簿,任务管理,日程管理等实用功能,让用户可以更好的管理个人任务。…

键盘输入保护器:KeyScrambler

创新技术屏蔽数字资产 KeyScrambler 开创性的击键加密技术可在 Windows 操作系统、所有浏览器和数百个关键应用程序中实时深入地保护用户键入的信息。 值得信赖的软件让用户安心 KeyScrambler 已经被世界各地的专家、博主和用户测试和使用了 16 年,并被证明对最阴险…

python你TM太皮了——区区30行代码就能记录键盘的一举一动

先看看效果 Like This↓ 一、公共WiFi 公用电脑什么的 在我们日常在线上工作、玩耍时,不论开电脑、登录淘宝、玩网游 统统都会用到键盘输入 在几乎所有网站,例如淘宝、百度、126邮箱等等 为了保护用户信息 登录时,输入框都是不可见的。…

Android设备新型恶意软件,融合银行木马、键盘记录器和移动勒索软件等功能

2019独角兽企业重金招聘Python工程师标准>>> 网络犯罪分子目前正在开发一种针对Android设备的新型恶意软件,它融合了银行木马、键盘记录器和移动勒索软件的功能。 根据来自ThreatFabric的安全研究人员称,这个恶意软件名为MysteryBot&#xff…

ROS:古月居第一次作业(话题与服务编程、动作编程、TF编程)

一.话题与服务编程 话题与服务编程:通过代码新生一只海龟,放置在(5,5)点,命名为“turtle2”;通过代码订阅turtle2的实时位置并打印在终端;控制turtle2实现旋转运动; demo_turtle.l…

RobotFramework+Eclispe环境安装篇

环境安装是学习任何一个新东西的第一步,这一步没走舒坦,那后面就没有心情走下去了。 引用名句:工欲善其事必先利其器!! Robotframework:一款 自动化测试框架。 Eclipse:一款编辑工具。可以编…

控制算法工程师的主要职责描述(合集)

控制算法工程师的主要职责描述1 职责 1、负责公司MW级机组的控制策略参数整定,编写外部控制器 2、通过控制算法的优化实现风电机组轻量化设计 3、负责公司先进的风电机组智能控制算法的控制,风电机组的前馈控制,风电机组载荷在线预估&#xf…

消息中间件之ActiveMq安装

文章目录 前言安装下载地址安装 使用控制台调整配置文件 前言 2023年年中了,又遇到了老朋友activeMq,上次接触activeMq还是在15年的时候,系统中用到了这个消息中间件。 阔别8年之久,竟然又用到了这个老家伙! 安装 要…

Python数据攻略-DataFrame的数据操作

大家好,我是Mr数据杨,今天我们就来谈谈Python中的数据访问和修改。 首先,你们一定都听过《三国演义》吧,里面的人物和事情其实就像我们Python中的数据。比如曹操就像我们的数据元素,他的性格特点、军事才能等就像我们…

第16章:InnoDB数据存储结构

一、数据库的存储结构:页 1.磁盘与内存的交互基本单位:页 InnoDB将表中数据划分多个页来存储,InnoDB中页的大小默认是16KB 在数据库中,不论读一行,还是读多行,都是将这些行所在的页从磁盘加载到内存。数据库管理存储…

3dmax入门 | 学3d建模必备软件技能基础教学

3dmax入门❗️学3d建模必备软件技能基础认知|||学3d建模基本都是从3dmax入手开始学习的 这篇笔记就来教零基础小白小伙伴们来认识3dmax 3ds max界面组成有以下几部分: 1、标题栏:主要记录版本信息 2、菜单栏:涵盖了几乎软件所有命令 3、工具栏&#xff…

报表生成器FastReport .Net教程:“Text“对象、文本编辑

FastReport .Net是一款全功能的Windows Forms、ASP.NET和MVC报表分析解决方案,使用FastReport .NET可以创建独立于应用程序的.NET报表,同时FastReport .Net支持中文、英语等14种语言,可以让你的产品保证真正的国际性。 FastReport.NET官方版…

【Web服务应用】Tomcat部署

Tomcat部署 一、Tomcat简介二、tomcat组件2.1核心组件2.2Tomcat功能组件2.3Tomcat 请求过程 三、部署Tomcat服务3.1Tomcat虚拟主机配置 四、Tomcat多实例部署 一、Tomcat简介 一款 java 开发的开源的 Web 应用服务程序。 可以作为Web应用服务器,处理静态的Web页面&…

【计算机组成】Cache与CPU的直接映射、全相联映射与组相联映射

一.Cache与CPU需要映射的原因 CPU准备访问内存时,会先问问cache存储器有没有已经提前准备好了数据,如果没有则再找内存要: 如果Cache刚好命中,则直接从Cache中读取数据: 如果Cache没有命中(Cache失效&#…

计算机中丢失VCRUNTIME140_1怎么办,vcruntime140_1.dll的三个修复方法

vcruntime140_1.dll是一个Windows系统文件,它是Microsoft Visual C Redistributable for Visual Studio 2019软件包的一部分,用于运行使用Visual C开发的应用程序。在我们打开软件或者游戏的时候,提示计算机中丢失VCRUNTIME140_1怎么办&#…

w ndows10玩游戏蓝屏,Windows 10 电脑玩穿越火线蓝屏原因及解决方法

Windows 10 蓝屏是非常常见的,可是面对不同原因出现的蓝屏您又知道如何去处理吗?今天我们就来通过解决穿越火线蓝屏顺便一起看看都是因为什么原因导致的 Windows 10 系统蓝屏吧。 1、显卡驱动导致的蓝屏,由于在 Windows 10 系统中有很多不稳定…

如何下载安装穿越派V3.14版本?

1、启动服务 1.1 在首页或huluer.com任何页面,点击 (数据方舟)。 1.2 点击 启动服务 按钮。 2、安装部署云化环境 (注:一定要到需要部署的个人电脑或服务器上下载并安装。) 2.1 点击确定,下载iChainPi.exe安装程序。(下载及解答 下方点击软件下载也是一样的。)

cf四大服务器位置,CF:从最初的42个服务器到现在的四大战区,穿越火线还能火多久?...

原标题:CF:从最初的42个服务器到现在的四大战区,穿越火线还能火多久? 穿越火线于近日进行了一波重大的更新,最引人注目的就是“跨区作战”了,也就是我们所说的合区,从2017年开始,穿越…