Page 192 - 《软件学报》2021年第8期
P. 192

2474                                   Journal of Software  软件学报 Vol.32, No.8,  August 2021

                 型仍然把属于同一个浏览实例的 frame 放置在同一个渲染进程中.据此,内存攻击者通常存在于图 2 所示的第 1
                 类研究场景中.
                 2.2   研究方向
                    浏览器中,不同主体之间数据的隐私保护与代码的隔离执行归功于同源策略.同源策略实施的有效性极大
                 地影响浏览器的安全,因而大量的研究者们对同源策略进行了研究.我们研究与分析了近年来与 Web 相关领域
                 的顶级会议(S&P、CCS、UsenixSecurity、NDSS、OSDI 以及 WWW 等)上与同源策略有关的论文,这些研究现
                 状可以分为以下 3 部分.
                    (1)  同源策略规则不足及应对(见第 3 节):在策略攻击者存在的情况下,考虑同源策略规则有可能存在的
                        不足与缺陷,分析这些不足可能导致的后果,并给出相应的弥补方案.例如,同源策略无法处理第三方
                        脚本的安全威胁、无法限制同源不同 frame 的权限、与其他浏览器机制协作时还会为不同源的 frame
                        赋予过多权限等.
                    (2)  跨域/跨源通信支持安全威胁及应对(见第 4 节):这一类研究方向考虑浏览器允许的跨域/跨源通信机
                        制,针对这些合法的通信方式进行安全分析,发现其中存在的安全威胁并提供相应的防御方案.
                    (3)  内存攻击下的同源策略安全(见第 5 节):这一类研究方向考虑在浏览器中发起内存攻击的可能性,并
                        基于此给出相应的内存攻击方案与防御措施.在内存攻击者存在的情况下,同源策略将无法实施有效
                        的资源访问控制,需要借助一些内存防御方案来进行抵御.
                    我们分析总结了这 3 类同源策略安全研究方向的攻击者类型、攻击原理、防御机制以及代表性研究工作,
                 表 2 给出了总结分析结果.
                                   Table 2    Three research directions of same-origin policy security
                                              表 2   同源策略安全的 3 类研究方向
                         研究方向           攻击者类型           攻击原理概述              防御机制概述         代表性研究工作
                                                      同源策略允许 frame                           Nikiforakis
                            第三方脚本的                                       隔离第三方脚本并提供              [6]
                           过度授权与防御                   嵌入第三方脚本并赋予           安全的资源共享机制           等人 ;  [30]
                                                     其与 frame 相同的权限                          Ingram 等
                   同源策略       同源不同         策略       同源策略赋予同源的不同           设计与实现细粒度或          Cao 等人 ;
                                                                                                   [9]
                   规则不足     frame 的过度     攻击者       frame 相同权限,然而存在      动态的同源策略,并增强         Lerner 等 [31]
                    及应对      授权与防御                 不同 frame 不同权限的需求       其他相关浏览器机制
                              不同源                 同源策略允许嵌入第三方脚本             为网络请求增加                [11]
                            frame 的过度             与发送任意网络请求,与 cookie        灵活的策略规则         Barth 等人  [12] ;
                             授权与防御                机制的配合将能破坏同源策略            或增强 cookie 机制    Lekies 等人
                           无服务器辅助的                   跨域/跨源 API 所引起的         提供应用程序                 [13]
                    跨域/     跨域/跨源通信                  机密性破坏与同源策略             级别的 API 安全      Singh 等人  ;
                   跨源通信      机制与防御         策略          规则的不一致性            封装或安全使用检测           Son 等 [14]
                   机制安全     服务器辅助的        攻击者
                    威胁及     跨域/跨源通信                  跨域/跨源协议所引起的           修复跨域/跨源协议         Popescu [15] ;
                    应对                                机密性与完整性破坏           漏洞与进行安全增强         Chen 等人 [16]
                             机制与防御
                              代码注入                    注入任意代码来绕过              W^X、地址         Song 等人 [17] ;
                             攻击与防御                   同源策略访问跨源资源              空间随机化         Blazakis 等人 [19]
                   内存攻击       代码重入         内存         利用代码重用攻击以           常数盲化、地址空间         Snow 等人 [32] ;
                   下的同源      攻击与防御        攻击者        获得任意代码执行能力          随机化、控制流完整性          Athanasakis
                   策略安全                               来绕过同源策略限制                               等人 [20]
                             仅数据攻击                   修改安全相关元数据来             内存隔离、地址          Jia 等人 [22] ;
                              与防御                   欺骗或绕过同源策略限制              空间随机化           Reis 等人  [33]
                 3    同源策略规则不足及应对

                    浏览器同源策略的目的是实现基于源的资源隔离,这些资源涵盖了 JavaScript 与 DOM 对象、cookie、本地
                 存储以及服务器返回的网络响应等.同源策略规则的不足,将使得攻击者能够绕过同源策略来非法获取不同源
                 的资源.同源策略规则的不足体现在以下 3 个方面.
   187   188   189   190   191   192   193   194   195   196   197