[發明專利]一種在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.szxzyx.cn/pat/books/202010031330.2/2.html,轉載請聲明來源鉆瓜專利網。





