社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Git

PHP的Git服务器被黑客入侵,源代码被插入后门代码

黑鸟 • 5 年前 • 475 次点击  



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



Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110670