CN110348180A - 一种应用程序启动控制方法和装置 - Google Patents

一种应用程序启动控制方法和装置 Download PDF

Info

Publication number
CN110348180A
CN110348180A CN201910538406.8A CN201910538406A CN110348180A CN 110348180 A CN110348180 A CN 110348180A CN 201910538406 A CN201910538406 A CN 201910538406A CN 110348180 A CN110348180 A CN 110348180A
Authority
CN
China
Prior art keywords
application program
preset
path
application
program
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.)
Granted
Application number
CN201910538406.8A
Other languages
English (en)
Other versions
CN110348180B (zh
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.)
Suzhou Wave Intelligent Technology Co Ltd
Original Assignee
Suzhou Wave Intelligent 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 Suzhou Wave Intelligent Technology Co Ltd filed Critical Suzhou Wave Intelligent Technology Co Ltd
Priority to CN201910538406.8A priority Critical patent/CN110348180B/zh
Publication of CN110348180A publication Critical patent/CN110348180A/zh
Application granted granted Critical
Publication of CN110348180B publication Critical patent/CN110348180B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/45Structures or tools for the administration of authentication
    • 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/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements

Abstract

本发明公开了一种应用程序启动控制方法,该方法包括:当检测到应用程序启动时,拦截应用程序启动消息,根据所述应用程序启动消息获取所述应用程序的数字签名、路径和SHA1;根据所述应用程序的数字签名、路径和SHA1匹配第一控制策略,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序;当与第一控制策略不匹配时,根据第二控制策略或第三控制策略确定启动或禁止启动所述应用程序。本发明还公开了一种应用程序启动控制装置。本发明提供的方法和装置能够实现保护系统安全。

Description

