网络攻击信息的检测方法及装置与流程

文档序号:11253953阅读:1107来源:国知局
网络攻击信息的检测方法及装置与流程

本发明实施例涉及网络技术领域,尤其涉及一种网络攻击信息的检测方法及装置。



背景技术:

随着互联网技术的不断发展,人们对于网络的使用愈加频繁,通过网络可以进行工作、学习、生活、娱乐等多方面的事宜,给人们带来了极大的便利。然而,人们在使用互联网的过程中所用到的一些网页存在网络攻击信息,这些网页的网络攻击信息给恶意开发者以可乘之机,恶意开发者们可以利用这些网页的网络攻击信息对网络进行攻击,获取客用户的个人信息,威胁用户的信息安全,给用户的人身、财产等方面损失。

因此,如何高效、全面地对互联网中的网络攻击信息进行检测,是当前亟待解决的重要问题。



技术实现要素:

本发明实施例提供一种网络攻击信息的检测方法及装置,实现了高效、全面地对互联网中的网络攻击信息进行检测。

本发明实施例提供一种网络攻击信息的检测方法,包括:

对沙箱中的网页进行解码处理,得到所述网页的源代码;

对所述网页的源代码进行分析,得到所述网页的源代码的所有可执行代码路径;

根据所述所有可执行代码路径,执行每个可执行代码路径对应的所述网页的当前源代码,得到所述每个可执行代码路径的执行结果;

若得到的执行结果中存在异常,则确定所述网页存在网络攻击信息。

进一步地,上述所述的方法中,对所述网页的源代码进行分析,得到所述网页的源代码的所有可执行代码路径,包括:

对所述网页的源代码中的javascript进行编译,得到所述网页对应的二进制代码;

根据预设的划分规则,对所述二进制代码进行划分,得到所述网页的源代码的所有可执行代码路径。

进一步地,上述所述的方法中,根据所述所有可执行代码路径,执行每个可执行代码路径对应的所述网页的当前源代码,得到每个可执行代码路径对应的执行结果,包括:

将每个可执行代码路径,分别放置在路径树中所对应的分支上;

根据当前分支上的可执行代码路径,在当前分支上执行所述网页的当前源代码过程中,若遇到call指令生成子进程,对所述子进程进行标记检测;

若检测出所述子进程为混淆程序,确定所述可执行代码路径对应的执行结果为异常。

进一步地,上述所述的方法,还包括:

在执行每个可执行代码路径对应的所述网页的当前源代码的过程中,监测所述沙箱的内存使用状态是否达到设定的阈值;

若监测到所述沙箱的内存使用量达到设定的阈值,确定所述网页存在网络攻击信息。

进一步地,上述所述的方法,还包括:确定所述网页存在网络攻击信息之后,还包括:

获取所述网页对应的网站的链接信息;

根据所述网站的链接信息,获取所述网页的数据。

本发明实施例还提供一种网络攻击信息的检测装置,包括:

处理模块,用于对沙箱中的网页进行解码处理,得到所述网页的源代码;

分析模块,用于对所述网页的源代码进行分析,得到所述网页的源代码的所有可执行代码路径;

执行模块,用于根据所述所有可执行代码路径,执行每个可执行代码路径对应的所述网页的当前源代码,得到所述每个可执行代码路径的执行结果;

确定模块,用于若得到的执行结果中存在异常,则确定所述网页存在网络攻击信息。

进一步地,上述所述的装置中,所述分析模块,具体用于:

对所述网页的源代码中的javascript进行编译,得到所述网页对应的二进制代码;

根据预设的划分规则,对所述二进制代码进行划分,得到所述网页的源代码的所有可执行代码路径。

进一步地,上述所述的装置中,所述执行模块,具体用于:

将每个可执行代码路径,分别放置在路径树中所对应的分支上;

根据当前分支上的可执行代码路径,在当前分支上执行所述网页的当前源代码过程中,若遇到call指令生成子进程,对所述子进程进行标记检测;

