一种USB串口通讯检测方法及设备
技术领域
本发明涉及互联网安全检测领域,具体地,涉及一种USB串口通讯检测方法及设备。
背景技术
如今,随着互联网的发展,窃密泄密工具层出不穷;而USB作为计算机或其它一些移动设备标准输入输出口,未做任何处理的USB接口成为公司、涉密部门等企业单位窃密泄密的最大威胁。
2014年7月,曝出移动电源(充电宝)窃密,在移动电源一边对手机进行充电的过程中,一边窃取用户手机里面的信息,可见窃密的手段越来越高超,也越来越隐蔽,不易发现。
2014年8月德国研究人员发现USB漏洞并编写“Bad USB”程序,证实通过USB可进行窃密和攻击,全球受影响设备数量在10亿以上。
此外,基于USB接口的移动智能终端产品越来越丰富,随着科技的发展,今后智能手机、平板电脑、移动智能存储、智能家电、智能家居的品类还会越来越多,而对于这类产品通过USB接口窃密泄密的行为,市面上还没有一款比较全面的检测设备,使得对这类窃密泄密的防范以及检测存在较大的困难
USB接口窃密不依赖于操作系统,基于软件的手段难以检测到。因此在防范和检测上存在较大困难。
发明内容
本发明提供了一种USB串口通讯检测方法及设备,解决了现有的USB接口窃密检测存在实施困难的技术问题,实现了USB串口通讯检测易于实现的技术效果。
为实现上述发明目的,本申请一方面提供了一种USB串口通讯检测方法,所述方法包括:
对用USB数据线连接的多个设备之间发送和接收的数据包进行抓取;
对串口USB发送和接收的数据包进行转发;
对抓取到的原始数据进行重组与解析;
对解析出的初步数据进行相关分析;
基于分析结果,判断出USB串口通讯是否正常;
对通讯过程中产生的所有数据进行保存,用于实现数据回放和回顾分析。
进一步的,根据USB事务机制以及具体传输协议的规律进行重组和解析。
进一步的,重组为:当多种USB事务数据混杂在一起的时,根据不同事务各自的逻辑来进行分离;分离之后将同类型的数据整合到一起;
解析为:对数据进行重组完成之后,根据不同USB协议的特征对数据进行解析;根据协议特征来识别是USB鼠标事件协议,还是键盘事件协议,或者其它协议;如果是鼠标事件协议,则根据鼠标事件的特征来解析鼠标的位移情况以及按键情况;如果是键盘事件则根据键盘事件的特征来解析是按下哪些键、弹起哪些键。
进一步的,原始数据包的数据类型包括:OUT、IN、SOF、SETUP、DATA0、DATA1、DATA2、MDATA、ACK、NAK、STALL、NYET、PRE、ERR、SPLIT、PING类型的数据。
进一步的,初步数据包括:基于操作系统的文件读取和写入数据、基于鼠标事件移动和按键操作数据、基于键盘事件的按键操作数据、基于手机文件传输和指令发送数据。
进一步的,对解析出的初步数据进行相关分析,具体包括:
基于键盘鼠标事件的分析:是否使用键盘事件和鼠标事件来进行攻击操作;
基于文件读写的分析:是否读取了第一预设区域以外区域的数据,是否向第二预设区域外的区域写入了数据;
基于文件存储的分析:分析USB存储介质中的已删除数据;
基于手机指令的双向分析,包括:是否通过手机指令窃取计算机上的文件;是否通过计算机窃取手机上的文件。
进一步的,所述方法还包括:根据不同的设备,使用不同的传输速率模式。
另一方面,本申请还提供了一种USB串口通讯检测设备,所述设备包括:
连接模块,用于将需要检测的两个或多个设备通过相关USB数据线连接到USB串口通讯检测设备上;
数据包抓包与转发模块,用于对用USB数据线连接的多个设备之间发送和接收的数据包进行抓取;并对串口USB发送和接收的数据包进行转发;
分析模块,用于对抓取到的原始数据进行重组与解析;对解析出的初步数据进行相关分析;基于分析结果,判断出USB串口通讯是否正常,对通讯过程中产生的所有数据进行保存,用于实现数据回放和回顾分析。
进一步的,根据USB事务机制以及具体传输协议的规律进行重组和解析;重组为:当多种USB事务数据混杂在一起的时,根据不同事务各自的逻辑来进行分离;分离之后将同类型的数据整合到一起;解析为:对数据进行重组完成之后,根据不同USB协议的特征对数据进行解析;根据协议特征来识别是USB鼠标事件协议,还是键盘事件协议,或者其它协议;如果是鼠标事件协议,则根据鼠标事件的特征来解析鼠标的位移情况以及按键情况;如果是键盘事件则根据键盘事件的特征来解析是按下哪些键、弹起哪些键。
进一步的,对解析出的初步数据进行相关分析,具体包括:
基于键盘鼠标事件的分析:是否使用键盘事件和鼠标事件来进行攻击操作;
基于文件读写的分析:是否读取了第一预设区域以外区域的数据,是否向第二预设区域外的区域写入了数据;
基于文件存储的分析:分析USB存储介质中的已删除数据;
基于手机指令的双向分析,包括:是否通过手机指令窃取计算机上的文件;是否通过计算机窃取手机上的文件。
本申请提供的一个或多个技术方案,至少具有如下技术效果或优点:
1)实现对通过USB接口进行通讯的两端进行通讯数据分析和检测是否有窃取行为。
2)功能实现不依赖于通信两端的操作系统。
3)可对不同传输速率的USB通讯协议进行分析(USB1.0,USB2.0,USB3.0)
4)可通过分析USB通讯数据来识别USB存储介质上的已删除文件并能够进行数据恢复。
5)可还原大量不同类型的USB事件协议。
6)可实时保存产生的通讯数据,用于时候回顾分析。
附图说明
此处所说明的附图用来提供对本发明实施例的进一步理解,构成本申请的一部分,并不构成对本发明实施例的限定;
图1是本申请中USB串口通讯检测方法的流程示意图;
图2是本申请中USB串口通讯检测设备的组成示意图。
具体实施方式
本发明提供了一种USB串口通讯检测方法及设备,解决了现有的USB接口窃密检测存在实施困难的技术问题,实现了USB串口通讯检测易于实现的技术效果。
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在相互不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述范围内的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
本申请通过研制USB串口通讯检测设备及方法,请参考图1,能够达到以下目标:
对用USB数据线连接的两个设备(如:PC-U盘,充电宝-手机等)发送和接收的数据包进行抓取;
对串口USB发送和接收的数据包进行转发;
对抓取到的原始数据进行重组与解析;
对解析出的初步数据进行相关分析;
使用专用的高速FPGA芯片;
针对不同传输设备,使用不同的速度传输模式;
独特的USB差异化防呆设计,防止误插;
原始数据包包括如下类型(类型来自USB2.0通讯协议规范):OUT、IN、SOF、SETUP、DATA0、DATA1、DATA2、MDATA、ACK、NAK、STALL、NYET、PRE、ERR、SPLIT、PING。
据USB事务机制的原理以及具体传输协议的规律进行重组和解析。
例如正常的输出事务顺序为:OUT、DATA0、ACK。如果接收到的数据为:OUT、DATA0、NAK则表示设备繁忙。
重组:当多种USB事务数据混杂在一起的时候,需要根据不同事务各自的逻辑来进行分离。分离之后将同类型的数据整合到一起,这个过程叫做重组。
解析:对数据进行重组完成之后需要根据不同USB协议的特征对数据进行解析。根据协议特征来识别是USB鼠标事件协议还是键盘事件协议或者其它协议。如果是鼠标事件协议,则根据鼠标事件的特征来解析鼠标的位移情况以及按键情况;如果是键盘事件则根据键盘事件的特征来解析是按下哪些键、弹起哪些键。这个过程就是解析。
初步数据包括:基于操作系统的文件读取和写入、基于鼠标事件移动和按键操作、基于键盘事件的按键操作、基于手机文件传输和指令发送。
基于键盘鼠标事件的分析:是否使用键盘事件和鼠标事件来进行攻击操作;如通过键鼠配合添加用户名密码、下载木马等。
基于文件读写的分析:是否读取了不应该读的地方,是否向可疑地方写入了数据。如读取系统账号密码信息,向系统自动启动项动写入可执行程序。
基于文件存储的分析:分析USB存储介质中的已删除数据。
基于手机指令的双向分析,包括:是否通过手机指令窃取计算机上的文件;是否通过计算机窃取手机上的文件。
设备连接:直接通过USB数据线或其它USB连接方式的两个或多个设备可以通过“USB串口通讯检测设备”进行连接。
USB数据包的抓取:截获两个相连的USB设备,抓取它们之间的传输数据。
USB数据包转发:转发两个相连的USB设备之间的数据包而不影响两个设备间的正常通信。
分析数据包:根据不同的USB设备,解析数据包并呈现数据包的内容。
防错模式:根据不同的设备,使用不同的传输速率模式,防止数据错误。
本发明独创分析方法:通过将USB接口连接的两端进行转接并进行数据转发的方式来对USB传输的物理数据进行分析。通过分析可解析还原上百USB设备传递的数据。并能检测出USB设备是否有非法行为。使用专门的高速FPGA芯片,XC6SLX9-3TQG144C。
根据不同的设备,使用不同的传输速率模式,高速USB设备,使用USB2.0传输模式,低速的USB设备,使用USB1.1传输模式。
所有的USB设备插入到电脑上后,数据都是通过USB驱动进行请求、控制、发送和接收的。
在这个过程中主要难点在于不同的USB设备有不同的驱动程序,我们前期主要研究U盘的驱动,U盘驱动一般是通用驱动,系统自带,安装完操作系统后不需再另行安装U盘驱动;后期会扩展到手机USB驱动,键盘、鼠标以及其它USB驱动程序。
研究USB驱动的主要目的在于,在抓取到串口USB数据包后,通过分析数据包内容,能够得出这些数据包是由什么设备发出或接收,传输过程是否有篡改、夹带,以便在后期数据包内容分析中进行定向分析;不同的USB设备,操作系统发给它们的请求和数据是不同的,这个需要通过研究驱动来进行分析、识别。
本发明实现了一个串口USB的中转,即操作系统发给外接USB设备的请求和相关数据,需要通过我们的检测设备,检测设备将数据包截获后再重新发送给外接USB设备;同样,外接USB设备发出的数据需要通过检测设备,将其数据截获后,再将其转发给上层操作系统。串口USB中转需要对USB的连接线路有了解,才能将其从中间断开,然后接入检测设备,进行串口USB数据包的中转转发。
请参考图2,USB串口通讯检测设备,包括:
连接模块,用于将需要检测的两个或多个设备通过相关USB数据线连接到USB串口通讯检测设备上;
数据包抓包与转发模块,用于对用USB数据线连接的多个设备之间发送和接收的数据包进行抓取;并对串口USB发送和接收的数据包进行转发;
分析模块,用于对抓取到的原始数据进行重组与解析;对解析出的初步数据进行相关分析;基于分析结果,判断出USB串口通讯是否正常。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。