一种应用程序启动控制方法和装置
技术领域
本发明涉及监控领域,尤其涉及监控领域中一种应用程序启动控制方法和装置。
背景技术
对于应用程序启动控制方法,最常见的就是杀毒软件。杀毒软件是一种黑名单控制方法,限制黑名单内的程序的执行权限,黑名单之外的程序一律允许执行。这就对黑名单库提出了很高的要求,黑名单不够全面,杀毒软件就起不到保护主机安全的功能。因此,黑名单库必须具有高覆盖性而且及时更新。然而,黑名单库必然滞后于病毒的生成,对于新生病毒无法首先启到保护作用;而且对于局域网环境下,黑名单库更新不及时,更无法起到防护作用。而白名单控制则正好相反,对于新生的未知程序,白名单防护可以阻止程序运行,从而比黑名单防护起到更加严苛的防护效果。
发明内容
本发明要解决的技术问题是提供一种应用程序启动控制方法,能够保护系统安全。
为了解决上述技术问题,本发明实施例提供了一种应用程序启动控制方法,包括:
当检测到应用程序启动时,拦截应用程序启动消息,根据所述应用程序启动消息获取所述应用程序的数字签名、路径和SHA1;其中,所述应用程序的SHA1指根据安全哈希算法SHA1对应用程序的文件进行计算得到的值;
根据所述应用程序的数字签名、路径和SHA1匹配第一控制策略,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序;
当所述数字签名、路径和SHA1与第一控制策略不匹配时,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序;其中,所述应用程序的清单级别指所述应用程序处在预设的应用程序清单中的级别,所述级别包括黑名单、白名单、灰名单和未知。
一种示例性的实施例中,上述方法还具有下面特点:
当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序,包括:
判断所述数字签名是否有效;
若所述数字签名有效,则启动所述应用程序;
若所述数字签名无效,则判断所述路径是否为预设的信任路径;
若所述路径为信任路径,则启动所述应用程序;
若所述路径不为信任路径,则判断所述应用程序是否为预设的信任程序;
若所述应用程序为预设的信任程序,则启动所述应用程序;
若所述应用程序为预设的非法程序,则禁止启动所述应用程序;
其中,所述信任路径指当启动的是该路径下的应用程序时就启动该应用程序。
一种示例性的实施例中,上述方法还具有下面特点:
所述拦截应用程序启动消息,包括:
通过基于内核HOOK技术拦截应用程序启动消息;
所述数字签名、路径和SHA1与第一控制策略不匹配,包括:
若所述应用程序不为预设的信任程序和预设的非法程序,则判断所述数字签名、路径和SHA1与第一控制策略不匹配;
判断所述应用程序是否为预设的信任程序,包括:所述应用程序是否为信任路径下的应用程序或应用程序的SHA1是否与预设的SHA1一致。
一种示例性的实施例中,上述方法还具有下面特点:
判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序,包括:
当所述路径与预设的应用程序清单中的某一路径一致,且所述SHA1与所述应用程序清单中的某一SHA1一致时,确定所述应用程序与所述应用程序清单匹配;
若确定所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为黑名单,则禁止启动所述应用程序;若确定所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为白名单或灰名单,则启动所述应用程序。
一种示例性的实施例中,上述方法还具有下面特点:
若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序,包括:
当所述应用程序的清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为正常时,禁止启动所述应用程序;
当所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为监控或停止时,启动所述应用程序。
为了解决上述问题,本发明还提供了一种应用程序启动控制装置,包括:
存储器和处理器;
所述存储器,用于保存用于应用程序启动控制的程序;
所述处理器,用于读取执行所述用于应用程序启动控制的程序,执行如下操作:
当检测到应用程序启动时,拦截应用程序启动消息,根据所述应用程序启动消息获取所述应用程序的数字签名、路径和SHA1;其中,所述应用程序的SHA1指根据安全哈希算法SHA1对应用程序的文件进行计算得到的值;
根据所述应用程序的数字签名、路径和SHA1匹配第一控制策略,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序;
当所述数字签名、路径和SHA1与第一控制策略不匹配时,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序的与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序;其中,所述应用程序的清单级别指所述应用程序处在预设的应用程序清单中的级别,所述级别包括黑名单、白名单、灰名单和未知。
一种示例性的实施例中,上述装置还具有下面特点:
当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序,包括:
判断所述数字签名是否有效;
若所述数字签名有效,则启动所述应用程序;
若所述数字签名无效,则判断所述路径是否为预设的信任路径;
若所述路径为信任路径,则启动所述应用程序;
若所述路径不为信任路径,则判断所述应用程序是否为预设的信任程序;
若所述应用程序为预设的信任程序,则启动所述应用程序;
若所述应用程序为预设的非法程序,则禁止启动所述应用程序;
其中,所述信任路径指当启动的是该路径下的应用程序时就启动该应用程序。
一种示例性的实施例中,上述装置还具有下面特点:
所述拦截应用程序启动消息,包括:
通过基于内核HOOK技术拦截应用程序启动消息;
所述数字签名、路径和SHA1与第一控制策略不匹配,包括:
若所述应用程序不为预设的信任程序和预设的非法程序,则判断所述数字签名、路径和SHA1与第一控制策略不匹配;
判断所述应用程序是否为预设的信任程序,包括:所述应用程序是否为信任路径下的应用程序或应用程序的SHA1是否与预设的SHA1一致。
一种示例性的实施例中,上述装置还具有下面特点:
判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序,包括:
当所述路径与预设的应用程序清单中的某一路径一致,且所述SHA1与所述应用程序清单中的某一SHA1一致时,确定所述应用程序与所述应用程序清单匹配;
若所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为黑名单,则禁止启动所述应用程序;若所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为白名单或灰名单,则启动所述应用程序。
一种示例性的实施例中,上述装置还具有下面特点:
若所述应用程序与预设的应用程序清单匹配且应用程序清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序,包括:
当所述应用程序的清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为正常时,禁止启动所述应用程序;
当所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为监控或停止时,启动所述应用程序。
综上,本发明实施例提供的应用程序启动控制方法和装置,综合决策逻辑,控制决策更灵活,保护了系统安全。
附图说明
图1为根据本发明实施例的应用程序启动控制方法的示意图。
图2为根据本发明实施例的高级策略匹配逻辑的示意图。
图3为根据本发明实施例的应用程序清单匹配逻辑的示意图。
图4为根据本发明实施例的应用程序整体决策逻辑的示意图。
图5为根据本发明实施例的应用程序启动控制装置的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明实施例的应用程序启动控制方法的示意图,如图1所示,本实施例的应用程序启动控制方法包括:
S11、当检测到应用程序启动时,拦截应用程序启动消息,根据所述应用程序启动消息获取所述应用程序的数字签名、路径和SHA1。
内核通过HOOK技术,创建进程,以及创建预处理回调,在应用程序启动前拦截启动消息,可以获知应用程序的数字签名或证书、路径和SHA1。
其中,HOOK技术又叫做钩子函数,在系统没有调用该函数之前,钩子程序就先捕获该消息,钩子函数先得到控制权,这时钩子函数既可以加工处理(改变)该函数的执行行为,还可以强制结束消息的传递。简单来说,就是把系统的程序拉出来变成我们自己执行代码片段。
其中,数字签名是微软提供的,用于验证文件可靠性。所述应用程序的SHA1指根据安全哈希算法对应用程序的文件进行计算得到的值,SHA1对于每个应用程序都有不同的值。本发明中的SHA1也可为根据SHA1或SHA256或其它哈希算法对应用程序的文件进行计算得到的值。路径是指应用程序的可执行文件的路径。
S12、根据所述应用程序的数字签名、路径和SHA1匹配第一控制策略,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序。
一种可选实施方式中,当所述数字签名、路径和SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序,包括:
判断所述数字签名是否有效;
若所述数字签名有效,则启动所述应用程序;
若所述数字签名无效,则判断所述路径是否为预设的信任路径;
若所述路径为信任路径,则启动所述应用程序;
若所述路径不为信任路径,则判断所述应用程序是否为预设的信任程序;
若所述应用程序为预设的信任程序,则启动所述应用程序;
若所述应用程序为预设的非法程序,则禁止启动所述应用程序;
其中,所述信任路径指当启动的是该路径下的应用程序时就启动该应用程序。
其中,判断所述应用程序是否为预设的信任程序,包括:所述应用程序是否为信任路径下的应用程序或应用程序的SHA1是否与预设的SHA1一致。
S13、当所述数字签名、路径和SHA1与第一控制策略不匹配时,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序。
一种可选实施方式中,其中,所述应用程序的清单级别指所述应用程序处在预设的应用程序清单中的级别,所述级别包括黑名单、白名单、灰名单和未知。若所述应用程序不为信任程序和非法程序,则判断所述数字签名、客体路径和SHA1与第一控制策略不匹配。可以预先指定何种路径或SHA1或SHA256为何的程序允许运行,这些程序都属于信任程序。也可以预先指定何种路径或SHA1或SHA256为何的程序禁止运行,这些程序都属于非法程序。例如:\a.exe禁止运行、SHA1为2fd4e1c67a2d28fced849ee1bb76e7391b93eb12的应用程序允许运行等。
一种可选实施方式中,判断所述应用程序与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且应用程序清单包括黑名单、白名单和灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序,包括:
当所述客体路径预设的应用程序清单中的某一路径一致,且所述SHA1与所述应用程序清单中的某一SHA1一致时,确定所述应用程序与所述应用程序清单匹配;
若确定所述应用程序与所述应用程序清单中的黑名单匹配,则禁止启动所述应用程序;若确定所述应用程序与所述应用程序清单中的白名单或灰名单匹配,则启动所述应用程序。
在联网环境下,应用程序清单通过互联网大数据获取,存储于清单库服务器中,任何联网主机都可以连接清单库服务器,即时获取清单数据。在局域网环境中,清单可以离线导入,即通过清单库服务器导出清单数据文件,为局域网环境预制清单。清单数据与本机匹配后,记录该主机上所有的应用程序的路径、SHA1或SHA256、清单级别信息。清单级别可配置。清单级别包括黑名单、白名单、灰名单以及未知。
“白名单”的概念与“黑名单”相对应。例如:在电脑系统里,有很多软件都应用到了黑白名单规则,操作系统、防火墙、杀毒软件、邮件系统、应用软件等,凡是涉及到控制方面几乎都应用了黑白名单规则。白名单是设置了允许的行为,白名单以外的行为都不能执行。黑名单是设置不能执行的行为,黑名单以外的行为都能执行。一般将运行严重影响主机安全的应用程序列入黑名单中,将经过认证,可以安全运行的应用程序列入白名单中,将未经认证,无法确定运行是否应用主机安全的应用程序列入灰名单中,将清单采集后生成的,完全未知的程序列入未知名单中。黑名单、白名单、灰名单与未知名单界定的标准是清单库建立的时间点,清单生成前主机已经存在的应用程序为黑名单、白名单或灰名单,清单生成之后新生成的程序为未知,加入到未知名单中。
一种可选实施方式中,若所述应用程序与预设的应用程序清单匹配且应用程序清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序,包括:
当所述应用程序清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为正常时,禁止启动所述应用程序;
当所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为监控或停止时,启动所述应用程序。
其中,预设的防御模式包括正常、监控和停止三种,防御模式为正常表示根据策略启动或拦截程序,防御模式为监控表示只监控行为,不拦截,防御模式为停止表示功能关闭。
图2为本发明实施例的高级策略匹配逻辑的示意图。
高级策略包括三种策略:数字签名(标记应用程序的文件的归属公司及合法性)、信任路径(该路径下的应用程序可以运行)、信任/非法程序。
高级策略的匹配逻辑如下:
A)证书签名、信任路径、信任/非法程序匹配优先级依次降低;
B)遍历高级策略,如图2所示。第一优先级,当应用程序的文件存在证书且证书有效,高级策略决策为准许(Access);
C)第二优先级,当客体路径在信任路径中时,高级策略决策为准许(Access);
D)第三优先级,当客体路径或者SHA1与信任/非法程序相同时,根据信任/非法程序的决策做出高级策略的决策,即准许或禁止(Access或Forbid);
E)第四优先级,当客体路径或者SHA1与信任/非法程序不相同时,高级策略决策为不匹配(NotMatched)。
图3为本发明实施例的应用程序清单匹配逻辑的示意图。
应用程序清单匹配逻辑如下:
A)如图1所示,遍历应用程序清单,优先匹配程序路径,而后匹配程序的SHA1;
B)当且仅当路径一致且SHA1一致时,根据应用程序清单匹配逻辑匹配为准确匹配(ExactMatch);
C)当程序路径匹配失败时,根据应用程序清单匹配逻辑匹配为新生程序,即NewFile;清单采集后生成的,完全未知的程序;
D)当程序路径一致,SHA1不一致时,根据应用程序清单匹配逻辑匹配为被篡改的程序(ModifyMatch)。
图4为本发明实施例的应用程序整体决策逻辑的示意图。
本发明实施例的应用程序整体决策逻辑如下:
A)应用程序启动与否由高级策略、清单策略、防御模式做出综合决策,优先级依次降低。
B)第一优先级,匹配高级策略。当高级策略决策为准许或禁止(Access或Forbid)后立即做出启动应用程序或禁止启动应用程序的决策。
C)第二优先级,当高级策略匹配为不匹配(NotMatched)时,匹配应用程序清单策略。当清单匹配决策为准确匹配(ExactMatch)时,根据其清单级别做出决策,即黑名单禁止启动应用程序,白名单、灰名单启动应用程序。
D)第三优先级,当预设的防御模式为正常时,若清单级别为未知或者根据应用程序清单匹配决策为新生程序或被篡改的程序,则禁止启动应用程序。当预设的防御模式为监控或停止时,若清单级别为未知或者根据应用程序清单匹配决策为新生程序或被篡改的程序,则启动应用程序。
本发明的高级策略将程序的启动权限细化到证书、路径、SHA1,控制决策更灵活。通过应用程序清单级别实现白名单控制,不同于现行的杀毒软件,杀毒软件是一种黑名单控制,限制黑名单内程序的执行权限,然而黑名单库必然滞后于病毒的生成,对于新生病毒无法首先启到保护作用;而且对于局域网环境下,黑名单库更新不及时,更无法起到防护作用。而白名单控制则正好相反,对于新生的未知程序,白名单防护可以阻止程序运行,从而比黑名单防护起到更加严苛的防护效果。程序清单记录程序路径、SHA1,配合程序清单匹配逻辑及时识别到出新生程序(NewFile)和被篡改的程序(ModifyMatch),从而保证程序清单的准确性。本发明提供一种高级策略、应用程序清单、防御模式综合决策逻辑,控制决策更灵活。
图5为本发明实施例的应用程序启动控制装置的示意图。如图5所示,应用程序启动控制装置包括:存储器和处理器。
所述存储器,用于保存用于应用程序启动控制的程序;
所述处理器,用于读取执行所述用于应用程序启动控制的程序,执行如下操作:
当检测到应用程序启动时,拦截应用程序启动消息,根据所述应用程序启动消息获取所述应用程序的数字签名、路径和SHA1;其中,所述应用程序的SHA1指根据安全哈希算法对应用程序的文件进行计算得到的值;
根据所述应用程序的数字签名、路径和SHA1匹配第一控制策略,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序;
当所述数字签名、路径和SHA1与第一控制策略不匹配时,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序的与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序;其中,所述应用程序的清单级别指所述应用程序处在预设的应用程序清单中的级别,所述级别包括黑名单、白名单、灰名单和未知。
一种示例性的实施例中,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序,包括:
判断所述数字签名是否有效;
若所述数字签名有效,则启动所述应用程序;
若所述数字签名无效,则判断所述路径是否为预设的信任路径;
若所述路径为信任路径,则启动所述应用程序;
若所述路径不为信任路径,则判断所述应用程序是否为预设的信任程序;
若所述应用程序为预设的信任程序,则启动所述应用程序;
若所述应用程序为预设的非法程序,则禁止启动所述应用程序;
其中,所述信任路径指当启动的是该路径下的应用程序时就启动该应用程序。
一种示例性的实施例中,所述拦截应用程序启动消息,包括:
通过基于内核HOOK技术拦截应用程序启动消息;
所述数字签名、路径和SHA1与第一控制策略不匹配,包括:
若所述应用程序不为预设的信任程序和预设的非法程序,则判断所述数字签名、路径和SHA1与第一控制策略不匹配;
判断所述应用程序是否为预设的信任程序,包括:所述应用程序是否为信任路径下的应用程序或应用程序的SHA1是否与预设的SHA1一致。
一种示例性的实施例中,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序,包括:
当所述路径与预设的应用程序清单中的某一路径一致,且所述SHA1与所述应用程序清单中的某一SHA1一致时,确定所述应用程序与所述应用程序清单匹配;
若所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为黑名单,则禁止启动所述应用程序;若所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为白名单或灰名单,则启动所述应用程序。
一种示例性的实施例中,若所述应用程序与预设的应用程序清单匹配且应用程序清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序,包括:
当所述应用程序的清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为正常时,禁止启动所述应用程序;
当所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为监控或停止时,启动所述应用程序。
本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。
以上仅为本发明的优选实施例,当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (10)

