[发明专利]基于可信进程树的白名单更新方法无效
申请号: | 201010108793.0 | 申请日: | 2010-02-05 |
公开(公告)号: | CN101788915A | 公开(公告)日: | 2010-07-28 |
发明(设计)人: | 赵勇;李瑜;韩培胜 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06F9/445 | 分类号: | G06F9/445;G06F21/00 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 楼艮基 |
地址: | 10012*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 可信 进程 名单 更新 方法 | ||
技术领域
本发明基于可信进程树的白名单更新方法,涉及对采用白名单机制的病毒防御机制的系统进行程序安装及更新的方法。该方法能实现对白名单的安全更新,依据进程间的创建及调用关系,既将合法安装程序的特征值加入到白名单,同时又不会误引入病毒的特征码,属于信息安全领域。
背景技术
随着计算机技术的飞速发展,计算机病毒不仅在数量上不断上升,而且朝着多样化、复杂化的方向发展,而现有的主要的病毒防御手段便是杀毒软件。杀毒软件以特征值扫描法作为理论基础,其核心是从现有的病毒样本中提取特征值构成庞大的病毒特征库,然后以用户计算机中的可执行程序或文件等作为目标,逐一与病毒特征库中的恶意特征值进行比对,最后根据比对结果判断目标程序或文件是否被病毒感染。但该技术的重大缺陷是杀毒软件厂商只有发现并捕获到新病毒后,才会从计算机病毒中提取出其特征值,也就是说病毒库的更新永远滞后于病毒的出现。
面对千变万化的计算机病毒,基于主动防御的白名单技术越来越成为关注的焦点。白名单技术,通过为系统制定合法的允许执行的程序的特征值“白名单”,对未知病毒能够起到防御作用。它是杀毒软件“黑名单”的反逻辑,不是扫描程序中是否含有病毒特征码,而是查看该程序的特征值是否与系统允许执行的白名单相符合。如果是,则允许执行;否则,拒绝执行。这种白名单技术的特征值主要检查程序是否是已知合法程序,且程序是否被病毒感染,因此主要是对程序的完整性进行验证。提供完整性特征校验值的方法有很多,目前较为流行的是计算整个程序的摘要值,如用SHA1或MD5算法计算整个可执行文件的哈希值等等。
这种基于白名单的较为严格的控制方式,虽然能够较好的防御病毒、木马,但是对白名单的更新却是一大难题。因为外来的合法程序与计算机病毒一样,其特征值都不在白名单中。而程序安装或升级过程中,如果继续按照原先的白名单进行控制,则由于新安装或更新程序的特征值由于不在白名单中,会导致安装或更新失败;如果不对系统中的可执行程序进行控制,则系统中的非法病毒、木马等恶意程序可能会启动,或者对系统造成破坏,使这些被破坏的程序永远不能启动,或者会感染新安装或更新的可执行程序,使系统收集到包含恶意的可执行程序的特征值更新至白名单中。因此,如何对采用白名单机制的计算机防御系统的白名单进行安全更新,既将新安装或更新的程序的特征值更新至白名单,又不会勿将病毒等恶意代码的特征值引入,便成为一大难题。
发明内容
本发明的目的在于,通过提供一种基于可信进程树的白名单更新方法,以解决软件安装及程序更新过程中对白名单更新的问题。通过对程序问创建及调用关系的分析,准确的定位非白名单程序中的新安装合法程序和系统中的非法程序,既能收集到新安装程序的特征值,又不会将非法程序的特征值加入白名单中,以更好的解决白名单的更新问题。
本发明是采用以下技术手段实现的:
一种基于可信进程树的白名单更新方法,包含执行程序的启动,以及可执行程序对文件资源的访问操作的文件系统监控模块;用于根据进程间及进程对可执行程序的调用关系,构建合法可执行程序所形成的可信进程树的构建模块;将程序的判定结果通知调用接口的系统白名单安全控制机制的可信报告模块;提取可信进程树中的各个结点对应可执行程序的特征值,并将这些特征值更新至白名单的更新模块;通过对程序间创建及调用关系的分析,准确的定位非白名单程序中的新安装合法程序和系统中的非法程序,收集到新安装程序的特征值,鉴别非法程序的特征值,使其无法加入白名单中;包括下述步骤:
(1)监控并记录系统中可执行程序的启动,以及可执行程序对文件资源的写访问操作;
(2)在内存中构造可信进程树数据结构,将安装、升级过程中新引入计算机系统的可执行程序加入到可信进程树中,其中包括其全路径名、特征值、父进程在树中的广度遍历序号;并将这些信息写入文件中;
(3)将判定结果通知系统的白名单控制机制;对于特征值不在白名单中的程序,若在可信进程树中,同样允许启动;
(4)收集可信进程树中的可执行程序信息,更新系统白名单。
前述的可信进程树的模型,其中:
(1)树的根是安装包及升级包程序,或者是其中的一个升级进程;
(2)树中任意结点用三元组表示,Path为可执行程序的全路径名,H为该程序的特征值,Parent为该程序的父结点在树中按广度遍历的序号;
(3)树中任意结点与其子女的关系是以下两种中的任一种:父结点对应的程序对子女有写操作,父结点对应的程序有改名操作,父结点启动或调用了子女结点对应的可执行程序。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201010108793.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种存储器数据保护的方法
- 下一篇:散热装置