一张照片就可让黑客劫持Instagram用户账号

Check Point安全研究人员发现热门的社交平台Instagram,存在严重的漏洞,黑客只要发送一张恶意的JPEG图片给被害者,就能够入侵被害者的Instagram账号,甚至访问相机、麦克风和联系人资料。Check Point已经向脸书回应该漏洞,脸书也已经发布修补该漏洞的Instagram程序。

这个Instagram漏洞允许攻击者进行远程程序代码执行,黑进Instagram应用程序中,执行任意行为,即便这些行为,并非应用程序的逻辑或是功能的一部分也没问题,Check Point提到,因为Instagram应用程序具有非常大的权限,因此攻击者甚至可以将受害者手机,转成间谍工具。

值得一提的是,这个漏洞并非来自于Instagram本身的程序代码,而是Instagram所使用的第三方函数库Mozjpeg。不少现代应用程序开发人员,并不会自己从头开发应用程序,而是使用第三方函数库,来处理图像、声音和网络连接等复杂的任务,这样的开发方法,不只让应用程序的开发速度更快,也能使开发人员专注在应用程序核心逻辑的开发上,也因为如此,当第三方函数库存在安全性问题,应用程序也会受到影响。

Check Point检查了Instagram所使用的第三方函数库,Instagram将Mozjpeg用作JPEG格式图像解码器,能够在客户端处理要上传至后台服务的图片,而Instagram使用开源项目Mozjpeg的方式存在漏洞。Mozjpeg为Mozilla在2014年发布的开源项目,创建于大多数Linux发行版默认提供的函数库Libjpeg-turbo编码器之上,其目的是要提供网页图像更好的压缩效果,通过减少文件大小以降低带宽使用,使得应用能更快地加载网页图像。

攻击者只要发送一张精心制作的照片,到受害者的电子邮件信箱、WhatsApp或是其他媒体交换平台,当受害者打开Instagram应用程序,在Instagram解析JPEG图像文件的时候,处理图像尺寸的功能便会崩溃,而使得攻击者有机可乘,进而取用Instagram能够访问的任何手机资源,包括联系人、设备存储、位置服务和相机。

攻击者也能够完全控制Instagram应用程序,代表用户进行任何操作,像是读取所有个人消息,或是随意删除与发布照片,也能够将受害者设备变成监控工具,在用户不知情的情况下侵害隐私、声誉,甚至导致更严重的安全问题。

由于该漏洞使用户的Instagram应用程序崩溃,因此能有效地拒绝用户访问该应用,直到用户删除应用程序,并且重新安装之后,才能恢复正常使用。研究人员提到,现代移动操作系统通常会以权限限制应用程序的行为,来保护用户免受恶意人士,通过窃取资料或是凭证等手段,监控用户的位置和个人资料。

像是地图应用程序,只能访问设备位置,但不能访问麦克风,抑或是交友应用程序,应该只能访问相机,限制其他不相关的操作,研究人员表示,当攻击者入侵具有广泛权限的应用程序,便能访问GPS、相机、麦克风和联系人资料,产生巨大的安全危害。