一种基于信任链的白名单执行系统及执行方法与流程

文档序号:12123272阅读:346来源:国知局
一种基于信任链的白名单执行系统及执行方法与流程

本发明涉及信息安全和电力自动化领域,一种基于信任链的白名单执行系统及执行方法。



背景技术:

近年来,黑客活动日益猖獗,特别近年来针对工业控制系统的信息安全攻击事件不断增加,电力监控系统作为电力调度控制的大脑中枢,为变配电系统的实时数据采集、开关状态检测及远程控制提供了基础平台,其安全性决定整个电力生产和服务的安全可靠性。随着电力监控系统的快速发展,其面临的恶意代码问题也越发严峻。2008年震网病毒给以电力监控系统为代表的工控系统敲响了警钟,2015年乌克兰停电事件则是第一起对电力基础设施具有针对性的恶意软件攻击事件,这些事件调查结果表明均是黑客利用病毒、木马等恶意代码攻击控制系统造成系统工作时常且难以恢复,给电力基础设备带来极大的安全生产危害。

针对当前电力监控系统遭受恶意代码攻击的现状,目前常用基于黑名单的技术方案,具体是在场站侧的服务器和工作站安装杀毒软件,同时在电力监控系统边界处安装防火墙、加密网关和防病毒网关设备等。但是这些方法存在如下先天的不足:

1)采用黑名单的方法,黑名单容易将“好”的软件杀掉或者是限制其正常运行。严重影响电力监控系统的可靠性和功能连续性

2)杀毒软件采用黑名单的方法对匹配病毒特征值,对新病毒(利用0day漏洞的病毒)无能为力,无法应对类似“震网事件”、“乌克兰停电事件”的APT攻击。



技术实现要素:

为了克服上述现有技术中的不足,本发明的目的在于,提供一种基于信任链的白名单执行系统,包括:与电力监控主机进行通信连接的白名单授权服务器,设置在电力监控主机内的可信程序执行模块;

白名单授权服务器用于对电力监控主机构建可信程序执行模块,通过可信程序执行模块执行对电力监控主机应用程序的启动、执行进行保护,同时利用可信程序执行模块进行策略配置、安全管理、安全审计,确保每次执行的程序都是在白名单中注册过的程序,实现电力监控主机程序的启动、加载和运行的安全可信。

优选地,白名单授权服务器包括:可信软件管理模块、白名单生成模块、白名单维护模块、白名单下发模块、白名单撤销管理模块、执行日志管理模块以及数据库;

所述可信软件管理模块用于通过可信程序执行模块获取电力监控主机内部的软件、脚本、程序,并对软件、脚本、程序进行版本、权限、可信性进行认证,确保在电力监控主机上运行的软件、脚本、程序来源于可信的软件厂商,还用于设置使用者使用电力监控主机内部软件、程序的权限;

所述白名单生成模块用于对电力监控主机的可信软件、可信脚本、可信程序生成白名单;

所述白名单维护模块用于对白名单进行增加,修改;

所述白名单下发模块用于将白名单提供给电力监控主机的可信程序执行模块储存;

所述白名单撤销管理模块用于当电力监控主机的可信软件、可信脚本及可信程序失效或者过期时,白名单撤销管理模块将白名单中过期的可信软件、可信脚本及可信程序进行撤销管理;

所述执行日志管理模块用于当可信程序执行模块无法在电力监控主机匹配到白名单时,可信程序执行模块通过访问白名单授权服务器获取白名单;白名单授权服务器接收到访问消息,将相关操作记录在日志以供后续审计;

所述数据库用于储存白名单授权服务器的数据信息。

优选地,可信程序执行模块包括:应用配置层、通信层、功能模块层、底层数据层;

所述应用配置层包括:配置管理程序、审计告警程序、扫描程序、白名单处理程序;

所述功能模块层包括:审计模块、告警模块、配置管理模块;

所述底层数据层包括:白名单缓存模块、证书处理模块和白名单匹配模块;

所述通信层用于使应用配置层与功能模块层进行数据交互连通;

扫描程序用于扫描电力监控主机内部的软件、脚本、程序;

所述配置管理程序通过通信层与配置管理模块进行数据交互连通,配置管理程序根据配置管理模块的控制,获取电力监控主机内部的软件、脚本、程序,并将所述软件、脚本、程序上传至白名单授权服务器;

