《主动防御方法.pdf》由会员分享,可在线阅读,更多相关《主动防御方法.pdf(20页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104050411A43申请公布日20140917CN104050411A21申请号201410058490022申请日20110421201110100859620110421G06F21/5320130171申请人北京奇虎科技有限公司地址100088北京市西城区新街口外大街28号D座112室(德胜园区)申请人奇智软件(北京)有限公司72发明人范纪鍠潘剑锋孙晓骏路健华74专利代理机构北京润泽恒知识产权代理有限公司11319代理人苏培华54发明名称主动防御方法57摘要本发明提供了一种主动防御方法,以解决现有技术中由用户自行选择的沙箱技术所存在的问题。所述方法包括在对目标对象执。
2、行操作之前,触发以下防御步骤对待操作的目标对象,自动判断所述目标对象的执行是否需要导入沙箱,如果是,则在沙箱中完成该目标对象的执行;如果否,则在沙箱外完成该目标对象的执行。本发明可以在用户对目标对象执行操作之前,自动判断所述目标对象的执行是否需要导入沙箱,帮助用户决定哪些有风险的程序需要在沙箱内运行。62分案原申请数据51INTCL权利要求书4页说明书12页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书12页附图3页10申请公布号CN104050411ACN104050411A1/4页21一种主动防御方法,其包括在对目标对象执行操作之前,判断所述目标对象是否符合预。
3、置的匹配规则;如果所述目标对象符合预置的匹配规则,则在沙箱中完成该目标对象的执行。2根据权利要求1所述的方法,其中,所述目标对象包括以下任一项目标程序、目标文件和用户输入的信息。3根据权利要求2所述的方法,其中,当所述目标对象为目标程序时,在沙箱中完成该目标对象的执行进一步包括将该目标程序导入沙箱;在沙箱中执行该目标程序。4根据权利要求2所述的方法,其中,当所述目标对象为目标文件,在沙箱中完成该目标对象的执行进一步包括将执行该目标文件的关联程序导入沙箱;在沙箱中由所述关联程序运行该目标文件。5根据权利要求2所述的方法,其中,当所述目标对象为用户输入的信息时,在沙箱中完成该目标对象的执行进一步包。
4、括将接收该用户输入信息的关联程序导入沙箱;在沙箱中根据该用户输入信息运行所述关联程序;其中,所述用户输入的信息包括网址和/或关键词。6根据权利要求1至5中任一项所述的方法,其中,判断所述目标对象是否符合预置的匹配规则进一步包括查询预置的数据库;将所述目标对象与该数据库中的预置规则进行比较;如果在该数据库中查询到,则所述目标对象符合匹配规则。7根据权利要求1至5中任一项所述的方法,其中,当所述目标对象为目标程序和/或目标文件时,判断所述目标对象是否符合预置的匹配规则进一步包括判断所述目标对象的相关信息是否符合预置的匹配规则;和/或,判断所述目标对象的来源程序的相关信息是否符合预置的匹配规则。8根。
5、据权利要求7所述的方法,其中,所述目标对象的相关信息包括目标对象的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源;所述来源程序的相关信息包括来源程序的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源。9根据权利要求1至5中任一项所述的方法,其中,当所述目标对象为用户输入的信息时,判断所述目标对象是否符合预置的匹配规则包括判断所述用户输入的信息是否符合预置的匹配规则。10一种主动防御方法,其包括在对目标对象执行操作之前,创建用于判断所述目标对象的执行的进程;判断所述进程的父进程是否在沙箱内;如果在沙箱内,则。
6、在沙箱中完成该目标对象的执行,否则判断所述目标对象是否符合权利要求书CN104050411A2/4页3预置的匹配规则;如果所述目标对象符合预置的匹配规则,则在沙箱中完成该目标对象的执行。11根据权利要求10所述的方法,其中,所述目标对象包括以下任一项目标程序、目标文件和用户输入的信息。12根据权利要求11所述的方法,其中,当所述目标对象为目标程序时,在沙箱中完成该目标对象的执行进一步包括将该目标程序导入沙箱;在沙箱中执行该目标程序。13根据权利要求11所述的方法,其中,当所述目标对象为目标文件,在沙箱中完成该目标对象的执行进一步包括将执行该目标文件的关联程序导入沙箱;在沙箱中由所述关联程序运行。
7、该目标文件。14根据权利要求11所述的方法,其中,当所述目标对象为用户输入的信息时,在沙箱中完成该目标对象的执行进一步包括将接收该用户输入信息的关联程序导入沙箱;在沙箱中根据该用户输入信息运行所述关联程序;其中,所述用户输入的信息包括网址和/或关键词。15根据权利要求10至14中任一项所述的方法,其中,判断所述目标对象是否符合预置的匹配规则进一步包括查询预置的数据库;将所述目标对象与该数据库中的预置规则进行比较;如果在该数据库中查询到,则所述目标对象符合匹配规则。16根据权利要求10至14中任一项所述的方法,其中,当所述目标对象为目标程序和/或目标文件时,判断所述目标对象是否符合预置的匹配规则。
8、进一步包括判断所述目标对象的相关信息是否符合预置的匹配规则;和/或,判断所述目标对象的来源程序的相关信息是否符合预置的匹配规则。17根据权利要求16所述的方法,其中,所述目标对象的相关信息包括目标对象的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源;所述来源程序的相关信息包括来源程序的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源。18根据权利要求10至14中任一项所述的方法,其中,当所述目标对象为用户输入的信息时,判断所述目标对象是否符合预置的匹配规则包括判断所述用户输入的信息是否符合预置的匹配规则。。
9、19一种主动防御方法,其包括在对目标对象执行操作之前,判断所述目标对象是否在白名单中;如果在白名单中,则不需要在沙箱中完成该目标对象的执行,否则判断所述目标对象是否符合预置的匹配规则;如果所述目标对象符合预置的匹配规则,则在沙箱中完成该目标对象的执行。权利要求书CN104050411A3/4页420根据权利要求19所述的方法,其中,所述目标对象包括以下任一项目标程序、目标文件和用户输入的信息。21根据权利要求20所述的方法,其中,当所述目标对象为目标程序时,在沙箱中完成该目标对象的执行进一步包括将该目标程序导入沙箱;在沙箱中执行该目标程序。22根据权利要求20所述的方法,其中,当所述目标对象为。
10、目标文件,在沙箱中完成该目标对象的执行进一步包括将执行该目标文件的关联程序导入沙箱;在沙箱中由所述关联程序运行该目标文件。23根据权利要求20所述的方法,其中,当所述目标对象为用户输入的信息时,在沙箱中完成该目标对象的执行进一步包括将接收该用户输入信息的关联程序导入沙箱;在沙箱中根据该用户输入信息运行所述关联程序;其中,所述用户输入的信息包括网址和/或关键词。24根据权利要求19至23中任一项所述的方法,其中,判断所述目标对象是否符合预置的匹配规则进一步包括查询预置的数据库;将所述目标对象与该数据库中的预置规则进行比较;如果在该数据库中查询到,则所述目标对象符合匹配规则。25根据权利要求19至。
11、23中任一项所述的方法,其中,当所述目标对象为目标程序和/或目标文件时,判断所述目标对象是否符合预置的匹配规则进一步包括判断所述目标对象的相关信息是否符合预置的匹配规则;和/或,判断所述目标对象的来源程序的相关信息是否符合预置的匹配规则。26根据权利要求25所述的方法,其中,所述目标对象的相关信息包括目标对象的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源;所述来源程序的相关信息包括来源程序的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源。27根据权利要求19至23中任一项所述的方法,其中,当所述目标对。
12、象为用户输入的信息时,判断所述目标对象是否符合预置的匹配规则包括判断所述用户输入的信息是否符合预置的匹配规则。28一种主动防御方法,其包括在对目标对象执行操作之前,判断用户是否选择将所述目标对象的执行导入沙箱;如果用户选择了将所述目标对象的执行导入沙箱,则在沙箱中完成该目标对象的执行,否则判断所述目标对象是否符合预置的匹配规则;如果所述目标对象符合预置的匹配规则,则在沙箱中完成该目标对象的执行。29根据权利要求28所述的方法,其中,所述目标对象包括以下任一项目标程序、目标文件和用户输入的信息。权利要求书CN104050411A4/4页530根据权利要求29所述的方法,其中,当所述目标对象为目标。
13、程序时,在沙箱中完成该目标对象的执行进一步包括将该目标程序导入沙箱;在沙箱中执行该目标程序。31根据权利要求29所述的方法,其中,当所述目标对象为目标文件,在沙箱中完成该目标对象的执行进一步包括将执行该目标文件的关联程序导入沙箱;在沙箱中由所述关联程序运行该目标文件。32根据权利要求29所述的方法,其中,当所述目标对象为用户输入的信息时,在沙箱中完成该目标对象的执行进一步包括将接收该用户输入信息的关联程序导入沙箱;在沙箱中根据该用户输入信息运行所述关联程序;其中,所述用户输入的信息包括网址和/或关键词。33根据权利要求28至32中任一项所述的方法,其中,判断所述目标对象是否符合预置的匹配规则进。
14、一步包括查询预置的数据库;将所述目标对象与该数据库中的预置规则进行比较;如果在该数据库中查询到,则所述目标对象符合匹配规则。34根据权利要求28至32中任一项所述的方法,其中,当所述目标对象为目标程序和/或目标文件时,判断所述目标对象是否符合预置的匹配规则进一步包括判断所述目标对象的相关信息是否符合预置的匹配规则;和/或,判断所述目标对象的来源程序的相关信息是否符合预置的匹配规则。35根据权利要求34所述的方法,其中,所述目标对象的相关信息包括目标对象的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源;所述来源程序的相关信息包括来源程序的文件路径、和。
15、/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源。权利要求书CN104050411A1/12页6主动防御方法0001本发明专利申请是申请日为2011年4月21日、申请号为2011101008596、名称为“利用沙箱技术进行防御的方法、装置及安全浏览器”的中国发明专利申请的分案申请。技术领域0002本发明涉及计算机安全技术领域,特别是涉及一种利用沙箱技术进行防御的方法、装置及一种安全浏览器。背景技术0003在计算机安全领域,沙箱也称为沙盒是一种程序的隔离运行机制,其目的是限制不可信进程的权限。沙箱技术经常被用于执行未经测试的或不可信的客户程序。为了避免不可信程序可。
16、能破坏其它程序的运行,沙箱技术通过为不可信客户程序提供虚拟化的磁盘、内存以及网络资源,而这种虚拟化手段对客户程序来说是透明的。由于沙箱里的资源被虚拟化(或被间接化),所以沙箱里的不可信程序的恶意行为往往会被限制在沙箱中,从而保护系统原有的状态。0004具体来说,沙箱技术可以将一个程序放入沙箱运行,这样该程序所创建、修改、删除的所有文件和注册表都会被虚拟化重定向,也就是说所有操作都是虚拟的,真实的文件和注册表不会被改动,这样可以确保病毒无法对系统关键部位进行改动破坏系统。0005目前沙箱技术提供了两种类型的沙箱一种是特定型沙箱,例如CHROME(一种浏览器)利用沙箱技术将渲染引擎或FLASH放在。
17、沙箱内运行,以保证浏览器的安全;还有一种是通用型沙箱,例如SANDBOXIE(另一种浏览器)则提供给用户一个沙箱,让用户自行选择软件程序放入沙箱内运行。0006与特定型沙箱相比,上述由用户选择的通用型沙箱为用户提供了更多的灵活性,极大地方便了用户的使用。但是,这种让用户选择的方式存在以下几个问题0007第一,用户必须自行判断哪些是有风险的程序需要放在沙箱内运行,如果用户不了解程序的特性,就可能选择错误;0008第二,错误地使用沙箱,如将正在编辑文件的编辑程序放置沙箱内,会导致文件丢失;0009第三,用户自行选择的方式易用性不高,操作复杂,不符合用户的操作习惯。发明内容0010本发明所要解决的技。
18、术问题是提供一种利用沙箱技术进行防御的方法、装置及安全浏览器,以解决现有技术中由用户自行选择的沙箱技术所存在的问题。0011为了解决上述问题,本发明公开了一种利用沙箱技术进行防御的方法,包括0012在对目标对象执行操作之前,触发以下防御步骤0013对待操作的目标对象,自动判断所述目标对象的执行是否需要导入沙箱,如果是,则在沙箱中完成该目标对象的执行;如果否,则在沙箱外完成该目标对象的执行。说明书CN104050411A2/12页70014其中,当自动判断所述目标对象的执行需要导入沙箱时0015如果所述目标对象为目标程序,则将该目标程序导入沙箱,在沙箱中完成该目标程序的运行;0016如果所述目标。
19、对象为目标文件,则将执行该目标文件的关联程序导入沙箱,在沙箱中由所述关联程序运行该目标文件;0017如果所述目标对象为用户输入的信息,则将接收该用户输入信息的关联程序导入沙箱,在沙箱中根据该用户输入信息运行所述关联程序;所述用户输入的信息包括网址和/或关键词。0018其中,所述在对目标对象执行操作之前触发防御步骤,包括0019如果所述目标对象为目标程序,则将所述目标程序下载到客户端后在客户端运行该目标程序之前触发防御步骤;和/或,在下载所述目标程序之前触发防御步骤;0020如果所述目标对象为目标文件,则将所述目标文件或执行该目标文件的关联程序下载到客户端后在客户端运行该目标文件之前触发防御步骤。
20、;和/或,在下载所述目标文件或在线执行该目标文件的关联程序之前触发防御步骤;0021如果所述目标对象为用户输入的信息,则在用户输入所述信息时触发防御步骤。0022优选的,所述自动判断包括判断所述待操作的目标对象是否符合预置的匹配规则,如果符合,则所述待操作的目标对象的执行需要导入沙箱;如果不符合,则不需要导入沙箱。0023优选的,判断所述待操作的目标对象是否符合预置的匹配规则之前,还包括创建用于自动判断所述目标对象的执行的进程;判断所述进程的父进程是否在沙箱内,如果是,则所述待操作的目标对象的执行需要导入沙箱;如果否,则继续判断所述待操作的目标对象是否符合预置的匹配规则。0024优选的,判断所。
21、述待操作的目标对象是否符合预置的匹配规则之前,还包括判断用户是否选择将所述待操作的目标对象的执行导入沙箱,如果是,则所述待操作的目标对象的执行需要导入沙箱;如果否,则继续判断所述待操作的目标对象是否符合预置的匹配规则。0025优选的,判断所述待操作的目标对象是否符合预置的匹配规则之前,还包括判断所述待操作的目标对象是否在白名单中,如果不在白名单中,则所述待操作的目标对象是未知对象,继续判断所述待操作的目标对象是否符合预置的匹配规则;如果在白名单中,则不需要导入沙箱。0026优选的,判断所述待操作的目标对象是否符合预置的匹配规则之前,还包括判断所述待操作的目标对象是否在黑名单中,如果在黑名单中,。
22、则所述待操作的目标对象的执行需要导入沙箱;如果不在黑名单中,则继续判断所述待操作的目标对象是否符合预置的匹配规则。0027优选的,判断所述待操作的目标对象是否符合预置的匹配规则,包括查询预置的数据库,将所述待操作的目标对象与该数据库中的预置规则进行比较,如果在该数据库中查询到,则符合匹配规则;如果未查询到,则不符合匹配规则。0028优选的,当所述待操作的目标对象为目标程序和/或目标文件时,判断所述待操作的目标对象是否符合预置的匹配规则,包括判断所述目标对象的相关信息是否符合预说明书CN104050411A3/12页8置的匹配规则;和/或,判断所述目标对象的来源程序的相关信息是否符合预置的匹配规。
23、则。0029其中,所述目标对象的相关信息包括目标对象的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源;所述来源程序的相关信息包括来源程序的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源。0030优选的,当所述待操作的目标对象为用户输入的信息时,判断所述待操作的目标对象是否符合预置的匹配规则,包括判断所述用户输入的信息是否符合预置的匹配规则。0031优选的,根据客户端的请求,由服务器端自动判断所述待操作的目标对象的执行是否需要导入沙箱;和/或,由客户端自动判断所述待操作的目标对象的执行是否需要导入沙箱。0。
24、032优选的,如果所述待操作的目标对象的执行需要导入沙箱,则导入沙箱之前,还包括弹出提示窗提示用户是否导入沙箱。0033本发明还提供了一种利用沙箱技术进行防御的装置,包括0034判断触发模块,用于在对目标对象执行操作之前,触发所述自动判断模块;0035自动判断模块,用于对待操作的目标对象,自动判断所述目标对象的执行是否需要导入沙箱,如果是,则在沙箱中完成该目标对象的执行;如果否,则在沙箱外完成该目标对象的执行。0036其中,当自动判断所述目标对象的执行需要导入沙箱时0037如果所述目标对象为目标程序,则所述自动判断模块将该目标程序导入沙箱,在沙箱中完成该目标程序的运行;0038如果所述目标对象。
25、为目标文件,则所述自动判断模块将执行该目标文件的关联程序导入沙箱,在沙箱中由所述关联程序运行该目标文件;0039如果所述目标对象为用户输入的信息,则所述自动判断模块将接收该用户输入信息的关联程序导入沙箱,在沙箱中根据该用户输入信息运行所述关联程序;所述用户输入的信息包括网址和/或关键词。0040其中,如果所述目标对象为目标程序,则所述判断触发模块将所述目标程序下载到客户端后在客户端运行该目标程序之前触发自动判断模块;和/或,在下载所述目标程序之前触发自动判断模块;0041如果所述目标对象为目标文件,则所述判断触发模块将所述目标文件或执行该目标文件的关联程序下载到客户端后在客户端运行该目标文件之。
26、前触发自动判断模块;和/或,在下载所述目标文件或在线执行该目标文件的关联程序之前触发自动判断模块;0042如果所述目标对象为用户输入的信息,则所述判断触发模块在用户输入所述信息时触发自动判断模块。0043优选的,所述自动判断模块包括规则判断子模块,用于判断所述待操作的目标对象是否符合预置的匹配规则,如果符合,则所述待操作的目标对象的执行需要导入沙箱;如果不符合,则不需要导入沙箱。0044优选的,所述自动判断模块还包括父进程判断子模块,用于在创建用于自动判断所述目标对象的执行的进程后,判断所述进程的父进程是否在沙箱内,如果是,则所述待操说明书CN104050411A4/12页9作的目标对象的执行。
27、需要导入沙箱;如果否,则触发所述规则判断子模块继续判断所述待操作的目标对象是否符合预置的匹配规则。0045优选的,所述自动判断模块还包括用户选择判断子模块,用于判断用户是否选择将所述待操作的目标对象的执行导入沙箱,如果是,则所述待操作的目标对象的执行需要导入沙箱;如果否,则触发所述规则判断子模块继续判断所述待操作的目标对象是否符合预置的匹配规则。0046优选的,所述自动判断模块还包括白名单判断子模块,用于判断所述待操作的目标对象是否在白名单中,如果不在白名单中,则所述待操作的目标对象是未知对象,触发所述规则判断子模块继续判断所述待操作的目标对象是否符合预置的匹配规则;如果在白名单中,则不需要导。
28、入沙箱。0047优选的,所述自动判断模块还包括黑名单判断子模块,用于判断所述待操作的目标对象是否在黑名单中,如果在黑名单中,则所述待操作的目标对象的执行需要导入沙箱;如果不在黑名单中,则触发所述规则判断子模块继续判断所述待操作的目标对象是否符合预置的匹配规则。0048优选的,当所述待操作的目标对象为目标程序和/或目标文件时,所述规则判断子模块判断所述目标对象的相关信息是否符合预置的匹配规则;和/或,判断所述目标对象的来源程序的相关信息是否符合预置的匹配规则;0049其中,所述目标对象的相关信息包括目标对象的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载。
29、来源;所述来源程序的相关信息包括来源程序的文件路径、和/或加密数据、和/或文件属性、和/或图标特征值、和/或文件特征值、和/或下载来源;0050当所述待操作的目标对象为用户输入的信息时,所述规则判断子模块判断所述用户输入的信息是否符合预置的匹配规则。0051优选的,所述装置还包括提示模块,用于当所述待操作的目标对象的执行需要导入沙箱时,在导入沙箱之前,弹出提示窗提示用户是否导入沙箱。0052本发明还提供了一种安全浏览器,包括如上所述的利用沙箱技术进行防御的装置。0053与现有技术相比,本发明包括以下优点0054首先,本发明提供了一种智能判定的方法,可以在用户对目标对象执行操作之前,自动判断所述。
30、目标对象的执行是否需要导入沙箱,由此带来以下优点0055第一,可以帮助用户决定哪些有风险的程序需要在沙箱内运行,而不需要用户自行判断;0056第二,避免将安全无风险的程序放置沙箱内运行导致用户数据的丢失;0057第三,无需用户的参与,因此不影响用户的操作,易用性高。0058其次,本发明所述的目标对象不仅可以是目标程序,还可以是目标文件或用户输入的信息。因此,本发明不仅可以对一些软件程序进行自动判断,还可以对图片等文件的执行是否安全进行自动判断,而且还可以对用户输入的网址、关键词等信息进行自动判断,如果网址或关键词是某电影网站是,则打开一个新的浏览器在沙箱内去浏览这个网站。说明书CN104050。
31、411A5/12页10附图说明0059图1是本发明实施例所述一种利用沙箱技术进行防御的方法流程图;0060图2是本发明优选实施例所述一种利用沙箱技术进行防御的方法流程图;0061图3是本发明优选实施例所述一种利用沙箱技术进行防御的装置结构图。具体实施方式0062为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。0063对于采用了沙箱技术的系统,本发明提供了一种智能判定的方法,可以在用户对目标对象执行操作之前,自动判断所述目标对象的执行是否需要导入沙箱,从而帮助用户决定哪些有风险的程序需要在沙箱内运行。0064下面通过实施例进行详细说明。00。
32、65参照图1,是本发明实施例所述一种利用沙箱技术进行防御的方法流程图。0066步骤101,在对目标对象执行操作之前,触发以下防御步骤;0067步骤102,对待操作的目标对象,自动判断所述目标对象的执行是否需要导入沙箱;0068如果是,则执行步骤103;如果否,则执行步骤104。0069步骤103,如果需要导入沙箱,则在沙箱中完成该目标对象的执行。0070步骤104,如果不需要导入沙箱,则在沙箱外完成该目标对象的执行。0071即按照正常的处理流程执行该目标对象。0072优选的,如果所述待操作的目标对象的执行需要导入沙箱,则导入沙箱之前,还可以弹出提示窗提示用户是否导入沙箱,以方便用户根据自动判断。
33、的结果进行自由选择。0073上述实施例中,所述目标对象包括但不限于目标程序、目标文件和用户输入的信息。下面分别进行详细说明。0074(1)目标程序0075所述目标程序通常指可执行文件,如电子书、在线播放器、序号生成器等。0076用户可通过多种方式触发步骤102的执行,触发方式包括但不限于将目标程序下载到客户端后,通过双击或在右键菜单中点击“打开”等方式在客户端运行该目标程序之前,可触发步骤102进行自动判断,从而防止恶意程序的运行破坏系统;和/或,在下载目标程序之前进行触发,从而在将恶意程序下载到客户端之前就提前进行了防御。此外,对于一些可在线运行的目标程序,也可以在运行之前触发防御保护。总之。
34、,在对目标程序的任何操作之前都可进行自动判断,以保护系统的安全性。0077对于判断为需要导入沙箱执行的目标程序,所述在沙箱中完成该目标程序的执行是指将该目标程序导入沙箱,在沙箱中完成该目标程序的运行。例如,对于某网站上的色情播放器,将该播放器放入沙箱中运行。0078(2)目标文件0079所述目标文件通常指图片等不可执行文件,这种目标文件的执行需要由关联程序完成。例如,对于图片,需要启动图片浏览器来浏览,所述图片浏览器即为该图片文件的关联程序。说明书CN104050411A106/12页110080对于判断为需要导入沙箱执行的目标文件,所述在沙箱中完成该目标文件的执行是指将执行该目标文件的关联程。
35、序导入沙箱,在沙箱中由所述关联程序运行该目标文件。例如,对于不可信的图片文件,可以将图片浏览器导入沙箱来打开该图片。0081针对目标文件,用户也可通过多种方式触发步骤102的执行,触发方式包括但不限于将所述目标文件或执行该目标文件的关联程序下载到客户端后,在客户端运行该目标文件之前进行触发;和/或,在下载所述目标文件或在线执行该目标文件的关联程序之前进行触发。总之,在对目标文件的任何操作之前都可进行自动判断,以保护系统的安全性。0082(3)用户输入的信息0083用户输入的信息包括用户输入的网址、关键词等信息。0084如果所述目标对象为用户输入的信息,则通常在用户输入所述信息时触发步骤102进。
36、行安全防御,即判断用户输入的网址、关键词等信息是否安全可信,如果不可信,则执行步骤103。0085对于判断为需要导入沙箱执行的用户输入信息,所述在沙箱中完成该用户输入信息的执行是指将接收该用户输入信息的关联程序导入沙箱,在沙箱中根据该用户输入信息运行所述关联程序。例如,对于存在可疑的网址,在沙箱中新打开一个浏览器来链接到该网址对应的网站,所述浏览器程序即为接收网址输入的关联程序。0086结合上述(1)、(2)、(3),无论用户要操作的目标对象是哪一种,图1所示方法都可以自动判断其执行是否需要导入沙箱。本发明实施例提供的自动判断方法包括但不限于判断所述待操作的目标对象是否符合预置的匹配规则,如果。
37、符合,则所述待操作的目标对象的执行需要导入沙箱;如果不符合,则不需要导入沙箱。0087具体而言,所述判断可以是查询预置的数据库,将所述待操作的目标对象与该数据库中的预置规则进行比较,如果在该数据库中查询到,则符合匹配规则;如果未查询到,则不符合匹配规则。即数据库中存储了各种判断的规则,或者直接存储了符合匹配规则的对象的特征,如果在数据库中查询到所述待操作的目标对象,则表明该目标对象的执行需要导入沙箱。0088针对不同的目标对象,相对应的匹配规则也不同00891)当所述待操作的目标对象为目标程序和/或目标文件时,判断所述待操作的目标对象是否符合预置的匹配规则,包括判断所述目标对象的相关信息是否符。
38、合预置的匹配规则;和/或,判断所述目标对象的来源程序的相关信息是否符合预置的匹配规则。0090其中,所述目标对象的相关信息包括0091目标对象的文件路径,和/或0092加密数据(如MD5),和/或0093文件属性(如产品名称、版本信息、签名发行者、文件大小等),和/或0094图标特征值(如图标哈希值),和/或0095文件特征值(如文件哈希值),和/或0096下载来源(如从哪个网站下载);0097相应的,所述来源程序的相关信息包括0098来源程序的文件路径,和/或说明书CN104050411A117/12页120099加密数据(如MD5),和/或0100文件属性(如产品名称、版本信息、签名发行者。
39、、文件大小等),和/或0101图标特征值(如图标哈希值),和/或0102文件特征值(如文件哈希值),和/或0103下载来源(如从哪个网站下载)。0104基于上述目标对象的相关信息和来源程序的相关信息,所述匹配规则可以是0105例1对于网站上的色情播放器,匹配规则如下0106来源程序为浏览器程序或资源管理器;0107目标的文件名包含“日本AV”或“情色”;0108目标的文件图标为特定播放器图标;0109目标的文件大小可以限制在一个范围,比如1MB10MB;0110目标的文件描述比如XXXX成人播放器,XXXX专用播放器。0111即符合上述规则的播放器即判定为色情播放器。0112例2对于未知有风险。
40、的电子书,匹配规则如下0113目标文件名称包含“电子书”的关键字;0114目标文件图标的特征值包含电子书的图标的特征。0115对于符合上述规则的电子书判定为有风险的电子书。0116例3对于未知有风险的序号生成器,匹配规则如下0117目标文件名称有包含“序号生成器”或“KEYGEN”或“CRACKER”或“破解机”的关键字;0118目标文件图标的特征值包含序号生成器的图标的特征。0119对符合上述规则的序号生成器可判断为有风险的序号生成器。0120除上述列举的几种匹配规则之外,还可以有其他的多种规则,如进行模糊匹配或全文匹配,优先进行文件名称的匹配,等等,视具体应用而定,在此不再一一列举。012。
41、12)当所述待操作的目标对象为用户输入的信息时,判断所述待操作的目标对象是否符合预置的匹配规则,包括判断所述用户输入的信息是否符合预置的匹配规则。0122例如,判断用户输入的网址是否为一些色情网站的网址,或者判断用户输入的关键词是否包含“日本AV”或“情色”等信息。通过用户输入的信息,就可以预先判断出用户下一步要浏览的网站或要搜索的网页是否需要放入沙箱。0123基于上述列举的各种匹配规则,优选的,在对目标对象进行上述匹配规则的自动判断之前,还可以优先进行如下的自动判断,列举如下01241)在判断所述待操作的目标对象是否符合预置的匹配规则之前0125创建用于自动判断所述目标对象的执行的进程;01。
42、26判断所述进程的父进程是否在沙箱内,如果是,则所述待操作的目标对象的执行需要导入沙箱;如果否,则继续判断所述待操作的目标对象是否符合预置的匹配规则。0127即如果所述用于自动判断目标对象的执行的进程存在父进程,则该用于自动判断的进程称为子进程。如果父进程已导入沙箱中,说明该父进程不可信,那么该父进程调用的子进程也是不可信的,所以子进程也应该导入沙箱执行。01282判断所述待操作的目标对象是否符合预置的匹配规则之前说明书CN104050411A128/12页130129判断用户是否选择将所述待操作的目标对象的执行导入沙箱,如果是,则所述待操作的目标对象的执行需要导入沙箱;如果否,则继续判断所述。
43、待操作的目标对象是否符合预置的匹配规则。0130即用户可参与选择是否放入沙箱,如果用户已主动选择放入沙箱,则不需要进行匹配规则的自动判断。01313判断所述待操作的目标对象是否符合预置的匹配规则之前0132判断所述待操作的目标对象是否在白名单中,如果不在白名单中,则所述待操作的目标对象是未知对象,继续判断所述待操作的目标对象是否符合预置的匹配规则;如果在白名单中,则不需要导入沙箱。0133所述白名单中列出了比较安全的目标对象,白名单中的目标对象可以不导入沙箱而直接执行。如果待操作的目标对象在所述白名单中,则可以免除匹配规则的自动判断。如果待操作的目标对象不在所述白名单中,标明所述待操作的目标对。
44、象是未知对象,还需要进一步进行自动判断。01344判断所述待操作的目标对象是否符合预置的匹配规则之前0135判断所述待操作的目标对象是否在黑名单中,如果在黑名单中,则所述待操作的目标对象的执行需要导入沙箱;如果不在黑名单中,则继续判断所述待操作的目标对象是否符合预置的匹配规则。0136所述黑名单中列出了一定不可信的目标对象,如果待操作的目标对象在所述黑名单中,则直接导入沙箱执行;但如果不在黑名单中,也不能排除所述待操作的目标对象一定安全,因此还需要继续进行匹配规则的判断。0137在实际应用中,如果待操作的目标对象在黑名单中,也可以直接进行拦截而不放入沙箱,这些都可以由用户进行选择。0138上述。
45、1)至4)可以单独在匹配规则的判断之前使用,也可以组合起来在匹配规则的判断之前使用。0139基于上述内容,在实际应用中,本发明实施例还提供了以下两种实现方式0140第一种,根据客户端的请求,由服务器端自动判断所述待操作的目标对象的执行是否需要导入沙箱;0141具体来说,服务器端存储了自动判断的各种规则,如果待操作的目标程序或目标文件已经下载到了客户端,在用户点击执行时,客户端会将要进行判断的请求发给服务器,由服务器进行自动判断。或者,从服务器上下载目标程序或目标文件之前,服务器根据客户端的下载请求,判断是否导入沙箱下载。或者,在用户输入网址、关键词时,服务器根据用户的输入进行自动判断。0142。
46、第二种,由客户端自动判断所述待操作的目标对象的执行是否需要导入沙箱。0143这种情况下,客户端存储了自动判断的各种规则,并定期从服务器上更新,客户端可在用户对目标对象进行操作之前进行自动判断。0144综上所述,上述实施例提供了一种智能判定的方法,可以在用户对目标对象执行操作之前,自动判断所述目标对象的执行是否需要导入沙箱,由此带来以下优点0145第一,可以帮助用户决定哪些有风险的程序需要在沙箱内运行,而不需要用户自行判断;说明书CN104050411A139/12页140146第二,避免将安全无风险的程序放置沙箱内运行导致用户数据的丢失;0147第三,无需用户的参与,因此不影响用户的操作,易用。
47、性高。0148基于上述内容,本发明还提供了图2所示的优选实施例。0149参照图2,是本发明优选实施例所述一种利用沙箱技术进行防御的方法流程图。0150以目标对象是目标程序为例,目标对象是目标文件和用户输入信息的情况与此类似,不再详述。0151整个待操作的目标程序自动进入沙箱的判断流程如下0152步骤201,创建进程;0153步骤202,判断父进程是否在沙箱内;0154如果父进程在沙箱内,则跳转到步骤208;0155如果父进程不在沙箱内,则继续步骤203。0156步骤203,判断用户是否选择将所述待操作的目标程序的执行导入沙箱;0157如果用户已选择将所述待操作的目标程序的执行导入沙箱,则跳转到。
48、步骤208;0158如果用户未选择将所述待操作的目标程序的执行导入沙箱,则继续步骤204。0159步骤204,判断所述待操作的目标程序是否在白名单中;0160如果在白名单中,则跳转到步骤209;0161如果不在白名单中,则是未知程序,继续步骤205。0162步骤205,判断所述待操作的目标对象是否在黑名单中;0163如果在黑名单中,则跳转到步骤208;0164如果不在黑名单中,则继续步骤206。0165步骤206,判断所述目标程序是否为特定类型的程序;0166即根据各种匹配规则判断是否为特定类型的程序;0167如果是,则继续步骤207;0168如果不是,则跳转到步骤209。0169步骤207,。
49、弹出提示窗提示用户该目标程序将导入沙箱内执行;0170如果用户选择导入,则将该目标程序加入沙箱运行列表。0171步骤208,开始将目标程序的文件/注册表的写入、删除、修改等操作动作导向沙箱中,判断流程结束。0172步骤209,将目标程序在一般环境下运行(非沙箱模式),判断流程结束。0173需要说明的是,上述步骤203至步骤205的顺序也可以更换,但都需要在步骤206之前。0174需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。0175基于上述内容,本发明还提供了相应的装置实施例,如图3所示。0176参照图3,是本发明优选实施例所述一种利用沙箱技术进行防御的装置结构图。0177所述装置可以包括以下模块说明书CN104050411A1410/12页150178判断触发模块31,用于在对目标对象执行操作之前,触发所述自动判断模块32;0179自动判断模块32,用于对待操作的目标对象,自动判断所述目标对象的执行是否需要导入沙箱,如果是,则在沙箱中完成该目标对象的执行;如果否,则在沙箱外完成该目标对象的执行。0180其中,所。