CN108650257A - 基于网站内容的安全检测设置方法、装置及存储介质 - Google Patents
基于网站内容的安全检测设置方法、装置及存储介质 Download PDFInfo
- Publication number
- CN108650257A CN108650257A CN201810438121.2A CN201810438121A CN108650257A CN 108650257 A CN108650257 A CN 108650257A CN 201810438121 A CN201810438121 A CN 201810438121A CN 108650257 A CN108650257 A CN 108650257A
- Authority
- CN
- China
- Prior art keywords
- information
- security strategy
- http
- webpage
- resource
- 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.)
- Granted
Links
Classifications
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- 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/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种基于网站内容的安全检测设置方法、装置及存储介质,该方法包括根据业务内容,获取需要加载的网页;获取网页中的资源信息,并根据资源信息中的域名信息以及资源类型,生成初始验证方案;根据初始验证方案,设置网页中预设标签的属性值,生成本地验证信息,并根据本地验证信息对初始验证方案进行调整,生成第一安全策略;对第一安全策略进行线上验证,生成线上验证信息,并根据线上验证信息对第一安全策略进行调整,生成第二安全策略;以及在当前网站上加载并执行第二安全策略。该方案通过本地验证和线上验证对初始验证方案进行调整,不仅得到了准确性较高的安全策略防御方案,同时也具有易于操作的特性。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种基于网站内容的安全检测设置方法、装置及存储介质。
背景技术
基于Web(World Wide Web,万维网)开发的应用系统已广泛应用于各行各业,成为人们生活工作的一部分。与此同时,Web应用也面临着严峻的安全风险,譬如XSS(Cross-Site Scripting,跨站脚本)、数据注入、链路劫持等网络攻击行为。
为了防御上述网络攻击行为,开发人员在开发基于Web的应用系统时,需要对输入数据的格式进行校验及编码,比如输入的日期是否为数字,输入的电话号码是否为11位数字等。还需要开发人员避免进行客户端文档重写或重定向等操作。上述防御网络攻击的方法,对开发人员的开发行为提出了较高的要求,需要开发人员严格按照开发准则进行应用系统的开发。只要开发人员出现疏忽,就有可能导致应用系统被攻击。
故,有必要提供一种易于操作的攻击防御方案。
发明内容
本发明实施例提供一种基于网站内容的安全检测设置方法、装置及存储介质,可以提高网络攻击防御方案的可操作性。
本发明实施例提供一种基于网站内容的安全检测设置方法,包括:
根据业务内容,获取需要加载的网页;
获取所述网页中的资源信息,并根据所述资源信息中的域名信息以及资源类型,生成初始验证方案;
根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略;
对所述第一安全策略进行线上验证,生成线上验证信息,并根据所述线上验证信息对所述第一安全策略进行调整,生成第二安全策略;以及
在当前网站上加载并执行所述第二安全策略。
本发明实施例还提供一种基于网站内容的安全检测设置装置,包括:
网页获取模块,用于根据业务内容,获取需要加载的网页;
获取模块,用于获取所述网页中的资源信息,并根据所述资源信息中的域名信息以及资源类型,生成初始验证方案;
本地验证模块,用于根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略;
线上验证模块,用于对所述第一安全策略进行线上验证,生成线上验证信息,并根据所述线上验证信息对所述第一安全策略进行调整,生成第二安全策略;以及
执行模块,用于在当前网站上加载并执行所述第二安全策略。
本发明实施例还提供一种存储介质,其内存储有处理器可执行指令,该处理器通过执行所述指令提供如上述的基于网站内容的安全检测设置方法。
本发明实施例的基于网站内容的安全检测设置方法、装置及存储介质,该方案在根据网页中的资源信息生成初始验证方案的基础上,通过本地验证和线上验证对初始验证方案进行调整,不仅得到了准确性较高的安全策略防御方案,同时该方案也具有易于操作的特性。
附图说明
下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其它有益效果显而易见。
图1为本发明实施例提供的基于网站内容的安全检测设置方法的场景示意图。
图2为本发明实施例提供的基于网站内容的安全检测设置方法的流程示意图。
图3为本发明实施例提供的基于网站内容的安全检测设置方法的另一场景示意图。
图4为本发明实施例提供的基于网站内容的安全检测设置方法的拦截内容趋势示意图。
图5为本发明实施例提供的基于网站内容的安全检测设置方法的拦截次数/页面浏览量占比的示意图。
图6为本发明实施例提供的基于网站内容的安全检测设置方法的又一流程示意图。
图7为本发明实施例提供的基于网站内容的安全检测设置装置的结构示意图。
图8为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,该图为本发明实施例提供的基于网站内容的安全检测设置方法的场景示意图,该场景中,基于网站内容的安全检测设置装置可以作为实体来实现,也可以集成在终端或服务器等电子设备来实现,该电子设备可以包括智能手机、平板电脑和个人计算机等。
如图1所示,该场景中可以包括终端1和服务器2,其中终端1可以为智能手机、个人计算机等,终端1上安装有浏览器11。终端1先根据业务内容,从服务器2中获取需要加载的网页,然后获取该网页中的资源信息,再根据该资源信息中的域名信息以及资源类型,生成初始验证方案。接着,终端1根据初始验证方案,通过浏览器11设置网页中预设标签的属性值,生成本地验证信息,并根据本地验证信息对初始验证方案进行调整,生成第一安全策略;然后终端11继续通过浏览器11对第一安全策略进行线上验证,生成线上验证信息,并根据线上验证信息对第一安全策略进行调整,生成第二安全策略。最后终端仍通过浏览器11在当前网站上加载并执行第二安全策略,以保护当前网站。
本发明实施例提供一种基于网站内容的安全检测设置方法、装置及存储介质,以下将分别进行详细说明。
在本发明实施例中,将从基于网站内容的安全检测设置装置的角度进行描述,该基于网站内容的安全检测设置装置具体可以集成在电子设备中。
一种基于网站内容的安全检测设置方法,包括:根据业务内容,获取需要加载的网页;获取网页中的资源信息,并根据资源信息中的域名信息以及资源类型,生成初始验证方案;根据初始验证方案,设置网页中预设标签的属性值,生成本地验证信息,并根据本地验证信息对初始验证方案进行调整,生成第一安全策略;对第一安全策略进行线上验证,生成线上验证信息,并根据线上验证信息对第一安全策略进行调整,生成第二安全策略;以及在当前网站上加载并执行第二安全策略。
请参照图2,图2为本发明实施例提供的基于网站内容的安全检测设置方法的流程图,该方法可以包括:
步骤S101,根据业务内容,获取需要加载的网页。
业务内容是指用户在使用网站的过程中,涉及的一系列流程。其中,网站由多个网页组成,是网页的合成体,网站的开始点称为首页。比如,QQ音乐作为一个音乐网站,其首页可以集成歌曲搜索、歌单推荐、歌曲排行等功能,而网页可以用于实现上述功能。因此,当用户使用QQ音乐网站听歌时,需要先打开该QQ音乐网站首页,此时获取到的需要加载的网页包括:http://*.idqqimg.com、https://*.gtimg.com、http://*.gtimg.com等。具体的,可以在开辟一本地存储空间,存储获取到的网页。
步骤S102,获取所述网页中的资源信息,并根据所述资源信息中的域名信息以及资源类型,生成初始验证方案。
网页中的资源信息是指放在互联网上供外界访问的文件或程序。根据功能的不同,资源信息可以分为音频资源、图片资源、文本资源以及视频资源等。根据粒度的不同,资源信息包括粒度较粗的页面资源和粒度较细的页面元素资源。其中,页面资源是指一个页面内的全部内容。页面元素资源是指页面上的一块区域、文本段、图片以及一些基本的HTML(Hyper Text Mark-up Language,超文本标记语言)元素,如图3所示的首页A中,页面元素资源包括图片a、按钮b、文本输入框c等粒度较细的资源。根据文件或程序呈现的效果以及原理,可以划分为静态资源和动态资源。其中,静态资源是浏览器能够直接打开的,而动态资源需要经过翻译后浏览器才能打开,比如JavaScript文件、html文件为静态资源,JSP(Java Server Pages,JAVA服务器页面)文件、PHP(Hypertext Preprocessor,超文本预处理器)文件、ASP(Active Server Pages,动态服务器页面)文件为动态资源。
综上,页面中的资源信息的种类众多、粒度各异,具有复杂多样性,给统一访问控制的实施带来了困难。同时,由于页面资源信息的数目、种类会随着时间不断更新,即页面的资源信息具有动态变化性,更加大了给对访问者进行访问控制的难度。本发明实施例采用了基于CSP(Content Security Policy,内容安全策略)安全机制的安全策略设置方法,以对访问者进行访问控制,防御攻击行为。其中,CSP可以在http响应头中设置安全策略,由浏览器负责执行安全策略以保护页面的内容,例如允许网站加载的内容的规则。
在CSP安全机制中,提供了安全策略语言描述对一个页面中内容限制的规则,其中安全策略由资源指令组成。可以通过输出类似“Content-Security-Policy:default-src‘self’”的http响应头即可使用CSP。其中‘default-src’为资源指令,‘self’是指令值,不同的资源指令用于定义不同类型资源信息的加载策略,如下表1-1所示,资源指令media-src用于定义Media类型资源信息的加载策略,资源指令img-src用于定义Image类型资源信息的加载策略。
表1-1
网页资源 | 资源类型 | 资源指令 |
音视频 | Media | media-src |
图像 | Image | img-src |
JavaScript文件 | JavaScript | script-src |
字体 | Font | font-src |
综上,如图3所示,网站“QQ音乐官网”中包括首页A以及其他多个页面。可以先将该多个页面下载,存储至本地存储空间中。然后从这些页面中提取出允许加载的资源信息,比如JavaScript文件、图片等。最后获取上述资源信息的资源类型,根据资源类型确定资源指令,再结合资源信息的内容生成初始验证方案。
步骤S103,根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略。
上述步骤S102中得到的初始验证方案其准确性较低,因此需要对该安全策略进行验证,首先进行本地验证。在本实施例中,对初始验证方案进行本地验证即利用步骤S101中下载在本地存储空间中的网页来进行验证。具体的,可以在浏览器中进行验证,其中浏览器可以为支持CSP机制的浏览器,比如Chrome(谷歌)浏览器、Firefox(火狐)浏览器。
其中,网页中包含多个标签,比如meta、header以及head等。这些标签用于定义超链接,即从一个网页链接到另一个网页。标签可以拥有属性,属性提供了有关网页更多的信息。属性总以名称/值对的形式出现,比如:标签名=“value”。具体的,对于创建文字滚动的marquee标签来说,属性direction表示滚动方向,其中direction=“left”表示向左滚动。属性loop表示循环的次数,比如loop=“5”,表示循环5次。
在本实施例中,获取到初始验证方案后,可以打开浏览器,根据该初始验证方案,设置网页中预设标签的属性值,生成本地验证信息。具体的,将meta标签作为预设标签,可以将meta标签中的content属性设置为该初始验证方案,以生成本地验证信息。
需要说明的是,本步骤中只使用下载在本地存储空间中的页面来验证初始验证方案,即对初始验证方案的验证范围较小,故只是对初始验证方案进行一个初步的验证,得到第一安全策略后转入步骤S104中对第一安全策略进行线上验证,扩大验证范围。
步骤S104,对所述第一安全策略进行线上验证,生成线上验证信息,并根据所述线上验证信息对所述第一安全策略进行调整,生成第二安全策略。
具体的,将第一安全策略发送给浏览器,通过浏览器进行线上验证。与步骤S103类似,浏览器对第一安全策略进行线上验证后,将返回一线上验证信息。进而,可以对该线上验证信息进行分析,从中提取出相关信息,对第一安全策略进行进一步调整,生成第二安全策略。需要说明的是,由于第一安全策略仅针对本地下载的有限网页进行的验证,故其准确性较低,即如果不经线上验证步骤直接通过浏览器在网站上加载并执行,会因为浏览器阻止违反第一安全策略的行为,而造成网站无法正常使用。因此在本步骤中设置浏览器只返回验证信息,而不对任何行为进行阻止。
步骤S105,在当前网站上加载并执行第二安全策略。
该第二安全策略的设置机制其实质为一个白名单机制,明确第二安全策略中的资源可以在网站中加载和执行,即允许使用一个内容加载的规则集合--第二安全策略来控制网站的行为和外观。这样即使网站中存在跨站脚本漏洞,攻击者不能加载第三方的资源,也不能向未授权的主机传送信息。同时,跨站脚本攻击发生时,注入的脚本不会被执行,并且会通知站点管理员发生了攻击。
具体的,将第二安全策略发送给浏览器,以在当前网站上加载并执行第二安全策略。需要说明的是,在本步骤中,当通过浏览器在当前网站上加载并执行第二安全策略时,不仅会返回日志信息,该日志信息包含错误信息,与步骤S104中的线上验证信息类似,而且会对违反第二安全策略的行为进行阻挡。
如图4所示,2016年4月采用本发明实施例提供的基于网站内容的安全检测设置方法后,拦截内容注入每天最少在230万次左右。又如图5所示,每天的拦截次数与页面浏览量的比值最低达到1.94。从图4和图5可以看出,采用本发明实施例提供的基于网站内容的安全检测设置方法后,大大提高了网站的安全性。
本发明实施例的基于网站内容的安全检测设置方法,在根据网页中的资源信息生成初始验证方案的基础上,通过本地验证和线上验证对初始验证方案进行调整,不仅得到了准确性较高的安全策略防御方案,同时该方案也具有易于操作的特性。
根据上述实施例描述的基于网站内容的安全检测设置方法,以下将举例作进一步说明。在本发明实施例中,将从基于网站内容的安全检测设置装置的角度进行描述,该基于网站内容的安全检测设置装置具体可以集成在电子设备中。
请参照图6,图6为本发明实施例提供的基于网站内容的安全检测设置方法的另一流程图,该方法可以包括:
步骤S201,根据业务内容,获取需要加载的网页。
业务内容是指用户在使用网站的过程中,涉及的一系列流程。其中,网站由多个网页组成,是网页的合成体,网站的开始点称为首页。比如,QQ音乐作为一个音乐网站,其首页可以集成歌曲搜索、歌单推荐、歌曲排行等功能,而网页可以用于实现上述功能。因此,当用户使用QQ音乐网站听歌时,需要先打开该QQ音乐网站首页,此时获取到的需要加载的网页包括:http://*.idqqimg.com、https://*.gtimg.com、http://*.gtimg.com等。具体的,可以在开辟一本地存储空间,存储获取到的网页。
步骤S202,获取网页中的资源信息,并根据资源信息中的资源类型获取对应的资源指令;根据资源指令,以及资源信息中的域名信息,生成初始验证方案。
网页中的资源信息是指放在互联网上供外界访问的文件或程序。根据功能的不同,资源信息可以分为音频资源、图片资源、文本资源以及视频资源等。根据粒度的不同,资源信息包括粒度较粗的页面资源和粒度较细的页面元素资源。其中,页面资源是指一个页面内的全部内容。页面元素资源是指页面上的一块区域、文本段、图片以及一些基本的HTML元素,如图3所示的首页A中,页面元素资源包括图片a、按钮b、文本输入框c等粒度较细的资源。根据文件或程序呈现的效果以及原理,可以划分为静态资源和动态资源。其中,静态资源是浏览器能够直接打开的,而动态资源需要经过翻译后浏览器才能打开,比如JavaScript文件、html文件为静态资源,JSP文件、PHP文件、ASP文件为动态资源。
综上,页面中的资源信息的种类众多、粒度各异,具有复杂多样性,给统一访问控制的实施带来了困难。同时,由于页面资源信息的数目、种类会随着时间不断更新,即页面的资源信息具有动态变化性,更加大了给对访问者进行访问控制的难度。本发明实施例采用了基于CSP(Content Security Policy,内容安全策略)安全机制的安全策略设置方法,以对访问者进行访问控制,防御攻击行为。其中,CSP可以在http响应头中设置安全策略,由浏览器负责执行安全策略以保护页面的内容,例如允许网站加载的内容的规则。
具体的,为了制定保护页面内容的安全策略防御方案,可以先将当前网站中的网页以及网页中的资源信息,下载到本地存储空间中,随后进行初始验证方案的制定。
在CSP安全机制中,提供了安全策略语言描述对一个页面中内容限制的规则,其中安全策略由资源指令组成。可以通过输出类似“Content-Security-Policy:default-src‘self’”的http响应头即可使用CSP。其中‘default-src’为资源指令,‘self’是指令值,不同的资源指令用于定义不同类型资源的加载策略,如表1-1所示,资源指令media-src用于定义Media的加载策略,资源指令img-src用于定义Image的加载策略。
综上,在获取到网页中的资源信息后,可以根据资源信息的资源类型确定资源指令,接下来只需在资源信息中提取域名信息来确定指令值,即可生成初始验证方案。
如图3所示,网站“QQ音乐官网”中包括首页A。则可以将首页A下载到本地存储空间,并获取首页A中的资源信息,该资源信息包括文本框、按钮、JavaScript文件以及图片等资源。假设资源信息的域名信息包括:https://m.12530.com http://m.12530.comhttps://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cnhttps://*.url.cn http://*.url.cn https://*.tenpay.com http://*.tenpay.comhttps://*.qpic.cn http://*.qpic.cn https://*.idqqimg.com http://*.idqqimg.comhttps://*.gtimg.com http://*.gtimg.com。这些资源信息对应的资源类型为JavaScript,又如表1-1所示,在CSP中的script-src指令用于定义JavaScript类型的资源,即JavaScript类型的资源对应的资源指令为script-src。结合上述资源指令和上述域名信息,可以生成初始验证方案“script-src https://m.12530.com http://m.12530.comhttps://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cnhttps://*.url.cn http://*.url.cn https://*.tenpay.com http://*.tenpay.comhttps://*.qpic.cn http://*.qpic.cn https://*.idqqimg.com http://*.idqqimg.comhttps://*.gtimg.com http://*.gtimg.com”。
步骤S203,将网页中meta标签的http-equiv属性值设置为Content-Security-Policy;将网页中的content属性值设置为初始验证方案;以及对初始验证方案进行本地验证,生成本地验证信息。
上述步骤S202中得到的初始验证方案其准确性较低,因此需要对该安全策略进行验证,首先进行本地验证。在本实施例中,对初始验证方案进行本地验证即利用步骤S201中下载在本地存储空间中的网页来进行验证。具体的,可以在浏览器中进行验证,其中浏览器可以为支持CSP机制的浏览器,比如Chrome(谷歌)浏览器、Firefox(火狐)浏览器。本步骤中只使用下载在本地存储空间中的页面来验证初始验证方案,即对初始验证方案的验证范围较小,故只是对初始验证方案进行一个初步的验证,得到第一安全策略。
具体的,打开浏览器,将网页中meta标签的http-equiv属性值设置为Content-Security-Policy;将网页中的content属性值设置为安全策略,例如<meta http-equiv="Content-Security-Policy"content="初始验证方案">。具体如下代码所示:<meta http-equiv="Content-Security-Policy"content="script-src https://m.12530.comhttp://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cnhttp://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.comhttp://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com"/>。然后打开浏览器中的“开发者调试工具”,浏览器将对该初始验证方案进行验证,并在控制台中展现具体的本地验证信息,例如,(1)Refused to load the script‘http://shuma.jd.com/music/h5/lib/is/zepto-1.0.min.is?Bid=2998max age=2592000’because list.html:1 itviolates the following Content Security Policy directive:“https://m.12530.comhttp://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cnhttp://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.comhttp://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com”.(2)Refused toexecute inline script because it violates the following Content securityPolicy directive:“script-src h list.html:16 https://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com.Either the‘unsafe-inline’keyword,a hash...,or a nonce...is required to enable inlineexecution”两条本地验证信息,其中第一条含义为:拒绝加载脚本,第二条含义为拒绝执行内联脚本,违反安全策略指令。
步骤S204,从本地验证信息中,提取域名、关键字以及指令;将域名、关键字以及指令添加至初始验证方案中,进而生成第一安全策略。
根据步骤S203中得到的本地验证信息,从第一条本地验证信息中,根据‘http://shuma.jd.com/music/h5/lib/js/zepto-1.0.min.js?_bid=299&max_age=2592000’可以提取出域名。从第二条本地验证信息中,可以提取出关键字'unsafe-inline'、指令hash、指令nonce。在本步骤中,可以直接将从本地验证信息中提取出的域名、关键字以及指令添加至初始验证方案中,进而生成第一安全策略。在一些实施例中,还可以对提取出的域名、关键字以及指令之间内在的语义关系进行分析,精确需要添加至初始验证方案中的域名、关键字或者指令。例如,对第二条本地验证信息中的“Either the‘unsafe-inline’keyword,ahash...,or a nonce...is required to enable inline execution”进行语义分析可知,不需要将关键字'unsafe-inline'、指令hash、指令nonce都添加至初始验证方案中,只需从关键字'unsafe-inline'、指令hash、指令nonce三者中任选其一添加至初始验证方案中即可,例如:script-src https://m.12530.com http://m.12530.com https://*.qq.comhttp://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cnhttp://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cnhttp://*.qpic.cn https://*.idqqimg.com http://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com http://shuma.jd.com'unsafe-inline'。
步骤S205,将第一安全策略添加至http报文的Content-Security-Policy-Report-Only响应头;将http报文发送给浏览器,以使浏览器对第一安全策略进行线上验证,生成线上验证信息;接收浏览器返回的线上验证信息,并根据线上验证信息对第一安全策略进行调整,生成第二安全策略。
CSP定义了CSP http头来允许创建一个可信来源的白名单,使得浏览器只加载和执行这些来源的资源,而不是盲目信任服务器提供的所有内容。这样即使攻击者可以找到漏洞来注入脚本,但是因为来源不包含在白名单里,因此不会被执行。
为了不影响网站的正常运行,在本步骤中通过将第一安全策略添加至http报文的Content-Security-Policy-Report-Only响应头中。使用Content-Security-Policy-Report-Only响应头,浏览器只返回安全策略违反情况,而不阻止违反策略的行为,从而不影响网站的正常运行。例如:Content-Security-Policy-Report-Only:script-srchttps://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.comhttps://*.gtimg.cn http://*.gtimg.cn https://*.url.cn http://*.url.cnhttps://*.tenpay.com http://*.tenpay.com https://*.qpic.cn http://*.qpic.cnhttps://*.idqqimg.com http://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com http://shuma.jd.com'unsafe-inline'。再将该http报文发送给浏览器,来使浏览器根据该http报文的Content-Security-Policy-Report-Only响应头只返回验证信息,不阻止任何内容。
为了接收浏览器返回的线上验证信息,可以在向浏览器发送的http报文中通过report-uri指令指定一接收地址,用于接收线上验证信息。当浏览器对第一安全策略进行线上验证后,将线上验证信息返回至该地址中,这样就可以接收到浏览器返回的线上验证信息。
步骤S206,将第二安全策略添加至http报文的Content-Security-Policy响应头;将http报文发送给浏览器,通过浏览器在网站上加载并执行第二安全策略。
该第二安全策略的设置机制其实质为一个白名单机制,明确第二安全策略中的资源可以在网站中加载和执行,即允许使用一个内容加载的规则集合--第二安全策略来控制网站的行为和外观。这样即使网站中存在跨站脚本漏洞,攻击者不能加载第三方的资源,也不能向未授权的主机传送信息。同时,跨站脚本攻击发生时,注入的脚本不会被执行,并且会通知站点管理员发生了攻击。
在本步骤中,将第二安全策略添加至http报文的Content-Security-Policy响应头中,例如:Content-Security-Policy:script-src https://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com https://*.soso.com http://*.soso.com https://*.jd.com http://*.jd.com http://shuma.jd.com'unsafe-inline’’unsafe-eval';report-uri https://stat.y.qq.com/monitor/report_csp。然后将http报文发送给浏览器,此时浏览器不仅会返回日志信息,该日志信息包含错误信息,与步骤S205中的线上验证信息类似,而且会对违反第二安全策略的行为进行阻挡。
进一步的,还可以利用上述日志信息对第二安全策略进行调整,以不断提高安全策略设置的准确性。其中利用上述日志信息对第二安全策略进行调整的原理与利用本地验证信息对初始验证方案进行调整,以及利用线上验证信息对第一安全策略进行调整的原理类似,在此不再赘述。
如图4所示,2016年4月采用本发明实施例提供的基于网站内容的安全检测设置方法后,拦截内容注入每天最少在230万次左右。又如图5所示,每天的拦截次数与页面浏览量的比值最低达到1.94。从图4和图5可以看出,采用本发明实施例提供的基于网站内容的安全检测设置方法后,大大提高了网站的安全性。
由上述可知,本发明实施例的基于网站内容的安全检测设置方法,在根据网页中的资源信息生成初始验证方案的基础上,通过本地验证和线上验证对初始验证方案进行调整,不仅得到了准确性较高的安全策略防御方案,同时该方案也具有易于操作的特性。
根据上述实施例所描述的方法,本实施例将从基于网站内容的安全检测设置装置的角度进一步进行描述,该基于网站内容的安全检测设置装置可以集成在电子设备中。
请参照图7,图7为本发明实施例提供的基于网站内容的安全检测设置装置的结构图,该装置30可以包括网页获取模块301、获取模块302、本地验证模块303、线上验证模块304以及执行模块305。其中,网页获取模块301,用于根据业务内容,获取需要加载的网页;获取模块302,用于获取所述网页中的资源信息,并根据所述资源信息中的域名信息以及资源类型,生成初始验证方案;本地验证模块303,用于根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略;线上验证模块304,用于对第一安全策略进行线上验证,生成线上验证信息,并根据线上验证信息对第一安全策略进行调整,生成第二安全策略;以及执行模块305,用于在当前网站上加载并执行第二安全策略。
业务内容是指用户在使用网站的过程中,涉及的一系列流程。其中,网站由多个网页组成,是网页的合成体,网站的开始点称为首页。比如,QQ音乐作为一个音乐网站,其首页可以集成歌曲搜索、歌单推荐、歌曲排行等功能,而网页可以用于实现上述功能。因此,当用户使用QQ音乐网站听歌时,需要先打开该QQ音乐网站首页,此时网页获取模块301获取到的需要加载的网页包括:http://*.idqqimg.com、https://*.gtimg.com、http://*.gtimg.com等。具体的,可以在开辟一本地存储空间,存储获取到的网页。
如图3所示,网站“QQ音乐官网”中包括首页A以及其他多个页面。可以通过网页获取模块301先将该多个页面下载,存储至本地存储空间中。然后获取模块302从这些页面中提取出允许加载的资源信息,比如JavaScript文件、图片等。最后获取模块302获取上述资源信息的资源类型,根据资源类型确定资源指令,再结合资源信息的内容生成初始验证方案。
由于获取模块302得到的初始验证方案其准确性较低,因此需要对该安全策略进行验证,首先通过本地验证模块303进行本地验证。在本实施例中,对初始验证方案进行本地验证即利用网页获取模块301下载在本地存储空间中的网页来进行验证。具体的,可以在浏览器中进行验证,其中浏览器可以为支持CSP机制的浏览器,比如Chrome(谷歌)浏览器、Firefox(火狐)浏览器。
其中,网页中包含多个标签,比如meta、header以及head等。这些标签用于定义超链接,即从一个网页链接到另一个网页。标签可以拥有属性,属性提供了有关网页更多的信息。属性总以名称/值对的形式出现,比如:标签名=“value”。具体的,对于创建文字滚动的marquee标签来说,属性direction表示滚动方向,其中direction=“left”表示向左滚动。属性loop表示循环的次数,比如loop=“5”,表示循环5次。
在本实施例中,获取模块302获取到初始验证方案后,本地验证模块303可以打开浏览器,根据该初始验证方案,设置网页中预设标签的属性值,生成本地验证信息。具体的,将meta标签作为预设标签,可以将meta标签中的content属性设置为该初始验证方案,以生成本地验证信息。
需要说明的是,本地验证模块303只使用下载在本地存储空间中的页面来验证初始验证方案,即对初始验证方案的验证范围较小,故只是对初始验证方案进行一个初步的验证,得到第一安全策略后,通过线上验证模块304对第一安全策略进行线上验证,扩大验证范围。
具体的,线上验证模块304将第一安全策略发送给浏览器,通过浏览器进行线上验证。浏览器对第一安全策略进行线上验证后,将返回一线上验证信息。进而,线上验证模块304可以对该线上验证信息进行分析,从中提取出相关信息,对第一安全策略进行进一步调整,生成第二安全策略。需要说明的是,由于第一安全策略仅针对本地下载的有限网页进行的验证,故其准确性较低,即如果不经线上验证步骤直接通过浏览器在网站上加载并执行,会因为浏览器阻止违反第一安全策略的行为,而造成网站奔溃。因此线上验证模块304中设置浏览器只返回验证信息,而不对任何行为进行阻止。
最后,通过执行模块305将第二安全策略发送给浏览器,以在当前网站上加载并执行第二安全策略。
在一些实施例中,获取模块302包括:获取子模块3021以及第一生成子模块3022。其中,获取子模块3021,用于根据资源类型获取对应的资源指令;第一生成子模块3022,用于根据资源指令以及域名信息,生成初始验证方案。
在CSP安全机制中,提供了安全策略语言描述对一个页面中内容限制的规则,其中安全策略由资源指令组成。可以通过输出类似“Content-Security-Poli cy:default-src‘self’”的http响应头即可使用CSP。其中‘default-src’为资源指令,‘self’是指令值,不同的资源指令用于定义不同类型资源的加载策略,如表1-1所示,资源指令media-src用于定义Media的加载策略,资源指令img-src用于定义Image的加载策略。
综上,在获取模块302获取到网页中的资源信息后,可以根据资源信息的资源类型确定资源指令,接下来只需在资源信息中提取域名信息来确定指令值,即可生成初始验证方案。
如图3所示,网站“QQ音乐官网”中包括首页A。获取模块302可以将首页A下载到本地存储空间,并获取首页A中的资源信息,该资源信息包括文本框、按钮、JavaScript文件以及图片等资源。假设获取到的资源信息的域名信息包括:https://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com;获取到这些资源信息对应的资源类型为JavaScript,又如表1-1所示,在CSP中的script-src指令用于定义JavaScript类型的资源,即获取子模块3021可以获取到JavaScript类型的资源对应的资源指令为script-src。最后,第一生成子模块3022结合上述资源指令和上述域名信息,可以生成初始验证方案“script-src https://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cnhttp://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cnhttp://*.qpic.cn https://*.idqqimg.com http://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com”。
在一些实施例中,本地验证模块303包括:第一设置子模块3031、第二设置子模块3032以及本地验证子模块3033。其中,第一设置子模块3031,用于将网页中meta标签的http-equiv属性值设置为Content-Security-Policy;第二设置子模块3032,用于将网页中的content属性值设置为初始验证方案;以及本地验证子模块3033,用于对初始验证方案进行本地验证,生成本地验证信息。
具体的,打开浏览器,通过第一设置子模块3031将网页中meta标签的http-equiv属性值设置为Content-Security-Policy;通过第二设置子模块3032将网页中的content属性值设置为安全策略,例如<meta http-equiv="Content-Security-Policy"content="初始验证方案">。具体如下代码所示:<meta http-equiv="Content-Security-Policy"content="script-src https://m.12530.com http://m.12530.com https://*.qq.comhttp://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cnhttp://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cnhttp://*.qpic.cn https://*.idqqimg.com http://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com"/>。然后本地验证子模块3033打开浏览器中的“开发者调试工具”,浏览器将对该初始验证方案进行验证,并在控制台中展现具体的本地验证信息,例如,(1)Refused to load the script‘http://shuma.jd.com/music/h5/lib/is/zepto-1.0.min.is?Bid=2998max age=2592000’because list.html:1it violates thefollowing Content Security Policy directive:“https://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com”.(2)Refused toexecute inline script because it violates the following Content securityPolicy directive:“script-src h list.html:16https://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com.Either the‘unsafe-inline’keyword,a hash...,or a nonce...is required to enable inlineexecution”两条本地验证信息,其中第一条含义为:拒绝加载脚本,第二条含义为拒绝执行内联脚本,违反安全策略指令。
在一些实施例中,本地验证模块303还包括:提取子模块3034和第二生成子模块3035。其中,提取子模块3024,用于从本地验证信息中,提取域名、关键字以及指令;第二生成子模块3035,用于将域名、关键字以及指令添加至初始验证方案中,进而生成第一安全策略。
根据本地验证子模块3033得到的本地验证信息,提取子模块3024从第一条本地验证信息中,根据‘http://shuma.jd.com/music/h5/lib/js/zepto-1.0.min.js?_bid=299&max_age=2592000’可以提取出域名。从第二条本地验证信息中,提取子模块3024可以提取出关键字'unsafe-inline'、指令hash、指令nonce。而第二生成子模块3035可以直接将从本地验证信息中提取出的域名、关键字以及指令添加至初始验证方案中,进而生成第一安全策略。在一些实施例中,提取子模块3024还可以对提取出的域名、关键字以及指令之间内在的语义关系进行分析,精确需要添加至初始验证方案中的域名、关键字或者指令。例如,第二条本地验证信息中的“Either the‘unsafe-inline’keyword,a hash...,or anonce...is required to enable inline execution”进行语义分析可知,第二生成子模块3035不需要将关键字'unsafe-inline'、指令hash、指令nonce均添加至初始验证方案中,只需从关键字'unsafe-inline'、指令hash、指令nonce三者中任选其一添加至初始验证方案中即可,例如:script-src https://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cn http://*.gtimg.cn https://*.url.cnhttp://*.url.cn https://*.tenpay.com http://*.tenpay.com https://*.qpic.cnhttp://*.qpic.cn https://*.idqqimg.com http://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com http://shuma.jd.com'unsafe-inline'。
在一些实施例中,线上验证模块304包括:第一添加子模块3041、第一发送子模块3042以及接收子模块3043。其中,第一添加子模块3041,用于将第一安全策略添加至http报文的Content-Security-Policy-Report-Only响应头;第一发送子模块3042,用于将http报文发送给浏览器,以使浏览器对第一安全策略进行线上验证,生成线上验证信息;接收子模块3043,用于接收浏览器返回的线上验证信息。
CSP定义了CSP http头来允许创建一个可信来源的白名单,使得浏览器只加载和执行这些来源的资源,而不是盲目信任服务器提供的所有内容。这样即使攻击者可以找到漏洞来注入脚本,但是因为来源不包含在白名单里,因此不会被执行。
为了不影响网站的正常运行,通过第一添加子模块3041将第一安全策略添加至http报文的Content-Security-Policy-Report-Only响应头中。使用Content-Security-Policy-Report-Only响应头,浏览器只返回安全策略违反情况,而不阻止违反策略的行为,从而不影响网站的正常运行。例如:Content-Security-Policy-Report-Only:script-srchttps://m.12530.com http://m.12530.com https://*.qq.com http://*.qq.comhttps://*.gtimg.cn http://*.gtimg.cn https://*.url.cn http://*.url.cnhttps://*.tenpay.com http://*.tenpay.com https://*.qpic.cn http://*.qpic.cnhttps://*.idqqimg.com http://*.idqqimg.com https://*.gtimg.com http://*.gtimg.com http://shuma.jd.com'unsafe-inline'。第一发送子模块3042再将该http报文发送给浏览器,来使浏览器根据该http报文的Content-Security-Policy-Report-Only响应头只返回验证信息,不阻止任何内容。
为了接收浏览器返回的线上验证信息,接收子模块3043可以在向浏览器发送的http报文中通过report-uri指令指定一接收地址,用于接收线上验证信息。当浏览器对第一安全策略进行线上验证后,将线上验证信息返回至该地址中,这样就可以接收到浏览器返回的线上验证信息。
在一些实施例中,执行模块305包括:第二添加子模块3051和第二发送子模块3052。其中,第二添加子模块3051,用于将第二安全策略添加至http报文的Content-Security-Policy响应头;第二发送子模块3052,用于将http报文发送给浏览器,通过浏览器在网站上加载并执行第二安全策略。
该第二安全策略的设置机制其实质为一个白名单机制,明确第二安全策略中的资源可以在网站中加载和执行,即允许使用一个内容加载的规则集合--第二安全策略来控制网站的行为和外观。这样即使网站中存在跨站脚本漏洞,攻击者不能加载第三方的资源,也不能向未授权的主机传送信息。同时,跨站脚本攻击发生时,注入的脚本不会被执行,并且会通知站点管理员发生了攻击。
通过第二添加子模块3051将第二安全策略添加至http报文的Content-Security-Policy响应头中,例如:Content-Security-Policy:script-src https://m.12530.comhttp://m.12530.com https://*.qq.com http://*.qq.com https://*.gtimg.cnhttp://*.gtimg.cn https://*.url.cn http://*.url.cn https://*.tenpay.comhttp://*.tenpay.com https://*.qpic.cn http://*.qpic.cn https://*.idqqimg.comhttp://*.idqqimg.com http s://*.gtimg.com http://*.gtimg.com https://*.soso.com http://*.soso.com https://*.jd.com http://*.jd.com http://shuma.jd.com'unsafe-inline''unsafe-eval';report-uri https://stat.y.qq.com/monitor/report_csp。然后第二发送子模块3052将http报文发送给浏览器,此时浏览器不仅会返回日志信息,该日志信息包含错误信息,而且会对违反第二安全策略的行为进行阻挡。
进一步的,还可以利用上述日志信息对第二安全策略进行调整,以不断提高安全策略设置的准确性。其中利用上述日志信息对第二安全策略进行调整的原理与利用本地验证信息对初始验证方案进行调整,以及利用线上验证信息对第一安全策略进行调整的原理类似,在此不再赘述。
如图4所示,2016年4月采用本发明实施例提供的基于网站内容的安全检测设置方法后,拦截内容注入每天最少在230万次左右。又如图5所示,每天的拦截次数与页面浏览量的比值最低达到1.94。从图4和图5可以看出,采用本发明实施例提供的基于网站内容的安全检测设置方法后,大大提高了网站的安全性。
本发明实施例的基于网站内容的安全检测设置装置,在根据网页中的资源信息生成初始验证方案的基础上,通过本地验证和线上验证对初始验证方案进行调整,不仅得到了准确性较高的安全策略防御方案,同时该方案也具有易于操作的特性。
相应的,本发明实施例还提供一种电子设备,如图8所示,其示出了本发明实施例所涉及的电子设备的结构示意图,具体来讲:
该电子设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图8中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
处理器401是该电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。
存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。
电子设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该电子设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,电子设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,电子设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:
根据业务内容,获取需要加载的网页;
获取网页中的资源信息,并根据资源信息中的域名信息以及资源类型,生成初始验证方案;
根据初始验证方案,设置网页中预设标签的属性值,生成本地验证信息,并根据本地验证信息对初始验证方案进行调整,生成第一安全策略;
对第一安全策略进行线上验证,生成线上验证信息,并根据线上验证信息对第一安全策略进行调整,生成第二安全策略;以及在当前网站上加载并执行第二安全策略。
该电子设备可以实现本发明实施例所提供的任一种基于网站内容的安全检测设置装置所能实现的有效效果,详见前面的实施例,在此不再赘述。
本发明实施例的电子设备,在根据网页中的资源信息生成初始验证方案的基础上,通过本地验证和线上验证对初始验证方案进行调整,不仅得到了准确性较高的安全策略防御方案,同时该方案也具有易于操作的特性。
本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。
Claims (13)
1.一种基于网站内容的安全检测设置方法,其特征在于,包括:
根据业务内容,获取需要加载的网页;
获取所述网页中的资源信息,并根据所述资源信息中的域名信息以及资源类型,生成初始验证方案;
根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略;
对所述第一安全策略进行线上验证,生成线上验证信息,并根据所述线上验证信息对所述第一安全策略进行调整,生成第二安全策略;以及
在当前网站上加载并执行所述第二安全策略。
2.根据权利要求1所述的基于网站内容的安全检测设置方法,其特征在于,所述获取所述网页中的资源信息,并根据所述资源信息中的域名信息以及资源类型,生成初始验证方案步骤包括:
根据所述资源类型获取对应的资源指令;
根据所述资源指令以及所述域名信息,生成所述初始验证方案。
3.根据权利要求1或2所述的基于网站内容的安全检测设置方法,其特征在于,所述根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略步骤包括:
将所述网页中meta标签的http-equiv属性值设置为Content-Security-Policy;
将所述网页中的content属性值设置为所述初始验证方案;以及
对所述初始验证方案进行本地验证,生成本地验证信息。
4.根据权利要求3所述的基于网站内容的安全检测设置方法,其特征在于,所述根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略步骤包括:
从所述本地验证信息中,提取域名、关键字以及指令;
将所述域名、所述关键字以及所述指令添加至所述初始验证方案中,进而生成所述第一安全策略。
5.根据权利要求1或2所述的基于网站内容的安全检测设置方法,其特征在于,所述对所述第一安全策略进行线上验证,生成线上验证信息,并根据所述线上验证信息对所述第一安全策略进行调整,生成第二安全策略步骤包括:
将所述第一安全策略添加至http报文的Content-Security-Policy-Report-Only响应头;
将所述http报文发送给浏览器,以使所述浏览器对所述第一安全策略进行线上验证,生成线上验证信息;
接收所述浏览器返回的所述线上验证信息。
6.根据权利要求1或2所述的基于网站内容的安全检测设置方法,其特征在于,所述在当前网站上加载并执行所述第二安全策略步骤包括:
将所述第二安全策略添加至http报文的Content-Security-Policy响应头;
将所述http报文发送给浏览器,通过所述浏览器在所述当前网站上加载并执行所述第二安全策略。
7.一种基于网站内容的安全检测设置装置,其特征在于,包括:
网页获取模块,用于根据业务内容,获取需要加载的网页;
获取模块,用于获取所述网页中的资源信息,并根据所述资源信息中的域名信息以及资源类型,生成初始验证方案;
本地验证模块,用于根据所述初始验证方案,设置所述网页中预设标签的属性值,生成本地验证信息,并根据所述本地验证信息对所述初始验证方案进行调整,生成第一安全策略;
线上验证模块,用于对所述第一安全策略进行线上验证,生成线上验证信息,并根据所述线上验证信息对所述第一安全策略进行调整,生成第二安全策略;以及
执行模块,用于在当前网站上加载并执行所述第二安全策略。
8.根据权利要求7所述的基于网站内容的安全检测设置装置,其特征在于,所述获取模块包括:
获取子模块,用于根据所述资源类型获取对应的资源指令;
第一生成子模块,用于根据所述资源指令以及所述域名信息,生成所述初始验证方案。
9.根据权利要求7或8所述的基于网站内容的安全检测设置装置,其特征在于,所述本地验证模块包括:
第一设置子模块,用于将所述网页中meta标签的http-equiv属性值设置为Content-Security-Policy;
第二设置子模块,用于将所述网页中的content属性值设置为所述初始验证方案;以及
本地验证子模块,用于对所述初始验证方案进行本地验证,生成本地验证信息。
10.根据权利要求9所述的基于网站内容的安全检测设置装置,其特征在于,所述本地验证模块还包括:
提取子模块,用于从所述本地验证信息中,提取域名、关键字以及指令;
第二生成子模块,用于将所述域名、所述关键字以及所述指令添加至所述初始验证方案中,进而生成所述第一安全策略。
11.根据权利要求7或8所述的基于网站内容的安全检测设置装置,其特征在于,所述线上验证模块包括:
第一添加子模块,用于将所述第一安全策略添加至http报文的Content-Security-Policy-Report-Only响应头;
第一发送子模块,用于将所述http报文发送给浏览器,以使所述浏览器对所述第一安全策略进行线上验证,生成线上验证信息;
接收子模块,用于接收所述浏览器返回的所述线上验证信息。
12.根据权利要求7或8所述的基于网站内容的安全检测设置装置,其特征在于,所述执行模块包括:
第二添加子模块,用于将所述第二安全策略添加至http报文的Content-Security-Policy响应头;
第二发送子模块,用于将所述http报文发送给浏览器,通过所述浏览器在所述当前网站上加载并执行所述第二安全策略。
13.一种存储介质,其内存储有处理器可执行指令,该处理器通过执行所述指令提供如权利要求1-6中任一的基于网站内容的安全检测设置方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810438121.2A CN108650257B (zh) | 2018-05-09 | 2018-05-09 | 基于网站内容的安全检测设置方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810438121.2A CN108650257B (zh) | 2018-05-09 | 2018-05-09 | 基于网站内容的安全检测设置方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108650257A true CN108650257A (zh) | 2018-10-12 |
CN108650257B CN108650257B (zh) | 2021-02-02 |
Family
ID=63754055
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810438121.2A Active CN108650257B (zh) | 2018-05-09 | 2018-05-09 | 基于网站内容的安全检测设置方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108650257B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336812A (zh) * | 2019-07-03 | 2019-10-15 | 深圳市珍爱捷云信息技术有限公司 | 资源拦截处理方法、装置、计算机设备和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857486A (zh) * | 2012-04-01 | 2013-01-02 | 深信服网络科技(深圳)有限公司 | 下一代应用防火墙系统及防御方法 |
CN103746885A (zh) * | 2014-01-28 | 2014-04-23 | 中国人民解放军信息安全测评认证中心 | 一种面向下一代防火墙的测试系统和测试方法 |
CN104468546A (zh) * | 2014-11-27 | 2015-03-25 | 微梦创科网络科技(中国)有限公司 | 一种网络信息处理方法及防火墙装置、系统 |
US20160323309A1 (en) * | 2015-04-30 | 2016-11-03 | Yahoo! Inc. | Method and system for blocking malicious third party site tagging |
CN107819639A (zh) * | 2016-09-14 | 2018-03-20 | 西门子公司 | 一种测试方法和装置 |
US20180121659A1 (en) * | 2016-10-28 | 2018-05-03 | Tala Security, Inc. | Application security service |
-
2018
- 2018-05-09 CN CN201810438121.2A patent/CN108650257B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857486A (zh) * | 2012-04-01 | 2013-01-02 | 深信服网络科技(深圳)有限公司 | 下一代应用防火墙系统及防御方法 |
CN103746885A (zh) * | 2014-01-28 | 2014-04-23 | 中国人民解放军信息安全测评认证中心 | 一种面向下一代防火墙的测试系统和测试方法 |
CN104468546A (zh) * | 2014-11-27 | 2015-03-25 | 微梦创科网络科技(中国)有限公司 | 一种网络信息处理方法及防火墙装置、系统 |
US20160323309A1 (en) * | 2015-04-30 | 2016-11-03 | Yahoo! Inc. | Method and system for blocking malicious third party site tagging |
CN107819639A (zh) * | 2016-09-14 | 2018-03-20 | 西门子公司 | 一种测试方法和装置 |
US20180121659A1 (en) * | 2016-10-28 | 2018-05-03 | Tala Security, Inc. | Application security service |
WO2018081629A1 (en) * | 2016-10-28 | 2018-05-03 | Tala Security, Inc. | Application security service |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110336812A (zh) * | 2019-07-03 | 2019-10-15 | 深圳市珍爱捷云信息技术有限公司 | 资源拦截处理方法、装置、计算机设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN108650257B (zh) | 2021-02-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Shahriar et al. | Client-side detection of cross-site request forgery attacks | |
Aljofey et al. | An effective detection approach for phishing websites using URL and HTML features | |
US9712560B2 (en) | Web page and web browser protection against malicious injections | |
US10318728B2 (en) | Determining permissible activity based on permissible activity rules | |
US8819819B1 (en) | Method and system for automatically obtaining webpage content in the presence of javascript | |
CN104461491B (zh) | 一种Hybrid组件的运行方法和系统 | |
US8646088B2 (en) | Runtime enforcement of security checks | |
Stock et al. | Protecting users against xss-based password manager abuse | |
CN105027120B (zh) | 多页面管理方法和装置 | |
DE202014010889U1 (de) | Vorrangige statische gehostete Webanwendungen | |
Barua et al. | Server side detection of content sniffing attacks | |
Rao et al. | A heuristic technique to detect phishing websites using TWSVM classifier | |
CN106993009A (zh) | 一种在浏览器中加载网页的方法和装置 | |
US11637863B2 (en) | Detection of user interface imitation | |
CN108846286A (zh) | 跨站脚本漏洞检测方法及装置 | |
Sun et al. | Model checking for the defense against cross-site scripting attacks | |
Wang et al. | A new cross-site scripting detection mechanism integrated with HTML5 and CORS properties by using browser extensions | |
CN112231711A (zh) | 一种漏洞检测方法、装置、计算机设备及存储介质 | |
CN107506649A (zh) | 一种html网页的漏洞检测方法、装置及电子设备 | |
CN107147645A (zh) | 网络安全数据的获取方法及装置 | |
CN114157568B (zh) | 一种浏览器安全访问方法、装置、设备及存储介质 | |
CN107103243A (zh) | 漏洞的检测方法及装置 | |
CN108650257A (zh) | 基于网站内容的安全检测设置方法、装置及存储介质 | |
Kaur et al. | Five-tier barrier anti-phishing scheme using hybrid approach | |
Saini et al. | You click, I steal: analyzing and detecting click hijacking attacks in web pages |
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 |