若检测出所述子进程为混淆程序,确定所述可执行代码路径对应的执行结果为异常。

进一步地,上述所述的装置,还包括:监测模块,用于在执行每个可执行代码路径对应的所述网页的当前源代码的过程中,监测所述沙箱的内存使用状态是否达到设定的阈值;

所述确定模块,还用于若监测到所述沙箱的内存使用量达到设定的阈值,确定所述网页存在网络攻击信息。

进一步地,上述所述的装置,还包括:

获取模块,用于获取所述网页对应的网站的链接信息,根据所述网站的链接信息,获取所述网页的数据。

本发明实施例的网络攻击信息的检测方法及装置,通过对沙箱中的网页进行解码处理,得到网页的源代码后,对网页的源代码进行分析,得到网页的源代码的所有可执行代码路径,并根据所有可执行代码路径,执行每个可执行代码路径对应的网页的当前源代码,得到每个可执行代码路径的执行结果,若得到的执行结果中存在异常,则确定网页存在网络攻击信息,实现了高效、全面地对互联网中的网络攻击信息进行检测。

附图说明

此处所说明的附图用来提供对本发明实施例的进一步理解,构成本发明实施例的一部分,本发明实施例的示意性实施例及其说明用于解释本发明实施例,并不构成对本发明实施例的不当限定。在附图中:

图1为本发明实施例的网络攻击信息的检测方法实施例一的流程图;

图2为本发明实施例的网络攻击信息的检测方法实施例二的流程图;

图3为本发明实施例的网络攻击信息的检测方法实施例三的流程图;

图4为本发明实施例的网络攻击信息的检测装置实施例一的结构示意图;

图5为本发明实施例的网络攻击信息的检测装置实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例具体实施例及相应的附图对本发明实施例技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明实施例保护的范围。

说明书和权利要求书及上述附图中的术语“第一”、“第二”等(如果存在)是用于区别类似的部分,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示的以外的顺序实施。

以下结合附图,详细说明本发明实施例各实施例提供的技术方案。

实施例一

图1为本发明实施例的网络攻击信息的检测方法实施例一的流程图,如图1所示,本发明实施例的网络攻击信息的检测方法,具体可以包括如下步骤:

100、对沙箱中的网页进行解码处理,得到网页的源代码。

本发明实施例为了加强对网络安全的保护,可以将沙箱技术应用于网页防护中。从技术实现角度而言,就是从原有的阻止可疑程序对系统访问,转变成将可疑程序对磁盘、注册表等的访问重定向到指定文件夹下,从而消除对系统的危害。

用户通过浏览器所作的任何写磁盘操作,都将重定向到一个特定的临时文件夹中。这样,即使网页中包含病毒,木马,广告等恶意程序,被强行安装后,也只是安装到了临时文件夹中,不会对用户终端造成危害。

在一个具体实现过程中,当某一网页被载入沙箱后,可以主动对该网页和/或该网页对应的网站提供的其它相关网页进行解码处理,从而可以得到每个网页的源代码。

101、对网页的源代码进行分析,得到网页的源代码的所有可执行代码路径。

在得到网页的源代码后,若按照网页的源代码的逻辑关系执行网页的源代码,其效率比较低,因此本发明实施例可以利用路径执行技术对网页的源代码进行分析,从网页的源代码中找出所有可执行代码路径。其中可执行代码路径为一连串的源代码语句,该一连串的源代码语句起始于程序开始运行的语句并且终止于一条特定的语句。

102、根据所有可执行代码路径,执行每个可执行代码路径对应的网页的当前源代码,得到每个可执行代码路径的执行结果。

例如,本发明实施例可以构造一个路径树,在得到所有可执行代码路径之后,可以将每个可执行代码路径,分别放置在路径树中所对应的分支上;根据当前分支上的可执行代码路径,在当前分支上执行网页的当前源代码过程中,若遇到call指令生成子进程,对子进程进行标记检测;若检测出子进程为混淆程序,确定可执行代码路径对应的执行结果为异常。

在一个具体实现过程中,本发明实施例将每个可执行代码路径,分别放置在路径树中所对应的分支上,可以使得在每个分支上执行网页的当前源代码时不受网页的源代码逻辑关系限制,能够独立执行每一个分支上的网页的当前源代码,使得执行网页的源代码的效率更高。且在当前分支上执行网页的当前源代码过程中,网页会生成一个新的事件,例如弹出一个广告信息等,此时相当于call指令生成子进程,本发明实施例中,可以将该可执行代码路径对应的网页的当前源代码列为可疑网络攻击信息,并将该子进程进行标记并对该子进程进行检测。

由于网络攻击信息目的是攻击网络,所以生成的子进程所对应的程序代码是不想被编译破解的,此时子进程所对应的程序代码是会采用代码混淆的方式进行加密处理等操作,最终形成一个混淆程序。因此,本发明实施例中若检测出所述子进程为混淆程序,则可以确定该可执行代码路径对应的执行结果为异常;反之,则可执行代码路径对应的执行结果为正常。

需要说明的是,本发明实施例中的网络攻击信息可以包括但不限制于恶意代码和/或漏洞。为了保护网络不被攻击,本发明实施例在确定该可执行代码路径对应的执行结果为异常后,可以将该子进程禁止,并删除该子进程。

103、若得到的执行结果中存在异常,则确定网页存在网络攻击信息。

若到的执行结果中存在异常,说明该网页中存在网络攻击信息的可能性比较大,为了能够保护网络不被攻击,本发明实施例可以将此网页确定为存在网络攻击信息,以便后续对该网页进行重点检测。

本发明实施例的网络攻击信息的检测方法的执行主体可以为网络攻击信息的检测装置,该网络攻击信息的检测装置具体可以通过软件来集成,例如该网络攻击信息的检测装置具体可以为一个应用,本发明对此不进行特别限定。

本发明实施例的网络攻击信息的检测方法,通过对沙箱中的网页进行解码处理,得到网页的源代码后,对网页的源代码进行分析,得到网页的源代码的所有可执行代码路径,并根据所有可执行代码路径,执行每个可执行代码路径对应的网页的当前源代码,得到每个可执行代码路径的执行结果,若得到的执行结果中存在异常,则确定网页存在网络攻击信息,实现了高效、全面地对互联网中的网络攻击信息进行检测。

实施例二

图2为本发明实施例的网络攻击信息的检测方法实施例二的流程图,如图2所示,本发明实施例在图1所示实施例的基础上进一步更加详细地对本发明的技术方案进行描述。

如图2所示,本发明实施例的网络攻击信息的检测方法,具体可以包括如下步骤:

200、对沙箱中的网页进行解码处理,得到网页的源代码。

本发明实施例的实现原理与图1所示实施例中步骤100的实现原理相同,详细请参考上述相关记载,在此不再赘述。

201、对网页的源代码中的javascript进行编译,得到网页对应的二进制代码。

为了能够识别得到网页的源代码,本发明实施例可以对网页的源代码中的javascrip(客户端web开发的脚本语言)进行编译,得到该网页对应的二进制代码。

202、根据预设的划分规则,对二进制代码进行划分,得到网页的源代码的所有可执行代码路径。

在得到该网页对应的二进制代码之后,可以根据预设的划分规则,对二进制代码进行划分,得到网页的源代码的所有可执行代码路径。

例如,可以分别设定起始于程序开始运行的语句对应的第一标识以及终止于一条特定的语句的第二标识,在编译二进制代码时,将该标识写入二进制代码中,针对第一标识和第二标识设置划分规则,以准确的识别第一标识和第二标识等,从而对二进制代码进行划分,得到网页的源代码的所有可执行代码路径。

203、根据所有可执行代码路径,执行每个可执行代码路径对应的网页的当前源代码,得到每个可执行代码路径的执行结果。

本发明实施例的实现原理与图1所示实施例中步骤102的实现原理相同,详细请参考上述相关记载,在此不再赘述。

204、若得到的执行结果中存在异常,则确定网页存在网络攻击信息。

本发明实施例的实现原理与图1所示实施例中步骤103的实现原理相同,详细请参考上述相关记载,在此不再赘述。

205、获取网页对应的网站的链接信息。

在一个具体实现过程中,为了保护网络不被攻击、提高漏洞扫描器检测网络攻击信息的可靠性,需要漏洞扫描器能够抓取网页的所有数据,因此本发明实施例的网络攻击信息的检测方法,在确定网页存在网络攻击信息之后,需要对该网页进行重点检测,并获取该网页对应的网站的链接信息。

206、根据网站的链接信息,获取网页的数据。

在得到网站的链接信息之后,可以根据该链接信息获取到网页的数据。例如,网页当前页面的内容、网页后台数据等。

本发明实施例的网络攻击信息的检测方法,实现了高效、全面地对互联网中的网络攻击信息进行检测,并提高了漏洞扫描器发现漏洞的概率,以及检测网络攻击信息的可靠性。

实施例三

图3为本发明实施例的网络攻击信息的检测方法实施例三的流程图,如图3所示,本发明实施例在图1所示实施例的基础上进一步更加详细地对本发明的技术方案进行描述。

如图3所示,本发明实施例的网络攻击信息的检测方法,具体可以包括如下步骤:

300、对沙箱中的网页进行解码处理,得到网页的源代码。

本发明实施例的实现原理与图1所示实施例中步骤100的实现原理相同,详细请参考上述相关记载,在此不再赘述。

301、对所网页的源代码中的javascript进行编译,得到网页对应的二进制代码。

本发明实施例的实现原理与图2所示实施例中步骤201的实现原理相同,详细请参考上述相关记载,在此不再赘述。

302、根据预设的划分规则,对二进制代码进行划分,得到网页的源代码的所有可执行代码路径。

本发明实施例的实现原理与图2所示实施例中步骤202的实现原理相同,详细请参考上述相关记载,在此不再赘述。

303、根据所有可执行代码路径,执行每个可执行代码路径对应的网页的当前源代码。

本发明实施例的实现原理与图2所示实施例中步骤203的实现原理相同,详细请参考上述相关记载,在此不再赘述。

304、在执行每个可执行代码路径对应的网页的当前源代码的过程中,监测沙箱的内存使用状态是否达到设定的阈值;若监测到沙箱的内存使用量达到设定的阈值,执行步骤305,否则,结束。

为了能够更有效的发现网页中网络攻击信息,本发明实施例的网络攻击信息的检测方法,还可以在执行每个可执行代码路径对应的网页的当前源代码的过程中,监测沙箱的内存使用状态是否达到设定的阈值。

在一个具体实现过程中,沙箱执行正常的可执行代码路径对应的网页的当前源代码的过程中,其对沙箱的内存消耗是比较低的,而沙箱执行不正常可执行代码路径对应的网页的当前源代码的过程中,其对沙箱的内存消耗是比较高的,因此,本发明实施例的网络攻击信息的检测方法,还可以针对沙箱的内存使用量设定一个阈值,并监测沙箱的内存使用状态是否达到设定的阈值,若监测到沙箱的内存使用量达到设定的阈值,执行步骤305。

305、确定网页存在网络攻击信息。

例如,若监测到沙箱的内存使用量达到设定的阈值,说明该可执行路径异常,此时为了保护网络不受攻击,可以确定网页存在网络攻击信息,以便后续对该网页进行重点检测。

306、获取网页对应的网站的链接信息。

本发明实施例的实现原理与图2所示实施例中步骤205的实现原理相同,详细请参考上述相关记载,在此不再赘述。

307、根据网站的链接信息,获取网页的数据。

本发明实施例的实现原理与图2所示实施例中步骤207的实现原理相同,详细请参考上述相关记载,在此不再赘述。

本发明实施例的网络攻击信息的检测方法,通过监测沙箱的内存使用量,实现了高效、全面地对互联网中的网络攻击信息进行检测,并提高了漏洞扫描器发现漏洞的概率,以及检测网络攻击信息的可靠性。

