掌桥专利:专业的专利平台
掌桥专利
首页

一种连接USB后的按键检测方法及装置

文献发布时间:2023-06-19 16:12:48



技术领域

本发明属于计算机技术领域,尤其涉及一种连接USB后的按键检测方法及装置。

背景技术

USB接口简化改进了个人计算机与外围设备之间的接口,以多种方式提高了易用性,由于该接口是自配置模式,用户无需对设备和接口进行任何干预即可使用,USB接口实现了数据的高速率传输,具备多种供电模式,使用灵活,而且可以连接键盘、鼠标、U盘、摄像头等多种外设。USB作为一种输入输出接口的技术规范,被广泛应用于个人电脑及手机等移动通信设备中,而且在摄影器材、数字电视、游戏机、工控系统等领域中也广泛使用。由于恶意攻击形式趋于多样化,过去基于软件环境所存在的安全隐患也在逐渐向硬件环境转移。此外,硬件安全不仅仅局限于整个硬件实体本身,其硬件接口中所存在的隐患也愈发明显,利用硬件接口发起恶意攻击也越来越成为攻击者的重要目标之一,USB接口就是硬件接口攻防中的典型代表,使得按键检测繁琐且精确度不高的问题。

发明内容

有鉴于此,本发明提供了一种连接USB后的按键检测方法及装置,通过连接USB后对按键进行检测,用户输入数字按键包含多个不同类型的按键,根据用户按键行为的不同而将每个用户的训练数据划分为多个集群,以构建每个集群的分类器进行按键检测,具体采用以下技术方案来实现。

第一方面,本发明了一种连接USB后的按键检测方法,包括以下步骤:

获取检测USB数据线信号的变化判断USB是否连接,若检测到有一根数据线是高电平,则存在USB设备插入;

根据检测USB数据线信号的变化判断USB设备所支持的速度模式,根据是D+还是D-被拉高来判断目标设备是全速还是低速设备;

当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,其中,主机向设备发起请求读取设备的多种描述符以获得设备类型和端点信息,主机向设备发起设置地址请求操作,请求设备使用指定地址,主机向设备发起设置配置请求操作并确定相应配置;

将按键原理图布线成行列交叉的矩阵形式,引脚分别与行线和列线连接,在水平行线和竖直线的交叉点上放置按键,通过检测电平来确定行线和列线交叉的按键是否接通以完成按键检测。

作为上述技术方案的进一步改进,通过检测电平来确定行线和列线交叉的按键是否接通以完成按键检测,包括:

将引脚设置唯低电平来将全部行线设置为低电平输出,微处理器循环检测列线相连的引脚是否为低电平,若检测到低电平,记录列线的编码,进入下一步骤,否则一直检测;

依次将行线设置为低电平来检测列线的电平状态,记录列线电平状态时对应的行线编号,由两个编号的行线与列线交叉点得到按键所在位置,返回继续进行检测。

作为上述技术方案的进一步改进,选用不同接口实现两个设备的组合设备枚举,对各个不同类别描述符的配置,键盘和鼠标构成的USB组合设备使用同一个设备描述符;

预设键盘或键值组合,通过USB接口线连接电脑端,当按下按键时会识别是否为功能按键,若为普通按键,则直接将键值打包为数据包发出;电脑端收到数据后,通过USB协议解析,得到发送的键值;若按下的按键为功能按键,则进行查表,读取USB协议解析,得到发送的建值;

若按下的按键为功能按键功能按键,则进行查表,读取配置按键的信息,将对应的键值组合通过不同的数据包发出,相邻数据包之间按照预设好的延时来判断。

作为上述技术方案的进一步改进,当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,包括:

采用离散小波变换DWT来压缩提取的按键波形,同时保留时间和频域信息,离散信号y[n]的DWT用小波的基函数来表示:

选择正交的尺度和小波函数,条件表达式

作为上述技术方案的进一步改进,将短时能量STE算法应用于小波分解中,STE在处理时分为按键状态和非按键状态,CSI信号的长期能量表示为

作为上述技术方案的进一步改进,当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,包括:

设定安全规则进行设备监控,若设备不符合安全规则,则被拒绝使用;

通过捕获USB设备数据,将其上传至服务器或后台直接进行分析。

作为上述技术方案的进一步改进,USB HID安全检测防护过程包括:

