公开/公告号CN109145532A
专利类型发明专利
公开/公告日2019-01-04
原文格式PDF
申请/专利权人 北京广成同泰科技有限公司;
申请/专利号CN201810945260.4
申请日2018-08-20
分类号G06F21/12(20130101);G06F21/10(20130101);G06F8/65(20180101);
代理机构
代理人
地址 100094 北京市海淀区北洼路9号世纪新景园3号楼3单元7A
入库时间 2024-02-19 08:11:37
法律状态公告日
法律状态信息
法律状态
2023-01-10
专利权的转移 IPC(主分类):G06F21/12 专利号:ZL2018109452604 登记生效日:20221229 变更事项:专利权人 变更前权利人:北京广成同泰科技有限公司 变更后权利人:北京朋创天地科技有限公司 变更事项:地址 变更前权利人:100094 北京市海淀区北洼路9号世纪新景园3号楼3单元7A 变更后权利人:100000 北京市海淀区天秀花园澄秀园2、3、6号楼-1层配套用房9-11
专利申请权、专利权的转移
2020-08-07
授权
授权
2019-01-29
实质审查的生效 IPC(主分类):G06F21/12 申请日:20180820
实质审查的生效
2019-01-04
公开
公开
技术领域
本发明涉及信息安全技术领域,具体来说,涉及一种支持软件在线升级的程序白名单管理方法及系统。
背景技术
程序白名单是一种基于软件可执行代码唯一性特征的软件调用和执行控制机制,比如基于可执行代码文件hash值生成一个可执行程序清单,只有在这个清单中的可执行程序才能被系统调用和执行,程序白名单机制有很好的安全防护能力和效率,可以用于以下安全目标:1)恶意代码和勒索软件的防范,由于恶意代码和勒索软件都不属于用户明确允许的可执行程序,因此也不会出现在程序白名单策略清单中,因此系统不会调用和运行恶意代码和勒索软件,包括已知的和未知的;2)可以用于规范用户操作行为,这对生产系统的安全运行尤为重要,没有管理员批准,用户不可能在生产系统中自行安装和运行软件程序,这样就会大大减少系统运行风险。
但是软件在线升级功能会影响程序白名单机制的易用性,这是因为软件在线升级会用新的可执行代码文件替代旧的可执行代码文件,而这些新的可执行代码文件不在程序白名单策略中,这样系统会拒绝调用和运行这些可执行代码,导致软件运行失败。
发明内容
本发明的目的在于提出一种支持软件在线升级的程序白名单管理方法及系统,以克服现有技术中存在的上述不足。
为实现上述技术目的,本发明的技术方案是这样实现的:
一种支持软件在线升级的程序白名单管理方法,所述方法包括以下步骤:
1)获取新创建文件的相关信息;
2)判断所述新创建文件是否为可执行代码文件,若不是,则系统不进行任何操作,若是,则执行步骤3);
3)查询所述新创建文件是否在本地程序白名单策略中,若在,系统不进行任何操作,若不在,则执行步骤4);
4)获取文件创建进程所对应的主程序,根据非遗传类程序清单检查文件创建进程所对应的主程序是否属于非遗传类程序,若是,则系统不进行任何操作,若不是,则执行步骤5);
5)计算新创建文件的程序白名单策略特征值,并将所述特征值插入到本地程序白名单策略中。
进一步的,记录步骤1)至步骤5),形成相关日志,并按照预定义要求决定是否将新的程序白名单策略提交给指定地点。
进一步的,步骤1)中通过驱动层钩子函数获取新创建文件的相关信息。
一种支持软件在线升级的程序白名单管理系统,所述系统包括:
新文件创建过程监视模块,包括信息获取模块、可执行代码判断模块和本地程序白名单判断模块,所述信息获取模块用于获取新创建文件的相关信息,所述可执行代码判断模块用于判断所述新创建文件是否是可执行代码,若不是,则结束系统进程,若是,则启动本地程序白名单判断模块,所述本地程序白名单判断模块,用于查询所述新创建文件是否在本地程序白名单策略中,若在,则结束系统进程,若不在,则启动文件创建进程分析模块;
文件创建进程分析模块,用于获取文件创建进程所对应的主程序,根据非遗传类程序清单检查文件创建进程所对应的主程序是否属于非遗传类程序,若是,则结束系统进程,若不是,则启动程序白名单策略生成模块;
程序白名单策略生成模块,计算新创建文件的程序白名单策略特征值,并将所述特征值插入到本地程序白名单策略中;
非遗传类程序清单维护模块,用于建立起那些可以下载或调用第三方代码程序的程序清单。
进一步的,还包括日志和报告模块,用于记录程序白名单策略生成相关日志,并按照预定义要求,决定是否将新的程序白名单策略提交给指定地点。
进一步的,所述新文件创建过程监视模块通过驱动层钩子函数获取新创建文件的相关信息。
本发明的有益效果:本发明所述方法和系统通过判断软件类别而确定其升级后的代码是否可信,并自动调整程序白名单策略,从而极大地提高程序白名单机制的适应性和易用易管性。
附图说明
图1是本发明所述的方法的流程图;
图2是本发明所述的系统的功能模块结构示意图;
图3是本发明所述的新文件创建过程监视模块的树状结构示意图。
具体实施方式
下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
如图1所示,根据本发明的实施例所述的一种支持软件在线升级的程序白名单管理方法,所述方法包括以下步骤:
1)通过驱动层钩子函数获取新创建文件的相关信息。软件在线升级过程中,系统会将升级的代码程序连同其它升级相关文件一起下载到本地,并在本地创建相应的新文件。
2)根据新创建文件属性判断所述新创建文件是否为可执行代码文件,比如Windows系统中的PE格式文件。若不是,则系统不进行任何操作,若是,则执行步骤3)。
3)查询所述新创建文件是否在本地程序白名单策略中,程序白名单策略一般都基于可执行代码文件的hash值表示和实现,因此判断新建可执行代码文件是否可信,需要先计算该文件的hash值,并检查是否在程序白名单策略中。若在,系统不进行任何操作,若不在,则执行步骤4)。
4)获取文件创建进程所对应的主程序,根据非遗传类程序清单检查文件创建进程所对应的主程序是否属于非遗传类程序,若是,则系统不进行任何操作,若不是,则执行步骤5)。非遗传类程序是本发明定义的那些可以调用并运行第三方可执行代码的程序,比如Windows系统的explorer.exe、cmd程序,浏览器、FTP等等工具。非遗传类程序不能将其可信属性传递给它们所调用的可执行代码,而软件升级则可以将其可信属性遗传给其新升级的可执行代码。非遗传类程序清单由安全管理人员或第三方安全服务机构进行维护,具体的,提供了一种支持非遗传类程序清单的表示方法和维护机制,包括:非遗传类程序清单由程序的文件特征(如文件名、hash值等)表示,并由人工或第三方服务机构借助辅助资源信息(如软件下载资源的分类属性)决策和维护。即专业人员根据软件下载资源的提示信息或通过其它方式(比如第三方软件功能描述和评价)获得的软件描述信息,或者通过对软件进行实际运行分析,判断软件程序是否符合非遗传类程序定义。
5)计算新创建文件的程序白名单策略特征值,并将所述特征值插入到本地程序白名单策略中。
在本实施例中,系统根据新创建文件的程序白名单策略生成过程记录,并根据管理要求,决定是否要将新创建文件程序白名单策略报告到指定的管理中心。管理中心将其合并到既有的程序白名单策略中。此后管理中心将新的程序白名单策略下发到各个程序白名单服务对象。
如图2-3所示,本发明还公开了一种支持软件在线升级的程序白名单管理系统,所述系统包括:
新文件创建过程监视模块1,包括信息获取模块101、可执行代码判断模块102和本地程序白名单判断模块103,所述信息获取模块101用于获取新创建文件的相关信息,所述可执行代码判断模块102用于判断所述新创建文件是否是可执行代码,若不是,则结束系统进程,若是,则启动本地程序白名单判断模块103,所述本地程序白名单判断模块103,用于查询所述新创建文件是否在本地程序白名单策略中,若在,则结束系统进程,若不在,则启动文件创建进程分析模块2;
文件创建进程分析模块2,用于获取文件创建进程所对应的主程序,根据非遗传类程序清单检查文件创建进程所对应的主程序是否属于非遗传类程序,若是,则结束系统进程,若不是,则启动程序白名单策略生成模块3;
程序白名单策略生成模块3,计算新创建文件的程序白名单策略特征值,并将所述特征值插入到本地程序白名单策略中;
非遗传类程序清单维护模块4,用于建立起那些可以下载或调用第三方代码程序的程序清单。
在本实施例中,还包括日志和报告模块5,用于记录程序白名单策略生成相关日志,并按照预定义要求,决定是否将新的程序白名单策略提交给指定地点。
在本实施例中,所述新文件创建过程监视模块1通过驱动层钩子函数获取新创建文件的相关信息。
本发明实施例所述的支持软件在线升级的程序白名单管理系统的上述各个功能模块,分别对应本发明的支持软件在线升级的程序白名单管理方法的各个操作步骤,这里不再赘述。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
机译: 白名单管理装置,白名单管理方法和程序
机译: 白名单管理系统及白名单管理方法
机译: 脱粒状态管理系统,脱粒状态管理方法,脱粒状态管理程序,录制介质记录脱粒状态管理程序,收割机管理系统,收割机,收割机管理方法,收割机管理计划,记录媒体记录收割机管理程序,工作车辆,工作车辆管理方法,工作车辆管理系统,工作车辆管理程序,记录介质记录工作车辆管理程序,管理系统,管理方法,管理程序和记录介质记录管理程序