[发明专利]一种在Linux内核中识别特定USB大容量存储设备的方法及系统有效
申请号: | 202010031330.2 | 申请日: | 2020-01-13 |
公开(公告)号: | CN111240754B | 公开(公告)日: | 2023-10-27 |
发明(设计)人: | 苗功勋;袁浩;刘晓萌;魏东晓;孙强 | 申请(专利权)人: | 中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司 |
主分类号: | G06F9/4401 | 分类号: | G06F9/4401;G06F13/10 |
代理公司: | 北京久维律师事务所 11582 | 代理人: | 邢江峰 |
地址: | 250101 山东省济南市济南市高*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 内核 识别 特定 usb 容量 存储 设备 方法 系统 | ||
本发明提供了一种在Linux内核中识别特定USB大容量存储设备的方法及系统,本发明针对USB外置光驱和U盘两者难以准确识别的问题,在USB子系统驱动匹配层面上主动放过USB0806设备,进入SCSI子系统驱动匹配模式,由SCSI子系统的SCSI设备描述结构可以通过Linux内核设备树向上遍历父设备的方法找到相对应的USB子系统的USB设备描述结构,并在SCSI子系统中根据USB0806设备的SCSI设备类型判定USB0806设备的类型,从而完成对当前USB0806设备的识别,并在SCSI子系统驱动匹配过程中对设备进行管控,使得对于USB设备的识别和阻断更加有效,提高识别准确率。
技术领域
本发明涉配USB设备识别技术领域,特别是涉及一种在Linux内核中识别特定USB大容量存储设备的方法及系统。
背景技术
在Linux系统下对USB设备进行管控,一般而言有两种方法,一种是阻断新插入设备为主,辅之以禁用已生效设备,另一种为定时扫描并且禁用设备,前一种方法阻断及时,设备未生效就已被阻断,但实现难度大,后一种方法实现简单,但阻断效果一般。就工作场景而言,分为内核态、应用层程序态以及两者混合模式,相对而言,内核态直接通过内核模块控制设备驱动的加载,效果更佳,但开发维护难度大。
综上所述,采用内核态的USB设备阻断模式对于USB设备管控更加有效,但该方案难度之一在于管控模块在USB设备插入之后,操作系统匹配驱动之前需要完成插入USB设备的识别和阻断。
Linux内核中USB设备的识别最常用的方法就是获取USB设备的描述符信息进行解析,根据描述符的配置推断出USB设备的类型,但是对于某一类配置信息可能存在多种设备类型,比如USB大容量存储设备。常用的USB大容量存储设备(USB设备描述符主设备号或者接口描述符主接口号为0x08)一般主要有以下几类:USB外置光驱、USB外置软驱、U盘和其他设备,其他设备包含配置不标准设备和比较少见设备,在此暂不予考虑。USB外置软驱的设备描述符次设备号或者接口描述符次接口号为0x04,相对好区分,在此不予过多描述;USB外置光驱和U盘的设备描述符次设备号或者接口描述符次接口号均为为0x06(USB0806设备),造成两者在USB描述符层面上难以准确识别,同时两者在USB子系统驱动匹配层面上都能且只能匹配到名称为“usb-storage”的驱动模块,同样难以准确识别。
发明内容
本发明的目的是提供一种在Linux内核中识别特定USB大容量存储设备的方法及系统,旨在解决现有技术中USB外置光驱和U盘两者难以准确识别的问题,实现通过内核层完成对USB0806设备的识别,提高识别准确率。
为达到上述技术目的,本发明提供了一种在Linux内核中识别特定USB大容量存储设备的方法,所述方法包括以下步骤:
S1、USB0806设备在USB子系统匹配usb-storage驱动模块,匹配完成后进入SCSI子系统驱动匹配模式;
S2、通过SCSI子系统的SCSI设备描述结构通过Linux内核设备树向上遍历父设备,找到对应USB子系统的USB设备描述结构;
S3、如当前USB0806设备的SCSI设备类型标明为TYPE_ROM或TYPE_WROM类型,则该设备为USB外置光驱设备;如当前USB0806设备的SCSI设备类型标明为TYPE_DISK、TYPE_MOD或者TYPE_RBC类型,则该设备为U盘。
优选地,所述方法还包括对特定USB大容量存储设备的管控,具体如下:
根据USB设备的策略选择是否允许操作系统对当前USB0806设备进行相关的驱动匹配动作,如策略禁止,则USB外置光驱设备与名称为sr的驱动模块不允许进行匹配,U盘与名称为sd的驱动模块不允许进行匹配;反之策略允许就放行。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司,未经中孚安全技术有限公司;中孚信息股份有限公司;北京中孚泰和科技发展股份有限公司;南京中孚信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010031330.2/2.html,转载请声明来源钻瓜专利网。