需要说明的是,在一个具体实现过程中,上述图2所示实施例和图3所示实施例,可以结合使用,例如在执行步骤203中“得到每个可执行代码路径的执行结果”之前执行步骤304和步骤305,若出现步骤305的状况,则可以直接确定该可执行代码路径的执行结果为异常,而不再需要检测生成的子程序是否为混淆程序,才能得知该可执行代码路径的执行结果为异常;若在执行步骤304时,若监测到沙箱的内存使用量未达到设定的阈值,则可以进一步按照图2所示实施例中步骤203-206执行,进而能够更高效、全面地对互联网中的网络攻击信息进行检测提高了漏洞扫描器发现漏洞的概率,以及检测网络攻击信息的可靠性。

实施例四

图4为本发明实施例的网络攻击信息的检测装置实施例一的结构示意图,如图4所示,本发明实施例的网络攻击信息的检测装置可以包括处理模块10、分析模块11、执行模块12和确定模块13。

在一个具体实现过程中,各模块之间相互传递数据。

处理模块10,用于对沙箱中的网页进行解码处理,得到网页的源代码;

分析模块11,用于对网页的源代码进行分析,得到网页的源代码的所有可执行代码路径;

执行模块12,用于根据所有可执行代码路径,执行每个可执行代码路径对应的网页的当前源代码,得到每个可执行代码路径的执行结果;

例如,执行模块12,具体用于:

将每个可执行代码路径,分别放置在路径树中所对应的分支上;

根据当前分支上的可执行代码路径,在当前分支上执行网页的当前源代码过程中,若遇到call指令生成子进程,对子进程进行标记检测;

若检测出子进程为混淆程序,确定可执行代码路径对应的执行结果为异常。

确定模块13,用于若得到的执行结果中存在异常,则确定网页存在网络攻击信息。

例如,本发明实施例中的网络攻击信息可以包括但不限制于恶意代码和/或漏洞。

本发明实施例的网络攻击信息的检测装置,通过采用上述各模块实现检测网络攻击信息的实现机制与上述图1所示实施例的实现机制相同,详细可以参考上述图1所示实施例的记载,在此不再赘述。

本发明实施例的网络攻击信息的检测装置,通过采用上述各模块能够对沙箱中的网页进行解码处理,得到网页的源代码后,对网页的源代码进行分析,得到网页的源代码的所有可执行代码路径,并根据所有可执行代码路径,执行每个可执行代码路径对应的网页的当前源代码,得到每个可执行代码路径的执行结果,若得到的执行结果中存在异常,则确定网页存在网络攻击信息,实现了高效、全面地对互联网中的网络攻击信息进行检测。

实施例五

图5为本发明实施例的网络攻击信息的检测装置实施例二的结构示意图,如图5所示,本发明实施例的网络攻击信息的检测装置在图4所示实施例的基础上进一步还可以包括监测模块14和获取模块15。

在一个具体实现过程中,分析模块11,具体用于:

对所网页的源代码中的javascript进行编译,得到网页对应的二进制代码;

根据预设的划分规则,对二进制代码进行划分,得到网页的源代码的所有可执行代码路径。

监测模块14,用于在执行每个可执行代码路径对应的网页的当前源代码的过程中,监测沙箱的内存使用状态是否达到设定的阈值;

确定模块13,还用于若监测到沙箱的内存使用量达到设定的阈值,确定网页存在网络攻击信息。

获取模块15,用于获取网页对应的网站的链接信息,根据网站的链接信息,获取网页的数据。

本发明实施例的网络攻击信息的检测装置,通过采用上述各模块实现检测网络攻击信息的实现机制与上述图2或图3所示实施例的实现机制相同,详细可以参考上述图2或图3所示实施例的记载,在此不再赘述。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram)。内存是计算机可读介质的示例。

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitorymedia),如调制的数据信号和载波。

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。

本领域技术人员应明白,本发明实施例的实施例可提供为方法、系统或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1