著录项信息
专利名称 | 一种基于云的样本数据库动态维护方法 |
申请号 | CN201010256958.9 | 申请日期 | 2010-08-18 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2010-12-22 | 公开/公告号 | CN101923617A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/56 | IPC分类号 | G;0;6;F;2;1;/;5;6查看分类表>
|
申请人 | 奇智软件(北京)有限公司 | 申请人地址 |
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 | 当前权利人 | 北京奇虎科技有限公司,奇智软件(北京)有限公司 |
发明人 | 齐向东;徐贵斌;范纪锽 |
代理机构 | 北京国昊天诚知识产权代理有限公司 | 代理人 | 许志勇 |
摘要
本发明提供一种基于云的样本数据库动态维护方法,首先由客户端计算机收集程序特征及其对应的程序行为,并传送至服务器端;然后在服务器端数据库中记录不同的程序特征及其对应的程序行为,以及黑/白名单;结合现有已知黑/白名单中的程序特征及其对应的程序行为,对未知程序特征及程序行为进行分析,以更新黑/白名单。本发明通过客户端收集程序行为并关联到程序特征,从而在数据库中记录程序特征及其对应的程序行为,根据收集到的程序行为和程序特征的关联关系,可以在数据库中对样本进行分析归纳,从而有助于对软件或程序进行黑白的分类判别,还可以针对黑名单中的恶意软件制定相应的清除或恢复措施。
1.一种基于云的样本数据库动态维护方法,其特征在于,包括如下步骤:
由客户端计算机收集程序特征及其对应的程序行为,并传送至服务器端;
在服务器端数据库中记录不同的程序特征及其对应的程序行为,以及黑/白名单;
结合现有已知黑/白名单中的程序特征及其对应的程序行为,在具有相同或近似行为的程序之间建立行为与特征的关联关系,根据所述具有相同或近似行为的程序之间的关联关系,对未知程序特征及程序行为进行分析,以更新黑/白名单。
2.如权利要求1所述的方法,其特征在于,所述对未知程序特征及其程序行为进行分析的步骤,进一步包括:
如果未知程序特征与现有黑/白名单中的已知程序特征相同,则将该未知程序特征及其程序行为列入黑/白名单;
如果未知程序行为与现有黑/白名单中的已知程序行为相同或近似,则将该未知程序行为及其程序特征列入黑/白名单。
3.如权利要求1所述的方法,其特征在于,所述对未知程序特征及其程序行为进行分析的步骤,进一步包括:
当某程序行为被列入黑/白名单时,在数据库中将该程序行为对应的程序特征列入黑/白名单,并将与该程序行为有关联关系的其他程序行为和程序特征也列入黑/白名单。
4.如权利要求1所述的方法,其特征在于,所述对未知程序特征及其程序行为进行分析的步骤,进一步包括:
当某程序特征被列入黑/白名单时,在数据库中将该程序特征对应的程序行为列入黑/白名单,并将与该程序特征有关联关系的其他程序行为和程序特征也列入黑/白名单。
5.如权利要求1所述的方法,其特征在于,进一步包括:
在数据库中针对被列入黑名单的程序,进一步记录该程序的逆向行为,以在确认客户端计算机中存在或运行过该被列入黑名单的程序时,执行所述逆向行为。
6.如权利要求1所述的方法,其特征在于,进一步包括:
在数据库中针对被列入黑名单的程序,根据该程序的行为,确定客户端计算机被感染文件的信息;
根据被感染文件的信息,将存储于数据库中的一份完好的对应文件下载至客户端计算机中覆盖被感染文件。
7.如权利要求1所述的方法,其特征在于,进一步包括:
在数据库中进一步记录在一预设时间内由不同客户端计算机收集到的相同的程序特征的数量变化;
根据所述程序特征的数量变化,对未知程序特征及其程序行为进行分析,以更新黑/白名单。
8.如权利要求7所述的方法,其特征在于,所述根据程序特征的数量变化,对未知程序特征及程序行为进行分析的步骤,包括:
如果在一预设时间内,由不同客户端计算机收集到的某个未知程序特征的数量增减超过阈值,则在数据库中将该程序特征及其对应的程序行为列入黑名单。
一种基于云的样本数据库动态维护方法\n技术领域\n[0001] 本发明涉及信息安全技术领域,尤其涉及一种基于云安全的样本数据库动态维护方法。\n背景技术\n[0002] 随着计算机技术在社会生活中各个领域的广泛运用,恶意程序(Malwar,malicious software,指任何故意创建用来执行未经授权并通常是有害行为的软件程序)也如同其附属品一样接踵而来。由于这些恶意程序所具有的感染性、复制性及破坏性,其已成为困扰计算机使用的一个重大问题,因此,在网络威胁飙升的今天,更新病毒特征码成为企业及网民每天必备的工作,从每周一次到每天一次,直至时刻更新,而传统杀毒软件是将病毒库放在客户端计算机,在客户端进行文件的分析工作,在扫描过程中会反复在本地病毒库中进行比对,占用大量系统资源,并且随着病毒库的不断升级,病毒库的容量越来越大,分析文件时所耗费的时间也越来越长,让客户端计算机越用越慢,因此,反病毒行业必须寻找新的技术突破。\n[0003] “云安全(Cloud Security)”计划即是网络时代信息安全的最新体现,它融合了并行处理、网格计算、未知病毒行为判断等新兴技术概念,将“云计算”的理念应用到了安全领域。\n[0004] “云安全”计划的实现是与其样本数据库的构建息息相关的,因此,如何有效的组织并维护样本数据库,遂成为业界亟待解决的问题。\n发明内容\n[0005] 本发明所要解决的技术问题在于提供一种基于云的样本数据库动态维护方法,以提高数据库维护以及程序分析的效率,帮助对程序进行黑白判别以及文件的恢复。\n[0006] 为解决上述技术问题,本发明提供一种基于云的样本数据库动态维护方法,包括如下步骤:\n[0007] 由客户端计算机收集程序特征及其对应的程序行为,并传送至服务器端;\n[0008] 在服务器端数据库中记录不同的程序特征及其对应的程序行为,以及黑/白名单;\n[0009] 结合现有已知黑/白名单中的程序特征及其对应的程序行为,对未知程序特征及程序行为进行分析,以更新黑/白名单。\n[0010] 其中,所述对未知程序特征及其程序行为进行分析的步骤,可以包括:\n[0011] 如果未知程序特征与现有黑/白名单中的已知程序特征相同,则将该未知程序特征及其程序行为列入黑/白名单。\n[0012] 其中,所述对未知程序特征及其程序行为进行分析的步骤,可以包括:\n[0013] 如果未知程序行为与现有黑/白名单中的已知程序行为相同或近似,则将该未知程序行为及其程序特征列入黑/白名单。\n[0014] 其中,所述方法可以进一步包括:\n[0015] 在具有相同或近似行为的程序之间建立行为与特征的关联关系;\n[0016] 根据所述具有相同或近似行为的程序之间的关联关系,对未知程序特征及程序行为进行分析,以更新黑/白名单。\n[0017] 其中,所述对未知程序特征及其程序行为进行分析的步骤,可以包括:\n[0018] 当某程序行为被列入黑/白名单时,在数据库中将该程序行为对应的程序特征列入黑/白名单,并将与该程序行为有关联关系的其他程序行为和程序特征也列入黑/白名单。\n[0019] 其中,所述对未知程序特征及其程序行为进行分析的步骤,可以包括:\n[0020] 当某程序特征被列入黑/白名单时,在数据库中将该程序特征对应的程序行为列入黑/白名单,并将与该程序特征有关联关系的其他程序行为和程序特征也列入黑/白名单。\n[0021] 其中,所述方法可以进一步包括:\n[0022] 在数据库中针对被列入黑名单的程序,进一步记录该程序的逆向行为,以在确认客户端计算机中存在或运行过该被列入黑名单的程序时,执行所述逆向行为。\n[0023] 其中,所述方法可以进一步包括:\n[0024] 在数据库中针对被列入黑名单的程序,根据该程序的行为,确定客户端计算机被感染文件的信息;\n[0025] 根据被感染文件的信息,将存储于数据库中的一份完好的对应文件下载至客户端计算机中覆盖被感染文件。\n[0026] 其中,所述方法可以进一步包括:\n[0027] 在数据库中进一步记录在一预设时间内由不同客户端计算机收集到的相同的程序特征的数量变化;\n[0028] 根据所述程序特征的数量变化,对未知程序特征及程序行为进行分析,以更新黑/白名单。\n[0029] 其中,所述根据程序特征的数量变化,对未知程序特征及程序行为进行分析的步骤,可以包括:\n[0030] 如果在一预设时间内,由不同客户端计算机收集到的某个未知程序特征的数量增减超过阈值,则在数据库中将该程序特征及其对应的程序行为列入黑名单。\n[0031] 本发明通过客户端收集程序行为并关联到程序特征,从而在数据库中记录程序特征及其对应的程序行为,根据收集到的程序行为和程序特征的关联关系,可以在数据库中对样本进行分析归纳,从而有助于对软件或程序进行黑白的分类判别,还可以针对黑名单中的恶意软件制定相应的清除或恢复措施。\n附图说明\n[0032] 图1为本发明的实施模式示意图;\n[0033] 图2为根据本发明实施例所述的基于云的样本数据库动态维护方法流程图;\n[0034] 图3为根据本发明实施例所述的关联关系示意图;\n[0035] 图4为根据本发明实施例所述的文件恢复流程图;\n[0036] 图5为根据本发明实施例所述的分析流程示意图。\n具体实施方式\n[0037] 下面参照附图对本发明做进一步的说明。\n[0038] 云结构就是一个大型的客户端/服务器(CS)架构,如图1所示,为本发明的实施模式示意图。本发明的核心思想在于通过大量客户端计算机102收集各种程序的行为(可以是单一行为,也可以是一组行为的组合),特别是可疑程序的行为,并将程序行为关联到该程序的特征,而在服务器端的数据库104中则可以记录一个程序的特征及其对应的行为记录。这样,在服务器端,即可依据程序行为或程序特征或一组程序行为和程序特征,在数据库中进行归纳和分析,从而有助于对软件或程序进行黑白的分类判别。进一步的,还可以针对黑名单中的恶意软件制定相应的清除或恢复措施。\n[0039] 上述程序行为,可以是例如驱动加载行为,文件生成行为,程序或代码的加载行为,添加系统启动项行为,或文件或程序的修改行为等,或者是一系列行为的组合。\n[0040] 上述程序特征可以是经由MD5(Message-Digest Algorithm 5,信息-摘要算法)运算得出的MD5验证码,或SHA1码,或CRC(Cyclic Redundancy Check,循环冗余校验)码等可唯一标识原程序的特征码。\n[0041] 如图2所示,为根据本发明实施例所述的基于云的样本数据库动态维护方法流程图,首先,由客户端计算机收集程序特征及其对应的程序行为,并传送至服务器端(步骤\n202);然后在服务器端数据库中记录不同的程序特征及其对应的程序行为,以及黑/白名单(步骤204);结合现有已知黑/白名单中的程序特征及其对应的程序行为,对未知程序特征及程序行为进行分析,以更新黑/白名单(步骤206)。\n[0042] 由于在数据库中记录了程序特征及该特征对应的行为记录,因此可以结合已知黑/白名单对未知程序进行分析。\n[0043] 例如,如果未知程序特征与现有黑/白名单中的已知程序特征相同,则将该未知程序特征及其程序行为都列入黑/白名单。\n[0044] 如果未知程序行为与现有黑/白名单中的已知程序行为相同或近似,则将该未知程序行为及其程序特征都列入黑/白名单。\n[0045] 由于有些病毒通过变种或加壳等技术可以改变特征码,但其行为却不会有很大改变,因此,通过程序行为记录的对比分析,可以较为便捷的确定一些未知程序是否为恶意程序。这种对比分析有时候甚至不需要对程序的行为本身做追踪分析,只需要简单的与现有黑/白名单中的已知程序行为做比对即可判定未知程序的性质。\n[0046] 通过数据库中的记录分析,我们可以发现,有一些程序的行为相同或近似,但程序特征不同,这时,只要我们在具有相同或近似行为的程序之间建立行为与特征的关联关系,并根据这种关联关系,就可以更便捷的对未知程序特征及程序行为进行分析,以更新黑/白名单。\n[0047] 如图3所示,为根据本发明实施例所述的关联关系示意图。假设未知程序A、B和C的特征分别为A、B和C,其各自对应的程序行为为A1~A4,B1~B4,C1~C4。如果经过分析发现程序行为A1~A4,B1~B4,C1~C4之间实质上相同或非常近似,那么就可以在特征A、B、C和行为A1~A4,B1~B4,C1~C4之间建立特征与行为的关联关系。\n[0048] 通过这种关联关系,在一定条件下可以更加快捷的自扩展的对数据库进行维护。\n例如,当程序B的程序行为B1~B4被确认为恶意程序行为并被列入黑名单时,可以在数据库中自动将与该程序行为对应的程序特征B列入黑名单,同时,根据关联关系,可以自动将与该程序行为有关联关系的程序行为A1~A4,C1~C4及对应的程序特征A,特征C也列入黑/白名单。\n[0049] 再例如,如果最初时程序A、B和C都属于黑白未知的程序,而经由其他病毒查杀途径,程序特征B首先被确认为属于恶意程序的特征,则在数据库中不仅可以自动将行为B1~B4的组合列入黑名单,还可以根据关联关系,自动将具有相同或近似行为的特征A和C也列入黑名单,并将程序行为A1~A4,C1~C4也列入黑名单。\n[0050] 本发明由于在数据库中记录了程序特征对应的行为,这就使得对未知程序的行为分析提供了很大的便利。例如,如果对加载驱动的行为感兴趣时,可以将全部带有加载驱动行为的程序行为调出来综合分析,如果现有黑名单中带有加载驱动行为的样板中,在加载驱动之后一般都跟随一个特殊的文件生成行为,那么对于未知程序中同样带有类似行为组合的程序行为就应列入风险提示或直接列入黑名单。\n[0051] 本发明可采用的分析方法不限于上述,还可以利用类似于决策树,贝叶斯算法,神经网域计算等方法,或者使用简单的阈值分析,都可以在本发明的数据库基础上得到很好的应用。\n[0052] 此外,还可以在数据库中针对被列入黑名单的程序,进一步记录该程序的逆向行为,以在确认客户端计算机中存在或运行过该被列入黑名单的程序时,执行所述逆向行为。\n[0053] 例如,根据前台收集到的信息,在依据云查杀或其他如特征码方式查出某个程序是恶意程序后,可以根据所述记录的逆向行为执行恢复动作。\n[0054] 对于一些无法通过执行逆向行为得到恢复的文件,还可以通过替换的方式得到恢复,如图4所示,为根据本发明实施例所述的文件恢复流程图,首先在数据库中针对被列入黑名单的程序,根据该程序的行为,确定客户端计算机被感染文件的信息(步骤402);然后根据被感染文件的信息,将存储于数据库中的一份完好的对应文件下载至客户端计算机中覆盖被感染文件(步骤404)。\n[0055] 对于被感染文件的信息的获取,可以通过文件路径,系统版本,相关联到的应用程序组件等信息在数据库中查询确定。\n[0056] 另外,由于本发明利用大量客户端计算机收集程序行为和程序特征的方式将相关信息记录于数据库中,因此,还可以通过监测分析某一程序在短时期内的传播速度来判定程序的属性。请参考图5,为根据本发明实施例所述的分析流程示意图,首先在数据库中进一步记录在一预设时间内由不同客户端计算机收集到的相同的程序特征的数量变化(步骤502);然后根据所述程序特征的数量变化,对未知程序特征及程序行为进行分析,以更新黑/白名单(步骤504)。\n[0057] 例如,如果在一预设时间内,由不同客户端计算机收集到的某个未知程序特征的数量增减超过阈值,则在数据库中将该程序特征及其对应的程序行为列入黑名单。\n[0058] 利用这种方式,将前台采集到的程序信息传到后台服务器集群,如果这个程序是一个木马程序,但它不再做任何传播,则是一个安安静静的死马,这时就可以认为这个木马没有威胁,但如果这个木马又传播到一个新的机器里面,则利用本发明就可以很快感知到,因为这台客户端计算机也会向服务器报告,当100、500、1000台机器报告了,服务器数据库就会统计收集到的数量增长的信息,并进行分析和反馈,在一个很短的时间内该程序的增长数量超过了阈值,或者出现了很多与这个程序的行为具有相似行为的变形程序,利用本发明就可以自动的进行分析和判定,一旦判断完成就可以加入黑名单中,并且利用本发明还可以动态的自扩展的更新数据库黑名单,极大的提高了数据库维护以及程序分析的效率。
法律信息
- 2022-07-26
专利权的转移
登记生效日: 2022.07.14
专利权人由北京奇虎科技有限公司变更为北京奇虎科技有限公司
地址由100088 北京市西城区新街口外大街28号D座112室(德胜园区)变更为100015 北京市朝阳区酒仙桥路6号院2号楼1至19层104号内8层801
专利权人由奇智软件(北京)有限公司 变更为空
- 2013-03-20
- 2011-06-29
专利申请权的转移
登记生效日: 2011.05.20
申请人由奇智软件(北京)有限公司变更为北京奇虎科技有限公司
地址由100016 北京市朝阳区酒仙桥路14号兆维大厦4层东侧单元变更为100088 北京市西城区新街口外大街28号D座112室(德胜园区)
申请人变更为奇智软件(北京)有限公司
- 2011-02-02
实质审查的生效
IPC(主分类): G06F 21/00
专利申请号: 201010256958.9
申请日: 2010.08.18
- 2010-12-22
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2010-02-10
|
2008-08-05
| | |
2
| |
2007-09-19
|
2007-04-27
| | |
3
| |
2008-11-19
|
2008-06-30
| | |
4
| |
2007-03-28
|
2006-02-15
| | |
5
| | 暂无 |
2005-12-12
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |