为了缓解XSS(跨站脚本攻击)的威胁,W3C工作组制订了一个名为CSP(内容安全策略)的计算机安全策略标准。然而,根据Google的调查,只有不到3.7%的网站部署了 CSP。CSP的部署率较低,这主要是由于它和老版本的浏览器之间兼容性较差,并且CSP的部署本身也存在一定的技术困难。为了提高CSP的可扩展性,本文提出了一种新型的基于安全策略的XSS防御方式JSCSP(Javascript based CSP),它不仅支持各个版本的浏览器,还能够自动化地生成安全策略。具体来说,JSCSP定义了一种全新的自定义的安全策略,它可以对web页面中的几类元素施加限制,包括危险的Javascript函数和对象,DOM元素的源以及重要数据的读写操作。此外,我们还设计了一个自动生成安全策略的算法,并以级联的方式执行,使用这种方式可以实现比CSP更细粒度的限制。我们已经实现了一个基于JSCSP的Chrome扩展,经过实验验证,它与其它流行的Javascript库兼容。此外,我们用五个常用的CMS(内容管理系统)搭建了对应的 web 应用:Wordpress、Drupal、TYP02、PrestaShop、Typecho,并在这些web应用上测试了各种类型的XSS向量,发现这些攻击向量都会被成功拦截。我们还使用了单独的实验验证JSCSP对CSP-Bypass类攻击的防御效果,结果显示JSCSP对此类攻击能起到明显的防御作用。最后,我们将JSCSP与五个其它的XSS防御工具进行对比,结果显示JSCSP具有更好的综合表现,它可以减少网站管理人员的工作量,并且当网站没有部署CSP时,它可以很好地保护用户的隐私。
暂无评论