CN116842500A - 一种基于白名单的设备过滤方法及系统 - Google Patents
一种基于白名单的设备过滤方法及系统 Download PDFInfo
- Publication number
- CN116842500A CN116842500A CN202310824230.9A CN202310824230A CN116842500A CN 116842500 A CN116842500 A CN 116842500A CN 202310824230 A CN202310824230 A CN 202310824230A CN 116842500 A CN116842500 A CN 116842500A
- Authority
- CN
- China
- Prior art keywords
- white list
- usb
- equipment
- information
- disk
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000001914 filtration Methods 0.000 title claims description 17
- 238000001514 detection method Methods 0.000 claims description 6
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000005192 partition Methods 0.000 claims description 5
- 241000282326 Felis catus Species 0.000 claims description 4
- 238000003780 insertion Methods 0.000 claims description 3
- 230000037431 insertion Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 abstract 2
- 238000012216 screening Methods 0.000 abstract 1
- 230000006378 damage Effects 0.000 description 2
- 238000011217 control strategy Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
- G06F11/221—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test buses, lines or interfaces, e.g. stuck-at or open line faults
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种新的白名单的管理方法,对接入设备平台USB接口中的USB存储设备进行合法性判断和筛选,只有设备信息符合白名单列表的设备,才能正常工作并使用设备平台的功能。在设备平台中,白名单列表存放于平台硬件的SPI‑FLASH模块,运行于设备管理平台的伺服程序,会实时监测USB接口中的热插拔事件,如果有USB存储设备插入,将判定对应端口的USB存储设备信息是否存在于白名单列表,若存在,则使能USB存储设备,若不存在,则禁用USB存储设备并告警。白名单列表可以通过专用的密钥U盘进行更新。通过以上方法,大大提高了白名单列表更新的便捷性以及系统的整体安全性,降低了数据泄露的风险。
Description
技术领域
本发明涉及信息安全领域,具体涉及一种基于白名单的设备过滤方法及系统。
背景技术
基于USB存储设备的应用环境和系统通常涉及到信息安全,如果不设置保护措施禁止不可信的USB存储设备访问,有可能会导致用户系统中的敏感数据泄露或被非法窃取。
目前通用的技术是通过修改设备驱动的方式,辨别USB设备的PID/VID信息,引入相应的USB控制策略,将USB设备的PID/VID信息录入至黑白名单列表,允许白名单的USB设备访问,或者阻止黑名单的USB访问。一般来说,该黑白名单列表存放于程序代码或者配置文件中,对于存放在配置文件中的情况,黑白名单很容易被非法篡改,不具备安全可靠的条件;对于存放于程序代码中的情况,在更新列表时总是需要重新编译程序,不具备便捷性。
发明内容
本发明目的是提供一种设备过滤方法及系统,不仅能够实时监测USB存储设备是否存在于白名单列表,而且不需要更新程序,更加高效。
本发明为实现上述目的,通过以下技术方案实现:
一种基于白名单的设备过滤方法,包括步骤:
运行Linux系统的设备平台从SPI-FLASH中划分出单独的存储白名单列表的分区,导入白名单列表;
实时监测任意USB接口的热插拔事件;
识别对应接口插入的USB存储设备,获取设备信息,在白名单列表中的USB存储设备信息中进行检索,如果该设备信息存在于白名单列表,则认为该设备合法,否则将禁用该设备并进行告警。
进一步的,实时监测热插拔事件的方法为通过伺服程序中的UsbDector类中的创建Monitor线程来实时监控每个USB接口的插入事件。
进一步的,获取设备信息的方法为:
在伺服程序中创建类实例的时候绑定每个USB接口在内存中的地址,当设备平台检测到任意USB接口有USB存储设备插入后,USB设备检测模块解析该设备在SCSI总线上的序号n,生成n对应的设备信息,通过cat指令查看设备信息。
进一步的,在白名单列表检索设备信息的方法为:先根据USB端口,计算出对应白名单列表的偏移,然后采用枚举法,按字节依次读取,并将读取的数据和获取到的设备信息进行对比,如果设备信息一致,则认为该设备合法。
所述设备信息包括厂商信息、产品信息、USB存储设备序列号。
进一步的,白名单列表通过专用的白名单载体U盘导入,导入步骤为:
将白名单载体U盘接入Windows主机,通过Windows主机内的管理软件连接白名单载体U盘,将需要添加进白名单列表的USB存储设备插入到Windows主机,通过管理软件获取该USB存储设备的设备信息加入白名单载体U盘的白名单列表;
将白名单载体U盘插入设备平台的任意USB接口,伺服程序对白名单载体U盘进行身份认证,认证成功后循环读取其中的白名单列表并写入SPI-FLASH,直到读取完成,并更新SPI-FLASH中的白名单索引表;
白名单列表存放于白名单载体U盘中只有管理软件允许访问的隐藏区;
管理软件和白名单载体U盘通过私有指令进行通信。
进一步的,白名单列表的存储方法为:SPI-FLASH初始化时,根据USB端口的数量分配足够的存储空间,每一个USB端口的白名单索引用二维数组来标记,通过Index[n][m]来索引所有USB端口的白名单列表。
进一步的,白名单载体U盘隐藏区的的LBA中还包含有确定白名单列表是更新还是销毁的bit,每个USB端口对应一个bit位,对应bit位为1时,表示更新当前端口的白名单列表,对应bit位为0时,表示销毁当前端口的白名单列表。
本发明还公开了一种基于白名单的设备过滤系统,可以应用以上过滤方法,该系统包括:
设备平台,所述设备平台运行Linux系统,该设备平台具有单独存储白名单列表分区的SPI-FLASH存储介质;
白名单载体U盘,用于更新白名单列表,所述白名单载体U盘具备隐藏区;
Windows主机,具备管理软件,用于连接白名单载体U盘和需要添加进白名单列表的USB;
所述设备平台包括:
基于白名单的接口管理模块,用于管理设备平台所有USB接口;
USB设备检测模块,用于识别插入的USB存储设备,并获取设备信息;
白名单识别模块,用于查找SPI-FLASH中的白名单列表,判断存在插入事件的USB端口对应的USB存储设备是否合法。
本发明的优点在于:本发明提出了的USB接口对USB存储设备的过滤方法,与现有技术相比,白名单存绑定USB接口硬件地址,实现了对USB存储设备的定向监听和设备信息查询,不容易被非法篡改。通过设计专有的白名单载体U盘进行白名单的存储及更新,保证了设备平台、USB存储设备的稳定性,无需定期更新和编译程序,只需要对白名单载体U盘的隐藏区进行更新和销毁,更加高效和安全。
具体实施方式
下面将结合具体实施例,对本发明的技术方案进行更加清楚、完整地描述。
本发明公开了一种基于白名单的设备过滤系统和方法,该系统包括:
设备平台、白名单载体U盘、Windows主机,设备平台包括:基于白名单的接口管理模块、USB设备检测模块、白名单识别模块。
设备平台具有多个USB TypeA的接口,用于对插入的USB移动存储设备(优盘)的数据进行处理,该平台运行Linux系统,具有一个容量为256Mbit的SPI-FLASH存储介质,从SPI-FLASH中划分出单独的分区,用于存储白名单列表。
白名单列表通过专用的白名单载体U盘导入。导入前需要先将白名单载体U盘接入Windows主机,打开管理软件连接白名单载体U盘,管理软件和载体U盘通过私有指令进行通信,将需要添加进白名单列表的优盘插入到windows主机,通过管理软件获取该优盘的设备信息如下:
USB设备ID:VID = 0951 PID = 1666
设备序列号:EOD55EA573EA16C1588503C9
设备供应商:Kingston
设备名称:DataTraveler 3.0
设备修订版:0200
此时使用者只需要选择将该设备加入白名单列表即可,管理软件把该设备的厂商信息、设备信息以及设备序列号写入对应USB端口的白名单列表,白名单列表存放于白名单载体U盘的隐藏区,只有管理软件可以访问,确保了白名单列表的存储安全性。
白名单导入指将白名单载体U盘中的白名单列表批量导入到设备平台的SPI-FLASH中存储,也就是白名单载体U盘的主控芯片将FLASH保密区中的白名单通过USB接口批量传输给SPI-FLASH。首先将白名单载体U盘插入设备平台的任意USB接口,伺服程序检测到白名单载体U盘后,和白名单载体U盘握手,并进行身份认证,身份认证成功后,伺服程序通过SCSI私有协议启动白名单导入功能,循环读取白名单载体U盘中的白名单列表,同时写入SPI-FLASH,直到读取完成,并更新SPI-FLASH中的白名单索引表。
SPI-FLASH初始化时,根据USB端口的数量分配指定的4K存储空间,每一个白名单信息用512字节存储,最大支持8个。每一个USB端口的白名单索引用二维数组来标记,通过Index[n][m]来索引所有USB端口的白名单列表,其中Index[0]为USB端口0对应的白名单列表存储位置,依次为0,1,2,3……,Index[0][0]表示USB端口0对应的第一个白名单信息,Index[0][1]表示端口0对应的的第2个白名单信息,依次类推,单个端口对应的列表最大值为8。
运行于Linux嵌入式系统中的伺服程序,实时检测各个USB TypeA接口的USB存储设备插拔事件,对于任意USB TypeA接口的热插拔事件,伺服程序将识别对应接口插入的USB存储设备,并获取该USB存储设备厂商信息、设备信息以及序列号信息,并将获取的信息和该USB TypeA接口的白名单列表进行对比,如果获取到的信息存在于白名单列表,则认为该设备合法,设备可以正常工作;如果获取到的不存在于白名单列表,则禁用该设备,并进行告警。
基于白名单的接口管理模块,支持对设备平台任意USB TypeA接口的管理,通过私服程序中的UsbDector类中的创建Monitor线程来实时监控每个USB TypeA接口的插入事件,在创建类实例的时候绑定每个USB TypeA端口在内存中的地址,该地址可以从设备树中查询或在各端口都有USB设备插入的时候在“/sys/class/block”目录查看。
当系统检测到任意USB TypeA接口有优盘插入后,USB设备检测模块会解析该优盘在SCSI总线上的序号n(的取值从0开始,例如0,1,2,3...),对应的在系统/proc/scsi/usb-storage/路径下,系统会生成n对应的设备信息,通过cat指令查看设备信息如下所示(以当前设备的序号3为例):
root@root-E42:~$cat/proc/scsi/usb-storage/3
Host scsi3:usb-storage
Vendor:SanDisk
Product:CruzerForce
SerialNumber:00018130103120141210
Protocol:Transparent SCSI
Transport:Bulk
Quirks:SANE_SENSE
这时候,只需要解析该设备的信息,从“Vendor”字段获取厂商信息,从“Product”字段获取产品信息,从“Serial Number”字段获取该优盘的序列号,对于某个厂商的某一型产品,其单个优盘的序列号是唯一的,因此,通过上述三个信息,可确保该优盘是唯一的。
通过上述方法获取到USB存储设备的信息后,白名单识别模块从SPI-FLASH中查找该USB端口的对应的白名单列表,具体检索方法:先根据USB端口,计算出对应白名单列表的偏移,然后采用枚举法,按512字节依次读取,并将读取的数据和获取到的设备信息进行对比,如果厂商信息、产品信息和序列号均一致,则表示该USB存储设备可以使用该USB端口进行工作,如果遍历完白名单列表,仍未找到对比一致的数据,则表示该USB存储设备禁止使用该USB端口,并强制将USB存储设备卸载后弹出。
此外,使用者还可以通过白名单载体U盘隐藏区的第一个LBA中的前4个byte来设置白名单对应的白名单列表更新还是销毁,更新和销毁通过一个bit位来判断,最大支持32个USB端口白名单的设置,对应bit位为1时,表示更新当前端口的白名单列表,对应bit位为0时,表示销毁当前端口的白名单列表。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种基于白名单的设备过滤方法,其特征在于,包括步骤:
运行Linux系统的设备平台从SPI-FLASH中划分出单独的存储白名单列表的分区,导入白名单列表;
实时监测任意USB接口的热插拔事件;
识别对应接口插入的USB存储设备,获取设备信息,在白名单列表中的USB存储设备信息中进行检索,如果该设备信息存在于白名单列表,则认为该设备合法,否则将禁用该设备并进行告警。
2.根据权利要求1所述基于白名单的设备过滤方法,其特征在于,所述实时监测热插拔事件的方法为通过伺服程序中的UsbDector类中的创建Monitor线程来实时监控每个USB接口的插入事件。
3.根据权利要求2所述基于白名单的设备过滤方法,其特征在于,所述获取设备信息的方法为:
在伺服程序中创建类实例的时候绑定每个USB接口在内存中的地址,当设备平台检测到任意USB接口有USB存储设备插入后,USB设备检测模块解析该设备在SCSI总线上的序号n,生成n对应的设备信息,通过cat指令查看设备信息。
4.根据权利要求1所述基于白名单的设备过滤方法,其特征在于,所述在白名单列表检索设备信息的方法为:先根据USB端口,计算出对应白名单列表的偏移,然后采用枚举法,按字节依次读取,并将读取的数据和获取到的设备信息进行对比,如果设备信息一致,则认为该设备合法。
5.根据权利要求1-4任一所述基于白名单的设备过滤方法,其特征在于,所述设备信息包括厂商信息、产品信息、USB存储设备序列号。
6.根据权利要求1所述基于白名单的设备过滤方法,其特征在于,白名单列表通过专用的白名单载体U盘导入,导入步骤为:
将白名单载体U盘接入Windows主机,通过Windows主机内的管理软件连接白名单载体U盘,将需要添加进白名单列表的USB存储设备插入到Windows主机,通过管理软件获取该USB存储设备的设备信息加入白名单载体U盘的白名单列表;
将白名单载体U盘插入设备平台的任意USB接口,伺服程序对白名单载体U盘进行身份认证,认证成功后循环读取其中的白名单列表并写入SPI-FLASH,直到读取完成,并更新SPI-FLASH中的白名单索引表;
所述白名单列表存放于白名单载体U盘中只有管理软件允许访问的隐藏区;
所述管理软件和白名单载体U盘通过私有指令进行通信。
7.根据权利要求6所述基于白名单的设备过滤方法,其特征在于,白名单列表的存储方法为:SPI-FLASH初始化时,根据USB端口的数量分配足够的存储空间,每一个USB端口的白名单索引用二维数组来标记,通过Index[n][m]来索引所有USB端口的白名单列表。
8.根据权利要求6所述基于白名单的设备过滤方法,其特征在于,所述白名单载体U盘隐藏区的的LBA中还包含有确定白名单列表是更新还是销毁的bit,每个USB端口对应一个bit位,对应bit位为1时,表示更新当前端口的白名单列表,对应bit位为0时,表示销毁当前端口的白名单列表。
9.一种配合权利要求1-8任一方法的基于白名单的设备过滤系统,其特征在于,包括:
设备平台,所述设备平台运行Linux系统,该设备平台具有单独存储白名单列表分区的SPI-FLASH存储介质;
白名单载体U盘,用于更新白名单列表,所述白名单载体U盘具备隐藏区;
Windows主机,具备管理软件,用于连接白名单载体U盘和需要添加进白名单列表的USB;
所述设备平台包括:
基于白名单的接口管理模块,用于管理设备平台所有USB接口;
USB设备检测模块,用于识别插入的USB存储设备,并获取设备信息;
白名单识别模块,用于查找SPI-FLASH中的白名单列表,判断存在插入事件的USB端口对应的USB存储设备是否合法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310824230.9A CN116842500A (zh) | 2023-07-06 | 2023-07-06 | 一种基于白名单的设备过滤方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310824230.9A CN116842500A (zh) | 2023-07-06 | 2023-07-06 | 一种基于白名单的设备过滤方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116842500A true CN116842500A (zh) | 2023-10-03 |
Family
ID=88174010
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310824230.9A Pending CN116842500A (zh) | 2023-07-06 | 2023-07-06 | 一种基于白名单的设备过滤方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116842500A (zh) |
-
2023
- 2023-07-06 CN CN202310824230.9A patent/CN116842500A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7281101B2 (en) | Memory device storing data relating to specific application programs | |
JP3529800B2 (ja) | 携帯データキャリヤー用データ保護マイクロプロセッサー回路 | |
CA2799932C (en) | Computer motherboard having peripheral security functions | |
US7721115B2 (en) | USB secure storage apparatus and method | |
US7607177B2 (en) | Secure compact flash | |
CN113312676B (zh) | 数据访问方法、装置、计算机设备及可读存储介质 | |
US20080104348A1 (en) | Security System And Method For Computer Operating Systems | |
US8239329B2 (en) | Data storage medium, software installation method and copyright protection module | |
US20070028292A1 (en) | Bus bridge security system and method for computers | |
CN102077204B (zh) | 安全内存管理系统和方法 | |
US8307181B2 (en) | Apparatus and method for password protection of secure hidden memory | |
CN103262092A (zh) | 基于储存驱动器的防恶意软件方法和装置 | |
US20100122054A1 (en) | Copy safe storage | |
CN114722379A (zh) | U盘识别方法、管控方法、系统、电子设备及存储介质 | |
CN112905962B (zh) | 一种mcu内程序代码保护的方法、智能终端及存储介质 | |
US20040268040A1 (en) | External storage device | |
US6108791A (en) | Password processing apparatus and method | |
CN116842500A (zh) | 一种基于白名单的设备过滤方法及系统 | |
US6751625B2 (en) | Record medium and method of controlling access to record medium | |
CN104361298A (zh) | 信息安全保密的方法和装置 | |
JP2007200244A (ja) | 情報管理システムおよび情報管理方法 | |
CN112947861A (zh) | 存储设备的数据读取方法及电子设备系统 | |
US20030105970A1 (en) | Systems and methods for enforcing single computer use of software | |
JP2003208234A (ja) | ソフトウェア記録部分離型情報処理装置及びソフトウェア管理方法 | |
CN112069489A (zh) | 一种移动存储介质内外网交叉使用的检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |