众所周知,Linux是一个安全性极高的操作系统,已累计超过三千多万的用户。由于代码完全开源,拥有大量全球最顶尖的开发者,所以与闭源的软件比,它更容易发现、修复漏洞,并快速升级。
可就是如此固若金汤的操作系统,近期却爆出一个叫xz-utils的工具,存在SSH后门攻击的漏洞,而这个漏洞已经被合并至多个Linux发行版中,影响范围巨大。
举个栗子,就好比你的房子在建造时,为了保证屋内的安全,会给你加装一个防盗门,只有使用钥匙才能进入。在防盗门外面,没有钥匙,无论你有再牛逼的技术也无法打开。
但是有一天,你发现居然有人进来了。这个人就是黑客,只不过进入的是你的Linux服务器。如果服务器上存储有十分珍贵的资料,那么他可以轻而易举的拿走,可能造成无法估量的损失。
xz-utils是Linux的一个开源通用数据压缩工具,它也是大多数Linux发行版中的默认工具。SSH是Linux进行网络访问的一种网络加密协议,通过内置一些后门则可以绕过登录验证,以此达到进入目标服务器的目的。
那么黑客到底是怎么进入的呢?
没错,顶级的黑客往往使用的是最朴素的攻击方法—社会工程学。
黑客攻击的方式可分为两种,一种是通过系统漏洞或者网络监听等技术的方式,另一种就是通过社会工程学的方式。
举个栗子,黑客通过你在互联网公开信息得知你的生日,而你恰好设置自己的生日作为密码,那么黑客就可以轻而易举地进入你的账号。更直接的就是,冒充某些工作人员让你把验证码发过去等等。
而今天的主角,更是一个把社会工程学的技巧发挥极致的选手,即便放到网文界也是十分炸裂的存在。
2024年3月29日,一名微软的工程师Andres Freund在做一款软件的基准测试时,发现sshd进程的CPU占用率过高。从过往的经验来看,这款软件运行一直很稳定,不应该出现突然占用CPU的过高的问题。凭着高水平的职业素养,该工程师希望定位该问题的代码,最终发现在xz-utils中存在一段恶意程序。
随后该工程师将问题上报到了Linux社区,经过排查,发现提交这段代码的是一名叫Jia Tan的开发者。听着像一个中文名,至于为啥取个中文名,各位不妨浅浅思考一下。
2021年4月,Jia Tan向xz-utils贡献代码,第一次提交了一个正常补丁,被顺利合并。
在随后的两年里,Jia Tan又提交了几个正常的补丁,并顺利被合并。此后,Jia Tan已经是贡献度和活跃度排名排名前二的贡献者。
紧接着,突然出现几名网友,向xz项目管理员Lasse发邮件,抱怨目前xz响应迟缓,版本更新太慢,并不断地向Lasse施压。Lasse虽然是xz项目的维护者,但是只是兼职,长期高强度的义务劳动让其身心疲惫。
就在这时,Jia Tan出现在了Lasse面前,表示愿意帮助其维护xz项目。
万事俱备,现在Jia Tan已经成功混上了老大的位置,并拥有独立发布新版本的权限。在后续的几个版本里,Jia Tan为xz拓展了几个正常的功能。
在整个提交过程中,Jia Tan运用文件提取、CR4变种、替换加密等技巧,将恶意程序藏匿于看似无害的二进制测试文件中。为了防止整个过程被发现,他还将整个过程分为多个阶段,每次修改的都是看似无害的操作,比如删除或者修改某段代码,没人会注意到这么小的一个修改,并预留了插件机制以备将来之需。
不得不惊叹,这名黑客精湛的技术和缜密的心思!
直到Andres Freund测试时发现了这个漏洞,与此同时,这名叫Jia Tan的开发者也从互联网消失了。
如果不是微软的这名工程师发现这个问题,xz-utils后门会长期存在于linux发行版中,在未来某个时候可能造成难以估量的损失。不难发现,这场后门植入事件是经过周密安排的,背后也许存在一些利益的支持。类似的事件比如去年的Log4j漏洞。同时,也为开源项目的管理敲响了警钟。
联系客服