所述审计告警程序通过通信层分别与审计模块和告警模块进行数据交互连通,审计告警程序分别根据审计模块和告警模块的控制,当审计告警程序无法在电力监控主机匹配到白名单时,通过访问白名单授权服务器获取白名单,同时发出告警信息;

所述白名单处理程序用于在电力监控主机提供白名单的查询,增加,修改;

所述白名单缓存模块用于储存白名单;

白名单匹配模块用于将电力监控主机上运行的软件、脚本、程序与白名单进行匹配,当电力监控主机上运行的软件、脚本、程序与白名单匹配时,执行该软件、脚本、程序;当运行的软件、脚本、程序不与白名单匹配时,审计告警程序发出警告,同时上报白名单授权服务器。

优选地,所述白名单生成模块生成的白名单为一个N元组(N>=5),WHITELIST:{ID,name,version,hash,softsize,authority,description}sig_server,白名单为七个字段分别为软件ID、软件名、版本号、指纹值、软件大小、执行权限、软件描述,其中,白名单的指纹值,执行权限和整个白名单的签名是供电力监控主机的可信程序执行模块进行匹配和验证,保证只有与白名单匹配的程序才能执行。

优选地,白名单下发模块包括:白名单推送模块和白名单搜索模块;

白名单推送模块用于定时向或者实时向电力监控主机推送白名单;

白名单搜索模块用于当电力监控主机执行未在本地白名单内的软件、脚本、程序时,电力监控主机的可信程序执行模块向白名单授权服务器进行主动查询,授权服务器收到消息后,白名单搜索模块对白名单库进行搜索,将搜索结果反馈给电力监控主机的可信程序执行模块。

优选地,白名单授权服务器还包括:撤销账号模块;

撤销账号模块用于当需要将白名单中的可信软件、可信脚本及可信程序从该白名单撤销时,撤销账号模块提供运维人员登录的撤销账户和口令,运维人员登录账户后,进行撤销操作。

优选地,白名单授权服务器与电力监控主机采用电力网络,或电力调度数据网,或以太网进行通信。

一种基于信任链的白名单执行方法,方法包括:

步骤1:获取电力监控主机内部的软件、脚本、程序,并将所述软件、脚本、程序上传至白名单授权服务器;

步骤2:对获取的软件、脚本、程序进行版本、权限、可信性进行认证,并判断软件、脚本、程序是否可信;

步骤3:当获取的软件、脚本、程序可信时,对电力监控主机的可信软件、可信脚本、可信程序生成白名单;

步骤4:将白名单提供给电力监控主机的可信程序执行模块储存。

优选地,步骤4之后还包括:

可信程序执行模块对电力监控主机运行的软件、脚本、程序进行拦截,并获取加载文件的路径;

通过文件路径作为关键字,查找到此文件在最后一次进行白名单计算后是否修改过,如果修改过,则重新计算文件的指纹值,如未修改过,则直接通过该路径在数据库获取指纹值;

提取出文件指纹值后,首先在白名单缓存模块中查找文件指纹值,如果找到了文件指纹值,再查看本地缓存文件指纹值是否有效。指纹值有效性判断是通过将当前缓存指纹的单条版本号和白名单授权服务器当前全局指纹信息的版本号对比得出的;

如果本地有效则直接通过本地缓存来判断是否可以放行文件加载,否则,向白名单授权服务器请求更新指纹信息,更新到白名单授权服务器,并且将当前全局版本号存储到数据库的指纹信息中,依据新的指纹信息判断是否放行文件加载。

从以上技术方案可以看出,本发明具有以下优点:

利用白名单执行系统及执行方法,结合白名单授权服务器管理授权审计的功能,以白名单授权服务器为服务中心,对大量电力监控主机应用执行可信启动、可信执行、可信管理和安全审计等功能,确保只有可信的软件应用能在主机上运行。

附图说明

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

图1为基于信任链的白名单执行系统的整体示意图;

图2为白名单授权服务器的模块示意图;

图3为可信程序执行模块的模块示意图;

图4为基于信任链的白名单执行方法的流程图;

图5为基于信任链的白名单执行方法的实施例流程图。

具体实施方式

为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将运用具体的实施例及附图,对本发明保护的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本专利中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利保护的范围。

本实施例提供一种基于信任链的白名单执行系统,如图1、图2、图3所示,包括:与电力监控主机进行通信连接的白名单授权服务器1,设置在电力监控主机内的可信程序执行模块2;

