CN107358095B - 一种威胁检测方法、装置及网络系统 - Google Patents
一种威胁检测方法、装置及网络系统 Download PDFInfo
- Publication number
- CN107358095B CN107358095B CN201610305868.1A CN201610305868A CN107358095B CN 107358095 B CN107358095 B CN 107358095B CN 201610305868 A CN201610305868 A CN 201610305868A CN 107358095 B CN107358095 B CN 107358095B
- Authority
- CN
- China
- Prior art keywords
- page
- code
- display
- display page
- threat detection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 250
- 244000035744 Hura crepitans Species 0.000 claims abstract description 97
- 230000004044 response Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 35
- 238000012544 monitoring process Methods 0.000 claims description 25
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000000034 method Methods 0.000 abstract description 34
- 238000005516 engineering process Methods 0.000 abstract description 14
- 238000007689 inspection Methods 0.000 abstract description 13
- 230000006870 function Effects 0.000 description 30
- 230000008569 process Effects 0.000 description 18
- 238000003860 storage Methods 0.000 description 18
- 230000006854 communication Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000002513 implantation Methods 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000011800 void material Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 238000005194 fractionation Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
- G06F21/128—Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/566—Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1483—Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
Abstract
本申请公开了一种威胁检测方法、装置及网络系统,涉及计算机技术领域,能够解决延迟加载的场景中Web沙箱的漏检问题。该方法包括:在Web沙箱的浏览器加载URL时,获取URL标识的第一显示页面组的页面代码和第一显示页面组在浏览器的显示区域中所占的整体尺寸;在第一显示页面组的页面代码中植入预设的动态代码;解析并执行包含预设的动态代码的第一显示页面组的页面代码;监测到已显示变量的数值大于或等于预设数值时发送请求消息,以请求获取第二显示页面组的页面代码;接收携带第二显示页面组的页面代码的响应消息;在Web沙箱中检测第二显示页面组的页面代码是否携带有攻击代码。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种威胁检测方法、装置及网络系统。
背景技术
随着计算机网络技术的发展与普及,越来越多的用户开始关注网络安全性问题,利用网络(Web)应用实现的网络攻击也频繁出现。例如,攻击者为了达到自己的攻击目的,往往通过各种手段将脚本、链接、图片、flash动画、插件等形式的攻击代码嵌入到动态页面所引用的数据库中,当用户的浏览器浏览到这部分攻击代码时,攻击者即可达到目的。
考虑到沙箱技术在攻击代码检测方面的优势,例如能够发现未知攻击、对运行沙箱的计算机本身的安全不会造成威胁等,人们将沙箱技术与浏览器技术相结合发展出Web沙箱,并利用Web沙箱对浏览器所访问的网页的安全性进行防护。沙箱是在计算机中创建一个虚拟执行环境,也可以被视为操作系统的副本。无论在沙箱中打开哪个可疑文件,该可疑文件对计算机的硬盘、操作系统中的注册表的操作都被定向指定到临时文件夹中。这样即便可疑文件带有木马病毒、广告插件等攻击代码,其影响范围也被限制在虚拟环境中的,不会影响真实的操作系统。随着沙箱的删除,沙箱中所运行过的文件也会自动清除,计算机也不会中毒。因此,用户可以通过在沙箱中运行某一未知文件,以确定该位置文件是否带有攻击代码。Web沙箱的检测原理是模拟用户浏览器的真实环境,并对当前页面在加载过程中发生的行为加以探测、分析,最终来判断当前页面是否对用户的系统环境有威胁行为。
由于现有的Web页面大量采用了延迟加载技术,使得Web沙箱对网页进行安全性检测时检测效果受到较大影响,特别是漏检现象比较严重。延时加载技术是指当用户使用浏览器加载一个统一资源定位符(URL,Uniform/Universal Resource Locator)时,Web服务器端不会一次性返回该URL标识的所有内容,仅会从数据库中先获取部分内容返回给用户。此时用户在浏览器界面中只会看到Web服务器本次返回的内容,只有当用户继续向后浏览网页时,才会触发下载后续页面(以下称为:延迟加载页面)的资源及页面加载和渲染处理。采用延迟加载技术后,可以降低网络吞吐和加速用户浏览器的加载速度,缩短用户等待时间从而提高用户体验,因此延迟加载技术成为一种被普遍使用的技术。然而,采用Web沙箱对网页进行安全性检测时,嵌入在延迟加载页面中的攻击代码无法被检测,造成Web沙箱的漏检问题。
发明内容
本申请的实施例提供一种威胁检测方法、装置及网络系统,能够解决延迟加载的场景中Web沙箱的漏检问题。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请实施例提供一种威胁检测方法,威胁检测装置在Web沙箱的浏览器中加载统一资源定位符URL时,首先从Web服务器获取URL标识的第一显示页面组的页面代码和第一显示页面组在浏览器的显示区域中所占的整体尺寸,该第一显示页面组的页面代码包含监测代码,该监测代码用于获取并监测已显示变量的数值,该已显示变量的数值用于表示在浏览器的显示区域中,第一显示页面组的第一个显示页面的起始位置到当前显示页面之间已显示的显示页面所占的尺寸,其次,该威胁检测装置在其获取到的第一显示页面组的页面代码中植入预设的动态代码,并解析并执行包含预设的动态代码的第一显示页面组的页面代码,依次显示第一显示页面组中的显示页面,预设的动态代码用于触发从当前显示页面切换至当前显示页面的后一显示页面,然后,在威胁检测装置监测到已显示变量的数值大于或等于预设数值时,该威胁检测装置向Web服务器发送携带显示页面组标识的请求消息,用以向所述Web服务器请求获取第二显示页面组的页面代码,第二显示页面组中的第一个显示页面为第一显示页面组中最后一个显示页面的后一显示页面,预设数值大于或等于第一显示页面组的第一个显示页面在浏览器的显示区域中所占的尺寸,且小于第一显示页面组在浏览器的显示区域中所占的整体尺寸,最后,该威胁检测装置接收Web服务器发送的响应于请求消息的响应消息,该响应消息包括第二显示页面组的页面代码,并在沙箱中检测其获取到的第二显示页面组的页面代码中是否携带有攻击代码。
本申请实施例中,预设的动态代码用于触发威胁检测装置从当前显示页面切换至当前显示页面的后一显示页面,即预设的动态代码可以实现当前显示页面自动向其后一显示页面滚动的功能,该功能等价于人机交互的过程。由于预设动态代码用于实现当前显示页面自动向其后一显示页面滚动,因此,本申请实施例中的威胁检测装置在显示第一显示页面组中最后一个显示页面时,在预设的动态代码的作用下,威胁检测装置需要继续显示第二显示页面组中的第一个显示页面,从而触发该威胁检测装置获取第二显示页面组的页面代码,进而使得该威胁检测装置在Web沙箱中检测第二显示页面组的页面代码中是否携带有攻击代码。这样,在延迟加载的场景中,威胁检测装置也可在Web沙箱中检测延迟加载的页面代码中是否携带攻击代码,避免了Web沙箱的漏检问题。
可选的,本申请实施例中威胁检测装置可以通过套接字Socket接口接收Web服务器发送的第一显示页面组的页面代码。
具体的,在这种场景中,威胁检测装置可以在其通过Socket接口接收第一显示页面组的页面代码时,将预设的动态代码植入至第一显示页面组的页面代码中。
可选的,设置钩子程序挂钩本申请实施例中Web沙箱的网络层协议处理函数,该钩子程序用于截获第一显示页面组的页面代码。这样,在钩子程序获取到第一显示页面组的页面代码时,威胁检测装置将预设的动态代码植入至第一显示页面组的页面代码中。
可选的,设置钩子程序挂钩威胁检测装置中Web沙箱的浏览器内核中,该钩子程序用于截获第一显示页面组的页面代码。这样,在钩子程序获取到第一显示页面组的页面代码时,威胁检测装置将预设的动态代码植入至第一显示页面组的页面代码中。
从上述描述可以看出,本申请实施例中的威胁检测装置可在不同时刻将预设的动态代码植入至第一显示页面组中,植入时机较为灵活。
可选的,本申请实施例中的动态代码被置于第一显示页面组的页面代码的末尾。
威胁检测装置将预设的动态代码置于第一显示页面组的页面代码的末尾,既不影响第一显示页面组的页面代码的已有结构,又便于开发人员的识别,在代码实现上也比较简单。
第二方面,本申请实施例提供一种威胁检测装置,该威胁检测装置包括:处理单元、显示单元、发送单元和接收单元。
具体的,本申请实施例提供的各个单元模块所实现的功能具体如下:
上述处理单元,用于在Web沙箱的浏览器中加载统一资源定位符URL时,从Web服务器获取URL标识的第一显示页面组的页面代码和第一显示页面组在浏览器的显示区域中所占的整体尺寸,第一显示页面组的页面代码包含监测代码,该监测代码用于获取并监测已显示变量的数值,该已显示变量的数值用于表示在浏览器的显示区域中,第一显示页面组的第一个显示页面的起始位置到当前显示页面之间已显示的显示页面所占的尺寸,以及用于在第一显示页面组的页面代码中植入预设的动态代码,预设的动态代码用于触发从当前显示页面切换至当前显示页面的后一显示页面,以及用于解析并执行包含预设的动态代码的第一显示页面组的页面代码。
上述显示单元,用于根据上述处理单元解析并执行的包含预设的动态代码的第一显示页面组的页面代码,依次显示第一显示页面组中的显示页面。
上述发送单元,用于在上述处理单元监测到已显示变量的数值大于或等于预设数值时,向Web服务器发送请求消息,请求消息用以向Web服务器请求获取第二显示页面组的页面代码,第二显示页面组中的第一个显示页面为第一显示页面组中最后一个显示页面的后一显示页面,预设数值大于或等于第一显示页面组的第一个显示页面在浏览器的显示区域中所占的尺寸,且小于第一显示页面组在浏览器的显示区域中所占的整体尺寸。
上述接收单元,用于接收Web服务器发送的响应消息,响应消息包括第二显示页面组的页面代码。
上述处理单元,还用于在所述Web沙箱中检测上述接收单元接收到的所述第二显示页面组的页面代码中是否携带有攻击代码。
本申请实施例中预设的动态代码用于触发从当前显示页面切换至当前显示页面的后一显示页面,即预设的动态代码可以实现当前显示页面自动向其后一显示页面滚动的功能。本申请实施例中的威胁检测装置在其获取到的第一显示页面组的页面代码中植入预设的动态代码,使得该威胁检测装置可自动依次显示第一显示页面组中的所有显示页面。在已显示变量的数值大于或等于预设数值时,触发该威胁检测装置与Web服务器进行交互,以获取第二显示页面组的页面代码,从而使得威胁检测装置可在Web沙箱中检测第二显示页面组的页面代码中是否携带有攻击代码,避免了Web沙箱的漏检问题。
可选的,上述处理单元,具体用于通过套接字Socket接口接收Web服务器发送的URL标识的第一显示页面组的页面代码。
可选的,设置钩子程序挂钩Web沙箱的网络层协议处理函数,该钩子程序用于截获第一显示页面组的页面代码,则上述处理单元,具体用于在该钩子程序获取到第一显示页面组的页面代码时,将预设的动态代码植入至第一显示页面组的页面代码中。
可选的,设置钩子程序挂钩Web沙箱的浏览器内核,该钩子程序用于截获第一显示页面组的页面代码,则上述处理单元,具体用于在该钩子程序获取到第一显示页面组的页面代码时,将预设的动态代码植入至第一显示页面组的页面代码中。
可选的,本申请实施例中的预设的动态代码被置于第一显示页面组的页面代码的末尾。
第三方面,本申请另一实施例提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码;当威胁检测装置的处理器在执行该程序代码时,该威胁检测装置执行如上述任一方面及其各种可选实现方式中所述的威胁检测方法。
本申请实施例提供的计算机可读存储介质的技术效果可以参见上述任一方面及其各种可选实现方式所述的对应技术效果,此处不再赘述。
第四方面,本申请另一实施例提供一种网络系统,包括至少一个如上述任一方面及其各种可选实现方式所述的威胁检测装置以及Web服务器,至少一个威胁检测装置中的每个威胁检测装置均与Web服务器之间通过网络连接。
具体的,Web服务器,用于根据上述威胁检测装置发送的请求,向上述威胁检测装置发送相应的页面代码,以使得上述威胁检测装置在Web沙箱中检测其接收到的显示页面组的页面代码中是否携带有攻击代码。
可选的,Web服务器根据上述威胁检测装置发送的统一资源定位符URL,向上述威胁检测装置发送URL标识的第一显示页面组的页面代码;Web服务器根据上述威胁检测装置发送的用于请求获取第二显示页面组的页面代码的请求消息,向上述威胁检测装置发送第二显示页面组的页面代码。
本申请实施例提供的网络系统的技术效果可以参见上述任一方面及其各种可选实现方式所述的威胁检测装置执行的威胁检测方法中描述的威胁检测装置的技术效果,此处不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的网络系统的组成结构示意图一;
图2为本申请实施例提供的网络系统的组成结构示意图二;
图3为本申请实施例提供的网络系统的组成结构示意图三;
图4为本申请实施例提供的威胁检测方法的流程示意图;
图5为本申请实施例提供的威胁检测装置的结构示意图一;
图6为本申请实施例提供的威胁检测装置的结构示意图二;
图7为本申请实施例提供的网络系统的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行详细地描述。
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、接口、技术之类的具体细节,以便透切理解本申请。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
此外,本申请的说明书和权利要求书及附图中的术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请的实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。计算机可读存储介质是非瞬态的计算机可读存储器设备。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。
其中,本申请实施例中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
此外,本申请的说明书和权利要求书及附图中的术语“第一”和“第二”等是用于区别不同对象,而不是用于限定特定顺序。
针对在延迟加载的场景中,Web沙箱对网页进行安全性检测时出现的Web沙箱的漏检问题,本申请实施例提供了一种威胁检测方法,威胁检测装置在其获取到的URL标识的第一显示页面组的页面代码中植入用于触发从当前显示页面切换至当前显示页面的后一显示页面的预设的动态代码,使得该威胁检测装置可自动依次显示第一显示页面组中的所有显示页面,并在自动向后一显示页面滚动功能的作用下,实现该威胁检测装置与Web服务器之间的交互,以获取第二显示页面组的页面代码,从而使得该威胁检测装置在Web沙箱中检测第二显示页面组的页面代码中是否携带有攻击代码,避免了Web沙箱的漏检问题。
本申请实施例中的威胁检测装置,可以是内部建立有Web沙箱的用户终端,也可以是内部建立有Web沙箱的安全检测设备,该安全检测设备位于Web服务器与用户终端之间,还可以是内部建立有Web沙箱的专用旁路检测设备。其中,内部建立有Web沙箱的专用旁路检测设备可以是虚拟操作系统中建立有Web沙箱的专用旁路检测设备,也可以是真实操作系统中建立有Web沙箱的专用旁路检测设备。
其中,用户终端可以是无线终端也可以是有线终端。无线终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。无线终端可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行通信。无线终端可以是移动终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,也可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据,例如,个人通信业务(PCS,PersonalCommunication Service)电话、无绳电话、会话发起协议(SIP)话机、无线本地环路(WLL,Wireless Local Loop)站、个人数字助理(PDA,Personal Digital Assistant)等设备。无线终端也可以称为用户代理(User Agent)、用户设备(User Device)、或用户装备(UserEquipment)。
本申请实施例提供的威胁检测方法应用于网络系统。该网络系统包括至少一个威胁检测装置和Web服务器。
可选的,结合上述描述,若威胁检测装置是内部建立有Web沙箱的用户终端,则本申请实施例提供的威胁检测方法所应用的网络系统的结构如图1所示。参见图1,该网络系统包括Web服务器10和至少一个内部建立有Web沙箱12的用户终端11,Web服务器10与每个用户终端11之间通过网络连接。
Web服务器10存储有文本和媒体等信息,例如音频、视频、图像、图表、图示和表格等。Web服务器10主要为用户终端11提供内容或服务,例如,Web服务器10向用户终端11发送与某一URL相对应的页面代码。
可选的,本申请实施例中的Web服务器10可以是在联网环境中执行一个或多个软件程序的计算设备,也可以是被视为网络上的Web服务器的一个或多个计算设备上执行的虚拟Web服务器,虚拟Web服务器通过软件程序实现。
用户终端11中建立有Web沙箱12,通过预定义的通信协议,用户终端11可与其内部建立的Web沙箱12进行通信。用户终端11可以通过Web沙箱12向Web服务器10请求获取页面代码,其中,页面代码所表示的内容可包括网站的各个组件,例如图像、文本组件、媒体或上述任意组合。用户终端11可以在Web沙箱12中检测Web服务器10向其发送的页面代码是否携带攻击代码。
本申请实施例中的网络可以是通过有线或无线技术提供的任何网络架构。
可选的,结合上述描述,若威胁检测装置是内部建立有Web沙箱的安全设备,则本申请实施例提供的威胁检测方法所应用的网络系统的结构如图2所示。参见图2,该网络系统包括Web服务器20、内部建立有Web沙箱23的安全设备21以及至少一个用户终端22,Web服务器20与安全设备21之间通过网络连接,安全设备21与每个用户终端22之间通过网络连接。
本申请实施例中Web服务器20所能实现的功能与上一示例中Web服务器10所实现的功能相同,此处不再详细赘述。
安全设备21中建立有Web沙箱23,通过预定义的通信协议,安全设备21可与其内部建立的Web沙箱23进行通信。安全设备21可以通过Web沙箱23向Web服务器20请求获取页面代码。安全设备21可以在Web沙箱23中检测Web服务器20向其发送的页面代码中是否携带攻击代码。
用户终端22与安全设备21交互,能够获得安全设备23检测某一页面代码中是否携带有攻击代码的检测结果。
可选的,结合上述描述,若威胁检测装置是内部建立有Web沙箱的专用旁路检测设备,则本申请实施例提供的威胁检测方法所应用的网络系统的结构如图3所示。参见图3,该网络系统包括Web服务器30、交换机31、内部建立有Web沙箱的专用旁路检测设备32以及至少一个用户终端33,Web服务器30与交换机31之间通过网络连接,交换机31与专用旁路检测设备32之间通过网络连接,交换机31与每个用户终端33通过网络连接。
本申请实施例中Web服务器30所能实现的功能与上述示例中Web服务器10所实现的功能相同,此处不再详细赘述。
交换机31在监测到用户终端33向Web服务器30发送的包含URL的请求消息时,将该请求镜像一份,即将包含URL的请求消息复制一份,并向专用旁路检测设备32发送。本申请实施例中的交换机31可以用路由器代替。
专用旁路检测设备32内部的Web沙箱可以是在该专用旁路检测设备的虚拟操作系统中建立,也可以是在该专用旁路检测设备的真实操作系统中建立。通过预定义的通信协议,专用旁路检测设备32可与其内部建立的Web沙箱进行通信。专用旁路检测设备32在获取到包含URL的请求消息后,可以通过其内部的Web沙箱向Web服务器30请求获取与URL对应的页面代码。专用旁路检测设备32可以在其Web沙箱中检测Web服务器30向其发送的页面代码中是否携带有攻击代码。
本申请实施例提供的一种威胁检测方法、装置及网络系统适用于延迟加载的场景中。
图4为本申请实施例提供的一种威胁检测方法的流程示意图,该威胁检测方法可以应用在图1-图3中任意一个附图所示的网络系统中。
参见图4,该威胁检测方法包括:
S400、在Web沙箱的浏览器中加载URL时,威胁检测装置从Web服务器获取URL标识的第一显示页面组的页面代码和第一显示页面组在所述浏览器的显示区域中所占的整体尺寸。
第一显示页面组的页面代码包含监测代码,监测代码用于获取并监测已显示变量的数值。已显示变量的数值用于表示在浏览器的显示区域中,第一显示页面组的第一个显示页面的起始位置到当前显示页面之间已显示的显示页面所占的尺寸。
S401、威胁检测装置在第一显示页面组的页面代码中植入预设的动态代码。
预设的动态代码用于触发从当前显示页面切换至所述当前显示页面的后一显示页面,即预设的动态代码可以实现当前显示页面自动向其后一显示页面滚动的功能,该功能等价于人机交互的过程。
S402、威胁检测装置解析并执行包含预设的动态代码的第一显示页面组的页面代码,依次显示第一显示页面组中的显示页面。
S403、在监测到已显示变量的数值大于或等于预设数值时,威胁检测装置向Web服务器发送请求消息,用于向Web服务器请求获取第二显示页面组的页面代码。
其中,第二显示页面组中的第一个显示页面为第一显示页面组中最后一个显示页面的后一显示页面。也就是说,威胁检测装置会先显示第一显示页面组中的所有显示页面,紧接着显示第二显示页面组中的所有显示页面。
预设数值大于或等于第一显示页面组的第一个显示页面在浏览器的显示区域中所占的尺寸,且小于第一显示页面组在浏览器的显示区域中所占的整体尺寸。
S404、Web服务器向威胁检测装置发送携带第二显示页面组的页面代码的响应消息。
S405、威胁检测装置在Web沙箱中检测第二显示页面组的页面代码中是否携带有攻击代码。
本申请实施例中的威胁检测装置的Web沙箱中内置有能够解析Web页面的客户端,该客户端为常见的浏览器或者其他集成了内置浏览器的应用程序。
应用程序是指为了完成某项或某几项特定任务而被开发运行于操作系统之上的计算机程序。本申请实施例中的能够解析Web页面的应用程序为威胁检测装置的Web沙箱搭载的系统所兼容的应用程序。
为了方便理解,本申请实施例以威胁检测装置的Web沙箱中内置有浏览器为例进行说明。
一般情况下,威胁检测装置在其真实操作系统中通过浏览器打开某一网页的过程可以视为威胁检测装置中的浏览器与Web服务器之间的通信过程。具体的,在延迟加载的场景中,浏览器在加载一个URL时,该浏览器先从Web服务器获取到与该URL对应的所有页面代码的一部分,并加载其获取到的页面代码。只有在用户下拉滚动条或触发显示页面向下滑动时,威胁检测装置中的浏览器才会继续与Web服务器进行通信,获取并加载后续的页面代码。
可以看出,在延迟加载的场景中,与URL对应的所有页面代码会被Web服务器分割为若干段页面代码。为了便于描述,本申请实施例中将分割后的每段页面代码称为页面代码。Web服务器根据威胁检测装置发送的请求消息,向威胁检测装置返回与请求消息相对应的页面代码。Web服务器每次返回的页面代码所表示的内容可在至少一个显示页面中显示,因此,Web服务器每次返回的页面代码为显示页面组的页面代码。本申请实施例中的显示页面组由至少一个显示页面组成。
其中,延迟加载的场景中,Web服务器分割与URL对应的所有页面代码属于现有技术,具体可以参考现有技术的描述,本申请实施例对此不再进行详细赘述。
本申请实施例中的威胁检测装置在Web沙箱的浏览器中加载URL时,从Web服务器获取URL标识的第一显示页面组的页面代码。第一显示页面组的页面代码为与URL对应的所有页面代码中的一部分,且第一显示页面组的页面代码是本申请实施例中的浏览器加载URL时,威胁检测装置首次获取到的页面代码。
具体的,本申请实施例中的威胁检测装置在Web沙箱的浏览器中加载URL时,从Web服务器获取URL标识的第一显示页面组的页面代码和第一显示页面组在所述浏览器的显示区域中所占的整体尺寸,即威胁检测装置执行S400。
威胁检测装置Web服务器获取URL标识的第一显示页面组的页面代码的方法为威胁检测装置向Web服务器发送携带URL的请求消息,Web服务器根据该URL向威胁检测装置发送第一显示页面组的页面代码。
可选的,第一显示页面组的页面代码可以用JavaScript脚本语言表示,也可以用VBScript(Visual Basic Script)脚本语言表示,还可以用其他任意一种用于支持网页内容的脚本语言表示,本申请实施例对此不作具体限定。
威胁检测装置在从Web服务器处获取到第一显示页面组的页面代码后,还会获取第一显示页面组在浏览器的显示区域中所占的整体尺寸。
可选的,本申请实施例中第一显示页面组在浏览器的显示区域中所占的整体尺寸可以为第一显示页面组在浏览器的显示区域中所占的网页可见区域高度值,也可以为第一显示页面组在浏览器的显示区域中所占的网页可见区域宽度值,还可以为第一显示页面组在浏览器的显示区域中所占的网页正文全文宽度值,本申请实施例对此不作具体限定。
示例性的,若第一显示页面组的页面代码用JavaScript脚本语言表示,则威胁检测装置可以通过document.body.clientWidth接口获取到第一显示页面组在浏览器的显示区域中所占的网页可见区域宽度值,通过document.body.clientHeight接口获取到第一显示页面组在浏览器的显示区域中所占的网页可见区域高度值,通过document.body.scrollWidth接口获取到第一显示页面组在浏览器的显示区域中所占的网页正文全文宽度值。document.body.clientWidth接口、document.body.clientHeight接口和document.body.scrollWidth接口的定义可以参考浏览器通信协议,此处不再详细赘述。
其中,本申请实施例可在威胁检测装置的显示屏幕中的任一位置建立直角坐标系,该直角坐标系包括X轴和Y轴。第一显示页面组中的任一显示页面中与该直角坐标系的X轴平行的方向可定义为宽度(或高度),则该显示页面中与该直角坐标系的Y轴平行的方向可定义为高度(或宽度)。
进一步地,威胁检测装置在获取到第一显示页面组的页面代码后,威胁检测装置在其获取到的第一显示页面组的页面代码中植入预设的动态代码,即威胁检测装置执行S401。
其中,本申请实施例中预设的动态代码所使用的脚本语言与第一显示页面组的页面代码所使用的脚本语言可以相同,也可以不同,本申请实施例对此不作具体限定。本申请实施例中只需要保证第一显示页面组的页面代码和预设的动态代码均能被威胁检测装置所识别即可。
示例性的,若预设的动态代码用JavaScript脚本语言表示,则预设的动态代码可以为如下代码:
具体的,在不影响第一显示页面组的页面代码中各个标签的对应关系的前提下,本申请实施例中的威胁检测装置可以将预设的动态代码置于第一显示页面组的页面代码中的任意脚本段落之后。
优选的,威胁检测装置将预设的动态代码置于第一显示页面组的页面代码的末尾。这样不会影响第一显示页面组的页面代码的原有结构,还便于开发人员的识别。此外,在实际应用中,代码的实现也比较简单。
另外,可选的,本申请实施例中的威胁检测装置在第一显示页面组的页面代码中植入预设的动态代码的过程可以是在通过套接字(Socket)接口接收Web服务器发送的第一显示页面组的页面代码时,威胁检测装置将预设的动态代码植入至第一显示页面组的页面代码中。
威胁检测装置在Web沙箱的浏览器中加载URL的过程可以视为该威胁检测装置中的浏览器与Web服务器之间的通信过程。具体的,该浏览器创建与Web服务器之间的Socket接口,并根据超文本传输协议(HTTP,Hypertext Transfer Protocol)规范向Web服务器发送HTTP请求报文;Web服务器根据HTTP规范解析浏览器发送的HTTP请求报文,并向浏览器发送响应消息,该响应消息中包含有页面代码,如JavaScript文档;浏览器解析响应消息中的页面代码,并渲染处理成相应的超文本标记语言(HTML,HyperText Markup Language)页面。
具体的,本申请实施例中的威胁检测装置通过Socket接口接收到Web服务器发送的响应消息时,先判断该响应消息中是否包含有第一显示页面组的页面代码,若包含,则该威胁检测装置在该第一显示页面组的页面代码中植入预设的动态代码。
可选的,本申请实施例中威胁检测设备中设置有钩子程序,该钩子程序挂钩该威胁检测装置的Web沙箱的网络层协议处理函数,该钩子程序用于截获第一显示页面组的页面代码。本申请实施例中的威胁检测装置在第一显示页面组的页面代码中植入预设的动态代码的过程可以是在该钩子程序获取到第一显示页面组的页面代码时,威胁检测装置将预设的动态代码植入至第一显示页面组的页面代码中。
可以理解的是,Web沙箱相当于威胁检测装置的操作系统的副本,因此,Web沙箱也包含有各个通信协议层。本申请实施例中Web沙箱的网络层是具备传输控制协议/因特网互联协议(TCP/IP,Transmission Control Protocol/Internet Protocol)模型中网络层的功能的协议层。
示例性的,若威胁检测装置中的Web沙箱运行在Linux系统中,威胁检测装置中设置有Linux netfilter机制的NF_IP_LOCAL_IN钩子程序,且该NF_IP_LOCAL_IN钩子程序挂钩于Web沙箱的网络层协议处理函数。NF_IP_LOCAL_IN钩子程序在获取到第一显示页面组的页面代码时,威胁检测装置将预设的动态代码植入至该第一显示页面组的页面代码中。
可选的,本申请实施例中威胁检测设备中设置有钩子程序,该钩子程序挂钩Web沙箱的浏览器内核,该钩子程序用于截获第一显示页面组的页面代码。本申请实施例中的威胁检测装置在第一显示页面组的页面代码中植入预设的动态代码的过程可以是在该钩子程序获取到第一显示页面组的页面代码时,威胁检测装置将预设的动态代码植入至第一显示页面组的页面代码中。
具体的,在威胁检测装置中的Web沙箱获取到第一显示页面组的页面代码之后,Web沙箱中的浏览器开始对该第一显示页面组的页面代码进行解析、渲染之前,挂钩Web沙箱的浏览器内核的钩子程序截获到第一显示页面组的页面代码时,威胁检测装置将预设的动态代码植入至该第一显示页面组的页面代码中。
示例性的,若Web沙箱中的浏览器为Webkit浏览器,Webkit浏览器的浏览器内核中存在void Resource Loader::did Receive Data(Resource Handle*,const char*data,int length,int encoded DataLength)接口,该威胁检测装置中设置有钩子程序挂钩Webkit浏览器的浏览器内核。该钩子程序从void Resource Loader::did Receive Data(Resource Handle*,const char*data,int length,int encoded DataLength)接口中的data参数获取到第一显示页面组的页面代码时,威胁检测装置在data参数指向的第一显示页面组的页面代码中植入预设的动态代码。
无论威胁检测装置在哪一时刻将预设的动态代码植入至第一显示页面组的页面代码中,威胁检测装置均可获得包含有预设的动态代码的第一显示页面组的页面代码。
在威胁检测装置获得包含有预设的动态代码的第一显示页面组的页面代码之后,威胁检测装置解析并执行包含预设的动态代码的第一显示页面组的页面代码,依次显示第一显示页面组中的显示页面,即威胁检测装置执行S402。
本申请实施例中预设的动态代码用于触发从当前显示页面切换至当前显示页面的后一显示页面,即预设的动态代码可以实现当前显示页面自动向其后一显示页面滚动的功能,该功能等价于人机交互的过程。
从上述描述可知,第一显示页面组是由至少一个显示页面组成的,因此,威胁检测装置在解析并执行包含预设的动态代码的第一显示页面组的页面代码时,威胁检测装置会依次显示第一显示页面组中的显示页面。
进一步地,威胁检测装置在解析并执行包含预设的动态代码的第一显示页面组的页面代码时,该威胁检测装置会监测已显示变量的数值的变化。
由上面描述可知,已显示变量的数值用于表示在浏览器的显示区域中,第一显示页面组的第一个显示页面的起始位置到当前显示页面之间已显示的显示页面所占的尺寸。容易理解的是,威胁检测装置依次显示第一显示页面组中的显示页面时,已显示变量的数值会逐渐增大。
其中,已显示变量的数值可以表示已显示的显示页面在浏览器的显示区域中所占的网页可见区域宽度值,也可以表示已显示的显示页面在浏览器的显示区域中所占的网页可见区域高度值。
具体的,在威胁检测装置监测到已显示变量的数值大于或等于预设数值时,威胁检测装置向Web服务器发送请求消息,即威胁检测装置执行S403。
其中,威胁检测装置发送的请求消息携带有显示页面组标识,Web服务器根据该显示页面组标识确定该威胁检测装置需要获取哪一显示页面组的页面代码。
上述显示页面组标识可以是第一显示页面组的标识,也可以是第二显示页面组的标识,本申请实施例对此不作具体限定。若本申请实施例中的请求消息携带有第一显示页面组的标识,则Web服务器据此查找第一显示页面组的标识所标识的第一显示页面组之后的第二显示页面组的页面代码,并将第二显示页面组的页面代码返回。若本申请实施例中的请求消息携带有第二显示页面组的标识,Web服务器据此查找第二显示页面组的标识所标识的第二显示页面组的页面代码并将其返回。
若本申请实施例中请求消息携带的显示页面组标识为第二显示页面组的标识,则该显示页面组标识可以为第二显示页面组在所有显示页面组中的显示次序,也可以为第二显示页面组的索引信息,本申请实施例对此不作具体限定。
示例性的,若第二显示页面组在所有显示页面组中的显示次序为2,则请求消息中可以携带get page2的操作码。
进一步地,威胁检测装置向Web服务器发送请求消息后,Web服务器会向威胁检测装置发送响应于请求消息的响应消息,该响应消息携带第二显示页面组的页面代码,即执行S404。
相应的,威胁检测装置即可获取到第二显示页面组的页面代码。
进一步地,威胁检测装置在Web沙箱中检测第二显示页面组的页面代码中是否携带有攻击代码,即威胁检测装置执行S405。
威胁检测装置在Web沙箱中检测第二显示页面组的页面代码中是否携带有攻击代码的过程可以参考现有Web沙箱的检测原理,此处不再详细赘述。
第二显示页面组的页面代码属于延迟加载的页面代码,因此,采用本申请提供的威胁检测方法,威胁检测装置可以检测延迟加载页面中是否携带有攻击代码,避免了Web沙箱的漏检问题。
威胁检测装置在获取到第二显示页面组的页面代码后,第一显示页面组的页面代码和第二显示页面组的页面代码会被合并为同一页面代码,此时,威胁检测装置会继续运行预设的动态代码。因此,威胁检测装置会继续自动切换显示页面。威胁检测装置自动切换显示页面,会触发该威胁检测装置继续与Web服务器交互,获取后续的显示页面组的页面代码,并对后续的显示页面组的页面代码进行检测,直至与URL对应的所有显示页面加载完毕,该流程结束。
示例性的,若预设的动态代码为上述示例所示的代码,上述示例所示的预设的动态代码中只要变量currentLocate的数值小于变量pageHeight的数值,当前显示页面就会自动滚动到后一显示页面。威胁检测装置在获取到第二显示页面组的页面代码后,该威胁检测装置获取到的变量pageHeight的数值也会随之增大,因此,威胁检测装置会继续自动切换显示页面。
从上面描述可知,采用本申请实施例提供的威胁检测方法,威胁检测装置在Web沙箱中可以获取到延迟加载的页面代码,从而可以在Web沙箱中检测延迟加载的页面代码是否携带有攻击代码,避免了Web沙箱的漏检问题。
本申请实施例提供一种威胁检测装置1,该威胁检测装置1用于执行以上威胁检测方法中的威胁检测装置所执行的步骤。所述威胁检测装置1可以包括相应步骤所对应的模块。
如图5所示,该威胁检测装置1包括处理单元50、显示单元51、发送单元52和接收单元53。
处理单元50,用于在Web沙箱的浏览器中加载统一资源定位符URL时,从Web服务器获取所述URL标识的第一显示页面组的页面代码和所述第一显示页面组在所述浏览器的显示区域中所占的整体尺寸,所述第一显示页面组的页面代码包含监测代码,所述监测代码用于获取并监测已显示变量的数值,所述已显示变量的数值用于表示在所述浏览器的显示区域中,所述第一显示页面组的第一个显示页面的起始位置到当前显示页面之间已显示的显示页面所占的尺寸,以及用于在所述第一显示页面组的页面代码中植入预设的动态代码,所述预设的动态代码用于触发从所述当前显示页面切换至所述当前显示页面的后一显示页面,以及用于解析并执行包含所述预设的动态代码的第一显示页面组的页面代码。
显示单元51,用于根据所述处理单元50解析并执行的包含所述预设的动态代码的第一显示页面组的页面代码,依次显示所述第一显示页面组中的显示页面。
发送单元52,用于在所述处理单元50通过所述监测代码监测到所述已显示变量的数值大于或等于预设数值时,向所述Web服务器发送请求消息,所述请求消息用以向所述Web服务器请求获取第二显示页面组的页面代码,所述第二显示页面组中的第一个显示页面为所述第一显示页面组中最后一个显示页面的后一显示页面,所述预设数值大于或等于所述第一显示页面组的第一个显示页面在所述浏览器的显示区域中所占的尺寸,且小于所述第一显示页面组在所述浏览器的显示区域中所占的整体尺寸。
接收单元53,用于接收所述Web服务器发送的响应消息,所述响应消息包括所述第二显示页面组的页面代码。
所述处理单元50,还用于在Web沙箱中检测所述接收单元53接收到的所述第二显示页面组的页面代码中是否携带有攻击代码。
进一步地,所述处理单元50,具体用于通过套接字Socket接口接收所述Web服务器发送的所述URL标识的第一显示页面组的页面代码。
可选的,本申请实施例中的威胁检测装置1中设置钩子程序挂钩所述Web沙箱的网络层协议处理函数,所述钩子程序用于截获所述第一显示页面组的页面代码,则所述处理单元50,具体用于在所述钩子程序获取到所述第一显示页面组的页面代码时,将所述预设的动态代码植入至所述第一显示页面组的页面代码中。
可选的,本申请实施例中的威胁检测装置1中设置钩子程序挂钩所述Web沙箱的浏览器内核,所述钩子程序用于截获所述第一显示页面组的页面代码,则所述处理单元50,具体用于在所述钩子程序获取到所述第一显示页面组的页面代码时,将所述预设的动态代码植入至所述第一显示页面组的页面代码中。
优选的,所述预设的动态代码被置于所述第一显示页面组的页面代码的末尾。
可以理解的是,本申请实施例的威胁检测装置1仅为根据该威胁检测装置1实现的功能进行的逻辑划分。实际应用中,可以进行上述单元的叠加或拆分。
本申请实施例提供的威胁检测装置1所实现的功能与上述实施例提供的威胁检测方法一一对应,对于该威胁检测装置1所实现的更为详细的处理流程,在上述方法实施例中已做详细描述,此处不再详细描述。
本申请另一实施例提供一种威胁检测装置,如图6所示,该威胁检测装置包括接口电路60、处理器61、存储器62、系统总线63和屏幕64。
其中,所述接口电路60、所述处理器61、所述存储器62与所述屏幕64之间通过所述系统总线63连接,并完成相互间通信。
本领域技术人员可以理解,图6所示的威胁检测装置的结构并不是对威胁检测装置的限定,其可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
具体的,当所述威胁检测装置运行时,所述威胁检测装置执行如图4所示的实施例的威胁检测方法。具体的威胁检测方法可参见上述如图4所示的实施例中的相关描述,此处不再赘述。
本申请实施例中的威胁检测装置中建立有Web沙箱。
结合上一实施例,本申请实施例中的接口电路60可以为上一实施例中的发送单元52,也可以为上一实施例中的接收单元53。
具体的,接口电路60用于实现该威胁检测装置与Web服务器之间的通信连接。
结合上一实施例,本申请实施例中的存储器62可以为上一实施例中的处理单元50。
具体的,所述存储器62可用于存储软件程序以及应用模块,处理器61通过运行存储在存储器62的软件程序以及应用模块,从而执行威胁检测装置的各种功能应用以及数据处理。
存储器62可主要包括存储程序区620和存储数据区621,其中,存储程序区620可存储操作系统、至少一个功能所需的应用程序,比如发送请求消息功能等;存储数据区可621存储Web服务器发送的页面代码,比如保存第一显示页面组的页面代码和第二显示页面组的页面代码。
其中,所述存储器62可以包括易失性存储器,例如高速随机存取存储器(RAM,Random Access Memory),所述存储器62也可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件,本申请实施例对此不作具体限定。
结合上一实施例,本申请实施例中的处理器61可以为上一实施例中的处理单元50。
具体的,所述处理器61是威胁检测装置的控制中心。
所述处理器61利用各种接口和线路连接整个威胁检测装置的各个部分,通过运行或执行存储在存储器62内的软件程序和/或应用模块,以及调用存储在存储器62内的数据,执行威胁检测装置的各种功能和处理数据,从而对威胁检测装置进行整体监控。
可选的,处理器61可以为中央处理器(CPU,Central Processing Unit)。所述处理器61还可以为其他通用处理器、数字信号处理器(DSP,Digital Signal Processing)或者其他可编程逻辑器件或者晶体管逻辑器件、分立硬件组件等,本申请实施例对此不作具体限定。
其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
所述系统总线63可以包括数据总线、电源总线、控制总线和信号状态总线等。
本申请实施例中为了清楚说明,在图6中将各种总线都示意为系统总线63。
结合上一实施例,本申请实施例中的屏幕64可以为上一实施例中的显示单元51。
本申请实施例提供了一种威胁检测装置,威胁检测装置中存储有预设的动态代码,该预设的动态代码用于触发威胁检测装置从当前显示页面切换至当前显示页面的后一显示页面,因此,威胁检测装置在运行该第一显示页面组的页面代码和预设的动态代码时,会依次显示第一显示页面组中的显示页面,在威胁检测装置监测到已显示变量的数值大于或等于预设数值时,威胁检测装置与Web服务器进行交互,以获取第二显示页面组的页面代码。这样,在延迟加载的场景中,该威胁检测装置在Web沙箱中也可以获取到延迟加载的页面代码,从而使得威胁检测装置在Web沙箱中检测延迟加载的页面代码中是否携带有攻击代码,避免了威胁检测装置在Web沙箱中对延迟加载的页面代码的漏检。
如图4所示的实施例所述威胁检测方法如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本领域内的技术人员应明白,本申请的实施例可提供为方法、电子设备、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个包括有程序代码的计算机可读存储介质上实施的计算机程序产品的形式,所述计算机存储介质包括但不限于U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、磁盘存储器、CD-ROM、光学存储器等。
相应的,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括一个或多个程序代码,当威胁检测装置中的处理器在执行该程序代码时,该威胁检测装置执行如图4所示的威胁检测方法。
本申请实施例还提供一种网络系统,如图7所示,该网络系统包括至少一个如上述各实施例所述的威胁检测装置和Web服务器。
具体的,Web服务器,用于根据威胁检测装置发送的请求,向威胁检测装置发送相应的页面代码,以使得威胁检测装置在Web沙箱中检测其接收到的显示页面组的页面代码中是否携带有攻击代码。
可选的,Web服务器根据威胁检测装置发送的统一资源定位符URL,向威胁检测装置发送URL标识的第一显示页面组的页面代码;Web服务器根据威胁检测装置发送的用于请求获取第二显示页面组的页面代码的请求消息,向威胁检测装置发送第二显示页面组的页面代码。
对于Web服务器所实现的更为详细的处理流程,在上述实施例中已做详细描述,此处不再详细描述。
对于威胁检测装置所实现的更为详细的处理流程,在上述实施例中已做详细描述,此处不再详细描述。
本申请实施例提供了一种网络系统,网络系统中的威胁检测装置中存储有预设的动态代码,该预设的动态代码用于触发威胁检测装置从当前显示页面切换至当前显示页面的后一显示页面,因此,威胁检测装置在运行该第一显示页面组的页面代码和预设的动态代码时,会依次显示第一显示页面组中的显示页面,在威胁检测装置监测到已显示变量的数值大于或等于预设数值时,威胁检测装置与Web服务器进行交互,以获取第二显示页面组的页面代码。这样,在延迟加载的场景中,该威胁检测装置在Web沙箱中也可以获取到延迟加载的页面代码,从而使得威胁检测装置在Web沙箱中检测延迟加载的页面代码是否携带有攻击代码,避免了威胁检测装置在Web沙箱中对延迟加载的页面代码的漏检。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。
例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
尽管已描述了本申请的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请范围的所有变更和修改。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (11)
1.一种威胁检测方法,其特征在于,包括:
威胁检测装置在Web沙箱的浏览器中加载统一资源定位符URL时,从Web服务器获取所述URL标识的第一显示页面组的页面代码和所述第一显示页面组在所述浏览器的显示区域中所占的整体尺寸,所述第一显示页面组的页面代码包含监测代码,所述监测代码用于获取并监测已显示变量的数值,所述已显示变量的数值用于表示在所述浏览器的显示区域中,所述第一显示页面组的第一个显示页面的起始位置到当前显示页面之间已显示的显示页面所占的尺寸;
所述威胁检测装置在所述第一显示页面组的页面代码中植入预设的动态代码,所述预设的动态代码用于触发从所述当前显示页面切换至所述当前显示页面的后一显示页面;
所述威胁检测装置解析并执行包含所述预设的动态代码的第一显示页面组的页面代码,依次显示所述第一显示页面组中的显示页面;
若所述威胁检测装置通过所述监测代码监测到所述已显示变量的数值大于或等于预设数值,则向所述Web服务器发送请求消息,所述请求消息用以向所述Web服务器请求获取第二显示页面组的页面代码,所述第二显示页面组中的第一个显示页面为所述第一显示页面组中最后一个显示页面的后一显示页面,所述预设数值大于或等于所述第一显示页面组的第一个显示页面在所述浏览器的显示区域中所占的尺寸,且小于所述第一显示页面组在所述浏览器的显示区域中所占的整体尺寸;
所述威胁检测装置接收所述Web服务器发送的响应消息,所述响应消息携带所述第二显示页面组的页面代码;
所述威胁检测装置在所述Web沙箱中检测所述第二显示页面组的页面代码中是否携带有攻击代码。
2.根据权利要求1所述的威胁检测方法,其特征在于,所述威胁检测装置从Web服务器获取所述URL标识的第一显示页面组的页面代码,包括:
所述威胁检测装置通过套接字Socket接口接收所述Web服务器发送的所述URL标识的第一显示页面组的页面代码。
3.根据权利要求1或2所述的威胁检测方法,其特征在于,设置钩子程序挂钩所述Web沙箱的网络层协议处理函数,所述钩子程序用于截获所述第一显示页面组的页面代码;
所述威胁检测装置在所述第一显示页面组的页面代码中植入预设的动态代码,包括:
在所述钩子程序获取到所述第一显示页面组的页面代码时,所述威胁检测装置将所述预设的动态代码植入至所述第一显示页面组的页面代码中。
4.根据权利要求1或2所述的威胁检测方法,其特征在于,设置钩子程序挂钩所述Web沙箱的浏览器内核,所述钩子程序用于截获所述第一显示页面组的页面代码;
所述威胁检测装置在所述第一显示页面组的页面代码中植入预设的动态代码,包括:
在所述钩子程序获取到所述第一显示页面组的页面代码时,所述威胁检测装置将所述预设的动态代码植入至所述第一显示页面组的页面代码中。
5.根据权利要求1或2所述的威胁检测方法,其特征在于,所述预设的动态代码被置于所述第一显示页面组的页面代码的末尾。
6.一种威胁检测装置,其特征在于,包括:
处理单元,用于在Web沙箱的浏览器中加载统一资源定位符URL时,从Web服务器获取所述URL标识的第一显示页面组的页面代码和所述第一显示页面组在所述浏览器的显示区域中所占的整体尺寸,所述第一显示页面组的页面代码包含监测代码,所述监测代码用于获取并监测已显示变量的数值,所述已显示变量的数值用于表示在所述浏览器的显示区域中,所述第一显示页面组的第一个显示页面的起始位置到当前显示页面之间已显示的显示页面所占的尺寸,以及用于在所述第一显示页面组的页面代码中植入预设的动态代码,所述预设的动态代码用于触发从所述当前显示页面切换至所述当前显示页面的后一显示页面,以及用于解析并执行包含所述预设的动态代码的第一显示页面组的页面代码;
显示单元,用于根据所述处理单元解析并执行的包含所述预设的动态代码的第一显示页面组的页面代码,依次显示所述第一显示页面组中的显示页面;
发送单元,用于在所述处理单元通过所述监测代码监测到所述已显示变量的数值大于或等于预设数值时,向所述Web服务器发送请求消息,所述请求消息用以向所述Web服务器请求获取第二显示页面组的页面代码,所述第二显示页面组中的第一个显示页面为所述第一显示页面组中最后一个显示页面的后一显示页面,所述预设数值大于或等于所述第一显示页面组的第一个显示页面在所述浏览器的显示区域中所占的尺寸,且小于所述第一显示页面组在所述浏览器的显示区域中所占的整体尺寸;
接收单元,用于接收所述Web服务器发送的响应消息,所述响应消息包括所述第二显示页面组的页面代码;
所述处理单元,还用于在所述Web沙箱中检测所述接收单元接收到的所述第二显示页面组的页面代码中是否携带有攻击代码。
7.根据权利要求6所述的威胁检测装置,其特征在于,
所述处理单元,具体用于通过套接字Socket接口接收所述Web服务器发送的所述URL标识的第一显示页面组的页面代码。
8.根据权利要求6或7所述的威胁检测装置,其特征在于,设置钩子程序挂钩所述Web沙箱的网络层协议处理函数,所述钩子程序用于截获所述第一显示页面组的页面代码;
所述处理单元,具体用于在所述钩子程序获取到所述第一显示页面组的页面代码时,将所述预设的动态代码植入至所述第一显示页面组的页面代码中。
9.根据权利要求6或7所述的威胁检测装置,其特征在于,设置钩子程序挂钩所述Web沙箱的浏览器内核,所述钩子程序用于截获所述第一显示页面组的页面代码;
所述处理单元,具体用于在所述钩子程序获取到所述第一显示页面组的页面代码时,将所述预设的动态代码植入至所述第一显示页面组的页面代码中。
10.根据权利要求6或7所述的威胁检测装置,其特征在于,
所述预设的动态代码被置于所述第一显示页面组的页面代码的末尾。
11.一种网络系统,其特征在于,包括至少一个如权利要求6-10中任意一项所述的威胁检测装置以及Web服务器,其中,所述至少一个威胁检测装置中的每个威胁检测装置均与所述Web服务器之间通过网络相连。
Priority Applications (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305868.1A CN107358095B (zh) | 2016-05-10 | 2016-05-10 | 一种威胁检测方法、装置及网络系统 |
PCT/CN2017/071149 WO2017193626A1 (zh) | 2016-05-10 | 2017-01-13 | 一种威胁检测方法、装置及网络系统 |
JP2018540440A JP6585853B2 (ja) | 2016-05-10 | 2017-01-13 | 脅威検出方法および装置ならびにネットワーク・システム |
ES17795253T ES2764672T3 (es) | 2016-05-10 | 2017-01-13 | Método y aparato de detección de amenazas y sistema de red |
EP17795253.8A EP3306510B1 (en) | 2016-05-10 | 2017-01-13 | Threat detection method and apparatus, and network system |
US15/866,236 US11036849B2 (en) | 2016-05-10 | 2018-01-09 | Threat detection method and apparatus, and network system |
US17/103,247 US11604872B2 (en) | 2016-05-10 | 2020-11-24 | Threat detection method and apparatus, and network system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610305868.1A CN107358095B (zh) | 2016-05-10 | 2016-05-10 | 一种威胁检测方法、装置及网络系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107358095A CN107358095A (zh) | 2017-11-17 |
CN107358095B true CN107358095B (zh) | 2019-10-25 |
Family
ID=60266968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610305868.1A Active CN107358095B (zh) | 2016-05-10 | 2016-05-10 | 一种威胁检测方法、装置及网络系统 |
Country Status (6)
Country | Link |
---|---|
US (2) | US11036849B2 (zh) |
EP (1) | EP3306510B1 (zh) |
JP (1) | JP6585853B2 (zh) |
CN (1) | CN107358095B (zh) |
ES (1) | ES2764672T3 (zh) |
WO (1) | WO2017193626A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563946A (zh) * | 2018-04-17 | 2018-09-21 | 广州大学 | 一种浏览器挖矿行为检测的方法、浏览器插件和系统 |
US10614213B1 (en) * | 2019-11-18 | 2020-04-07 | Clean.io, Inc. | Detecting malicious code existing in internet advertisements by ongoing sandbox monitoring |
CN111225049A (zh) * | 2020-01-02 | 2020-06-02 | 上海多算智能科技有限公司 | 一种自动构建web应用系统镜像的方法 |
CN112434287B (zh) * | 2020-11-20 | 2024-04-02 | 西安四叶草信息技术有限公司 | 一种检测Hook的方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692267A (zh) * | 2009-09-15 | 2010-04-07 | 北京大学 | 一种大规模恶意网页检测方法及系统 |
CN102088379A (zh) * | 2011-01-24 | 2011-06-08 | 国家计算机网络与信息安全管理中心 | 基于沙箱技术的客户端蜜罐网页恶意代码检测方法与装置 |
CN104967628A (zh) * | 2015-07-16 | 2015-10-07 | 浙江大学 | 一种保护web应用安全的诱骗方法 |
Family Cites Families (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7953820B2 (en) * | 2002-09-11 | 2011-05-31 | Hughes Network Systems, Llc | Method and system for providing enhanced performance of web browsing |
US9055093B2 (en) * | 2005-10-21 | 2015-06-09 | Kevin R. Borders | Method, system and computer program product for detecting at least one of security threats and undesirable computer files |
US8272048B2 (en) * | 2006-08-04 | 2012-09-18 | Apple Inc. | Restriction of program process capabilities |
US7873635B2 (en) * | 2007-05-31 | 2011-01-18 | Microsoft Corporation | Search ranger system and double-funnel model for search spam analyses and browser protection |
US9712560B2 (en) * | 2007-11-05 | 2017-07-18 | Cabara Software Ltd. | Web page and web browser protection against malicious injections |
AU2010281297B2 (en) * | 2009-08-07 | 2015-08-06 | Access Innovation Ip Pty Limited | System and method for real time text streaming |
US8341738B2 (en) * | 2009-09-29 | 2012-12-25 | Oracle America, Inc. | API signature verification for high-security platforms |
JP2012078877A (ja) | 2010-09-30 | 2012-04-19 | Dainippon Printing Co Ltd | 脆弱性検査装置、脆弱性検査方法、及び脆弱性検査プログラム |
US9305165B2 (en) | 2011-05-06 | 2016-04-05 | The University Of North Carolina At Chapel Hill | Methods, systems, and computer readable media for detecting injected machine code |
JP2012238218A (ja) * | 2011-05-12 | 2012-12-06 | Sony Corp | 情報処理装置、情報処理方法及びコンピュータプログラム |
US8601579B2 (en) | 2011-06-03 | 2013-12-03 | Apple Inc. | System and method for preserving references in sandboxes |
WO2013035089A2 (en) * | 2011-09-08 | 2013-03-14 | Double Verify Inc. | System and method for enhanced interaction between an iframe or a web page and an embedded iframe from a different domain |
US10380382B2 (en) | 2011-09-30 | 2019-08-13 | Newman Infinite, Inc. | Apparatus, method and computer-readable storage medium for securing javascript |
US10049168B2 (en) * | 2012-01-31 | 2018-08-14 | Openwave Mobility, Inc. | Systems and methods for modifying webpage data |
US9256733B2 (en) * | 2012-04-27 | 2016-02-09 | Microsoft Technology Licensing, Llc | Retrieving content from website through sandbox |
US9104864B2 (en) | 2012-10-24 | 2015-08-11 | Sophos Limited | Threat detection through the accumulated detection of threat characteristics |
US8893222B2 (en) | 2012-11-13 | 2014-11-18 | Auckland Uniservices Ltd. | Security system and method for the android operating system |
JP6311417B2 (ja) | 2014-04-08 | 2018-04-18 | 富士通株式会社 | 無線通信装置、無線通信方法および無線通信プログラム |
EP4220444A1 (en) * | 2014-09-09 | 2023-08-02 | Liveperson Inc. | Dynamic code management |
KR101574652B1 (ko) * | 2015-01-14 | 2015-12-11 | 한국인터넷진흥원 | 모바일 침해사고 분석시스템 및 방법 |
IL237986A0 (en) * | 2015-03-26 | 2015-11-30 | Yaron Peretz | Method and system for broadcasting surfing activities |
CN107757178B (zh) * | 2017-11-24 | 2020-02-21 | 梁志辉 | 自动翻谱器 |
-
2016
- 2016-05-10 CN CN201610305868.1A patent/CN107358095B/zh active Active
-
2017
- 2017-01-13 EP EP17795253.8A patent/EP3306510B1/en active Active
- 2017-01-13 JP JP2018540440A patent/JP6585853B2/ja active Active
- 2017-01-13 WO PCT/CN2017/071149 patent/WO2017193626A1/zh unknown
- 2017-01-13 ES ES17795253T patent/ES2764672T3/es active Active
-
2018
- 2018-01-09 US US15/866,236 patent/US11036849B2/en active Active
-
2020
- 2020-11-24 US US17/103,247 patent/US11604872B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101692267A (zh) * | 2009-09-15 | 2010-04-07 | 北京大学 | 一种大规模恶意网页检测方法及系统 |
CN102088379A (zh) * | 2011-01-24 | 2011-06-08 | 国家计算机网络与信息安全管理中心 | 基于沙箱技术的客户端蜜罐网页恶意代码检测方法与装置 |
CN104967628A (zh) * | 2015-07-16 | 2015-10-07 | 浙江大学 | 一种保护web应用安全的诱骗方法 |
Non-Patent Citations (1)
Title |
---|
跨站点脚本攻击XSS的攻击原理与防护;苏鹏;《电子科学技术》;20140731;第1卷(第1期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20180129804A1 (en) | 2018-05-10 |
JP6585853B2 (ja) | 2019-10-02 |
US20210081526A1 (en) | 2021-03-18 |
WO2017193626A1 (zh) | 2017-11-16 |
US11604872B2 (en) | 2023-03-14 |
JP2019511767A (ja) | 2019-04-25 |
US11036849B2 (en) | 2021-06-15 |
EP3306510A1 (en) | 2018-04-11 |
ES2764672T3 (es) | 2020-06-04 |
EP3306510A4 (en) | 2018-07-18 |
EP3306510B1 (en) | 2019-10-30 |
CN107358095A (zh) | 2017-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107358095B (zh) | 一种威胁检测方法、装置及网络系统 | |
US10015226B2 (en) | Methods for making AJAX web applications bookmarkable and crawlable and devices thereof | |
CN104541262B (zh) | 用于富因特网应用的透明网络内适配的系统和方法 | |
CN107040584B (zh) | 客户端下载图片的方法及装置 | |
CN107203470B (zh) | 页面调试方法和装置 | |
CN104584011A (zh) | 用于web内容和web服务的安全网络内插入的方法和系统 | |
CN104426985A (zh) | 显示网页的方法、装置及系统 | |
CN104601534A (zh) | Cdn系统图像处理的方法及系统 | |
CN107229760A (zh) | 存储介质、电子装置、网页内容的显示方法和装置 | |
CN104954894A (zh) | 一种视频流量引导方法、装置及一种电子设备 | |
CN110580318A (zh) | 信息的展示方法、装置以及存储介质 | |
CN106919690B (zh) | 一种信息的屏蔽方法、装置及电子设备 | |
CN107105004B (zh) | 跨平台的服务调用方法及装置 | |
CN108959393B (zh) | 动态图片处理方法、装置及存储介质 | |
CN108108381A (zh) | 页面的监测方法及装置 | |
CN107864038B (zh) | 证书管理方法、装置、设备及计算机可读存储介质 | |
CN108376090A (zh) | 网页图片的操作方法、装置、终端及存储介质 | |
CN106383705B (zh) | 在应用瘦客户端中设置鼠标显示状态的方法及装置 | |
CN108848161A (zh) | 网络信息处理方法、装置、设备及计算机可读存储介质 | |
CN110334301A (zh) | 一种页面还原方法及装置 | |
CN104978199B (zh) | 一种用于多种浏览器的插件应用方法和装置 | |
CN105979316A (zh) | 一种输入方法及装置 | |
CN114185845A (zh) | 一种文件管理方法、装置、计算机设备及存储介质 | |
CN107526716B (zh) | 邮件显示方法和装置 | |
CN105450743A (zh) | 一种定期推送广告数据的实现方法、系统及无线接入点 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |