高效能在线码垛机器人
我们为读者解释了站点隔离以及相关安全机制是如何缓解诸如UXSS和Spectre之类的黑客攻击的。然而,由于渲染器进程中的安全漏洞极为常见,因此,Chromium的威胁模型假设渲染器进程可能会遭到入侵,也就是该进程是不可信任的。为了与这种威胁模型保持一致,Chromium在2019年宣布了对站点隔离机制进行相应的改进,以进一步缓解被入侵的渲染器进程可能造成的危害。在这篇文章中,我们将为读者解释这些改进的细节,以及在此过程中发现的各种安全漏洞。 什么是被入侵的渲染器进程? 攻击者可能会在Chromium的渲染器进程中发现安全漏洞,例如在JavaScript引擎、DOM或图像解析逻辑中,这并不稀奇。有时,这些漏洞可能涉及内存错误(例如,UAF漏洞),导致攻击者的网页在渲染过程中能够执行他们自己的、任意的、本地的代码(例如汇编/C++代码,而不是JavaScript代码)。我们称这样的进程为“被入侵的渲染器”——作者:kasz Anforowicz 这意味着,被入侵的渲染器进程不仅可以读取渲染器进程中的所有内存空间,还可以对其进行写入操作。比如说,允许攻击者伪造渲染器进程的IPC消息给其他进程。这里列出了站点隔离的改进之处。 一个可以实现UXSS的站点隔离绕过漏洞 在寻找绕过站点隔离的方法时,我想起了Bo0oM发现的一个非常有趣的UXSS漏洞。在当时,站点隔离还只是一个实验性的功能,而且出于禁用状态,我想知道是否可以用这个漏洞来绕过站点隔离措施。
于是,我在启用站点隔离机制的情况下对UXSS漏洞进行了测试,发现它在某些方面仍然奏效。当源发生变化后,之前网站的流程仍会被重用。例如,如果试图访问cookie,会导致渲染器进程崩溃,因为站点隔离机制认为该进程不应该为另一个源请求cookie。 见问题排雷 下面整理了我们在公司项目迁移Gson过程中,踩过的坑,这些坑现在写起来感觉没什么技术含量。但是这才是我写这篇文章的初衷,帮助大家把这些很难发现的坑避开。 这些问题有的是在测试进行回归测试的时候发现的,有的是在自测的时候发现的,有的是在上线后发现的,比如Swagger挂了这种不会去测到的问题。 Date序列化方式不同 不知道大家想过一个问题没有,如果你的项目里有缓存系统,使用fastjson写入的缓存,在你切换Gson后,需要用Gson解析出来。所以就一定要保证两个框架解析逻辑是相同的,但是,显然这个愿望是美好的。 在测试过程中,发现了Date类型,在两个框架里解析是不同的方式。
(编辑:淮安站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |