Ourren

关注技术,记录生活.

Understanding and Monitoring Embedded Web Scripts

| 留言

该篇文章发表于36th IEEE Symposium on Security and Privacy (“Oakland”)「属于安全界的顶级会议」,而作者是Yuchen Zhou,毕业于University of Virginia,目前就职Palo Alto Networks。从作者的个人主页可以看到其主要的研究内容:通过修改浏览器中特殊功能来实现对单点Web安全技术进行研究。PS:发的顶会文章也是够多的。

项目主要开发了一个修改版的Firefox浏览器「ScriptInspector」来帮助网站管理人员查看网站第三方JavaScript对网页内容的相关操作,主要分为三个模块:ScriptInspector,Visualizer和PolicyGenerator。

  • ScriptInspector:基于Firefox的修改版浏览器,主要修改window.eval等函数的hook. 用来记录第三方脚本的函数调用,主要包含:DOM, 本地存储和网络。
  • Visualizer:一个Firefox插件,用来高亮显示页面中被访问的节点,可以快速了解第三方脚本的操作。
  • PolicyGenerator:用于辅助人员生成各种第三方脚本的访问策略,通过这些脚本在不同网站的访问情况可以推断该脚本的安全性。

作者通过分析把第三方脚本的操作分为了如下大类:获取浏览器版本,网络请求,修改网页内容,读取网页内容,记录用户操作,脚本插入,获取属性值。在具体实现部分从技术上讲解了这几类操作的实现细节。

在策略分类问题上,主要分为几下几类:统计分析类脚本,广告类脚本,社交类脚本和Web开发类脚本「比如Jquery,google font等」。

在最终测试中发现了很多有意思的东西:Alex 200的网站嵌入第三方脚本很多,并且有些脚本有违规的操作,比如每个网站平均需要6个权限,Facebook和Twitter请求权限很多,并且有时候会读取其它网页内容或者操作行为等,详细可以参考论文的「POLICY EVALUATION」。

相关研究中对客户端脚本安全进行了详细的梳理,可以说非常不错。

点评

其实研究第三方脚本的安全隐私的论文已经很多了「可以参考文章中得相关工作和参考文献」,但是一般情况都是直接写一个插件利用JS HOOK来记录脚本的活动「Ghostery,BEEP,MashupOS,OMash」,而基于修改版的Firefox则很少,工业界中DOMinator利用修改版的Firefox来挖掘DOM XSS,而学术界貌似很少。 其实CSP的提出也是用于解决此类安全问题。

另外论文的工作量看起来是比较多的,但是说实话测试数据不是很大,下载使用其程序感觉不够稳定,基本上算demo版本。