没有合适的资源?快使用搜索试试~ 我知道了~
HAL:一个开放获取的多学科存档
0HAL Id: tel-019258510https://hal.inria.fr/tel-01925851v20提交日期:2019年4月15日0HAL是一个多学科的开放获取存档,用于存储和传播科学研究文档,无论其是否已发表。这些文档可以来自法国或国外的教育和研究机构,或者来自公共或私人研究中心。0HAL是一个多学科的开放获取存档,用于存储和传播研究水平的科学文献,无论其是否已发表,这些文献来自法国或国外的教育和研究机构,公共或私人实验室。0Web应用程序安全与隐私0Dolière Francis Some0引用此版本:0Dolière Francis Some. Web应用程序安全与隐私. 密码学与安全 [cs.CR]. Université Côte d’Azur, 2018.英文. �NNT : 2018AZUR4085�. �tel-01925851v2� 0应用程序的安全性和隐私0web0Dolière Francis Somé0Université Côte d’Azur / Inria0为了获得博士学位而提交的论文,研究领域为计算机科学,由Université Côted’Azur指导,Tamara Rezk为主导导师,NataliiaBielova为共同导师,于2018年10月29日进行答辩。答辩委员会成员包括:DavideBalzarotti教授(Eurecom)0Nataliia Bielova 研究员 Inria0Stefano Calzavara 研究员 Università Ca' Foscari Venezia0Walid Dabbous 研究主管 Inria0Christoph Kerschbaumer 研究员 Mozilla0Nick Nikiforakis 助理教授 Stony Brook University0Tamara Rezk 研究员 Inria0Andrei Sabelfeld 教授 Chalmers University0Mike West 工程师 Google0博士学位论文 0应用程序的安全性和隐私0web0评审委员会成员0评审人:Davide Balzarotti 教授 Eurecom0Andrei Sabelfeld 教授 Chalmers University0评审人:Stefano Calzavara 研究员 Università Ca' Foscari Venezia0Walid Dabbous 研究主管 Inria0Christoph Kerschbaumer 研究员 Mozilla0Mike West 工程师 Google0邀请人:Nick Nikiforakis 助理教授 Stony Brook University0论文的联合导师:Nataliia Bielova 研究员 Inria0论文导师:Tamara Rezk 研究员 Inria0摘要0在这篇论文中,我们关注了与Web应用程序和浏览器扩展的安全性和保密性相关的问题。在Web应用程序中,存在一些非常著名的攻击类型,比如跨站脚本(XSS)。扩展是第三方软件,用户可以安装它们来增强浏览器的功能并改善用户体验。内容安全策略(CSP)是一种安全策略,旨在防止XSS攻击。同源策略(SOP)是浏览器的基本安全策略,用于管理Web应用程序之间的交互。例如,它不允许一个应用程序访问另一个应用程序的数据。然而,跨域资源共享(CORS)机制可以被应用程序实现,以便它们之间交换数据。首先,我们研究了CSP与SOP的集成,并证明了SOP可能使CSP失效,特别是当一个Web应用程序没有使用CSP保护其所有页面,并且一个带有CSP的页面嵌套在另一个没有或具有不同且无效的CSP的页面中。我们还阐明了CSP的语义,特别是其三个版本之间的差异以及它们在浏览器中的实现。我们引入了无依赖的CSP概念,它可以确保应用程序在任何浏览器中都能获得相同的防护。最后,我们提出并证明了如何扩展当前的CSP,以解决其他研究中揭示的许多限制。Web应用程序中的第三方内容允许内容所有者在用户浏览网页时跟踪用户。为了避免这种情况,我们引入了一种新的Web架构,一旦部署,就可以消除用户的跟踪。最后,我们关注了浏览器扩展。我们首先证明了用户安装的扩展和/或连接的Web应用程序可以将用户与其他用户区分开来。我们还研究了扩展和Web应用程序之间的交互。我们发现一些扩展的权限可以被网站利用,以访问用户的敏感数据。例如,某些扩展允许Web应用程序访问其他应用程序的内容,尽管这在同源策略中通常是被禁止的。最后,我们还发现许多扩展可以通过操纵CORS头部来禁用浏览器的同源策略。这使得攻击者可以访问用户在任何其他应用程序中的数据,例如用户的电子邮件、社交网络资料等。为了解决这些问题,我们建议浏览器采用更精细的权限系统和更深入的扩展分析,以便警告用户与扩展相关的真实危险。0i0ii0关键词:网络,浏览器,网络应用程序,安全,同源策略,内容安全策略,跨域资源共享,浏览器扩展,跨iframe通信,保密性,隐私,追踪,浏览器指纹0摘要0在这篇论文中,我们研究了网络应用程序和浏览器扩展中的安全和隐私威胁。有许多攻击针对网络,其中跨站脚本攻击(XSS)是最臭名昭著的之一。第三方追踪是攻击者能够从其存在于许多网络应用程序中受益,以跟踪用户在浏览网络时的行为,并建立她的浏览配置文件。扩展是用户安装的第三方软件,用于扩展其浏览器功能并改善其浏览体验。恶意或编程不良的扩展可以被攻击者在网络应用程序中利用,以从扩展的特权能力中受益并访问敏感用户信息。内容安全策略(CSP)是一种安全机制,用于减轻内容注入攻击的影响,特别是XSS攻击。同源策略(SOP)是浏览器实施的一种安全机制,用于隔离不同来源的网络应用程序。在对CSP的第一项工作中,我们分析了CSP与SOP的相互作用,并证明了SOP允许绕过CSP。然后,我们对三个CSP版本进行了详细研究,并发现CSP的解释因浏览器、实施的CSP版本以及实现与规范的一致性而异。为了帮助开发人员部署有效的策略,涵盖CSP版本和浏览器实现的所有这些差异,我们提出了部署无依赖的策略,以在所有浏览器中有效防御攻击。最后,以前的研究已经确定了CSP的许多局限性。我们回顾了野外提出的不同解决方案,并显示它们不能完全减轻CSP的已确定的缺点。因此,我们提出扩展CSP规范,并通过实施示例展示了我们的建议的可行性。关于第三方追踪,我们引入并实施了一种保留追踪的架构,可以由希望在其应用程序中包含第三方内容的Web开发人员部署,同时防止追踪。直观地说,第三方请求会自动路由到受信任的中间服务器,该服务器会从请求中删除追踪信息。最后,考虑到浏览器扩展,我们首先展示了用户安装的扩展和他们登录的网站可以用于唯一标识和追踪他们。然后,我们研究了浏览器扩展与网络应用程序之间的通信,并证明了恶意或编程不良的扩展可以被网络应用程序利用,以从扩展的特权能力中受益。此外,我们证明了扩展可以通过篡改CORS头来禁用同源策略。所有这些使得网络应用程序能够读取敏感用户信息。为了减轻这些威胁,我们提出了对策和更细粒度的权限系统以及浏览器扩展的审查流程。我们相信,这可以帮助浏览器供应商识别恶意扩展并警告用户安装的扩展所带来的威胁。0iii0iv0关键词:网络,浏览器,网络应用程序,安全,同源策略,内容安全策略,跨域资源共享,浏览器扩展,跨iframe通信,隐私,第三方网络追踪,浏览器指纹0致谢0谢谢0谢谢0巴尔卡0v1Introduction11Security threats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .12Privacy threats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23Extensible browsers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34Scope of the thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34.1Improving the effectiveness of CSP . . . . . . . . . . . . . . . . . . .34.2Server-side third party tracking protection . . . . . . . . . . . . . . .44.3Web applications meet browser extensions . . . . . . . . . . . . . . .55Outline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56List of publications and submissions. . . . . . . . . . . . . . . . . . . . . .62Background71Web applications ecosystem . . . . . . . . . . . . . . . . . . . . . . . . . . .71.1Web servers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71.2HTTP protocol . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81.3Web documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .91.4Cascading Style Sheets (CSS) . . . . . . . . . . . . . . . . . . . . . .101.5JavaScript . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .111.6Browsing contexts. . . . . . . . . . . . . . . . . . . . . . . . . . . .122The Same Origin Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122.1Origin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .122.2Cross-origin embeddings . . . . . . . . . . . . . . . . . . . . . . . . .132.3Cross-origin reads. . . . . . . . . . . . . . . . . . . . . . . . . . . .153Cross-Origin Resource Sharing (CORS). . . . . . . . . . . . . . . . . . . .163.1Types of CORS requests: simple and preflighted. . . . . . . . . . .163.2CORS headers. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .173.3CORS and sandboxing . . . . . . . . . . . . . . . . . . . . . . . . . .194Third party content in web applications. . . . . . . . . . . . . . . . . . . .204.1Cross-Site Scripting (XSS) . . . . . . . . . . . . . . . . . . . . . . . .204.2Third party web tracking. . . . . . . . . . . . . . . . . . . . . . . .215Content Security Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . .225.1Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .225.2Directive values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .235.3CSP modes and headers . . . . . . . . . . . . . . . . . . . . . . . . .255.4Example of CSPs . . . . . . . . . . . . . . . . . . . . . . . . . . . . .266Browser extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .276.1Security considerations . . . . . . . . . . . . . . . . . . . . . . . . . .286.2Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .286.3Extensions injected content . . . . . . . . . . . . . . . . . . . . . . .29vii0内容viiiCONTENTS6.4Extensions identification . . . . . . . . . . . . . . . . . . . . . . . . .306.5Web Accessible Resources . . . . . . . . . . . . . . . . . . . . . . . .30IContent Security Policy333CSP violations due to SOP391Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .392Content Security Policy and SOP . . . . . . . . . . . . . . . . . . . . . . . .402.1CSP violations due to SOP. . . . . . . . . . . . . . . . . . . . . . .403Empirical study of CSP violations. . . . . . . . . . . . . . . . . . . . . . .423.1Methodology. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .433.2Results on CSP adoption. . . . . . . . . . . . . . . . . . . . . . . .453.3Results on CSP violations due to SOP . . . . . . . . . . . . . . . . .463.4Responses of websites owners . . . . . . . . . . . . . . . . . . . . . .494Avoiding CSP violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . .495Inconsistent implementations. . . . . . . . . . . . . . . . . . . . . . . . . .506Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .524Dependency-Free CSP531Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .532Context and problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .562.1Directives and their values in different CSP versions. . . . . . . . .562.2Problems with browsers support. . . . . . . . . . . . . . . . . . . .572.3Goal: is my CSP effective?. . . . . . . . . . . . . . . . . . . . . . .583Directives dependencies. . . . . . . . . . . . . . . . . . . . . . . . . . . . .593.1CSP core syntax. . . . . . . . . . . . . . . . . . . . . . . . . . . . .593.2Formalization of DF-CSP considering CSP1, CSP2, CSP3 and browsersimplementations. . . . . . . . . . . . . . . . . . . . . . . . . . . . .623.3Rewriter for building DF-CSP for CSP1, CSP2, and CSP3. . . . . .663.4Resolving all Dependencies. . . . . . . . . . . . . . . . . . . . . . .673.5Dependencies between CSP2 and CSP3 implementations . . . . . . .693.6Dependencies between CSP2 and CSP3 specifications . . . . . . . . .704Dependencies in the wild . . . . . . . . . . . . . . . . . . . . . . . . . . . . .724.1Validity of the statistics . . . . . . . . . . . . . . . . . . . . . . . . .735Tool for building effective policies . . . . . . . . . . . . . . . . . . . . . . . .736DF-CSP and strict CSP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .746.1Attacker model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .756.2Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .756.3Applications vulnerable to such attacks. . . . . . . . . . . . . . . .757Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .765Extending CSP771Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .772Problem and motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .812.1Partially whitelisted origins . . . . . . . . . . . . . . . . . . . . . . .822.2Excluding content from whitelisted origins . . . . . . . . . . . . . . .822.3URL parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . .822.4CSP violations. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .822.5Motivation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83CONTENTSix3Extending CSP specification . . . . . . . . . . . . . . . . . . . . . . . . . . .843.1CSP in blacklisting mode. . . . . . . . . . . . . . . . . . . . . . . .843.2Checks on URL arguments. . . . . . . . . . . . . . . . . . . . . . .843.3Preventing redirections . . . . . . . . . . . . . . . . . . . . . . . . . .863.4Reporting runtime enforcement of CSP . . . . . . . . . . . . . . . . .863.5Backwards compatibility and implementation overhead . . . . . . . .864Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .874.1Implementation of the URL filtering algorithm. . . . . . . . . . . .884.2Implementation of the URL matching algorithm. . . . . . . . . . .894.3Service workers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .895Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .925.1Performance overhead . . . . . . . . . . . . . . . . . . . . . . . . . .936Discussions and limitations. . . . . . . . . . . . . . . . . . . . . . . . . . .956.1Service workers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .956.2Browser extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . .966.3Privacy implications of the reporting mechanism. . . . . . . . . . .967Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97IIThird party web tracking996Server-side tracking protection1051Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1052Background and motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1062.1Browsing context . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072.2Third party tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083Privacy-preserving web architecture . . . . . . . . . . . . . . . . . . . . . . . 1103.1Rewrite Server. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113.2Middle Party . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1124Implementation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1144.1Discussion and limitations . . . . . . . . . . . . . . . . . . . . . . . . 1155Evaluation and Case Study. . . . . . . . . . . . . . . . . . . . . . . . . . . 1156Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1177Browser extensions fingerprinting1191Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1192Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212.1Detection of browser extensions . . . . . . . . . . . . . . . . . . . . . 1212.2Detection of web logins. . . . . . . . . . . . . . . . . . . . . . . . . 1223Dataset. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1233.1Experiment website and data collection. . . . . . . . . . . . . . . . 1233.2Data statistics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1243.3Usage of extensions and logins. . . . . . . . . . . . . . . . . . . . . 1274Uniqueness analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284.1Four final datasets . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12904.2 最终数据集的唯一性结果 . . . . . . . . . . . . . . . . . . 12905 指纹攻击 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 5.1 威胁模型 . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 13105.2 如何选择最佳属性? . . . . . . . . . . . . . . . . . . . 13205.3 有针对性的指纹 . . . . . . . . . . . . . . . . . . . . . . . . . . 1320x 目录05.4 通用指纹 . . . . . . . . . . . . . . . . . . . . . . . . . . 13306 实现和性能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13507 隐私扩展的困境 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13508 对策 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13709 讨论和未来工作 . . . . . . . . . . . . . . . . . . . . . . . . . . . 138010 结论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1390III 浏览器扩展 14108 通信扩展 - 网页应用程序 14701 引言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14702 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149 2.1 交互 . . . . . . . . . . . . . . . . . . . . . .. . . . . . . . . . 14902.2 威胁模型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15103 方法论 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15103.1 静态分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15203.2 手动分析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15403.3 限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15404 实证研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15404.1 概述 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15504.2 执行代码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15804.3 绕过SOP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15804.4 Cookies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15904.5 下载 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16004.6 历史记录、书签和已安装扩展列表 . . . . . . . . . . . . . . . . . . . . . . . 16004.7 存储/检索数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16004.8 其他威胁 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16105 用于分析消息传递API的工具 . . . . . . . . . . . . . . . . . . . . . . . 16106 案例研究 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16206.1 发送给扩展的消息示例 . . . . . . . . . . . . . . . . . . . . . . . 16206.2 强制攻击 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16607 讨论 . . . . . . . . . . . . . . . . . . . . . . . . . . . .
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功