1.一种应用程序启动控制方法,包括:
当检测到应用程序启动时,拦截应用程序启动消息,根据所述应用程序启动消息获取所述应用程序的数字签名、路径和SHA1;其中,所述应用程序的SHA1指根据安全哈希算法对应用程序的文件进行计算得到的值;
根据所述应用程序的数字签名、路径和SHA1匹配第一控制策略,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序;
当所述数字签名、路径和SHA1与第一控制策略不匹配时,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序;其中,所述应用程序的清单级别指所述应用程序处在预设的应用程序清单中的级别,所述级别包括黑名单、白名单、灰名单和未知。
2.如权利要求1所述的方法,其特征在于,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序,包括:
判断所述数字签名是否有效;
若所述数字签名有效,则启动所述应用程序;
若所述数字签名无效,则判断所述路径是否为预设的信任路径;
若所述路径为信任路径,则启动所述应用程序;
若所述路径不为信任路径,则判断所述应用程序是否为预设的信任程序;
若所述应用程序为预设的信任程序,则启动所述应用程序;
若所述应用程序为预设的非法程序,则禁止启动所述应用程序;
其中,所述信任路径指当启动的是该路径下的应用程序时就启动该应用程序。
3.如权利要求2所述的方法,其特征在于:
所述拦截应用程序启动消息,包括:
通过基于内核HOOK技术拦截应用程序启动消息;
所述数字签名、路径和SHA1与第一控制策略不匹配,包括:
若所述应用程序不为预设的信任程序和预设的非法程序,则判断所述数字签名、路径和SHA1与第一控制策略不匹配;
判断所述应用程序是否为预设的信任程序,包括:所述应用程序是否为信任路径下的应用程序或应用程序的SHA1是否与预设的SHA1一致。
4.如权利要求1所述的方法,其特征在于,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序,包括:
当所述路径与预设的应用程序清单中的某一路径一致,且所述SHA1与所述应用程序清单中的某一SHA1一致时,确定所述应用程序与所述应用程序清单匹配;
若确定所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为黑名单,则禁止启动所述应用程序;若确定所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为白名单或灰名单,则启动所述应用程序。
5.如权利要求4所述的方法,其特征在于,
若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序,包括:
当所述应用程序的清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为正常时,禁止启动所述应用程序;
当所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为监控或停止时,启动所述应用程序。
6.一种应用程序启动控制装置,包括:存储器和处理器;其特征在于:
所述存储器,用于保存用于应用程序启动控制的程序;
所述处理器,用于读取执行所述用于应用程序启动控制的程序,执行如下操作:
当检测到应用程序启动时,拦截应用程序启动消息,根据所述应用程序启动消息获取所述应用程序的数字签名、路径和SHA1;其中,所述应用程序的SHA1指根据安全哈希算法对应用程序的文件进行计算得到的值;
根据所述应用程序的数字签名、路径和SHA1匹配第一控制策略,当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序;
当所述数字签名、路径和SHA1与第一控制策略不匹配时,判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序的与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为未知,或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序;其中,所述应用程序的清单级别指所述应用程序处在预设的应用程序清单中的级别,所述级别包括黑名单、白名单、灰名单和未知。
7.如权利要求6所述的装置,其特征在于:
当所述数字签名、路径或SHA1与第一控制策略匹配时,则根据第一控制策略确定启动或禁止启动所述应用程序,包括:
判断所述数字签名是否有效;
若所述数字签名有效,则启动所述应用程序;
若所述数字签名无效,则判断所述路径是否为预设的信任路径;
若所述路径为信任路径,则启动所述应用程序;
若所述路径不为信任路径,则判断所述应用程序是否为预设的信任程序;
若所述应用程序为预设的信任程序,则启动所述应用程序;
若所述应用程序为预设的非法程序,则禁止启动所述应用程序;
其中,所述信任路径指当启动的是该路径下的应用程序时就启动该应用程序。
8.如权利要求7所述的装置,其特征在于:
所述拦截应用程序启动消息,包括:
通过基于内核HOOK技术拦截应用程序启动消息;
所述数字签名、路径和SHA1与第一控制策略不匹配,包括:
若所述应用程序不为预设的信任程序和预设的非法程序,则判断所述数字签名、路径和SHA1与第一控制策略不匹配;
判断所述应用程序是否为预设的信任程序,包括:所述应用程序是否为信任路径下的应用程序或应用程序的SHA1是否与预设的SHA1一致。
9.如权利要求6所述的装置,其特征在于:
判断所述应用程序的路径和SHA1与预设的应用程序清单是否匹配;若所述应用程序与预设的应用程序清单匹配且所述应用程序的清单级别为黑名单、白名单或灰名单,则根据第二控制策略确定启动或禁止启动所述应用程序,包括:
当所述路径与预设的应用程序清单中的某一路径一致,且所述SHA1与所述应用程序清单中的某一SHA1一致时,确定所述应用程序与所述应用程序清单匹配;
若所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为黑名单,则禁止启动所述应用程序;若所述应用程序与所述应用程序清单匹配且所述应用程序的清单级别为白名单或灰名单,则启动所述应用程序。
10.如权利要求9所述的装置,其特征在于:
若所述应用程序与预设的应用程序清单匹配且应用程序清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,则根据第三控制策略确定启动或禁止启动所述应用程序,包括:
当所述应用程序的清单级别为未知或者所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为正常时,禁止启动所述应用程序;
当所述应用程序与预设的应用程序清单不匹配,且预设的防御模式为监控或停止时,启动所述应用程序。
CN201910538406.8A 2019-06-20 2019-06-20 一种应用程序启动控制方法和装置 Active CN110348180B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910538406.8A CN110348180B (zh) 2019-06-20 2019-06-20 一种应用程序启动控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910538406.8A CN110348180B (zh) 2019-06-20 2019-06-20 一种应用程序启动控制方法和装置