白名单授权服务器1用于对电力监控主机构建可信程序执行模块2,通过可信程序执行模块2执行对电力监控主机应用程序的启动、执行进行保护,同时利用可信程序执行模块进行策略配置、安全管理、安全审计,确保每次执行的程序都是在白名单中注册过的程序,实现电力监控主机程序的启动、加载和运行的安全可信。这里可以包括多个设置电力监控主机通过可信程序执行模块2与白名单授权服务器1机进行通信连接。

白名单、黑名单是相对的一组概念,白名单是指规则中设置的允许使用的名单列表,其意义是“好的”、“被允许的”;黑名单是指“坏的”、“不被允许的”。应用程序白名单是一组应用程序名单列表,在此列表中的应用程序是允许在系统中运行。

本实施例中,白名单授权服务器1包括:可信软件管理模块11、白名单生成模块12、白名单维护模块13、白名单下发模块14、白名单撤销管理模块15、执行日志管理模块16以及数据库17;

所述可信软件管理模块11用于通过可信程序执行模块11获取电力监控主机内部的软件、脚本、程序,并对软件、脚本、程序进行版本、权限、可信性进行认证,确保在电力监控主机上运行的软件、脚本、程序来源于可信的软件厂商,还用于设置使用者使用电力监控主机内部软件、程序的权限;

可信软件管理模块11对软件的版本、权限、使用者进行认证,确保在电力监控主机上运行的软件都是来源于可信的软件厂商,其版本正确,对应使用者的权限准确无误。

白名单生成模块12用于对电力监控主机的可信软件、可信脚本、可信程序生成白名单;白名单维护模块13用于对白名单进行增加,修改;白名单下发模块14用于将白名单提供给电力监控主机的可信程序执行模块储存;白名单撤销管理模块15用于当电力监控主机的可信软件、可信脚本及可信程序失效或者过期时,白名单撤销管理模块将白名单中过期的可信软件、可信脚本及可信程序进行撤销管理;执行日志管理模块16用于当可信程序执行模块无法在电力监控主机匹配到白名单时,可信程序执行模块通过访问白名单授权服务器获取白名单;白名单授权服务器接收到访问消息,将相关操作记录在日志以供后续审计;数据库17用于储存白名单授权服务器的数据信息。

可信程序执行模块2包括:应用配置层21、通信层22、功能模块层23、底层数据层24;

应用配置层21包括:配置管理程序31、审计告警程序32、扫描程序33、白名单处理程序34;应用配置层中包括的程序为可信程序执行模块执行的应用程序,是基于功能模块层所实现的应用程序。功能模块层23包括:审计模块35、告警模块36、配置管理模块37;功能模块层23包括的功能模块是基于应用配置层21在电力监控主机实现功能。

底层数据层24包括:白名单缓存模块38、证书处理模块39和白名单匹配模块41;通信层22用于使应用配置层21与功能模块层23进行数据交互连通;

扫描程序33用于扫描电力监控主机内部的软件、脚本、程序;其实时对电力监控主机内部的软件、脚本、程序进行扫描,并在预设的时间内通过配置管理模块将扫描的电力监控主机内部软件、脚本、程序上传至白名单授权服务器1,使白名单授权服务器中数据库储存的各个电力监控主机内部软件、脚本、程序与电力监控主机自身现有的软件、脚本、程序相匹配。

所述配置管理程序31通过通信层22与配置管理模块37进行数据交互连通,配置管理程序31根据配置管理模块37的控制,获取电力监控主机内部的软件、脚本、程序,并将所述软件、脚本、程序上传至白名单授权服务器;

所述审计告警程序32通过通信层22分别与审计模块35和告警模块36进行数据交互连通,审计告警程序分别根据审计模块和告警模块的控制,当审计告警程序无法在电力监控主机匹配到白名单时,通过访问白名单授权服务器获取白名单,同时发出告警信息;白名单处理程序34用于在电力监控主机提供白名单的查询,增加,修改;白名单缓存模块38用于储存白名单;白名单匹配模块41用于将电力监控主机上运行的软件、脚本、程序与白名单进行匹配,当电力监控主机上运行的软件、脚本、程序与白名单匹配时,执行该软件、脚本、程序;当运行的软件、脚本、程序不与白名单匹配时,审计告警程序发出警告,同时上报白名单授权服务器1。证书处理模块39用于获取软件、脚本、程序的软件证书。

本实施例中,白名单生成模块12生成的白名单为一个N元组(N>=5),WHITELIST:{ID,name,version,hash,softsize,authority,description}sig_server,

