安全是一场猫捉老鼠的游戏。攻击者会不断创新攻击方式,浏览器厂商也在采用新的防御手段保持领先。Chrome继续构建更强大的基于沙盒和网站隔离的多进程架构。通过集成混淆为用户构建更强大的安全线。但是这道初级防线已经到了极限,谷歌已经不能仅靠这种战术来战胜野蛮的攻击了。在去年5月23日的一份报告中,Chrome软件工程师发现70%的严重安全漏洞源于内存安全问题。更重要的是,Chrome一半的安全漏洞是“释放后使用”漏洞,这些漏洞来自内存指针管理不当,使Chrome容易受到进一步攻击。为安全牺牲性能今天,Chrome安全团队公布了他们针对浏览器内存安全问题的解决方案,其中之一涉及以牺牲性能为代价来交易性能。Chrome浏览器安全团队由AndrewWhalley、DanaJansens、AdrianTaylor和NaskoOskov组成。该团队进一步引用了上述内存安全漏洞造成的安全漏洞的统计数据。这三个解决方案包括●通过在编译时检查指针的正确性使C++更安全●通过在运行时检查指针的正确性使C++更安全●研究代码库中的某些代码使用内存安全语言。因此,针对浏览器内存管理普遍存在的错误,Chrome浏览器的开发者萌生了通过添加运行时检查使其更加安全的想法。虽然运行时检查使Chrome的C++语言比以往任何时候都更安全,免受内存安全漏洞的影响,但它也有一些性能成本。安全团队进一步写道:“检查指针的正确性在内存和CPU时间上的成本是无限小的。但对于数百万个指针来说,它加起来”。也就是说,修复内存错误可能会以占用一些内存和CPU时间为代价。因此,浏览器的整体性能受到影响。对于Chrome浏览器的用户来说,这种权衡变??得更加明显,他们的设备没有最高性能的CPU并且内存不足。因此,额外的运行时检查可能会导致Web浏览性能略微降低。然而,Chrome安全团队仍然指出,它愿意尝试更安全但速度更慢的选项。但该团队还在努力为浏览器编写一种不需要额外运行时的不同语言。
