Dropbox的开发人员近日修复了安卓版Dropbox SDK存储应用程序上的一个远程利用漏洞,攻击者利用该漏洞可未经用户同意直接把应用程序和Dropbox账户连接。只要用户安装的应用程序使用了含有漏洞的Dropbox SDK,则其敏感信息就可能被攻击者窃取。
漏洞描述
该漏洞是IBM的研究员发现,按他的原话就是:SDK的认证机制上存在一个严重漏洞。攻击者可在SDK代码中任意写入一个访问标记,绕过随机数防护。
IBM X-Force 应用程序安全研究小组组长Roee Hay在其博客中深入分析了这一漏洞。他指出该漏洞是“特定执行漏洞(CVE-2014-8889)”,攻击者可以强制SDK泄露随机数到攻击者的服务器上,进而使防护失效。
利用获得的nonce,攻击者可把受害者设备上应用程序连接到自己的账户上(注意:不是受害者账户哦),然后欺骗他们上传敏感数据或者下载恶意数据。
Dropbox是通过OAuth请求来认证应用程序,通常情况下SDK会释放出一个很长且很复杂的加密字符或者随机数。只有在SDK产生的随机数和另一应用程序通过API返回的随机数匹配时,这两个应用程序才能互相访问。
成功利用此漏洞的条件:
1.获得访问标记;
2.诱骗受害者到一个恶意网站;
3.泄露受害者的nonce到他们的服务器;
4.冒充nonce访问Dropbox;
5.在目标应用程序中注入他们自己的标记。
IBM的研究人员提供了该漏洞的相关POC,其中杜撰了一个名叫DroppedIn的漏洞。视频中研究者详细介绍了怎样利用该漏洞把受害者的应用程序连接到自己的Dropbox账户或者旧版本的1Password上。一旦受害者错误的访问了受攻击者控制的网站,1Password上的Dropbox SDK代码就会被攻击者利用,然后攻击者就可访问受害者的vault。
POC视频
许多应用程序都使用了存在漏洞的SDK,像1Password和Microsoft Office Mobile;当然这些应用程序的用户现在也不必惊慌,因为自IBM提交了这一漏洞之后,它们就及时更新了自己的应用程序;但还需提醒用户的是,要确保你们的使用的是最新版本的应用程序才行。
受影响的SDK版本:
1.5.4-1.6.1版本的Dropbox SDK都存在安全漏洞,而1.6.3版本的DropboxSDK不存在该漏洞。