Publications (2)

Publication Number Publication Date
CN110348180A true CN110348180A (zh) 2019-10-18
CN110348180B CN110348180B (zh) 2021-07-30

Family

ID=68182609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910538406.8A Active CN110348180B (zh) 2019-06-20 2019-06-20 一种应用程序启动控制方法和装置

Country Status (1)

Country Link
CN (1) CN110348180B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909345A (zh) * 2019-12-02 2020-03-24 中国银行股份有限公司 一种Java系统开源软件防篡改方法及系统
TWI765690B (zh) * 2021-04-30 2022-05-21 精品科技股份有限公司 基於觀察模式之應用程式控管方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103226676A (zh) * 2013-03-04 2013-07-31 北京密安网络技术股份有限公司 应用软件可信性的混合度量方法
US20140025939A1 (en) * 2011-12-29 2014-01-23 Ned M. Smith Methods and apparatus for trusted boot optimization
CN105335197A (zh) * 2015-11-12 2016-02-17 珠海市君天电子科技有限公司 终端中应用程序的启动控制方法和装置
CN107657171A (zh) * 2017-09-11 2018-02-02 郑州云海信息技术有限公司 一种在ssr集中管理平台管理应用程序的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140025939A1 (en) * 2011-12-29 2014-01-23 Ned M. Smith Methods and apparatus for trusted boot optimization
CN103226676A (zh) * 2013-03-04 2013-07-31 北京密安网络技术股份有限公司 应用软件可信性的混合度量方法
CN105335197A (zh) * 2015-11-12 2016-02-17 珠海市君天电子科技有限公司 终端中应用程序的启动控制方法和装置
CN107657171A (zh) * 2017-09-11 2018-02-02 郑州云海信息技术有限公司 一种在ssr集中管理平台管理应用程序的方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110909345A (zh) * 2019-12-02 2020-03-24 中国银行股份有限公司 一种Java系统开源软件防篡改方法及系统
CN110909345B (zh) * 2019-12-02 2022-03-22 中国银行股份有限公司 一种Java系统开源软件防篡改方法及系统
TWI765690B (zh) * 2021-04-30 2022-05-21 精品科技股份有限公司 基於觀察模式之應用程式控管方法

