一种白名单程序控制方法及系统与流程

文档序号:16469679发布日期:2019-01-02 22:59阅读:411来源:国知局
一种白名单程序控制方法及系统与流程

本发明涉及信息安全技术领域,特别是涉及一种白名单程序控制方法及系统。



背景技术:

白名单技术在安全软件领域十分常见,很多白名单原理都是提前采集程序的hash值,在程序启动或修改的时候通过程序判断hash值是否一致来实现,白名单技术的宗旨是不阻止某些特定的事物,它采取了与黑名单相反的做法,利用一份“已知为良好”的实体(程序、电子邮件地址、域名或网址)名单。

白名单具有以下优点:无需运行必须不断更新的防病毒软件;任何不在名单上的事物都阻止运行;系统能够免受零日攻击。因为白名单的设置,用户不能够运行不在名单上的未经授权的程序,所以不必担心用户有意或无意的安装可执行的有害程序、浪费时间的个人程序或未经授权的软件。

但是,在使用白名单技术的时候,除阻止恶意软件和垃圾邮件外同样也会阻止合法代码的运行和合法邮件的通过,影响了白名单使用效率。



技术实现要素:

本发明实施例中提供了一种白名单程序控制方法及系统,以解决现有技术中白名单使用效率低的问题。

为了解决上述技术问题,本发明实施例公开了如下技术方案:

本发明第一方明提供了一种白名单程序控制方法,包括:

获取全部被监控对象的证书签名信息并保存至缓存;

获取执行请求;

根据所述执行请求从所述缓存中查询对应的证书签名信息;

如果能够查询到对应的证书签名信息则允许运行,否则进行实际证书验证;

如果实际证书验证成功则允许运行,否则进行智能识别,如果识别成功则允许运行,否则拦截。

优选地,获取全部被监控对象的证书签名信息具体包括:

获取被监控对象路径;

从所述被监控对象路径下获取对象信息;

从所述对象信息中获取证书签名信息。

优选地,所述实际证书验证具体包括:

获取被监控功对象数字证书;

对所述数字证书进行解析;

从解析的所述数字证书中获取程序hash值;

判断所述程序hash值与预设hash值是否一致。

优选地,所述方法还包括:

当数字证书解析时间超过预设解析时间时实际证书验证失败。

优选地,所述智能识别具体包括:

确定所述执行请求类型;

如果所述请求类型属于用户或操作系统则识别成功;

如果所述请求类型属于应用程序则从数据库中查询所述执行请求;

如果能够查询到执行请求则识别成功,否则识别失败。

优选地,所述方法还包括:

根据刷新后的被监控对象重新获取证书签名信息并保存至缓存。

本发明第二方明提供了一种白名单程序控制系统,包括:信息采集模块、签名信息验证模块、数字证书验证模块以及智能识别模块,其中,所述信息采集模块分别与所述签名信息验证模块以及数字证书验证模块通信连接,所述签名信息验证模块、数字证书验证模块以及智能识别模块依次通信连接。

优选地,所述信息采集模块包括证书采集单元和签名采集单元,所述证书采集单元与所述数字证书验证模块通信连接;所述签名采集单元与所述签名信息验证模块通信连接。

优选地,所述数字证书验证模块包括解析、验证单元和超时中断单元,所述超时中断单元与所述智能识别模块通信连接,用于向智能识别单元发送证书识别超时信号。

由以上技术方案可见,本发明通过采集数字签名并将签名信息存放在缓存中,在使用的时候进行缓存查询,如果查询不到再进行实际证书验证,如果实际证书验证失败再进行智能识别,在阻止恶意软件和垃圾邮件的同时允许合法代码的运行和合法邮件的通过,能够提高白名单使用效率。

附图说明

了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种白名单程序控制方法的流程示意图;

图2为本发明实施例提供获取证书签名信息的方法的流程示意图;

图3为本发明实施例提供实际证书验证的方法的流程示意图;

图4为本发明实施例提供的一种白名单程序控制系统的结构示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

参见图1,为本发明实施例提供的一种白名单程序控制方法的流程示意图,如图1所示,本发明实施例提供的白名单程序控制方法,包括:

s10:获取全部被监控对象的证书签名信息并保存至缓存。

