CN117240567B - 一种针对跨站请求伪造攻击的防御方法 - Google Patents

一种针对跨站请求伪造攻击的防御方法 Download PDF

Info

Publication number
CN117240567B
CN117240567B CN202311258170.5A CN202311258170A CN117240567B CN 117240567 B CN117240567 B CN 117240567B CN 202311258170 A CN202311258170 A CN 202311258170A CN 117240567 B CN117240567 B CN 117240567B
Authority
CN
China
Prior art keywords
browser
extension
request
expansion
url
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
Application number
CN202311258170.5A
Other languages
English (en)
Other versions
CN117240567A (zh
Inventor
冷和博
赵来平
***海
周晓波
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tianjin University
Original Assignee
Tianjin University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tianjin University filed Critical Tianjin University
Priority to CN202311258170.5A priority Critical patent/CN117240567B/zh
Publication of CN117240567A publication Critical patent/CN117240567A/zh
Application granted granted Critical
Publication of CN117240567B publication Critical patent/CN117240567B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种针对跨站请求伪造攻击的防御方法,属于网络安全技术领域;本发明基于浏览器的同站策略思想,通过对浏览器扩展进行修改,使其能够避免遭受VE‑CSRF攻击,具体包括以下内容:S1、拓展下载:用户下载若干个目前浏览器上已经存在的拓展,将其作为“输入”;S2、拓展修改:对浏览器拓展的配置文件manifest.json进行修改,添加“扩展同源.js”文件到浏览器扩展目录中;S3、重新安装:输入经过S2修改后的拓展,用户对其重新安装后使用。本发明具有超低的推行成本和时间成本,不需要大量的服务器端进行配合防御,且可以被用户直接使用来防御VE‑CSRF攻击。

Description

一种针对跨站请求伪造攻击的防御方法
技术领域
本发明涉及网络安全技术领域,具体涉及一种针对跨站请求伪造攻击的防御方法。
背景技术
跨站请求伪造(CSRF)攻击一直被列为web最危险的攻击之一,该攻击可以在用户毫不知情的情况下以用户的名义发送伪造请求给被攻击站点,从而在未授权的情况下执行权限保护内的操作。具体来讲,可以这样理解CSRF攻击,攻击者借用用户的名义,向某一服务器发送恶意请求,对服务器来讲这一请求是完全合法的,但攻击者确实完成了一个恶意操作,执行成功的CSRF攻击可能会给用户造成严重损失,包括以用户的身份发送邮件、非法转账、购买商品、远程服务端执行命令等。
浏览器是用于上网和访问Web的软件应用程序。Chrome浏览器是使用人数最多的浏览器,其所占市场份额达66.53%。Chrome浏览器之所以成为最流行的浏览器,得益于其丰富的扩展功能,使用户能够安装第三方扩展和应用程序,将浏览器的功能进一步扩展和定制化,能够满足不同用户的需求。虽然一些扩展只是自定义用户浏览器界面,但是有很多扩展用于承担安全和隐私的关键任务,例如,广告***为了成功拦截广告需要修改网页内容或拦截网络请求。为了实现这些,扩展中的JavaScript与网页中常规的JavaScript不一样,扩展具有更高权限的功能,例如下载任意文件或访问任意跨域数据。扩展的高权限功能,使得扩展具有潜在的安全风险,同时也给攻击者提供了新的攻击思路。由于扩展便捷的跨域访问功能,我们发现了使用扩展漏洞发起CSRF攻击(简称,VE-CSRF攻击)的新攻击路径。
为了应对CSRF攻击,浏览器供应商和web供应商采取了一系列防御手段,但这些防御手段针对VE-CSRF攻击却并不有效。现有的浏览器安全机制有同源策略(SOP)、跨域资源共享(CORS)、跨域读取阻塞(CORB)、同站策略等等,同站策略对CSRF攻击防范十分有效,它可以清除CSRF攻击请求时携带的目标网站的cookie导致攻击无法发生,这也就打断了攻击者进行简单的CSRF攻击尝试的想法,但VE-CSRF攻击却可以绕过同站策略,依然发出带有cookie的请求;Web开发人员针对CSRF攻击使用的最普遍的防御方法是验证请求携带的token令牌,VE-CSRF攻击可以被设计绕过token令牌。在安全界CSRF攻击被称为“沉睡的巨人”,攻击一旦发生,对用户安全隐私危害极大,因此对于新攻击路径的VE-CSRF攻击的防御刻不容缓。
现有的CSRF攻击防御方法主要分为两种类型,第一种类型为服务端和客户端配合的防御方法(例如反CSRF\_TOKEN令牌),第二种类型为纯客户端的防御方法(例如浏览器安全策略),但这两种类型的防御方法都无法防御新攻击路径的VE-CSRF攻击。为了应对VE-CSRF攻击,我们迫切需要一个易于实施并且有效的防御方法。
发明内容
本发明的目的在于提供一种针对跨站请求伪造攻击的防御方法,防御基于浏览器扩展漏洞发起的跨站请求伪造攻击(简称,VE-CSRF攻击),使同站策略在扩展层面生效,去除扩展发出的跨站请求携带的cookie。
为了实现上述目的,本发明采用了如下技术方案:
一种针对跨站请求伪造攻击的防御方法,基于浏览器的同源策略思想,通过对浏览器扩展进行修改,使其能够避免遭受VE-CSRF攻击,具体包括以下内容:
S1、扩展下载:用户下载若干个目前浏览器上已经存在的扩展,将其作为“输入”;
S2、扩展修改:对浏览器扩展的配置文件manifest.json进行修改,添加“扩展同源.js”文件到浏览器扩展目录中;
S3、重新安装:输出经过S2修改后的扩展,用户对其重新安装后使用。
优选地,S2中所述修改manifest.json配置文件,具体包括如下内容:对配置文件manifest.json中的“permissions”和“background”两个字段进行修改;其中,修改字段“permissions”具体指增添实现“扩张同源.js”功能所需的权限,首先检测“permissions”字段是否具有实现“扩展同源.js”功能所需的权限,并添加所缺少的权限;修改字段“background”具体指添加“扩展同源.js”到该字段中。
优选地,S2及修改字段“background”中所述添加“扩展同源.js”文件,具体包括如下内容:将“扩展同源.js”代码文件添加到浏览器扩展文件的根目录下;所述“扩展同源.js”代码文件中包含有实现扩展安全修改的所有主要功能,其代码功能是使浏览器扩展层与用户当前所浏览的网站页面具有状态联系,使同站策略在浏览器扩展层面生效,以此来防御VE-CSRF攻击。
与现有技术相比,本发明提供了一种针对跨站请求伪造攻击的防御方法,具备以下有益效果:
本发明基于同站策略提出的针对VE-CSRF攻击防御方法不仅可以有效防御VE-CSRF攻击,并且该方法具有超低的推行成本和时间成本。推行成本低和时间成本低是指我们的方法不需要大量的服务器端进行配合防御,并且可以被用户直接使用来防御VE-CSRF攻击。
附图说明
图1为VE-CSRF攻击过程。
图2为整体修改视图。
图3为“扩展同源.js”程序流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
实施例1:
请参阅图1-2,一种对浏览器扩展进行安全修改的防御方法,该修改方法基于浏览器的同站策略思想,使修改后的浏览器扩展能够避免遭受VE-CSRF攻击,并且该方法具有超低的推行成本和时间成本。
具体来说,VE-CSRF攻击是攻击者通过控制扩展中发起任意跨站请求的漏洞来发起的,以此来绕过浏览器的安全机制;攻击者假设用户安装的扩展中的漏洞具有两个能力,一个跨域发起CSRF攻击,另一个发起获取token令牌的请求攻击,以此来设计绕过token令牌防御的VE-CSRF攻击,因为目前供应商绝大多数的防御方法都是使用反CSRF_TOKEN令牌的方法,所以VE-CSRF攻击危害巨大,如图1,是VE-CSRF攻击过程图。
VE-CSRF攻击能够攻击成功的原因是因为同站策略未在扩展层生效,导致攻击利用扩展中的漏洞发起的跨站请求依然会携带用户在目标网站的cookie,因此可以攻击成功。而我们的防御方法是对浏览器扩展进行安全修改,使同站策略在扩展层面生效。如图2,是基于同站策略的针对浏览器扩展漏洞发起的跨站请求伪造攻击防御方法的整体修改视图,本方案的输入是一个从浏览器商城下载的浏览器扩展,输出是一个修改好的并且安全的浏览器扩展,中间的修改过程包括对配置文件manifest.json和添加“扩展同源.js”文件到浏览器扩展目录中两部分的修改。
修改manifest.json配置文件:在这一过程中,对浏览器扩展文件目录中的manifest.json配置文件进行修改,其中主要包括对“permissions”和“background”两个字段的修改。修改“permissions”字段主要是增添实现“扩张同源.js”功能所需的权限,首先检测“permissions”字段是否具有实现“扩展同源.js”功能所需的权限,并添加所缺少的权限。修改“background”字段主要是添加“扩展同源.js”到该字段中。
添加“扩展同源.js”文件:在该修改过程中,“扩展同源.js”代码文件被添加到浏览器扩展文件的根目录下面。
“扩展同源.js”代码文件里面含有实现扩展安全修改的所有主要功能,其代码功能是使浏览器扩展层与用户当前所浏览的网站页面具有状态联系,使同站策略在浏览器扩展层面生效,以此来防御VE-CSRF攻击。
实施例2:
请参阅图3,基于实施例1但有所不同之处在于,本发明主要是针对VE-CSRF攻击提供了一种对浏览器扩展安全修改的防御方法。本发明的使用主要包含三个步骤,用户从浏览器扩展商城安装扩展,通过我们的防御方法对该浏览器扩展进行安全加固、重新安装该扩展安全的使用。
“扩展同源.js”的功能是安全修改防御方法的核心,安全修改防御方法通过将“扩展同源.js”代码文件加入到扩展目录中,并使其功能生效来达到防御攻击的目的。接下来,详细介绍一下“扩展同源.js”功能的实现细节。如图3,是“扩展同源.js”所实现功能的程序流程图。当用户安装安全修改之后浏览器扩展去访问网站时,“扩展同源.js”会持续获取当前用户所访问网站页面的URL,并将该URL设置为当前浏览器扩展实时维持的状态,每当用户访问的网站页面发生变化时,浏览器扩展中维持的URL都会第一时间更新变化,此时,浏览器扩展与当前用户访问页面之间建立状态联系。接下来,安全修改过的扩展会拦截用户在浏览过程中网站页面和该扩展所发出的所有请求,然后将拦截到的请求URL与浏览器扩展一直维持的URL作比较,判断它们是否同源。如果该请求的URL与扩展维持的URL不同源,则会检测该请求是否携带Cookie请求头,如果携带则将Cookie请求头信息删除,然后再将请求发出。如果该请求与安全扩展所维持的URL同源,则不做处理,直接将请求发出。
在此处,需要说明一下“扩展同源.js”在拦截到跨站请求的URL时为什么是判断两个URL同源,而不是同站。根据同源和同站的定义,满足“协议+主机域名+端口”三者相同的URL所对应的网站被称为同源,满足“部分域名+顶级域名”二者相同的URL所对应的网站就能被称为同站,显然后者条件更宽松,范围更大,但也更危险。假如将判断条件改为同站,即请求URL与当前网站页面的URL满足同站就不去除请求头中携带的cookie,这样是有额外风险的,比如,有两个域名网站“www.jd.com”和“miaosha.jd.com”,这两个网站属于同站,但不同源,如果“miaosha.jd.com”这个网站因漏洞被攻击者控制,则安装了安全扩展的用户去访问“miaosha.jd.com”,该安全扩展依然可能被攻击者利用发起对“www.jd.com”的VE-CSRF攻击,因此此处选择使用同源作为条件判断,而非同站。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (2)

1.一种针对跨站请求伪造攻击的防御方法,基于浏览器的同源策略思想,通过对浏览器扩展进行修改,使其能够避免遭受VE-CSRF攻击,具体包括以下内容:
S1、扩展下载:用户下载若干个目前浏览器上已经存在的扩展,将其作为“输入”;
S2、扩展修改:对浏览器扩展的配置文件manifest.json进行修改,添加“扩展同源.js”文件到浏览器扩展目录中;所述“扩展同源.js”文件所实现功能具体指:当用户安装安全修改之后浏览器扩展去访问网站时,“扩展同源.js”持续获取当前用户所访问网站页面的URL,并将该URL设置为当前浏览器扩展实时维持的状态,每当用户访问的网站页面发生变化时,浏览器扩展中维持的URL第一时间更新变化,此时,浏览器扩展与当前用户访问页面之间建立状态联系;接下来,安全修改过的扩展拦截用户在浏览过程中网站页面和该扩展所发出的所有请求,然后将拦截到的请求URL与浏览器扩展一直维持的URL作比较,判断它们是否同源;如果该请求的URL与扩展维持的URL不同源,则会检测该请求是否携带Cookie请求头,如果携带则将Cookie请求头信息删除,然后再将请求发出;如果该请求与安全扩展所维持的URL同源,则不做处理,直接将请求发出;
S3、重新安装:输出经过S2修改后的扩展,用户对其重新安装后使用。
2.根据权利要求1所述的一种针对跨站请求伪造攻击的防御方法,其特征在于,S2中所述修改manifest.json配置文件,具体包括如下内容:对配置文件manifest.json中的“permissions”和“background”两个字段进行修改;其中,修改字段“permissions”具体指增添实现“扩展同源.js”功能所需的权限,首先检测“permissions”字段是否具有实现“扩展同源.js”功能所需的权限,并添加所缺少的权限;修改字段“background”具体指添加“扩展同源.js”到该字段中。
CN202311258170.5A 2023-09-27 2023-09-27 一种针对跨站请求伪造攻击的防御方法 Active CN117240567B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311258170.5A CN117240567B (zh) 2023-09-27 2023-09-27 一种针对跨站请求伪造攻击的防御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311258170.5A CN117240567B (zh) 2023-09-27 2023-09-27 一种针对跨站请求伪造攻击的防御方法

Publications (2)

Publication Number Publication Date
CN117240567A CN117240567A (zh) 2023-12-15
CN117240567B true CN117240567B (zh) 2024-03-05

Family

ID=89094608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311258170.5A Active CN117240567B (zh) 2023-09-27 2023-09-27 一种针对跨站请求伪造攻击的防御方法

Country Status (1)

Country Link
CN (1) CN117240567B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788982A (zh) * 2009-01-22 2010-07-28 国际商业机器公司 在未修改浏览器上保护Web应用的跨域交互的方法和***
CN102156832A (zh) * 2011-03-25 2011-08-17 天津大学 一种Firefox扩展的安全缺陷检测方法
CN115964094A (zh) * 2022-11-11 2023-04-14 上海淇玥信息技术有限公司 一种混合移动应用本地开发的资源加载方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8978106B2 (en) * 2011-03-21 2015-03-10 Microsoft Technology Licensing, Llc Programming, verifying, visualizing, and deploying browser extensions with fine-grained security policies
US9660809B2 (en) * 2015-08-07 2017-05-23 Adobe Systems Incorporated Cross-site request forgery defense

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101788982A (zh) * 2009-01-22 2010-07-28 国际商业机器公司 在未修改浏览器上保护Web应用的跨域交互的方法和***
CN102156832A (zh) * 2011-03-25 2011-08-17 天津大学 一种Firefox扩展的安全缺陷检测方法
CN115964094A (zh) * 2022-11-11 2023-04-14 上海淇玥信息技术有限公司 一种混合移动应用本地开发的资源加载方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王保锦 ; 林卉 ; 王健如 ; 李桂青 ; .跨站请求伪造攻击技术浅析.网络安全技术与应用.2020,(05),全文. *
罗武等.浏览器同源策略安全研究综述.软件学报.2020,全文. *

Also Published As

Publication number Publication date
CN117240567A (zh) 2023-12-15

Similar Documents

Publication Publication Date Title
Xiao et al. Edge computing security: State of the art and challenges
US9576145B2 (en) Alternate files returned for suspicious processes in a compromised computer network
Sood et al. Targeted cyberattacks: a superset of advanced persistent threats
US9071600B2 (en) Phishing and online fraud prevention
Kumar et al. A study on web application security and detecting security vulnerabilities
Bojinov et al. XCS: cross channel scripting and its impact on web applications
Sood et al. Dissecting SpyEye–Understanding the design of third generation botnets
Saiedian et al. Security vulnerabilities in the same-origin policy: Implications and alternatives
Kara et al. The ghost in the system: technical analysis of remote access trojan
Rehman et al. Malware threats and mitigation strategies: a survey
Nagunwa Behind identity theft and fraud in cyberspace: the current landscape of phishing vectors
Ibrahim A Review on the Mechanism Mitigating and Eliminating Internet Crimes using Modern Technologies: Mitigating Internet crimes using modern technologies
Ivanov et al. Phishing attacks and protection against them
Mary Shellshock attack on linux systems-bash
Abid Shahzad et al. Protecting from zero-day malware attacks
Diwan An investigation and analysis of cyber security information systems: latest trends and future suggestion
CN117240567B (zh) 一种针对跨站请求伪造攻击的防御方法
Tiirmaa-Klaar et al. Botnets: How to fight the ever-growing threat on a technical level
Akpan et al. Leveraging on Cyber Security for Digital Economy: Analysis of Emerging Cyber Security Threats and Attacks
Gharibi et al. Software vulnerabilities, banking threats, botnets and malware self-protection technologies
Hussien Cyber security crimes, ethics and a suggested algorithm to overcome cyber-physical systems problems (CybSec1)
Datta Cybersecurity threats: Malware in the code
Orucho et al. Security threats affecting user-data on transit in mobile banking applications: A review
Madhusudhan Cross channel scripting (XCS) attacks in web applications: detection and mitigation approaches
Agrawal et al. Review of Cybersecurity Post-COVID-19

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