通告:

颢儿博客幸运读者活动本期礼品为QQ币,活动详情点击右边淘宝搜索框下面的彩球

设为首页添加收藏

2/11/2009

什么是Clickjacking攻击

什么是Clickjacking攻击

这个被称为 Clickjacking 的安全威胁,原本要在OWASP NYC AppSec 2008 大会上公布,但包括 Adobe在内的厂商请求暂时不要公开这个漏洞,直到他们开发出安全补丁。

发现这个漏洞的是两个安全研究专家,Robert Hansen Jeremiah Grossman,他们已经略透露了一点相关信息以显示该安全威胁的严重性。

随之而来的还出现了一些Clickjacking的Demo程序。

例如:黑客通过flash小游戏来控制用户的摄像头或麦克风,Adobe对于Flash Player引起的Clickjacking漏洞作出回应,并且官方出了临时解决方案,可以避免被黑客控制你的摄像头或者是麦克风。 到底什么是Clickjacking?看完这里也许你会明白。如果你英文足够好,可以推荐你看一下当时会议的一段视频

简单的说Clickjacking是一种攻击,是一种新型的WEB方式攻击。上面所涉及到的“Flash Player漏洞”,其实只是Clickjacking安全漏洞一种表现形式。

Clickjacking翻译可以将他拆成click-jacking来理解,click是点击的意思(鼠标点击),jacking应该是劫持的意思(hijacking的缩写?不得而知)。联起来翻译就是“点击劫持”。这里也涉及到了Clickjacking的说法,他们把“Clickjacking”叫做“UI redress vulnerabilities(界面伪装漏洞 )”,这个解释也许更能描述清楚这个漏洞的情况。

在一个已经公布clickjacking的Demo演示程序中我们不难发现clickjacking的内涵。

在你可控制的页面A内有一个iframe,iframe的src链接到另一个域的页面B。设置这个iframe的CSS样式的透明度为0,并设置其 CSS样式的z-index比页面A的其他元素的z-index大。这个iframe的width与height值都设置为足以保证用户可以点击到其中内容(页面B的内容)的大小。然后在页面A上放置一些按钮、链接等可以欺骗用户点击的元素,这些元素在iframe之下(z-index值决定),并恰好与 iframe的页面B内的关键元素在同一个位置。于是当用户被欺骗去点击页面A内的这些元素时,实际上点击了页面B内的关键元素。至于页面B内的关键元素是什么,大家想想便知,比如:删除按钮、添加按钮、单选框、请求链接等等。再加上一些社工技巧,这类攻击方式可以进行得非常巧妙。这种攻击基于DHTML技术,用到了iframe,而且这样的攻击方式不一定需要JS。

其实这样的欺骗很早就有了,同样这里罗列出了三种(onMouseUpJacking,FormJacking,SubmitJacking)点击劫持的方法。

如果黑客精心设计clickjacking攻击页面,网页访客进行常规的鼠标点击行为或者无意间的鼠标点击行为,都会有可能点击会激发背后的隐形身影,而这隐形身影包括下载木马或者其他等行为(打开摄像头等)。


防御办法:


首先我们看一下是不是所有浏览器都有问题?Clickjacking and Other Browsers (IE, Safari, Chrome, Opera)这里的测试已经说明了,基本所有的浏览器都不能避免这种Clickjacking攻击。 幸运的是Firefox 3NoScript(1.8.2以上版本)插件可以防御clickjacking攻击。NosSript为防御Clickjacking特意做出了一种名为ClearClick的保护
所以推荐大家使用Firefox 3+NoScript,可以安心上网。下面推出插件的将会是哪个浏览器呢?maxthonthe world?我们拭目以待。

让我们期待OWASP NYC AppSec 2008 大会上可以获得更多细节,毒霸届时也会出相应保护方案。




没有评论:

发表评论