本发明实施例中所提及的被监控对象是用户设备上已经安装的应用程序以及驱动,因为其已经安装在设备上因此可以确定属于白名单上的对象,再次运行的时候可以不需要经过白名单检测,只需要经过证书签名信息验证即可,为了减少采集证书签名信息的时间,将设备上已经安装的程序和驱动的证书签名信息采集后保存在缓存中,需要说明的事,如果设备上安装的应用程序或驱动发生了刷新则需要重新进行证书签名信息获取并重新保存进缓存。

参见图2,为本发明实施例提供获取证书签名信息的方法的流程示意图,如图2所示,获取全部被监控对象的证书签名信息具体包括:

s11:获取被监控对象路径。

该路径为设备上的应用程序或驱动的安装位置,关于该应用程序以及驱动的相关文件都保存于该路径下,根据公知常识,每个被监控对象一个路径。

s12:从所述被监控对象路径下获取对象信息。

获取被监控对象路径后从该路径下读取对象信息,给对象信息包括数字证书信息和证书签名信息。

s13:从所述对象信息中获取证书签名信息。

因为本发明实施例中先进行证书签名验证,如果证书签名验证失败再进行实际证书验证,因此,还需要从获取的对象信息中提取出证书签名信息,进行第一步验证。

s20:获取执行请求。

获取设备上触发的执行请求,该执行请求包括多种类型,如操作系统的后台运行指令、用户触发的操作以及应用程序的安装指令或触发的某些操作。

s30:根据所述执行请求从所述缓存中查询对应的证书签名信息。

如果能够查询到对应的证书签名信息则执行步骤s60:允许运行,否则执行步骤s40:实际证书验证。

如果实际证书验证成功则执行步骤s60:允许运行,否则执行步骤s50:智能识别,如果识别成功则执行步骤s60:允许运行,否则执行步骤s70:拦截。

参见图3,为本发明实施例提供实际证书验证的方法的流程示意图,如图3所示,所述实际证书验证具体包括:

s41:获取被监控功对象数字证书。

s42:对所述数字证书进行解析。

s43:从解析的所述数字证书中获取程序hash值。

s44:判断所述程序hash值与预设hash值是否一致。

实际证书验证中证书解析要等十几秒的时间,有可能导致很多问题,容易感染病毒或者遭受攻击,这是十分危险的,特别是在很多涉密行业,因此,本发明实施例还包括:当数字证书解析时间超过预设解析时间时实际证书验证失败,避免由于长时间解析造成的影响。

本发明实施例中的所述智能识别具体包括:首先确定执行请求类型的类型,如果所述请求类型属于用户或操作系统则识别成功;如果所述请求类型属于应用程序则从数据库中查询所述执行请求;如果能够查询到执行请求则识别成功,否则识别失败。

对于操作系统以及用户触发的操作,因为其不是应用程序或驱动,因此无法进行证书签名信息验证和数字证书验证,且对于此类操作一般均为合法操作,因此,对于此类执行请求可以直接执行,对于执行请求为应用程序的类型,因为证书签名新验证以及数字证书验证均失败,则可能会存在风险,此时需要再从数据中进行查找,如果能够查询到则说明该应用程序属于白名单,否则不属于,此时需进行拦截。

参见图4,为本发明实施例提供的一种白名单程序控制系统的结构示意图,如图4所示,本发明实施例提供的白名单程序控制系统,包括:信息采集模块、签名信息验证模块、数字证书验证模块以及智能识别模块。

所述信息采集模块分别与所述签名信息验证模块以及数字证书验证模块通信连接,所述签名信息验证模块、数字证书验证模块以及智能识别模块依次通信连接。

具体的,所述信息采集模块包括证书采集单元和签名采集单元,所述证书采集单元与所述数字证书验证模块通信连接;所述签名采集单元与所述签名信息验证模块通信连接。所述数字证书验证模块包括解析、验证单元和超时中断单元,所述超时中断单元与所述智能识别模块通信连接,用于向智能识别单元发送证书识别超时信号。

本发明通过采集数字签名并将签名信息存放在缓存中,在使用的时候进行缓存查询,如果查询不到再进行实际证书验证,如果实际证书验证失败再进行智能识别,在阻止恶意软件和垃圾邮件的同时允许合法代码的运行和合法邮件的通过,能够提高白名单使用效率。

以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1