Py学习  »  Git

【事件通告】PHP官方Git存储库被黑,代码库被篡改

维他命安全 • 3 年前 • 507 次点击  

0x00 事件概述

近日,PHP 官方Git 存储库受到复杂的供应链攻击。攻击者通过非法提交更改了PHP的源代码,在PHP代码库中植入后门程序。PHP维护者已决定将官方PHP源代码存储库迁移到GitHub。


0x01 事件详情

                           

PHP被用作服务器端编程语言,互联网上有超过79%的网站依赖PHP,PHP 官方Git 存储库被篡改,这一影响令人震惊。

2021年03月28日,两个恶意提交被推送到PHP团队维护的git.php.net服务器的php-src Git仓库,并且攻击者对这些提交进行了签名,以伪造成是已知的PHP开发者和维护者Rasmus Lerdorf和Nikita Popov完成的。

攻击者以Rasmus Lerdorf的身份签署的恶意提交(非法)植入远程代码执行后门:


我们看到新增的第370行调用zend_eval_string函数的地方,这段代码实际上是为运行这个被劫持的PHP版本的网站埋下了一个后门,以方便远程代码执行(RCE)。

PHP开发者Jake Birchall向最先指出这一异常的Michael Voříšek回应表示,如果字符串以'zerodium'开头,这一行就会从useragent HTTP头内执行PHP代码。

PHP维护者Nikita Popov表示,第一次提交是在几个小时后被发现的,作为常规提交后代码审查的一部分。这些更改显然是恶意的,并立即被还原了。此外,这些更改是在PHP 8.1的开发分支上进行的,该分支将于今年年底发布。

虽然对事件的调查还在进行中,但据PHP维护者称,这次恶意活动源于被入侵的git.php.net服务器,而不是个人的Git账户。官方公告中也称该事件指向服务器威胁:


作为预防,PHP维护者已决定将官方PHP源代码存储库迁移到GitHub,并且将在几天后停用git.php.net服务器,并永久转移到GitHub。GitHub上以前只是镜像的存储库现在将成为规范的存储库。

随着这一改变的进行,PHP维护人员坚持从现在开始,任何代码修改都要直接推送到GitHub上,而不是git.php.net服务器上。而有兴趣为PHP项目做贡献的人员将需要成为GitHub上PHP组织的一部分,对于组织中的成员身份,需要在GitHub帐户上启用双因素身份验证(2FA)。

从SolarWinds Orion供应链攻击到PHP官方Git 存储库被篡改,毫无疑问,供应链攻击已经成为令人不安的新趋势。

 

0x02 处置建议

虽然PHP的Git服务器被入侵的确切原因尚未确定,但从这次事件中可以吸取的一个教训是,运行在自托管服务器上的CI/CD工具很容易过时,应及时应用最新的安全更新。

 

0x03 参考链接

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

https://www.bleepingcomputer.com/news/security/phps-git-server-hacked-to-add-backdoors-to-php-source-code/

https://blog.sonatype.com/netmask-flaw-leaves-millions-vulnerable-while-a-php-git-server-is-hacked-in-software-supply-chain-attack

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

 

0x04 时间线

2021-03-28 PHP官方发布安全公告

2021-03-30 VSRC发布事件通告

 

0x05 附录

 

CVSS评分标准官网:http://www.first.org/cvss/


推荐阅读:

【事件通告】针对SolarWinds供应链的攻击事件分析

【事件通告】FireEye遭到APT攻击,红队工具被窃事件

VMware OpenSLP漏洞引发勒索事件通告


Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/110677
 
507 次点击