CN114564720B - 程序文件审核方法、装置、电子设备及存储介质 - Google Patents
程序文件审核方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114564720B CN114564720B CN202210153391.5A CN202210153391A CN114564720B CN 114564720 B CN114564720 B CN 114564720B CN 202210153391 A CN202210153391 A CN 202210153391A CN 114564720 B CN114564720 B CN 114564720B
- Authority
- CN
- China
- Prior art keywords
- program file
- file
- program
- white list
- legal
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000001914 filtration Methods 0.000 claims abstract description 19
- 238000013515 script Methods 0.000 claims description 27
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000004422 calculation algorithm Methods 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 8
- 238000005070 sampling Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000012550 audit Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 241000700605 Viruses Species 0.000 description 1
- 230000002155 anti-virotic effect Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Virology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种程序文件审核方法、装置、电子设备及存储介质,所述审核方法通过文件过滤驱动监视程序文件访问操作;监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;然后根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;最后根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问;本发明对恶意程序的运行提供了详尽的日志功能,对用户开放了白名单编辑功能,本发明的系统支持度广、文件类型覆盖度广,可以极大的增加恶意程序规避白名单的难度。
Description
技术领域
本发明涉及系统安全领域,尤其涉及一种程序文件审核方法、装置、电子设备及存储介质。
背景技术
在某些特定场合(如工控环境)中,对计算系统的可用性有非常高的要求。常规的杀毒软件难以适应这种环境,表现如下:
需要经常的升级病毒库,而经常升级软件在这种环境中是不可接受的;
恶意软件可以通过代码混淆、加壳等方式规避查杀。杀毒软件处于相对被动的地位;
应用白名单系统可以有效解决上述问题,用户可以在计算系统刚刚部署完成后安装白名单系统,并生成白名单。此后只有白名单中有记录的程序可以运行,其他程序(包括脚本)的运行会被白名单阻止,白名单系统的优势如下:
白名单一旦生成就不需再修改,除非用户部署了新的软件;
白名单中记录的是文件的高强度特征值,伪造难度大;
传统的白名单系统通常采用进程探测—强杀的方式来阻止非法程序运行。即轮询系统中的进程,验证启动进程的合法性,然后强行终止非法程序的工作方式。也有改进型的白名单,采用驱动模块来探测进程启动,以此来提高反应的及时性。
这两种方案有以下缺点:
反应滞后性,也就是从非法进程启动到白名单系统发现它有一定的时间差;非法程序可能在此时间间隔内已完成恶意行为;
可规避性,恶意程序可以通过一些手段获得长时间运行的能力;例如采用自我保护方式防止被强行终止;也可以在启动后立即删除自身执行文件或修改其文件名,造成白名单系统无从判断程序的合法性而失效;
此方法在处理动态库或脚本上存在困难;
发明内容
本发明实施例提供了一种程序文件审核方法、装置、电子设备及存储介质,对恶意程序的运行提供了详尽的日志功能,对用户开放了白名单编辑功能,而且本发明的系统支持度广、文件类型覆盖度广,可以极大的增加恶意程序规避白名单的难度。
第一方面,本发明实施例提供了一种程序文件审核方法,所述审核方法包括:
通过文件过滤驱动监视程序文件访问操作;其中所述程序文件访问操作是指系统载入所述程序文件时对所述程序文件的打开操作;
监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;其中,所述程序文件的类型包括PE文件和脚本文件;
根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;
根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问。
可选地,通过所述文件过滤驱动使用内核中的文件对象获取所述程序文件的内容。
可选地,通过对FILE_EXECUTE标志的识别来判断所述程序文件的类型。
可选地,采用MD5算法计算特征值。
可选地,所述根据所述特征值和预设白名单判断所述程序文件的合法性包括:
将所述白名单中的特征值从小到大排序形成样本集合;
将目标值与样本集合中处于中间位置的值比较,相等则反馈所述程序文件合法,小于中间位置的值则取样本集合的前一半为新的样本集合,大于中间位置的值则取样本集合的后一半为新样本集合;其中,所述目标值为所述根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问步骤中计算得到的特征值;
重复上一步,直至样本集合中特征值的数量为1或2个时再逐个与目标值比较,若存在与目标值相等的则反馈所述程序文件合法,若不存在与目标值相等的则反馈所述程序文件不合法。
可选地,通过设置STATUS_ACCESS_DENIED的方式完成所述若所述程序文件不合法则终止对所述程序文件的访问的操作。
可选地,在处理IRP_MJ_CREATE系统调用中完成对所述程序文件的合法性判断。
第二方面,本发明的实施例提供了一种程序文件审核装置,所述审核装置包括:
监视模块,通过文件过滤驱动监视程序文件访问操作;其中所述程序文件访问操作是指系统载入所述程序文件时对所述程序文件的打开操作;
第一判断模块,监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;其中,所述程序文件的类型包括PE文件和脚本文件;
第二判断模块,根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;
第三判断模块,根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问。
第三方面,本发明的实施例提供了一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,所述处理器执行所述程序时实现如第一方面任一项所述的方法。
第四方面,本发明的实施例提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的方法。
有益效果
本发明提供了一种程序文件审核方法、装置、电子设备及存储介质,所述审核方法通过文件过滤驱动监视程序文件访问操作;监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;然后根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;最后根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问;本发明对恶意程序的运行提供了详尽的日志功能,对用户开放了白名单编辑功能,而且本发明的系统支持度广、文件类型覆盖度广,可以极大的增加恶意程序规避白名单的难度。
应当理解,发明内容部分中所描述的内容并非旨在限定本发明的实施例的关键或重要特征,亦非用于限制本发明的范围。本发明的其它特征将通过以下的描述变得容易理解。
附图说明
结合附图并参考以下详细说明,本发明各实施例的上述和其他特征、优点及方面将变得更加明显。在附图中,相同或相似的附图标记表示相同或相似的元素。
图1示出了本发明的实施例的一种程序文件审核方法的流程图;
图2示出了本发明的实施例的判断程序文件合法性的流程图;
图3示出了本发明实施例的一种程序文件审核装置的结构示意图;
图4示出了本发明实施例的一种电子设备的结构图。
具体实施方式
为了使本技术领域的人员更好地理解本说明书一个或多个实施例中的技术方案,下面将结合本说明书一个或多个实施例中的附图,对本说明书一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本说明书的一部分实施例,而不是全部的实施例。基于本说明书一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本文件的保护范围。
需要说明的是,本发明实施例描述的仅仅是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定。
图1示出了本发明的实施例的一种程序文件审核方法的流程图。参见图1,所述审核方法包括:
S20、通过文件过滤驱动监视程序文件访问操作;其中所述程序文件访问操作是指系统载入所述程序文件时对所述程序文件的打开操作;
对于程序文件的审核一般都使用白名单技术,但是白名单技术存在反应滞后性,从非法进程启动到白名单系统发现它有一定的时间差,非法程序可能在此时间间隔内已完成恶意行为;可规避性,恶意程序可以通过一些手段获得长时间运行的能力,例如采用自我保护方式防止被强行终止;也可以在启动后立即删除自身执行文件或修改其文件名,造成白名单系统无从判断程序的合法性而失效;而且白名单在处理动态库或脚本上存在困难;
对于上述的问题可以通过在程序文件运行前进行审核解决,可以采用通过注册内核对象访问回调实现或通过文件过滤驱动实现;
具体地,通过注册内核对象访问回调实现此种方式通过内核模块向系统注册回调实现;注册后,当系统对某个内核对象进行操作时,触发相应的回调;回调中可以控制访问行为继续或终止;例如向系统注册进程创建(create process)回调;当进程启动时,该回调被触发;回调中可以得到进程的执行文件路径、启动参数等信息,可以检查执行文件的合法性,并通过设置CreationStatus参数的值决定是否终止该进程启动过程;该方法判断合法性时需要再次打开文件、计算文件特征值等操作;尤其打开文件的行为,占用系统资源较多,容易造成系统卡顿;
具体地,通过文件过滤驱动实现此种方法实现的基础是系统在运行某个文件之前需要把文件内容载入内存,这个过程势必要进行文件访问;在文件访问时通过文件过滤驱动监视文件访问操作,在打开文件时审核其合法性,当文件不合法时终止文件访问;该不需要进行文件再次打开的操作,文件过滤驱动中可以直接通过内核中的文件对象(FILE_OBJECT)来得到文件内容;
通过对于这两种方案的比较本申请采用通过文件过滤驱动实现这一较优的方案,可以很好的解决滞后性和规避性问题。
S40、监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;其中,所述程序文件的类型包括PE文件和脚本文件;
通过对FILE_EXECUTE标志的识别来判断所述程序文件的类型,其中,PE文件包括可执行文件(exe文件)、动态库文件(dll文件)和驱动模块文件(sys文件);当系统要运行这类文件时,入口参数DesiredAccess中会有FILE_EXECUTE标志;文件过滤驱动中识别到带有该标志的程序文件将该程序文件标记为需要进行合法性检测的文件;
除了exe和dll文件,有些文件在加载时也有FILE_EXECUTE标志(如manifest文件);需要对这种情况进行排除;当explorer刷新可执行文件的图标时,文件的访问也有FILE_EXECUTE标志,需要对此种情况进行特殊处理,防止图标刷新出现问题,避免不必要的白名单检查。
脚本文件载入过程中没有FILE_EXECUTE标志,对于脚本文件的判断需要先判断当前(正在载入文件的)进程是否是脚本解释程序,如果是,根据被打开文件的内容和扩展名判断该文件是否是脚本,若是脚本则该脚本文件即为需要进行合法性检测的程序文件。
S60、根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;
对于需要进行合法性检测类型的程序文件进行合法性检测时需要计算所述程序文件的特征值,白名单内的记录数量通常在三万个以上,甚至达到几十万个,视系统具体情况而定;同时Windows系统内部也会频繁的进行文件访问;白名单要在这种情况下迅速判断某个文件的合法性,需要考虑的问题包括:文件数据的特征值算法强度不能太低,否则会造成频繁的特征值碰撞;高强度的特征值会占用大量的内存空间来保存,但是在系统内核中内存空间非常宝贵;每次查找的比较次数不能超过log2N次,其中,N表示白名单中的特征值总数;数据结构中不能使用大量的指针或下标记录,以节省内存占用;
MD5算法中MD5特征值占用的内存大小固定,特征值的碰撞适中;在使用时可以通过分配一块连续内存空间用于存储白名单MD5特征值来节省内存;
通过对于上诉问题的考虑以及MD5算法的特点本申请采用MD5算法作为程序文件特征值算法。
S80、根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问。
程序文件的特征值计算出来后需要在白名单中进行查找,根据查找结果来判断程序文件的合法性,其中,查找的步骤包括:
将所述白名单中的特征值从小到大排序形成样本集合;
将目标值与样本集合中处于中间位置的值比较,相等则反馈所述程序文件合法,小于中间位置的值则取样本集合的前一半为新的样本集合,大于中间位置的值则取样本集合的后一半为新样本集合;其中,所述目标值为所述根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问步骤中计算得到的特征值;
重复上一步,直至样本集合中特征值的数量为1或2个时再逐个与目标值比较,若存在与目标值相等的则反馈所述程序文件合法,若不存在与目标值相等的则反馈所述程序文件不合法。
本发明提供了一种程序文件审核方法所述审核方法通过文件过滤驱动监视程序文件访问操作;当监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;然后根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;最后根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问;本发明对恶意程序的运行提供了详尽的日志功能,对用户开放了白名单编辑功能,而且本发明的系统支持度广、文件类型覆盖度广,可以极大的增加恶意程序规避白名单的难度。
图2示出了本发明的实施例的判断程序文件合法性的流程图,如图2所示,在处理IRP_MJ_CREATE系统调用中完成对所述程序文件的合法性判断,首先判断所述程序文件是否带有FILE_EXECUTE标志,所有则需要进一步的判断所述程序文件的PE类型,若无则需判断所述程序文件是否是脚本;
若所述程序文件的PE类型是dll则直接对所述程序文件进行合法性检测,对于不合法的程序文件的操作进行阻止;若所述程序文件的PE类型为exe则还需判断是否是explore载入当前程序文件的,若不是则进行合法性检测,对于不合法的程序文件的操作进行阻止;若所述程序文件是脚本则需要对所述程序文件进行合法性的检测,对于不合法的程序文件的操作进行阻止;
其中,在除了exe和dll文件,有些文件在加载时也有FILE_EXECUTE标志(如manifest文件);需要对这种情况进行排除。
上述技术方案,审核的对象包括exe、动态库和脚本文件,文件类型覆盖度广,但占用系统资源少,用户感觉不到白名单的资源消耗,可以提高白名单的使用效率,提高用户的体验。
基于同一发明构思,本发明实施例还提供了一种程序文件审核装置,可以用于实现上述实施例中所描述的一种程序文件审核方法,如下面实施例所述:由于该一种程序文件审核装置解决问题的原理与一种程序文件审核方法相似,因此一种程序文件审核装置的实施可以参见一种程序文件审核方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的系统较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图3示出了本发明的实施例的一种程序文件审核装置的结构框图。如图3所示,所述审核装置包括:
监视模块20,通过文件过滤驱动监视程序文件访问操作;其中所述程序文件访问操作是指系统载入所述程序文件时对所述程序文件的打开操作;
第一判断模块40,监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;其中,所述程序文件的类型包括PE文件和脚本文件;
第二判断模块60,根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;
第三判断模块80,根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问。
本发明实施例提供了一种程序文件审核装置,所述审核装置包括监视模块20,通过文件过滤驱动监视程序文件访问操作;然后通过第一判断模块40,当监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;之后通过第二判断模块60,根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;最后通过第三判断模块80,根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问;本实施例对恶意程序的运行提供了详尽的日志功能,对用户开放了白名单编辑功能,而且本实施例的系统支持度广、文件类型覆盖度广,可以极大的增加恶意程序规避白名单的难度。
本发明实施例还提供了一种计算机电子设备,图4示出了可以应用本发明实施例的电子设备的结构示意图,如图4所示,该计算机电子设备包括,中央处理单元(CPU)401,其可以根据存储在只读存储器(ROM)402中的程序或者从存储部分408加载到随机访问存储器(RAM)403中的程序而执行各种适当的动作和处理。在RAM403中,还存储有系统操作所需的各种程序和数据。CPU 401、ROM 402以及RAM 403通过总线404彼此相连。输入/输出(I/O)接口405也连接至总线404。
以下部件连接至I/O接口405:包括键盘、鼠标等的输入部分406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分407;包括硬盘等的存储部分408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分409。通信部分409经由诸如因特网的网络执行通信处理。驱动器410也根据需要连接至I/O接口405。可拆卸介质411,诸如磁盘、光盘、磁光盘、半导体存储器等,根据需要安装在驱动器410上,以便于从其上读出的计算机程序根据需要被安装入存储部分408。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如,可以描述为:一种处理器包括监视模块20、第一判断模块40、第二判断模块60和第三判断模块80,其中,这些模块的名称在某种情况下并不构成对该模块本身的限定,例如,监视模块20还可以被描述为“通过文件过滤驱动监视程序文件访问操作的监视模块20”。
作为另一方面,本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中所述一种程序文件审核装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入电子设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本发明的一种程序文件审核方法。
以上描述仅为本发明的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本发明中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本发明中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (7)
1.一种程序文件审核方法,其特征在于,所述审核方法包括:
通过文件过滤驱动监视程序文件访问操作;其中所述程序文件访问操作是指系统载入所述程序文件时对所述程序文件的打开操作;
监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;其中,所述程序文件的类型包括PE文件和脚本文件;
根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;
根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问;
采用MD5算法计算特征值;
所述根据所述特征值和预设白名单判断所述程序文件的合法性包括:
将所述白名单中的特征值从小到大排序形成样本集合;
将目标值与样本集合中处于中间位置的值比较,相等则反馈所述程序文件合法,小于中间位置的值则取样本集合的前一半为新的样本集合,大于中间位置的值则取样本集合的后一半为新样本集合;其中,所述目标值为所述根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问步骤;
重复上一步,直至样本集合中特征值的数量为1或2个时再逐个与目标值比较,若存在与目标值相等的则反馈所述程序文件合法,若不存在与目标值相等的则反馈所述程序文件不合法;
通过对FILE_EXECUTE标志的识别来判断所述程序文件的类型;
若所述程序文件带有FILE_EXECUTE标志,则分析所述程序文件的PE类型;
若所述PE类型为Exe,则判断是否是explore载入所述程序文件;
若是explore载入所述程序文件,则判断是否是刷新图标;
若是刷新图标,则允许文件操作,否则通过检查exe白名单判断所述程序文件是否合法;
若通过检查exe白名单判断所述程序文件合法,则允许文件操作,否则阻止文件操作;
若不是explore载入所述程序文件,则执行所述通过检查exe白名单判断所述程序文件是否合法的步骤;
若所述PE类型为dll,则通过检查dll白名单判断所述程序文件是否合法;
若通过检查dll白名单判断所述程序文件合法,则允许文件操作,否则阻止文件操作;
若所述程序文件不带有FILE_EXECUTE标志,则获取当前进程名称,判断所述程序文件是否是脚本解释程序;
若是脚本解释程序,则通过检查被打开的文件的内容和扩展名判断所述程序文件是否是脚本;
若是脚本,则通过检查脚本白名单判断所述程序文件是否合法;
若通过检查脚本白名单判断所述程序文件合法,则允许文件操作,否则阻止文件操作;
若不是脚本,则允许文件操作;
若不是脚本解释程序,则允许文件操作。
2.根据权利要求1所述的审核方法,其特征在于,通过所述文件过滤驱动使用内核中的文件对象获取所述程序文件的内容。
3.根据权利要求1所述的审核方法,其特征在于,通过设置STATUS_ACCESS_DENIED的方式完成所述若所述程序文件不合法则终止对所述程序文件的访问的操作。
4.根据权利要求1所述的审核方法,其特征在于,在处理IRP_MJ_CREATE系统调用中完成对所述程序文件的合法性判断。
5.一种程序文件审核装置,其特征在于,所述审核装置包括:
监视模块,通过文件过滤驱动监视程序文件访问操作;其中所述程序文件访问操作是指系统载入所述程序文件时对所述程序文件的打开操作;
第一判断模块,监视到所述文件访问操作后获取所述程序文件的内容并判断所述程序文件的类型;其中,所述程序文件的类型包括PE文件和脚本文件;
第二判断模块,根据所述程序文件的类型判断所述程序文件是否需要进行合法性审核,若需要进行合法性审核则计算所述程序文件的特征值;
第三判断模块,根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问;
采用MD5算法计算特征值;
所述根据所述特征值和预设白名单判断所述程序文件的合法性包括:
将所述白名单中的特征值从小到大排序形成样本集合;
将目标值与样本集合中处于中间位置的值比较,相等则反馈所述程序文件合法,小于中间位置的值则取样本集合的前一半为新的样本集合,大于中间位置的值则取样本集合的后一半为新样本集合;其中,所述目标值为所述根据所述特征值和预设白名单判断所述程序文件的合法性,若所述程序文件合法则允许对所述程序文件的访问,若所述程序文件不合法则终止对所述程序文件的访问步骤;
重复上一步,直至样本集合中特征值的数量为1或2个时再逐个与目标值比较,若存在与目标值相等的则反馈所述程序文件合法,若不存在与目标值相等的则反馈所述程序文件不合法;
通过对FILE_EXECUTE标志的识别来判断所述程序文件的类型;
若所述程序文件带有FILE_EXECUTE标志,则分析所述程序文件的PE类型;
若所述PE类型为Exe,则判断是否是explore载入所述程序文件;
若是explore载入所述程序文件,则判断是否是刷新图标;
若是刷新图标,则允许文件操作,否则通过检查exe白名单判断所述程序文件是否合法;
若通过检查exe白名单判断所述程序文件合法,则允许文件操作,否则阻止文件操作;
若不是explore载入所述程序文件,则执行所述通过检查exe白名单判断所述程序文件是否合法的步骤;
若所述PE类型为dll,则通过检查dll白名单判断所述程序文件是否合法;
若通过检查dll白名单判断所述程序文件合法,则允许文件操作,否则阻止文件操作;
若所述程序文件不带有FILE_EXECUTE标志,则获取当前进程名称,判断所述程序文件是否是脚本解释程序;
若是脚本解释程序,则通过检查被打开的文件的内容和扩展名判断所述程序文件是否是脚本;
若是脚本,则通过检查脚本白名单判断所述程序文件是否合法;
若通过检查脚本白名单判断所述程序文件合法,则允许文件操作,否则阻止文件操作;
若不是脚本,则允许文件操作;
若不是脚本解释程序,则允许文件操作。
6.一种电子设备,包括存储器和处理器,所述存储器上存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至4任一项所述的方法。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153391.5A CN114564720B (zh) | 2022-02-18 | 2022-02-18 | 程序文件审核方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210153391.5A CN114564720B (zh) | 2022-02-18 | 2022-02-18 | 程序文件审核方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114564720A CN114564720A (zh) | 2022-05-31 |
CN114564720B true CN114564720B (zh) | 2024-06-28 |
Family
ID=81714760
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210153391.5A Active CN114564720B (zh) | 2022-02-18 | 2022-02-18 | 程序文件审核方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114564720B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115906184B (zh) * | 2023-01-09 | 2023-06-16 | 闪捷信息科技有限公司 | 一种控制进程访问文件的方法、装置、介质及电子设备 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487413A (zh) * | 2020-12-11 | 2021-03-12 | 北京中软华泰信息技术有限责任公司 | 一种基于Linux白名单程序控制系统及方法 |
CN113688415A (zh) * | 2021-10-27 | 2021-11-23 | 湖南新云网科技有限公司 | 文件管控方法、设备和存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101201118B1 (ko) * | 2004-11-08 | 2012-11-13 | 마이크로소프트 코포레이션 | 바이러스 방지 소프트웨어 어플리케이션들의 지식 베이스를모으는 시스템 및 방법 |
CN106326699B (zh) * | 2016-08-25 | 2020-02-07 | 广东七洲科技股份有限公司 | 一种基于文件访问控制和进程访问控制的服务器加固方法 |
CN112257058A (zh) * | 2020-10-12 | 2021-01-22 | 麒麟软件有限公司 | 一种操作系统可信计算校验方法及系统 |
-
2022
- 2022-02-18 CN CN202210153391.5A patent/CN114564720B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112487413A (zh) * | 2020-12-11 | 2021-03-12 | 北京中软华泰信息技术有限责任公司 | 一种基于Linux白名单程序控制系统及方法 |
CN113688415A (zh) * | 2021-10-27 | 2021-11-23 | 湖南新云网科技有限公司 | 文件管控方法、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114564720A (zh) | 2022-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100645983B1 (ko) | 불법 프로세스 검출 모듈 및 그 방법 | |
US8127316B1 (en) | System and method for intercepting process creation events | |
AU2006235058B2 (en) | System and method for foreign code detection | |
US7797702B1 (en) | Preventing execution of remotely injected threads | |
US10839077B2 (en) | Detecting malicious software | |
US8196140B2 (en) | Service function redirection for avoiding function evaluation blockages | |
US7823201B1 (en) | Detection of key logging software | |
US20030225870A1 (en) | Method and system for effective management of client and server processes | |
CN106326735B (zh) | 防注入的方法和装置 | |
KR101086203B1 (ko) | 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법 | |
US20180373876A1 (en) | Software security | |
US9779251B2 (en) | System, method, and computer program product for monitoring an execution flow of a function | |
CN114707150A (zh) | 一种恶意代码检测方法、装置、电子设备和存储介质 | |
CN114564720B (zh) | 程序文件审核方法、装置、电子设备及存储介质 | |
EP3652667B1 (en) | System and method for detecting malware injected into memory of a computing device | |
US20100107014A1 (en) | Real time monitoring of computer for determining speed of various processes | |
CN115688106A (zh) | 一种Java agent无文件注入内存马的检测方法及装置 | |
US8996866B2 (en) | Unobtrusive assurance of authentic user intent | |
US9483645B2 (en) | System, method, and computer program product for identifying unwanted data based on an assembled execution profile of code | |
US8627305B1 (en) | System, method, and computer program product for hooking code inserted into an address space of a new process | |
CN111259392B (zh) | 一种基于内核模块的恶意软件拦截方法及装置 | |
US10063558B2 (en) | Method for blocking unauthorized data access and computing device with feature of blocking unauthorized data access | |
CN115828256A (zh) | 一种越权与未授权逻辑漏洞检测方法 | |
CN111159714B (zh) | 一种访问控制中主体运行时可信验证方法及系统 | |
US9003415B2 (en) | Method and apparatus having resistance to forced termination attack on monitoring program for monitoring a predetermined resource |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |