日前,研究人员在Linux内核、几个开源库和一些三星Android移动设备中使用的流行压缩算法中发现了一个20年之久的漏洞。发现这个漏洞的研究人员表示,这个漏洞可能会影响一些汽车和飞机系统,以及其他运行嵌入式开源软件的消费级电子设备。
在过去几天,我们已经看到了针对Linux内核以及各种开源媒体库的整数溢出漏洞的修复,这个漏洞允许攻击者通过拒绝服务攻击和远程代码执行来攻击运行所谓的Lempel-Ziv-Oberhumer(LZO)代码的系统。LZO处理嵌入式系统中IP网络流量和文件(通常是图像)的压缩和解压缩。
发现这个漏洞同时手动审计改代码的Lab Mouse Security公司移动和嵌入式系统安全专家Don Bailey表示:“最普遍的使用是在图像数据中,解压缩拍摄的图片,以及从照相机或视频流获取的原始图像。”
Bailey表示,这个漏洞最棘手的部分在于这可能影响广泛使用该算法的消费级产品:这取决于产品使用的规格版本,以及算法是如何部署在系统中的,所有目前我们并不清楚有多少消费级产品正处于危险之中。
他表示,有几个关键产品中部署了LZO,包括OpenVPN、三星Android设备、Apache Hadoop、瞻博网络Junos Ipsec、mplayer2、gstreamer和Illumos/Solaris BSD ZFS(Iz4),但目前还不清楚这些软件程序中的LZO部署是否容易受到攻击。他表示:“最有可能的情况是,它们可能都会受到DoS的影响。”
是否会受到影响完全取决于该算法的部署情况,以及底层架构和应用程序的内存布局。因此,所有LZO都应该对该漏洞的风险进行评估,并且进行修复。
对于这个漏洞,让人担忧的是它可能给商业系统带来潜在的危险。Bailey表示:“如果它运行在嵌入式汽车或飞机系统,它可能被用来导致软件故障,以及导致单片机或嵌入式系统故障。根据架构的不同,该系统可能会或者可能不会发生故障。”
它还可以用来通过视听媒体远程执行代码,他表示:“如果你正在观看视频,一个恶意视频可能会在你的计算机执行shell,这意味着,你观看视频时会执行代码。”
对于该漏洞的影响范围还有很多未知数。美国宇航局的Mars Rover同样在运行LZO,但Bailey表示,由于我们不知道代码是如何部署的,我们也没有办法知道火星车是否会受到影响。
Rapid7公司全球安全战略家Trey Ford表示,LZO压缩是很普遍的。他表示:“你会发现它几乎在所有Linux的版本中,它还可能会影响Solaris、iOS和Android。需要注意的是,一些Linux内核(操作系统的基础)版本几乎被用于所有物联网设备中,无论功能是什么。”
但是由于不清楚该漏洞在不同部署中的情况,我们很难判断这个漏洞带来的危害。Ford表示:“这个漏洞可能会允许绕过修改过的内核部署中系统启动加载器的签名,或者可能通过特殊的USB驱动器在本地内核水平进行漏洞利用。如果没有更多细节,我们很难评估该漏洞的潜在威胁。”
同时,Bailey表示:“随着物联网变得更加普及,我们将会看到更多这样的漏洞。”
然而,并不是所有系统都会进行LZO修复或者未来修复。“很多较旧的项目可能不会修复,”他表示,“企业可能有很多传统系统,并不知道它们在使用这个库。”
这个LZO漏洞与Heartbleed有一些相似之处,但目前还没有Heartbleed那么大的影响力。他表示:“它可能与Heartbleed一样危险,因为它影响着广泛的平台,这个漏洞可能带来内存泄露、拒绝服务攻击和远程代码执行。”
Bailey已经公布了关于该LZO漏洞的技术细节信息。
下面是针对该漏洞发布的修复程序:
· 今天发布了Linux内核更新,根据该项目的开发人员表示,所有Linux发行版的补丁现在都可用
· 根据开源项目开发人员表示,Libav的CamStudio和NuppelVideo解码器版本和使用LZO的Mastroska分路器都受到影响。Libav 0.89和10都容易受到该漏洞的影响,本周进行了修复。
· Videolan和ffmpeg媒体播放器本周都进行了修复
· Oberhumer开发的LZO专业数据压缩库被用在Rover、飞机、卡、手机、操作系统和游戏机中,该公司对于补丁修复以及其系统是否受到该漏洞的影响并没有作出回应。
但是该公司已经发布了对该软件的更新,LZO 2.07。这个更新并没有明确它是否修复了LZO漏洞。Bailey表示,这个网站并没有标明新版本中修复的安全问题。
Oberhumer在其网站称:“基本上,如果你有一辆汽车、移动电话、计算机、控制台,或者最近到医院就诊,很有可能你使用了我们的嵌入式数据压缩技术。”