CN114489860A - 基于操作系统内核级缓冲区对动态链接库加载校验的方法 - Google Patents

基于操作系统内核级缓冲区对动态链接库加载校验的方法 Download PDF

Info

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
Application number
CN202210131321.XA
Other languages
English (en)
Inventor
刘锡明
安琪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Chuang'an Hengyu Technology Co ltd
Original Assignee
Beijing Chuang'an Hengyu Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Chuang'an Hengyu Technology Co ltd filed Critical Beijing Chuang'an Hengyu Technology Co ltd
Priority to CN202210131321.XA priority Critical patent/CN114489860A/zh
Publication of CN114489860A publication Critical patent/CN114489860A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring 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对缓冲区内的数据进行散列算法识别、审计并控制中,所述识别、审计、控制为识别规则库、审计记录系统、控制决策系统。
CN202210131321.XA 2022-02-14 2022-02-14 基于操作系统内核级缓冲区对动态链接库加载校验的方法 Pending CN114489860A (zh)

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)

* Cited by examiner, † Cited by third party
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 北京创安恒宇科技有限公司 一种基于操作系统内核级数据交换识别方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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