Also Published As

Publication number Publication date
CN110348180B (zh) 2021-07-30

Similar Documents

Publication Publication Date Title
US20220284094A1 (en) Methods and apparatus for malware threat research
US9832226B2 (en) Automatic curation and modification of virtualized computer programs
EP3462358B1 (en) System and method for detection of malicious code in the address space of processes
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US7895448B1 (en) Risk profiling
KR101265173B1 (ko) 비실행 파일 검사 장치 및 방법
CN104820801B (zh) 一种保护指定应用程序的方法及装置
US7657941B1 (en) Hardware-based anti-virus system
US8443354B1 (en) Detecting new or modified portions of code
US11070570B2 (en) Methods and cloud-based systems for correlating malware detections by endpoint devices and servers
US20110307711A1 (en) Device booting with an initial protection component
US20060053492A1 (en) Software tracking protection system
US11893114B2 (en) Memory layout based monitoring
WO2011146305A2 (en) Extending an integrity measurement
RU2697954C2 (ru) Система и способ создания антивирусной записи
CN110188547B (zh) 一种可信加密系统及方法
US8086835B2 (en) Rootkit detection
US20150256549A1 (en) System, method, and computer program product for conditionally performing an action based on an attribute
US20190121976A1 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
US11449602B1 (en) Systems and methods for generating trust binaries
CN105335197A (zh) 终端中应用程序的启动控制方法和装置
CN110348180A (zh) 一种应用程序启动控制方法和装置
CN111159762A (zh) 一种强制访问控制下的主体可信验证方法及系统
US20230185921A1 (en) Prioritizing vulnerabilities
US20190121975A1 (en) System and method for adapting patterns of malicious program behavior from groups of computer systems

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