防火墙Little Snitch的BUG导致Mac系统受到攻击

可信的Mac OS X防火墙Little Snitch容易受到本地特权升级攻击,它可以使罪犯在某些El Capitan系统上植入隐藏的恶意程序和键盘记录器。

http://p2.qhimg.com/t014eed2fd3142b7739.jpg

Little Snitch防火墙漏洞被Synack的研究部主任,著名的OS X黑客帕特里克·瓦尔德发现。受影响的是Little Snitch防火墙软件的3.x版本,是之前为了构建运行在El Capitan系统上的3.6.2版本而发布的。瓦尔德并没有测试Little Snitch 3.x之前的版本。

今年1月,瓦尔德发现该防火墙软件包含本地特权升级(EoP)漏洞,任何本地用户(或恶意软件)都可以利用。次月, Little Snitch的开发小组Objective Development发布了一个新(3.6.2)版本的防火墙来修复这个问题。

“这是一个严重的漏洞, Little Snitch的用户很可能轻易地就错过了一个重要的软件更新,”瓦尔德告诉Threatpost。

用户只需更新到最新版本即可解决这个问题。然而,瓦尔德指出,因为旧版本的Little Snitch软件容易受到这种类型的攻击,攻击者可能会在一个目标计算机上安装旧版本的防火墙软件(或加载一个旧版本的Little Snitch驱动程序)来利用这个安全漏洞。

下个月,在DEFCON,瓦尔德将会首次公开讨论这个漏洞,并且还会描述两个额外的之前披露的Little Snitch漏洞。

“利用这个漏洞将提供给一个未经授权的(本地)用户在系统的内核(ring-0) 执行任意代码的权限。在这里,他们可以安装一个隐藏的恶意程序(rootkit),键盘记录器,禁用系统完整性保护(SIP)或者更多,”瓦尔德说。

瓦尔德说Little Snitch的这个bug与运行在系统内核级别的软件的驱动程序相关。他说他能够逆向工程Little Snitch的用户模式防火墙配置设置,并实现与内核的“交谈”。接下来,他欺骗Little Snitch的客户端,然后想出了如何验证内核并向内核发送指令(或消息)代码。

瓦尔德发现有一个内核接口存在一个堆溢出漏洞。“这意味着我可以向有安全漏洞的内核发送一个特殊的请求,它会处理我的请求, 然后我就可以在内核执行任意代码,”他说。

这意味着一个本地用户,或一块在系统上运行的恶意代码,可以在安装了Little Snitch的系统上使用相同的请求触发该漏洞并开始在内核中执行代码。攻击者可能将代码的权限从正常升级到root特权,并绕过苹果系统的完整性保护在内核中运行未知代码。

“这对受害者来说将会向游戏结束一样痛苦,”他说。

瓦尔德说,当他今年1月向Little Snitch提交了漏洞报告之后,该公司立即做出了响应,仅仅几周之后就发布了一个补丁。然而,瓦尔德批评Little Snitch对其客户和在安全社区的其他人做出的警告不够。瓦尔德认为, 眨眼之间你就将错过了重要的补丁。

之前CVE通常会指定其产品中的一个安全漏洞, Objective Development确定了该漏洞并发出了警报,包括五个补丁。Little Snitch发布的最后一个补丁解决了这个EoP漏洞:“修复了一个可能会导致内核恐慌的罕见问题。”

“淡化这个bug意味着用户不会意识到它,并且不会快速修复它,”瓦尔德说。

Little Snitch的开发团队Objective Development说,基于其服务器日志,据估计有95%的用户运行的Little Snitch版本没有受到影响。不过它没有透露其安装基础或者受该漏洞影响的Little Snitch顾客的数量。

这个Little Snitch漏洞的发现最早可以追溯到2013年,当时瓦尔德首次发现了这个bug,但是并不是一个安全问题。Little Snitch的这个bug在当时并没有造成一个安全漏洞,是因为在之前的Mac OS版本中苹果的在内核中实现的复制程序存在一个单独的bug。

“这不是一个安全漏洞,虽然苹果描述了这个拷贝程序应该如何工作,但他们在64位系统上的实现是不正确的,”瓦尔德说。所以当苹果修复自己的内核实现问题(在瓦尔德通知苹果bug的存在时) 的两年之后,Little Snitch的bug就成为可利用的。

“很显然,一个付费的安全产品实际上并不应该降低系统的安全性,”他说。

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。查看原文

为您推荐