PHP的Git服务器被黑客入侵,源代码被插入后门代码
2021-03-29 20:36:46 Author: mp.weixin.qq.com(查看原文) 阅读量:48 收藏


2021年3月28日,有身份不明人士入侵了PHP编程语言的官方Git服务器http://git.php.net,并上传了未经授权的更新包,而包中源代码被插入了秘密后门代码。

这两个恶意提交被推送到git.php.net服务器上的自托管php-src存储库中,使用的是编程语言的作者Rasmus Lerdorf和Microsoft的软件开发人员Nikita Popov的名字Jetbrains。

PHP方面发布紧急公告指出:

2021-03-28,两个恶意代码分支提交到了php-src repo上,使用的是内部人员的名字,目前内部不知道是如何发生,但是一切都指向了git.php.net服务器可能被入侵的情况。

尽管目前正在调查,但是为了确保安全,我们已经停止了git.php.net服务器,之后会跳转到Github上的镜像存储库中。

被插入代码地址,实现的功能很显然了。
https://github.com/php/php-src/commit/c730aa26bd52829a49f2ad284b181b7e82a68d7d

https://github.com/php/php-src/commit/2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a

黑鸟在代码中发现含有Zerodium的字符,Zerodium是一个著名的0day漏洞经纪人,这里的字符串很有可能是攻击者为了嫁祸给Zerodium。

目前安全社区认为,攻击的手段可能是这个:

在2021年2月,有研究人员就发布了一种新颖的供应链攻击,安全研究人员设法破坏了超过35家主要公司的内部系统,包括Microsoft,Apple,PayPal,Shopify,Netflix,Yelp,Tesla和Uber的内部系统,并实现了远程代码执行。

该技术称为依赖混淆(dependency confusion) 或替代攻击,它利用一个软件可能包含来自私有和公共来源的混合依赖库。

简单来说,就是攻击者首先通过收集大量这些公司的一些私有库(很多是由于github的代码或者js中的代码泄露导致),也就是一些内部会使用的库的名称,而这些库一般是不会传到公有库里面去的,例如pypI、npm。

而这时候,攻击者将恶意代码库命名为私有库名称,并将其伪造成最新的私有库模块上传到公有库中,而有的公司的代码中可能存在错误的更新配置,导致客户端会自动从公有库中下载伪造的“最新”版本而无需要求开发人员采取任何措施,这样在调用库的时候就直接中招了。(仅举例说明,详细请参考链接)

作者采取了DNS传输的方法将数据从受害者的电脑传输到其设备中。

当然以上都是其他的技术,具体PHP的Git服务器如何被入侵还需要等待详细调查。

如果有定期更新PHP源代码习惯的同学记得检查一二,防止被供应链攻击。

参考链接:

https://news-web.php.net/php.internals/113838

https://medium.com/@alex.birsan/dependency-confusion-4a5d60fec610



文章来源: http://mp.weixin.qq.com/s?__biz=MzAxOTM1MDQ1NA==&mid=2451182520&idx=1&sn=ed1dbf855878327dd31f21bf4cf21c50&chksm=8c26e561bb516c77033d1f840ca8b8405011ccd5154729c6824cfcb8fe373b262863697f367b#rd
如有侵权请联系:admin#unsafe.sh