白名单为七个字段分别为软件ID、软件名、版本号、指纹值、软件大小、执行权限、软件描述,其中,白名单的指纹值,执行权限和整个白名单的签名是供电力监控主机的可信程序执行模块进行匹配和验证,保证只有与白名单匹配的程序才能执行。这三个字段供可信程序执行模块2进行匹配和验证,保证只有与白名单匹配的程序才能执行。

本实施例中,白名单下发模块14包括:白名单推送模块和白名单搜索模块;

白名单推送模块用于定时向或者实时向电力监控主机推送白名单;白名单搜索模块用于当电力监控主机执行未在本地白名单内的软件、脚本、程序时,电力监控主机的可信程序执行模块向白名单授权服务器进行主动查询,授权服务器收到消息后,白名单搜索模块对白名单库进行搜索,将搜索结果反馈给电力监控主机的可信程序执行模块。

本实施例中,白名单授权服务器1还包括:撤销账号模块;撤销账号模块用于当需要将白名单中的可信软件、可信脚本及可信程序从该白名单撤销时,撤销账号模块提供运维人员登录的撤销账户和口令,运维人员登录账户后,进行撤销操作。这样保证白名单授权服务器1的安全性。

白名单授权服务器与电力监控主机采用电力网络,或电力调度数据网,或以太网进行通信。

本发明还提供一种基于信任链的白名单执行方法,如图4所示,方法包括:

S1:获取电力监控主机内部的软件、脚本、程序,并将所述软件、脚本、程序上传至白名单授权服务器;

S2:对获取的软件、脚本、程序进行版本、权限、可信性进行认证,并判断软件、脚本、程序是否可信;

S3:当获取的软件、脚本、程序可信时,对电力监控主机的可信软件、可信脚本、可信程序生成白名单;

S4:将白名单提供给电力监控主机的可信程序执行模块储存。

本方法中,步骤S4还包括,如图5所示,本方法实施例中,以指纹值作为是否作为软件、脚本、程序为执行的判断标准。当然也可以采用其他参数来判断。

可信程序执行模块对电力监控主机运行的软件、脚本、程序进行拦截,并获取加载文件的路径;

通过文件路径作为关键字,查找到此文件在最后一次进行白名单计算后是否修改过,如果修改过,则重新计算文件的指纹值,如未修改过,则直接通过该路径在数据库获取指纹值;

提取出文件指纹值后,首先在白名单缓存模块中查找文件指纹值,如果找到了文件指纹值,再查看本地缓存文件指纹值是否有效。指纹值有效性判断是通过将当前缓存指纹的单条版本号和白名单授权服务器当前全局指纹信息的版本号对比得出的;

如果本地有效则直接通过本地缓存来判断是否可以放行文件加载,否则,向白名单授权服务器请求更新指纹信息,更新到白名单授权服务器,并且将当前全局版本号存储到数据库的指纹信息中,依据新的指纹信息判断是否放行文件加载。

这样,利用白名单执行系统及执行方法,结合授权服务器管理授权审计的功能,以授权服务器为服务中心,对大量电力监控主机应用执行可信启动、可信执行、可信管理和安全审计等功能,确保只有可信的软件应用能在主机上运行。其优点如下:

一、具备可信启动功能,相比于原有可信计算需要安装安全硬件芯片相比,本方案只需要安装一个软件,即可执行对应用程序的可信启动、即待启动进程必须与白名单匹配成功才能成功启动。

二、具备可信执行功能,对执行的进程执行全程管控功能,即通过实时度量、实时验证的方式,确保执行程序在执行过程中的特征与白名单是匹配的、可信的。

三、具备可信管理的功能。利用本地和远程两个层面执行对电力应用的安全管理,即本地对应用程序进行可信管理,同时远程的授权服务器对本地的可信程序执行模块进行管理,运维人员只需要在授权服务器进行合理配置,就可以将配置下发到各主机上的可信程序执行模块。

四、安全审计。利用可信程序执行模块对电力主机上的应用进行安全审计;同时利用授权服务器对可信程序执行模块进行安全审计,通过层层审计的方式确保授权服务器、可信程序执行模块、电力主机、电力应用的安全。

五、提供应用执行可信启动、可信执行、可信管理和安全审计等功能,且配置简单,适用于系统运维人员对电力监控系统的安全管理和安全控制。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参考即可。

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

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