CN114489860A - 基于操作系统内核级缓冲区对动态链接库加载校验的方法 - Google Patents
基于操作系统内核级缓冲区对动态链接库加载校验的方法 Download PDFInfo
- Publication number
- CN114489860A CN114489860A CN202210131321.XA CN202210131321A CN114489860A CN 114489860 A CN114489860 A CN 114489860A CN 202210131321 A CN202210131321 A CN 202210131321A CN 114489860 A CN114489860 A CN 114489860A
- Authority
- CN
- China
- Prior art keywords
- dynamic link
- link library
- data
- kernel
- loading
- 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 32
- 238000012550 audit Methods 0.000 claims abstract description 20
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000006399 behavior Effects 0.000 claims abstract description 10
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 230000008569 process Effects 0.000 claims description 7
- 230000003993 interaction Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000006870 function Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000008676 import Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了基于操作系统内核级缓冲区对动态链接库加载校验的方法,包括以下步骤:S1:对所有经过内核的动态链接库加载调用请求进行拦截;S2:将拦截得到所加载的动态链接库文件映射数据放入缓冲区;S3:对所加载的动态链接库数据缓冲区数据进行散列算法处理;S4:对缓冲区内的数据进行散列算法识别、审计并控制。本发明实现对所有Windows操作系统进行拦截动态链接库加载行为的IRP请求,以内核层为基础,操作系统所有行为都将转换成请求给内核处理保障所有请求都可拦截,对其所加载的动态链接库文件进行数据散列算法计算保障数据内容的唯一性,不可篡改性。
Description
技术领域
本发明涉及操作系统的可信技术领域,尤其涉及基于操作系统内核级缓冲区对动态链接库加载校验的方法。
背景技术
公知的,在任意版本的Windows操作系统中,内核所承担的主要功能是为硬件提供管理服务并向上层提供统一的接口,内核管理硬件资源是以处理器为核心的设备计算资源、中断资源以及存储资源。通过内核为上层用户态与底层硬件实现交互,动态链接,在可执行文件装载时或运行时,由操作系统的装载程序加载库,大多数操作系统将解析外部引用作为加载过程的一部分,在这些系统上,可执行文件包含一个叫做import directory的表,该表的每一项包含一个库的名字,根据表中记录的名字,装载程序在硬盘上搜索需要的库,然后将其加载到内存中预先不确定的位置,之后根据加载库后确定的库的地址更新可执行程序。可执行程序根据更新后的库信息调用库中的函数或引用库中的数据。这种类型的动态加载成为装载时加载,被包括Windows和Linux的大多数系统采用。
在Windows操作系统用户态中,用户所安装使用的应用程序所需要加载动态链接库Dll对实现相应的功能,而应用程序加载动态链接库Dll过程中会与操作系统内核交互,称为文件映像或加载DLL的IRP请求,该内核会处理此请求,如应用程序的动态链接库存在恶意病毒或木马程序将对操作系统形成安全威胁可以破坏操作系统的完整性和安全性,而这种恶意行为也需要通过操作系统内核处理,所以需要对任意应用程序加载动态链接库的请求进行拦截、识别、审计和管控。
发明内容
本发明的目的在于提供基于操作系统内核级缓冲区对动态链接库加载校验的方法,以解决现有技术中的上述不足之处。
为了实现上述目的,本发明采用了如下技术方案:基于操作系统内核级缓冲区对动态链接库加载校验的方法,包括以下步骤:
S1:对所有经过内核的动态链接库加载调用请求进行拦截;
S2:将拦截得到所加载的动态链接库文件映射数据放入缓冲区;
S3:对所加载的动态链接库数据缓冲区数据进行散列算法处理;
S4:对缓冲区内的数据进行散列算法识别、审计并控制。
作为上述技术方案的进一步描述:
所述步骤S1中,在拦截动态链接库加载调用请求时,同时对原本的调用过程进行挂机。
作为上述技术方案的进一步描述:
所述步骤S1中当非动态链接库加载请求出现时正常放行不进行拦截。
作为上述技术方案的进一步描述:
所述步骤S2中将拦截得到所加载的动态连接库文件映像内存地址中的动态链接库文件数据放入定义的识别缓冲区中,所述步骤S2中要求得到S1中的加载请求。
作为上述技术方案的进一步描述:
所述步骤S3中,对所加载的动态链接库交互数据缓冲区对数据进行散列算法后得到的文件HASH值,所述步骤S3中要求得到S2中的缓冲区数据。
作为上述技术方案的进一步描述:
所述步骤S4对缓冲区内的数据进行散列算法识别、审计并控制具体包括以下步骤:
S4.1:对缓冲区内的数据进行散列算法后得到的HASH散列值进行识别、审计;
S4.2:把该行为交付给决策管理是否允许加载动态链接库文件。
作为上述技术方案的进一步描述:
Windows操作系统所加载动态链接库的行为均为系统IRP请求,处于内核级拦截加载动态链接库IRP请求,实现内核级的缓冲区动态链接库文件数据的散列算法计算并得到HASH散列值进行识别、审计和控制是否允许加载。
作为上述技术方案的进一步描述:
所述步骤S3对所加载的动态链接库数据缓冲区数据进行散列算法处理,其中,缓冲区数据为动态链接库文件数据可抽样进行散列算法计算或是全量动态链接库文件数据散列算法计算中的任一种。
作为上述技术方案的进一步描述:
所述步骤S4对缓冲区内的数据进行散列算法识别、审计并控制中,所述识别、审计、控制为识别规则库、审计记录系统、控制决策系统。
本发明提供了基于操作系统内核级缓冲区对动态链接库加载校验的方法。具备以下有益效果:该基于操作系统内核级缓冲区对动态链接库加载校验的方法可对所有Windows操作系统进行拦截动态链接库加载行为的IRP请求,以内核层为基础,操作系统所有行为都将转换成请求给内核处理保障所有请求都可拦截,对其所加载的动态链接库文件进行数据散列算法计算保障数据内容的唯一性,不可篡改性,通过散列值对数据进行管理,如存放在安全可信的白名单规则库、审计记录系统,通知控制决策系统这样确保了操作系统所加载的动态链接库文件是可信和安全的。
附图说明
图1为本发明提出的基于操作系统内核级缓冲区对动态链接库加载校验的方法的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1,基于操作系统内核级缓冲区对动态链接库加载校验的方法,基于操作系统内核级缓冲区对动态链接库加载校验的方法,包括以下步骤:
S1:对所有经过内核的动态链接库加载调用请求进行拦截;
S2:将拦截得到所加载的动态链接库文件映射数据放入缓冲区;
S3:对所加载的动态链接库数据缓冲区数据进行散列算法处理;
S4:对缓冲区内的数据进行散列算法识别、审计并控制。
步骤S1中,在拦截动态链接库加载调用请求时,同时对原本的调用过程进行挂机,步骤S1中当非动态链接库加载请求出现时正常放行不进行拦截。
步骤S2中将拦截得到所加载的动态连接库文件映像内存地址中的动态链接库文件数据放入定义的识别缓冲区中,步骤S2中要求得到步骤S1中的加载请求。
步骤S3中,对所加载的动态链接库交互数据缓冲区对数据进行散列算法后得到的文件HASH值,步骤S3中要求得到步骤S2中的缓冲区数据。
步骤S4对缓冲区内的数据进行散列算法识别、审计并控制具体包括以下步骤:S4.1:对缓冲区内的数据进行散列算法后得到的HASH散列值进行识别、审计;S4.2:把该行为交付给决策管理是否允许加载动态链接库文件,步骤S4中要求得到步骤S3中的HASH散列值。
Windows操作系统所加载动态链接库的行为均为系统IRP请求,处于内核级拦截加载动态链接库IRP请求,实现内核级的缓冲区动态链接库文件数据的散列算法计算并得到HASH散列值进行识别、审计和控制是否允许加载。
步骤S3对所加载的动态链接库数据缓冲区数据进行散列算法处理,其中,缓冲区数据为动态链接库文件数据可抽样进行散列算法计算或是全量动态链接库文件数据散列算法计算中的任一种。
步骤S4对缓冲区内的数据进行散列算法识别、审计并控制中,所述识别、审计、控制为识别规则库、审计记录系统、控制决策系统。
该基于操作系统内核级缓冲区对动态链接库加载校验的方法。具备以下有益效果:该基于操作系统内核级缓冲区对动态链接库加载校验的方法可对所有Windows操作系统进行拦截动态链接库加载行为的IRP请求,以内核层为基础,操作系统所有行为都将转换成请求给内核处理保障所有请求都可拦截,对其所加载的动态链接库文件进行数据散列算法计算保障数据内容的唯一性,不可篡改性,通过散列值对数据进行管理,如存放在安全可信的白名单规则库、审计记录系统,通知控制决策系统这样确保了操作系统所加载的动态链接库文件是可信和安全的。
在本说明书的描述中,参考术语“一个实施例”、“示例”、“具体示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (9)
1.基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,包括以下步骤:
S1:对所有经过内核的动态链接库加载调用请求进行拦截;
S2:将拦截得到所加载的动态链接库文件映射数据放入缓冲区;
S3:对所加载的动态链接库数据缓冲区数据进行散列算法处理;
S4:对缓冲区内的数据进行散列算法识别、审计并控制。
2.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,所述步骤S1中,在拦截动态链接库加载调用请求时,同时对原本的调用过程进行挂机。
3.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,所述步骤S1中当非动态链接库加载请求出现时正常放行不进行拦截。
4.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,所述步骤S2中将拦截得到所加载的动态连接库文件映像内存地址中的动态链接库文件数据放入定义的识别缓冲区中,所述步骤S2中要求得到S1中的加载请求。
5.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,所述步骤S3中,对所加载的动态链接库交互数据缓冲区对数据进行散列算法后得到的文件HASH值,所述步骤S3中要求得到S2中的缓冲区数据。
6.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,所述步骤S4对缓冲区内的数据进行散列算法识别、审计并控制具体包括以下步骤:
S4.1:对缓冲区内的数据进行散列算法后得到的HASH散列值进行识别、审计;
S4.2:把该行为交付给决策管理是否允许加载动态链接库文件。
7.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,Windows操作系统所加载动态链接库的行为均为系统IRP请求,处于内核级拦截加载动态链接库IRP请求,实现内核级的缓冲区动态链接库文件数据的散列算法计算并得到HASH散列值进行识别、审计和控制是否允许加载。
8.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,所述步骤S3对所加载的动态链接库数据缓冲区数据进行散列算法处理,其中,缓冲区数据为动态链接库文件数据可抽样进行散列算法计算或是全量动态链接库文件数据散列算法计算中的任一种。
9.根据权利要求1所述的基于操作系统内核级缓冲区对动态链接库加载校验的方法,其特征在于,所述步骤S4对缓冲区内的数据进行散列算法识别、审计并控制中,所述识别、审计、控制为识别规则库、审计记录系统、控制决策系统。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210131321.XA CN114489860A (zh) | 2022-02-14 | 2022-02-14 | 基于操作系统内核级缓冲区对动态链接库加载校验的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210131321.XA CN114489860A (zh) | 2022-02-14 | 2022-02-14 | 基于操作系统内核级缓冲区对动态链接库加载校验的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114489860A true CN114489860A (zh) | 2022-05-13 |
Family
ID=81479542
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210131321.XA Pending CN114489860A (zh) | 2022-02-14 | 2022-02-14 | 基于操作系统内核级缓冲区对动态链接库加载校验的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114489860A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983296A (zh) * | 2005-12-12 | 2007-06-20 | 北京瑞星国际软件有限公司 | 用于防止非法程序窃取用户信息的方法及装置 |
CN103605930A (zh) * | 2013-11-27 | 2014-02-26 | 湖北民族学院 | 一种基于hook和过滤驱动的双重文件防泄密方法及系统 |
CN103778375A (zh) * | 2012-10-24 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 防止用户设备加载非法的动态链接库文件的装置和方法 |
US20150169872A1 (en) * | 2012-06-07 | 2015-06-18 | Beijing Qihoo Technology Company Limited | Method and Device for Intercepting Call for Service by Application |
CN113687937A (zh) * | 2021-09-29 | 2021-11-23 | 北京创安恒宇科技有限公司 | 一种基于操作系统内核级数据交换识别方法 |
-
2022
- 2022-02-14 CN CN202210131321.XA patent/CN114489860A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1983296A (zh) * | 2005-12-12 | 2007-06-20 | 北京瑞星国际软件有限公司 | 用于防止非法程序窃取用户信息的方法及装置 |
US20150169872A1 (en) * | 2012-06-07 | 2015-06-18 | Beijing Qihoo Technology Company Limited | Method and Device for Intercepting Call for Service by Application |
CN103778375A (zh) * | 2012-10-24 | 2014-05-07 | 腾讯科技(深圳)有限公司 | 防止用户设备加载非法的动态链接库文件的装置和方法 |
CN103605930A (zh) * | 2013-11-27 | 2014-02-26 | 湖北民族学院 | 一种基于hook和过滤驱动的双重文件防泄密方法及系统 |
CN113687937A (zh) * | 2021-09-29 | 2021-11-23 | 北京创安恒宇科技有限公司 | 一种基于操作系统内核级数据交换识别方法 |
Non-Patent Citations (1)
Title |
---|
刘宏哲, 鲍泓, 须德: "Linux安全操作系统的审计机制的研究与实现", 计算机工程与应用, no. 17, 1 May 2006 (2006-05-01), pages 53 - 55 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7818781B2 (en) | Behavior blocking access control | |
US9069941B2 (en) | Access authorization having embedded policies | |
US10235520B2 (en) | System and method for analyzing patch file | |
US9147073B2 (en) | System and method for automatic generation of heuristic algorithms for malicious object identification | |
US7631356B2 (en) | System and method for foreign code detection | |
US20090150990A1 (en) | Integrated access authorization | |
RU2723665C1 (ru) | Динамический индикатор репутации для оптимизации операций по обеспечению компьютерной безопасности | |
US9069950B2 (en) | Method and computer device to control software file downloads | |
US10242182B2 (en) | Computer security system and method | |
US11709931B2 (en) | Shadow stack violation enforcement at module granularity | |
US8381300B2 (en) | Offline extraction of configuration data | |
CN111919198A (zh) | 内核函数回调的方法和系统 | |
US10929537B2 (en) | Systems and methods of protecting data from malware processes | |
EP1643409A2 (en) | Application programming Interface for Access authorization | |
US20070234330A1 (en) | Prevention of executable code modification | |
US11861364B2 (en) | Circular shadow stack in audit mode | |
KR101503827B1 (ko) | 절대 경로 관리를 통한 악성 프로그램 검사 시스템 | |
US20210303681A1 (en) | Shadow stack enforcement range for dynamic code | |
CN114489860A (zh) | 基于操作系统内核级缓冲区对动态链接库加载校验的方法 | |
US10922096B2 (en) | Reducing subsequent network launch time of container applications | |
CN112597492B (zh) | 一种基于Windows内核的二进制可执行文件更改监测方法 | |
CN113132421B (zh) | 文件检测方法、装置、终端及存储介质 | |
CN112257059A (zh) | 一种动态可信文件执行控制方法及系统 | |
GB2561861A (en) | Computer device and method for isolating untrusted content | |
US11882123B2 (en) | Kernel level application data protection |
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 |