采用WHID模拟假盘进行按键注入攻击的特征,通过对键盘数据信息的监控,以对按键注入攻击的预警;

根据HID数据口进行数据同你的特征,对HID设备进行数据信息的监控以对WHID设备数据的捕获,并统计和分析数据流量大小实现可疑信息初步预警;

获取恶意USB HID攻击工具的特点对USB HID设备进行分类,划分设备风险等级,实现风险信息的实时显示,根据监控结果实时动态调整目标设备分类。

作为上述技术方案的进一步改进,采用RediefF算法挑选接收端中的子载波,提取合适的特征波形来准确检测数字按键,在模式匹配的数据预处理阶段,利用ReliefF算法挑选出的子载波能为数据的特征波形检测和为波形特征匹配提供推测依据。

作为上述技术方案的进一步改进,在获取按键的DWT形状特征后,WiDig建立了用于分类的训练模型,当WiDig比较不同按键的形状特征时,将两个关键字的形状特征之间的相似度进行比较,通过动态调整DTW执行它们之间的最优对齐来计算波形之间的距离,利用DTW距离作为按键形状特征的比较度量,WiDig从各分类器中获得决策。

第二方面,本发明还提供了一种连接USB后的按键检测装置,包括:

检测模块,用于获取检测USB数据线信号的变化判断USB是否连接,若检测到有一根数据线是高电平,则存在USB设备插入;

判断模块,用于根据检测USB数据线信号的变化判断USB设备所支持的速度模式,根据是D+还是D-被拉高来判断目标设备是全速还是低速设备;

识别模块,用于当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,其中,主机向设备发起请求读取设备的多种描述符以获得设备类型和端点信息,主机向设备发起设置地址请求操作,请求设备使用指定地址,主机向设备发起设置配置请求操作并确定相应配置;

处理模块,用于将按键原理图布线成行列交叉的矩阵形式,引脚分别与行线和列线连接,在水平行线和竖直线的交叉点上放置按键,通过检测电平来确定行线和列线交叉的按键是否接通以完成按键检测。

本发明提供了一种连接USB后的按键检测方法及装置,通过获取检测USB数据线信号的变化判断USB是否连接,若检测到有一根数据线是高电平,则存在USB设备插入,根据检测USB数据线信号的变化判断USB设备所支持的速度模式,根据是D+还是D-被拉高来判断目标设备是全速还是低速设备,当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,将按键原理图布线成行列交叉的矩阵形式,引脚分别与行线和列线连接,在水平行线和竖直线的交叉点上放置按键,通过检测电平来确定行线和列线交叉的按键是否接通以完成按键检测。将设备与USB设备建立连接,采用模式分割和小波分析压缩波形减少计算量,采用短时能量窗口推测按键的持续时间,得出用户匹配率和按键识别率,同时也提升了按键检测的工作效率。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本发明的连接USB后的按键检测方法的流程图;

图2为本发明的USB HID安全检测防护的过程图;

图3为本发明的连接USB后的按键检测装置的结构框图。

具体实施方式

下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。

参阅图1,本发明了一种连接USB后的按键检测方法,包括以下步骤:

S10:获取检测USB数据线信号的变化判断USB是否连接,若检测到有一根数据线是高电平,则存在USB设备插入;

S11:根据检测USB数据线信号的变化判断USB设备所支持的速度模式,根据是D+还是D-被拉高来判断目标设备是全速还是低速设备;

S12:当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,其中,主机向设备发起请求读取设备的多种描述符以获得设备类型和端点信息,主机向设备发起设置地址请求操作,请求设备使用指定地址,主机向设备发起设置配置请求操作并确定相应配置;

S13:将按键原理图布线成行列交叉的矩阵形式,引脚分别与行线和列线连接,在水平行线和竖直线的交叉点上放置按键,通过检测电平来确定行线和列线交叉的按键是否接通以完成按键检测。

本实施例中,通过检测电平来确定行线和列线交叉的按键是否接通以完成按键检测,将引脚设置唯低电平来将全部行线设置为低电平输出,微处理器循环检测列线相连的引脚是否为低电平,若检测到低电平,记录列线的编码,进入下一步骤,否则一直检测;依次将行线设置为低电平来检测列线的电平状态,记录列线电平状态时对应的行线编号,由两个编号的行线与列线交叉点得到按键所在位置,返回继续进行检测。

需要说明的是,选用不同接口实现两个设备的组合设备枚举,对各个不同类别描述符的配置,键盘和鼠标构成的USB组合设备使用同一个设备描述符;预设键盘或键值组合,通过USB接口线连接电脑端,当按下按键时会识别是否为功能按键,若为普通按键,则直接将键值打包为数据包发出;电脑端收到数据后,通过USB协议解析,得到发送的键值;若按下的按键为功能按键,则进行查表,读取USB协议解析,得到发送的建值;若按下的按键为功能按键功能按键,则进行查表,读取配置按键的信息,将对应的键值组合通过不同的数据包发出,相邻数据包之间按照预设好的延时来判断。

应理解,当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,采用离散小波变换DWT来压缩提取的按键波形,同时保留时间和频域信息,离散信号y[n]的DWT用小波的基函数来表示:

可选的,将短时能量STE算法应用于小波分解中,STE在处理时分为按键状态和非按键状态,CSI信号的长期能量表示为

本实施例中,当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,设定安全规则进行设备监控,若设备不符合安全规则,则被拒绝使用;通过捕获USB设备数据,将其上传至服务器或后台直接进行分析。

参阅图2,USB HID安全检测防护过程包括:

S20:采用WHID模拟假盘进行按键注入攻击的特征,通过对键盘数据信息的监控,以对按键注入攻击的预警;

S21:根据HID数据口进行数据同你的特征,对HID设备进行数据信息的监控以对WHID设备数据的捕获,并统计和分析数据流量大小实现可疑信息初步预警;

S22:获取恶意USB HID攻击工具的特点对USB HID设备进行分类,划分设备风险等级,实现风险信息的实时显示,根据监控结果实时动态调整目标设备分类。

本实施例中,采用RediefF算法挑选接收端中的子载波,提取合适的特征波形来准确检测数字按键,在模式匹配的数据预处理阶段,利用ReliefF算法挑选出的子载波能为数据的特征波形检测和为波形特征匹配提供推测依据。在获取按键的DWT形状特征后,WiDig建立了用于分类的训练模型,当WiDig比较不同按键的形状特征时,将两个关键字的形状特征之间的相似度进行比较,通过动态调整DTW执行它们之间的最优对齐来计算波形之间的距离,利用DTW距离作为按键形状特征的比较度量,WiDig从各分类器中获得决策。

参阅图3,本发明还提供了一种连接USB后的按键检测装置,包括:

检测模块,用于获取检测USB数据线信号的变化判断USB是否连接,若检测到有一根数据线是高电平,则存在USB设备插入;

判断模块,用于根据检测USB数据线信号的变化判断USB设备所支持的速度模式,根据是D+还是D-被拉高来判断目标设备是全速还是低速设备;

识别模块,用于当主机确定USB设备已连接和USB设备所支持的速度模式后,主机向USB设备发起设备描述符请求,完成设备识别操作,其中,主机向设备发起请求读取设备的多种描述符以获得设备类型和端点信息,主机向设备发起设置地址请求操作,请求设备使用指定地址,主机向设备发起设置配置请求操作并确定相应配置;

处理模块,用于将按键原理图布线成行列交叉的矩阵形式,引脚分别与行线和列线连接,在水平行线和竖直线的交叉点上放置按键,通过检测电平来确定行线和列线交叉的按键是否接通以完成按键检测。

本实施例中,对USB设备内部主控芯片重新编程的USB攻击技术,攻击者通过重新改写USB设备内部主控芯片中的程序,使其具备恶意功能,然后通过USB枚举等方式使恶意USB设备具备与其外形不符的功能或者通过USB设备植入目标设备时自动执行某些特定的恶意操作。通过连接USB后对按键进行检测,用户输入数字按键包含多个不同类型的按键,根据用户按键行为的不同而将每个用户的训练数据划分为多个集群,以构建每个集群的分类器进行按键检测,先将设备之间通过USB连接并有效地进行按键检测,从而提高了设备的按键检测的准确性和安全性。

在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

相关技术
  • 一种连接USB后的按键检测方法及装置
  • 一种轨道车辆螺栓连接后实际扭矩检测方法及装置
技术分类

06120114741205