发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的漏洞挖掘检测方法、服务器、装置和***。
依据本发明的一个方面,提供了一种漏洞挖掘检测方法,该方法包括:
获取客户端上传的可疑样本日志;
对所获取到的可疑样本日志进行去重;
对于去重后剩下的每条可疑样本日志,将该可疑样本日志输入到沙箱中进行扫描,得到扫描日志,根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞。
可选地,每条可疑样本日志中包括:样本的签名信息;
则所述对所获取到的可疑样本日志进行去重包括:根据可疑样本日志中包含的样本的签名信息,对包含有相同的签名信息的可疑样本日志进行去重。
可选地,所述样本的签名信息包括:样本的MD5值,或者,样本的SHA1值。
可选地,每条可疑样本日志中还包括:样本的地址信息;
所述将该可疑样本日志输入沙箱中进行扫描,得到扫描日志包括:
将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可疑样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志。
可选地,可疑样本日志对应的样本为SWF文件;样本的地址信息为SWF文件的URL地址;
则所述将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可以样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志包括:将该可疑样本日志中的SWF文件的URL地址输入到沙箱中,在沙箱中启动浏览器应用,根据该URL地址对SWF文件进行渲染,直至渲染完成,对SWF文件在渲染过程中的中间行为进行记录,得到扫描日志;
所述根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞包括:根据该扫描日志确定该SWF文件是否存在0Day漏洞。
可选地,每条可疑样本日志中包括:上传该条可疑样本日志的客户端的IP地址;
该方法进一步包括:当确定出一个样本存在漏洞时,对于该样本对应的每条可疑样本日志,根据该条可疑样本日志中的客户端的IP地址向相应的客户端返回关于该样本的报警信息。
可选地,其中,每条可疑样本日志中还包括:样本的源信息;
则所述关于该样本的报警信息中包括:该样本的源信息,以指示该样本的最初来源。
可选地,所述关于该样本的报警信息中包括:上传包含该样本的签名信息的可疑样本日志的客户端的数量,以指示该样本的影响范围。
可选地,每条可疑样本日志中还包括:该条可疑样本日志的上传时间;
所述关于该样本的报警信息中包括:包含该样本的签名信息的可疑样本日志中最早的上传时间,以指示该样本的漏洞起始时间。
依据本发明的另一个方面,提供了一种漏洞挖掘检测方法,该方法包括:
响应于在指定应用中打开指定类型文件的操作,对该指定类型文件进行检测;
当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
可选地,所述对该指定类型文件进行检测包括:记录该指定类型文件的行为日志,根据该行为日志对该指定类型文件进行检测;
所述当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器包括:当检测到该指定类型文件的行为日志符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
可选地,所述关于该指定类型文件的可疑样本日志中包括如下一种或多种:
该指定类型文件的签名信息,该指定类型文件的地址信息,该指定类型文件的源信息,客户端的IP地址,该指定类型文件的源信息,该指定类型文件的上传时间。
可选地,所述指定应用为浏览器;所述指定类型文件为SWF文件。
依据本发明的又一个方面,提供了一种漏洞挖掘检测服务器,该服务器包括:
获取单元,适于获取客户端上传的可疑样本日志;
去重单元,适于对所获取到的可疑样本日志进行去重;
扫描单元,适于对于去重后剩下的每条可疑样本日志,将该可疑样本日志输入到沙箱中进行扫描,得到扫描日志,根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞。
可选地,每条可疑样本日志中包括:样本的签名信息;
所述去重单元,适于根据可疑样本日志中包含的样本的签名信息,对包含有相同的签名信息的可疑样本日志进行去重。
可选地,所述样本的签名信息包括:样本的MD5值,或者,样本的SHA1值。
可选地,每条可疑样本日志中还包括:样本的地址信息;
所述扫描单元,适于将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可疑样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志。
可选地,可疑样本日志对应的样本为SWF文件;样本的地址信息为SWF文件的URL地址;
所述扫描单元,适于将该可疑样本日志中的SWF文件的URL地址输入到沙箱中,在沙箱中启动浏览器应用,根据该URL地址对SWF文件进行渲染,直至渲染完成,对SWF文件在渲染过程中的中间行为进行记录,得到扫描日志;根据该扫描日志确定该SWF文件是否存在0Day漏洞。
可选地,每条可疑样本日志中包括:上传该条可疑样本日志的客户端的IP地址;该服务器进一步包括:报警单元;
所述报警单元,适于当确定出一个样本存在漏洞时,对于该样本对应的每条可疑样本日志,根据该条可疑样本日志中的客户端的IP地址向相应的客户端返回关于该样本的报警信息。
可选地,每条可疑样本日志中还包括:样本的源信息;
则所述关于该样本的报警信息中包括:该样本的源信息,以指示该样本的最初来源。
可选地,所述关于该样本的报警信息中包括:上传包含该样本的签名信息的可疑样本日志的客户端的数量,以指示该样本的影响范围。
可选地,每条可疑样本日志中还包括:该条可疑样本日志的上传时间;
所述关于该样本的报警信息中包括:包含该样本的签名信息的可疑样本日志中最早的上传时间,以指示该样本的漏洞起始时间。
依据本发明的再一个方面,提供了一种漏洞挖掘检测装置,该装置包括:
检测单元,适于响应于在指定应用中打开指定类型文件的操作,对该指定类型文件进行检测;
上报单元,适于当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
可选地,所述检测单元,适于记录该指定类型文件的行为日志,根据该行为日志对该指定类型文件进行检测;
所述上报单元,适于当检测到该指定类型文件的行为日志符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
可选地,所述关于该指定类型文件的可疑样本日志中包括如下一种或多种:
该指定类型文件的签名信息,该指定类型文件的地址信息,该指定类型文件的源信息,客户端的IP地址,该指定类型文件的源信息,该指定类型文件的上传时间。
可选地,所述指定应用为浏览器;所述指定类型文件为SWF文件。
依据本发明的再一个方面,提供了一种漏洞挖掘检测***,该***包括:如上任一项所述的服务器,以及,如上任一项所述的装置。
根据本发明的技术方案,服务器从客户端获取可疑样本日志,将去重后剩下的每一条可疑样本日志输入到沙箱中进行扫描,根据扫描日志确定可疑样本日志对应的样本是否存在漏洞。依据此方案,以各个客户端作为遍布在互联网中的各探针收集可疑文件对应的可疑样本日志,探针覆盖范围大,能够较为全面地挖掘出一段时间内互联网中存在的可能具有安全风险的样本的相关信息;由于客户端的数量众多,收集到的可疑样本日志的数据量十分巨大,本方案又通过去重消除掉冗余的可疑样本日志,再对可疑样本日志进行扫描,根据扫描日志从可能具有安全风险的样本中确定出确实存在安全漏洞的样本,即在客户端进行粗略检测后再在服务器端进行精确检测,明确了各可疑样本日志对应的样本的实际安全情况;其中,对可疑样本日志的扫描是在服务器侧的沙箱中进行的,沙箱为可疑样本日志提供了一个封闭的运行环境,这样,即使可疑样本日志对应的样本确实存在漏洞,也不会对服务器侧造成损害。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的一种漏洞挖掘检测方法的流程图,从服务器侧说明本方案的实施过程。如图1所示,该方法包括:
步骤S110,获取客户端上传的可疑样本日志。
在本步骤中,当客户端在运行过程中发现一个文件可能存在漏洞时,以该文件为样本,将该文件的相关信息作为可疑样本日志上传到服务器端,则服务器获取到该可疑样本日志。
步骤S120,对所获取到的可疑样本日志进行去重。
本步骤中,由于不同客户端上传的可疑样本日志可能是对应于同一样本,为了避免对相同样本的可疑样本日志的重复处理,先对接收到的可疑样本日志进行去重。
步骤S130,对于去重后剩下的每条可疑样本日志,将该可疑样本日志输入到沙箱中进行扫描,得到扫描日志,根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞。
可见,图1所示的方法从客户端获取可疑样本日志,将去重后剩下的每一条可疑样本日志输入到沙箱中进行扫描,根据扫描日志确定可疑样本日志对应的样本是否存在漏洞。依据此方案,以各个客户端作为遍布在互联网中的各探针收集可疑文件对应的可疑样本日志,探针覆盖范围大,能够较为全面地挖掘出一段时间内互联网中存在的可能具有安全风险的样本的相关信息;由于客户端的数量众多,收集到的可疑样本日志的数据量十分巨大,本方案又通过去重消除掉冗余的可疑样本日志,再对可疑样本日志进行扫描,根据扫描日志从可能具有安全风险的样本中确定出确实存在安全漏洞的样本,即在客户端进行粗略检测后再在服务器端进行精确检测,明确了各可疑样本日志对应的样本的实际安全情况;其中,对可疑样本日志的扫描是在服务器侧的沙箱中进行的,沙箱为可疑样本日志提供了一个封闭的运行环境,这样,即使可疑样本日志对应的样本确实存在漏洞,也不会对服务器侧造成损害。
上述步骤S120中对获取到的可以样本日志进行去重的过程实质上是对对应于相同样本的可疑样本日志进行去重的过程,为了辨别可疑样本日志对应的样本是否相同,在本发明的一个实施例中,以样本的签名信息作为样本的唯一标识,具体地,每条可疑样本日志中包括:样本的签名信息;则步骤S120对所获取到的可疑样本日志进行去重包括:根据可疑样本日志中包含的样本的签名信息,对包含有相同的签名信息的可疑样本日志进行去重。
其中,所述样本的签名信息可以是对样本的部分或全部内容通过数字签名算法加密得到的值,例如:样本的MD5值,或者,样本的SHA1值。
在本发明的一个实施例中,每条可疑样本日志中还可以携带样本的地址信息;通过利用可疑样本日志中携带的样本的地址信息,执行图1所示方法中的步骤S130,具体地,步骤S130中将该可疑样本日志输入沙箱中进行扫描,得到扫描日志包括:将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可疑样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志。
进一步地,在上述步骤S130得到扫描日志并根据扫描日志确定可疑样本日志对应的样本是否存在漏洞之后,即获得该可疑样本日志日志对应的漏洞检测结果之后,图1所示的方法进一步包括:
步骤S140,将该可疑样本日志对应的样本的漏洞检测结果返回至上传该可疑样本日志的客户端,使上传该可疑样本日志的客户端获知该可疑样本日志对应的样本的实际安全情况,以做出相应的应对策略。
例如,客户端a、客户端b和客户端c均向服务器端上传了样本x的可疑样本日志和样本y的可疑样本日志,服务器端在获取到样本x的可疑样本日志后,通过扫描根据扫描日志确定样本x存在漏洞,则向客户端a、客户端b和客户端c返回指示样本x存在漏洞的报警信息,提醒客户端a、客户端b和客户端c的用户对样本x进行防范;服务器端在获取到样本y的可疑样本日志后,通过扫描根据扫描日志确定样本y不存在漏洞,则向客户端a、客户端b和客户端c返回指示样本x不存在漏洞的漏洞检测结果,使得客户端a、客户端b和客户端c的用户可以放心地使用样本y。
进一步地,对于漏洞检测结果是存在漏洞的样本来说,在向相应的客户端返回指示该样本存在漏洞的报警信息的同时,还可以将应对该样本的漏洞的修复补丁包一同下发给相应的客户端,使得客户端在接收到报警信息后,利用其中的修复补丁包对该样本的漏洞进行修复。
在本发明的一个实施例中,每条可疑样本日志中包括:上传该条可疑样本日志的客户端的IP地址;本实施例通过可疑样本日志中的客户端的IP地址信息来记录每一条可疑样本日志与上传该可疑样本日志的客户端之间的对应关系,则上述步骤S140的具体实施过程可以是:当确定出一个样本存在漏洞时,对于该样本对应的每条可疑样本日志,根据该条可疑样本日志中的客户端的IP地址向相应的客户端返回关于该样本的报警信息。
在本发明的一个实施例中,每条可疑样本日志中还包括:样本的源信息;每条可疑样本日志中的样本的源信息用于指示该可疑样本日志对应的样本的最初来源,则上述步骤S140在将指示一个可疑样本日志对应的样本存在漏洞的报警信息返回给相应的客户端时,在该报警信息中携带所述样本的源信息,使得相应的客户端的用户在接收到报警信息后,不仅能够获知一个样本存在漏洞的信息,也能够获知该样本的来源信息,以对该样本的漏洞有更深入的了解。
在本发明的一个实施例中,上述步骤S140在将指示一个可疑样本日志对应的样本存在漏洞的报警信息返回给相应的客户端时,还将曾经上传过该可疑样本日志的数量添加到所述报警信息中,使得每一个客户端的用户在接收到报警信息后,不仅能够获取一个样本存在漏洞的信息,也能够获知有多少个客户端曾经运行过该客户端的信息,即获知该样本的影响范围,以加强对该样本的关注程度。在具体的实施过程中,所述关于该样本的报警信息中包括:上传包含该样本的签名信息的可疑样本日志的客户端的数量,以指示该样本的影响范围。
在本发明的一个实施例中,每条可疑样本日志中还包括:该条可疑样本日志的上传时间;指示了客户端上传可疑样本日志的时间,实质上是客户端对该可疑样本日志对应的样本进行粗略检测的时间,则对于一个样本的可疑样本日志,在所有上传该可疑样本日志的客户端中,最早上传的客户端应当是最早检测到该样本可能存在安全风险的客户端。因此,上述步骤S140在将指示一个可疑样本日志对应的样本存在漏洞的报警信息返回给相应的客户端时,还将曾经获取到的该可疑样本日志中记录的最早的上传时间添加到所述报警信息中,使得相应的客户端的用户在收到报警信息后,不仅能够获取一个样本存在漏洞的信息,还能够获取该存在漏洞的样本的最早被客户端检测发现的时间。在具体的实施过程中,所述关于该样本的报警信息中包括:包含该样本的签名信息的可疑样本日志中最早的上传时间,以指示该样本的漏洞起始时间。
以一个具体的例子说明本方案的实施过程,在本例中,可疑样本日志对应的样本为SWF(Shock Wave Flash)文件是Adobe公司的动画设计软件Flash的专用格式,被广泛用于动画制作、网页设计等领域;每个客户端中的浏览器应用开启网页的过程中在运行SWF文件时会对该SWF文件进行初步检测,当检测出SWF文件可能存在安全风险时,将该SWF文件的相关信息作为可疑样本日志上传至服务器端,本例中每个SWF文件的可疑样本日志中包括:该SWF文件的签名信息、该SWF文件的URL地址、上传该可疑样本日志的客户端的IP地址、上传时间、该SWF文件的源信息等。服务器在获取到各客户端上传的SWF文件的可疑样本日志后,先通过比对各可疑样本日志中的SWF文件的签名信息来对对应于相同的SWF文件的可疑样本日志进行去重;对于去重后剩下的每条可疑样本日志,将该可疑样本日志中的SWF文件的URL地址输入到沙箱中,在沙箱中启动浏览器应用,根据该URL地址发送关于该可疑样本日志对应的SWF文件的网络请求,对该SWF文件进行渲染,直至渲染完成,对SWF文件在渲染过程中的中间行为进行记录,得到扫描日志;根据该扫描日志判断该SWF文件是否存在漏洞;是则,将指示该SWF文件存在漏洞的报警信息发送至所有上传该SWF文件的可疑样本日志的客户端中,该报警信息中还可以包含上传该SWF文件的可疑样本日志日志的客户端的数量、上传该SWF文件的可疑样本日志的最早上传时间、该SWF文件的源信息、该SWF文件的漏洞的修复补丁包等供相应的客户端了解该SWF文件的漏洞的信息;否则,将指示该SWF不存在漏洞的漏洞检测结果发送至所有上传该SWF文件的可疑样本日志的客户端中,并对该SWF文件的唯一标识(如签名信息)进行记录,下次再从客户端获取到该SWF文件的可疑样本日志时,直接将该SWF文件的漏洞检测结果返回至相应的客户端。
可见,分布在互联网中的客户端作为探针先对所有的SWF文件进行预过滤,将可能存在安全风险的SWF文件的可疑样本日志上传到服务器端,服务器再来进行准确度较高地筛选过程,由于客户端预过滤后的可疑样本日志的数据量依然很大,服务器在实时处理的过程中以SWF文件的签名信息(如MD5值等)作为键值对可疑样本日志进行去重,去重后将每个可疑样本日志对应的SWF文件投到扫描平台来扫,扫描平台就是上文所述的服务器侧的沙箱,在沙箱中实际上对该可疑样本日志对应的SWF文件依据相应的URL地址重新请求、重新播放一遍,重放的过程相当于是该SWF在沙箱中运行的过程,沙箱能够对该SWF文件在运行过程中发生的行为进行监控,则在该SWF文件运行结束之后会产生相应的日志即本例中的扫描日志,对这个扫描日志进行分析,通过这个扫描日志就能得到关于该SWF文件的真正的情况。
其中,由于SWF文件常见的漏洞包括0Day漏洞,因此本例中根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞可以是:根据该扫描日志确定该SWF文件是否存在0Day漏洞。具体地,服务器侧的沙箱是一个SWF沙箱鉴定器,考虑到无论何时加载可疑样本的日志信息并在本地服务器执行,安全都是至关重要的问题;沙箱作为一个虚拟***程序提供了一个类似沙盘的独立作业环境,允许在沙盘环境中根据可疑样本的地址信息加载该可疑样本,并记录加载过程中的中间行为;其运行所产生的变化可以随后删除,并且在其内部运行的程序并不能对服务器产生永久性的影响。
图2示出了根据本发明另一个实施例的一种漏洞挖掘检测方法的流程图,从客户端侧说明本方案的实施过程。如图2所示,该方法包括:
步骤S210,响应于在指定应用中打开指定类型文件的操作,对该指定类型文件进行检测。
步骤S220,当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
可见,图2所示的方法在客户端测对指定类型文件进行初步检测,将可能存在安全风险的指定类型文件的可疑样本日志上传至服务器侧进行进一步地精确检测,其中,判断指定类型文件可能存在安全风险的策略是:判断指定类型文件是否符合预设条件。基于此方案,每个客户端都成为分布在互联网中的一个收集可能存在漏洞的指定类型文件的探针,使得漏洞挖掘范围较为广泛、全面,客户端与服务器端进行配合,能够及时发现各指定类型文件中存在的漏洞,接触安全威胁,符合用户需求。
在本发明的一个实施例中,步骤S210中对该指定类型文件进行检测包括:记录该指定类型文件的行为日志,根据该行为日志对该指定类型文件进行检测;则步骤S220中当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器包括:当检测到该指定类型文件的行为日志符合预设条件,判断出该指定类型文件可能存在安全隐患,将关于该指定类型文件的可疑样本日志上传至服务器。
在本发明的一个实施例中,步骤S220中关于该指定类型文件的可疑样本日志中包括如下一种或多种:该指定类型文件的签名信息,该指定类型文件的地址信息,该指定类型文件的源信息,客户端的IP地址,该指定类型文件的源信息,该指定类型文件的上传时间。
以一个具体的例子来说明本方案的实施过程,在本例中,所述指定应用为浏览器;所述指定类型文件为SWF文件;当用户在浏览器中打开网页,网页上包含SWF文件时,客户端自动唤醒对该SWF文件进行检测,如果检测到该SWF文件可能存在漏洞,就打一条关于该SWF文件的可疑样本日志,该可疑样本日志中包含该SWF文件的签名信息、该SWF文件的源信息、该SWF文件的URL地址、客户端的IP地址等,并将该可疑样本日志上传到服务器端进行进一步地检测。
图3示出了根据本发明一个实施例的一种漏洞挖掘检测服务器的示意图。如图3所示,该漏洞挖掘检测服务器300包括:
获取单元310,适于获取客户端上传的可疑样本日志。
去重单元320,适于对所获取到的可疑样本日志进行去重。
扫描单元330,适于对于去重后剩下的每条可疑样本日志,将该可疑样本日志输入到沙箱中进行扫描,得到扫描日志,根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞。
可见,图3所示的服务器从客户端获取可疑样本日志,将去重后剩下的每一条可疑样本日志输入到沙箱中进行扫描,根据扫描日志确定可疑样本日志对应的样本是否存在漏洞。依据此方案,以各个客户端作为遍布在互联网中的各探针收集可疑文件对应的可疑样本日志,探针覆盖范围大,能够较为全面地挖掘出一段时间内互联网中存在的可能具有安全风险的样本的相关信息;由于客户端的数量众多,收集到的可疑样本日志的数据量十分巨大,本方案又通过去重消除掉冗余的可疑样本日志,再对可疑样本日志进行扫描,根据扫描日志从可能具有安全风险的样本中确定出确实存在安全漏洞的样本,即在客户端进行粗略检测后再在服务器端进行精确检测,明确了各可疑样本日志对应的样本的实际安全情况;其中,对可疑样本日志的扫描是在服务器侧的沙箱中进行的,沙箱为可疑样本日志提供了一个封闭的运行环境,这样,即使可疑样本日志对应的样本确实存在漏洞,也不会对服务器侧造成损害。
在本发明的一个实施例中,每条可疑样本日志中包括:样本的签名信息。所述去重单元320,适于根据可疑样本日志中包含的样本的签名信息,对包含有相同的签名信息的可疑样本日志进行去重。
其中,所述样本的签名信息包括:样本的MD5值,或者,样本的SHA1值。
进一步地,每条可疑样本日志中还包括:样本的地址信息。所述扫描单元330,适于将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可疑样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志。
其中,可疑样本日志对应的样本为SWF文件;样本的地址信息为SWF文件的URL地址;所述扫描单元330,适于将该可疑样本日志中的SWF文件的URL地址输入到沙箱中,在沙箱中启动浏览器应用,根据该URL地址对SWF文件进行渲染,直至渲染完成,对SWF文件在渲染过程中的中间行为进行记录,得到扫描日志;根据该扫描日志确定该SWF文件是否存在0Day漏洞。
图4示出了根据本发明另一个实施例的一种漏洞挖掘检测服务器的示意图。如图4所示,该漏洞挖掘检测服务器包括:获取单元410、去重单元420、扫描单元430和报警单元440。
其中,获取单元410、去重单元420、扫描单元430和图3所示的获取单元310、去重单元320、扫描单元330对应相同的功能,相同的部分在此不再赘述。
所述报警单元440,适于当确定出一个样本存在漏洞时,对于该样本对应的每条可疑样本日志,根据该条可疑样本日志中的客户端的IP地址向相应的客户端返回关于该样本的报警信息。其中,每条可疑样本日志中包括:上传该条可疑样本日志的客户端的IP地址。
在一个具体的例子中,每条可疑样本日志中还包括:样本的源信息。则所述关于该样本的报警信息中包括:该样本的源信息,以指示该样本的最初来源。
具体地,所述关于该样本的报警信息中包括:上传包含该样本的签名信息的可疑样本日志的客户端的数量,以指示该样本的影响范围。
进一步地,每条可疑样本日志中还包括:该条可疑样本日志的上传时间。则所述关于该样本的报警信息中包括:包含该样本的签名信息的可疑样本日志中最早的上传时间,以指示该样本的漏洞起始时间。
需要说明的是,图3-图4所示服务器的各实施例与图1所示方法的各实施例对应相同,上文中已有详细说明,在此不再赘述。
图5示出了根据本发明一个实施例的一种漏洞挖掘检测装置的示意图。如图5所示,该漏洞挖掘检测装置500包括:
检测单元510,适于响应于在指定应用中打开指定类型文件的操作,对该指定类型文件进行检测。
上报单元520,适于当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
可见,图5所示的客户端测对指定类型文件进行初步检测,将可能存在安全风险的指定类型文件的可疑样本日志上传至服务器侧进行进一步地精确检测,其中,判断指定类型文件可能存在安全风险的策略是:判断指定类型文件是否符合预设条件。基于此方案,每个客户端都成为分布在互联网中的一个收集可能存在漏洞的指定类型文件的探针,使得漏洞挖掘范围较为广泛、全面,客户端与服务器端进行配合,能够及时发现各指定类型文件中存在的漏洞,接触安全威胁,符合用户需求。
在本发明的一个实施例中,所述检测单元510,适于记录该指定类型文件的行为日志,根据该行为日志对该指定类型文件进行检测。
所述上报单元520,适于当检测到该指定类型文件的行为日志符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
在本发明的一个实施例中,所述关于该指定类型文件的可疑样本日志中包括如下一种或多种:该指定类型文件的签名信息,该指定类型文件的地址信息,该指定类型文件的源信息,客户端的IP地址,该指定类型文件的源信息,该指定类型文件的上传时间。
在本发明的一个实施例中,所述指定应用为浏览器;所述指定类型文件为SWF文件。
需要说明的是,图5所示装置的具体实施例与图2所示方法的各实施例对应相同,上文中已进行了详细说明,在此不再赘述。
图6示出了根据本发明一个实施例的一种漏洞挖掘检测***的示意图。如图6所示,该漏洞挖掘检测***600包括:漏洞挖掘检测服务器610,以及,漏洞挖掘检测装置620。
其中,漏洞挖掘检测服务器610与上文中的漏洞挖掘检测服务器300/400具有相同的功能,漏洞挖掘检测装置620与上文中的漏洞挖掘检测装置500具有相同的功能,在此不再赘述。
综上所述,在本发明的技术方案中,以各个客户端作为遍布在互联网中的各探针收集可疑文件对应的可疑样本日志,探针覆盖范围大,能够较为全面地挖掘出一段时间内互联网中存在的可能具有安全风险的样本的相关信息;由于客户端的数量众多,收集到的可疑样本日志的数据量十分巨大,本方案又通过去重消除掉冗余的可疑样本日志,再对可疑样本日志进行扫描,根据扫描日志从可能具有安全风险的样本中确定出确实存在安全漏洞的样本,即在客户端进行粗略检测后再在服务器端进行精确检测,明确了各可疑样本日志对应的样本的实际安全情况;其中,对可疑样本日志的扫描是在服务器侧的沙箱中进行的,沙箱为可疑样本日志提供了一个封闭的运行环境,这样,即使可疑样本日志对应的样本确实存在漏洞,也不会对服务器侧造成损害;将漏洞检测结果返回至上传相应可疑样本日志的客户端,使得客户端的用户对相应的样本是否存在漏洞、以及如果存在漏洞该漏洞的相关信息加以了解,解除样本的漏洞给客户端带来的安全威胁,符合用户需求。
需要说明的是:
在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的漏洞挖掘检测服务器、装置和***中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
本发明公开了A1、一种漏洞挖掘检测方法,其中,该方法包括:
获取客户端上传的可疑样本日志;
对所获取到的可疑样本日志进行去重;
对于去重后剩下的每条可疑样本日志,将该可疑样本日志输入到沙箱中进行扫描,得到扫描日志,根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞。
A2、如A1所述的方法,其中,每条可疑样本日志中包括:样本的签名信息;
则所述对所获取到的可疑样本日志进行去重包括:根据可疑样本日志中包含的样本的签名信息,对包含有相同的签名信息的可疑样本日志进行去重。
A3、如A2所述的方法,其中,所述样本的签名信息包括:
样本的MD5值,或者,样本的SHA1值。
A4、如A2所述的方法,其中,每条可疑样本日志中还包括:样本的地址信息;
所述将该可疑样本日志输入沙箱中进行扫描,得到扫描日志包括:
将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可疑样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志。
A5、如A4所述的方法,其中,可疑样本日志对应的样本为SWF文件;样本的地址信息为SWF文件的URL地址;
则所述将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可以样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志包括:将该可疑样本日志中的SWF文件的URL地址输入到沙箱中,在沙箱中启动浏览器应用,根据该URL地址对SWF文件进行渲染,直至渲染完成,对SWF文件在渲染过程中的中间行为进行记录,得到扫描日志;
所述根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞包括:根据该扫描日志确定该SWF文件是否存在0Day漏洞。
A6、如A1所述的方法,其中,每条可疑样本日志中包括:上传该条可疑样本日志的客户端的IP地址;
该方法进一步包括:当确定出一个样本存在漏洞时,对于该样本对应的每条可疑样本日志,根据该条可疑样本日志中的客户端的IP地址向相应的客户端返回关于该样本的报警信息。
A7、如A6所述的方法,其中,每条可疑样本日志中还包括:样本的源信息;
则所述关于该样本的报警信息中包括:该样本的源信息,以指示该样本的最初来源。
A8、如A6所述的方法,其中,所述关于该样本的报警信息中包括:上传包含该样本的签名信息的可疑样本日志的客户端的数量,以指示该样本的影响范围。
A9、如A6所述的方法,其中,每条可疑样本日志中还包括:该条可疑样本日志的上传时间;
所述关于该样本的报警信息中包括:包含该样本的签名信息的可疑样本日志中最早的上传时间,以指示该样本的漏洞起始时间。
本发明还公开了B10、一种漏洞挖掘检测方法,其中,该方法包括:
响应于在指定应用中打开指定类型文件的操作,对该指定类型文件进行检测;
当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
B11、如B10所述的方法,其中,
所述对该指定类型文件进行检测包括:记录该指定类型文件的行为日志,根据该行为日志对该指定类型文件进行检测;
所述当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器包括:当检测到该指定类型文件的行为日志符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
B12、如B10所述的方法,其中,所述关于该指定类型文件的可疑样本日志中包括如下一种或多种:
该指定类型文件的签名信息,该指定类型文件的地址信息,该指定类型文件的源信息,客户端的IP地址,该指定类型文件的源信息,该指定类型文件的上传时间。
B13、如B10所述的方法,其中,
所述指定应用为浏览器;
所述指定类型文件为SWF文件。
本发明还公开了C14、一种漏洞挖掘检测服务器,其中,该服务器包括:
获取单元,适于获取客户端上传的可疑样本日志;
去重单元,适于对所获取到的可疑样本日志进行去重;
扫描单元,适于对于去重后剩下的每条可疑样本日志,将该可疑样本日志输入到沙箱中进行扫描,得到扫描日志,根据该扫描日志确定该可疑样本日志对应的样本是否存在漏洞。
C15、如C14所述的服务器,其中,每条可疑样本日志中包括:样本的签名信息;
所述去重单元,适于根据可疑样本日志中包含的样本的签名信息,对包含有相同的签名信息的可疑样本日志进行去重。
C16、如C15所述的服务器,其中,所述样本的签名信息包括:
样本的MD5值,或者,样本的SHA1值。
C17、如C15所述的服务器,其中,每条可疑样本日志中还包括:样本的地址信息;
所述扫描单元,适于将该可疑样本日志中的样本的地址信息输入到沙箱中,在沙箱中根据该地址信息加载该可疑样本日志对应的样本,对样本在加载过程中的中间行为进行记录,得到扫描日志。
C18、如C17所述的服务器,其中,可疑样本日志对应的样本为SWF文件;样本的地址信息为SWF文件的URL地址;
所述扫描单元,适于将该可疑样本日志中的SWF文件的URL地址输入到沙箱中,在沙箱中启动浏览器应用,根据该URL地址对SWF文件进行渲染,直至渲染完成,对SWF文件在渲染过程中的中间行为进行记录,得到扫描日志;根据该扫描日志确定该SWF文件是否存在0Day漏洞。
C19、如C14所述的服务器,其中,每条可疑样本日志中包括:上传该条可疑样本日志的客户端的IP地址;该服务器进一步包括:报警单元;
所述报警单元,适于当确定出一个样本存在漏洞时,对于该样本对应的每条可疑样本日志,根据该条可疑样本日志中的客户端的IP地址向相应的客户端返回关于该样本的报警信息。
C20、如C19所述的服务器,其中,每条可疑样本日志中还包括:样本的源信息;
则所述关于该样本的报警信息中包括:该样本的源信息,以指示该样本的最初来源。
C21、如C19所述的服务器,其中,所述关于该样本的报警信息中包括:上传包含该样本的签名信息的可疑样本日志的客户端的数量,以指示该样本的影响范围。
C22、如C19所述的服务器,其中,每条可疑样本日志中还包括:该条可疑样本日志的上传时间;
所述关于该样本的报警信息中包括:包含该样本的签名信息的可疑样本日志中最早的上传时间,以指示该样本的漏洞起始时间。
本发明还公开了D23、一种漏洞挖掘检测装置,其中,该装置包括:
检测单元,适于响应于在指定应用中打开指定类型文件的操作,对该指定类型文件进行检测;
上报单元,适于当检测到该指定类型文件符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
D24、如D23所述的装置,其中,
所述检测单元,适于记录该指定类型文件的行为日志,根据该行为日志对该指定类型文件进行检测;
所述上报单元,适于当检测到该指定类型文件的行为日志符合预设条件,将关于该指定类型文件的可疑样本日志上传至服务器。
D25、如D23所述的装置,其中,所述关于该指定类型文件的可疑样本日志中包括如下一种或多种:
该指定类型文件的签名信息,该指定类型文件的地址信息,该指定类型文件的源信息,客户端的IP地址,该指定类型文件的源信息,该指定类型文件的上传时间。
D26、如D23所述的装置,其中,
所述指定应用为浏览器;
所述指定类型文件为SWF文件。
本发明还公开了E27、一种漏洞挖掘检测***,其中,该***包括:如C14-C22中任一项所述的服务器,以及,如D23-D26中任一项所述的装置。