PHP의 Git 서버가 해킹되었으며 소스 코드 라이브러리가 GitHub로 영구적으로 마이그레이션됩니다!

영상

마무리 | Zheng Liyuan

출품 | CSDN (ID : CSDNnews)

서버 측에서 실행되는 스크립팅 언어로서 PHP는 특히 웹 개발에 적합하며 HTML에 내장 될 수 있으므로 많은 개인 및 기업 웹 사이트 개발이 PHP의 편의성에 익숙합니다.

그러나 최근 공식 PHP Git 저장소가 해커의 공격을 받아 코드베이스가 변조되었습니다. 악성 코드는 원격 코드 실행 백도어를 이식했습니다. 즉, 해커가 PHP를 사용하는 모든 웹 사이트를 원격으로 장악 할 수 있습니다 !

영상

두 개의 가짜 악성 제출

지난 일요일, PHP 개발자이자 유지 관리자 인 Nikita Popov는 git.php.net 서버에서 유지 관리되는 php-src 저장소에서 두 개의 악성 커밋이 발견되었으며 둘 다 자신의 서명과 PHP 제작자 Rasmus Lerdorf의 서명을 위조했다고 밝혔습니다.

영상

영상

표면적으로이 두 제출물은 "오타 수정", 즉 타이핑 및 오타를 수정하기위한 것입니다. 또한 Nikita Popov 및 Rasmus Lerdorf의 이름으로 제출되므로 개발자는 알려진 PHP 관리자로 쉽게 혼동 할 수 있습니다. .

그러나 시선을 370 행으로 이동하자 문제가 나타났습니다. zend_eval_string 함수를 호출하는이 코드 행에는 실제로 RCE (원격 코드 실행) 백도어가 삽입되어 있습니다.이 버전의 PHP를 실행하는 모든 웹 사이트가 공격을받습니다.

영상

PHP 개발자 Jake Birchall은 이것을 다음과 같이 해석했습니다. " 문자열이 'zerodium'으로 시작하면이 코드 줄은 사용자 에이전트 HTTP 헤더에서 PHP 코드를 실행합니다 ."

Web Technology Surveys의 설문 조사에 따르면 전 세계 웹 사이트의 거의 80 %가 PHP로 지원됩니다.이 RCE (Remote Code Execution) 백도어가 이식되었지만 발견되지 않으면 결과는 재앙이 될 것입니다.

다행히 Nikita Popov는이 두 개의 악성 제출물이 신속하게 발견되어 되돌 렸다고 말했습니다. "첫 번째 제출물은 제출 후 몇 시간 만에 발견되었습니다. 이것은 정기적 인 커밋 후 코드 검토의 일부입니다. 이러한 변경 사항은 분명히 악성입니다. 즉시 복원됩니다. "

또한 Popov는 이러한 악성 제출이 올해 말 출시 될 PHP 8.1의 개발 브랜치에서 이루어 졌기 때문에 현재 심각한 결과는 없다고 덧붙였습니다.

영상

Git에서 GitHub로 마이그레이션 된 PHP 소스 코드 저장소

악성 제출물이 Nikita Popov 및 Rasmus Lerdorf의 합법적 인 관리자의 이름으로 업로드되었으므로 지금까지 가해자가 누구이며 어떻게 악성 제출물을 게시했는지 명확하지 않습니다. 그러나 Git과 같은 소스 코드 버전 제어 시스템은 실제로 원격 Git 서버에 가짜 커밋을 업로드하기가 매우 쉽기 때문에 이런 종류의 일이 발생하는 것은 그리 놀라운 일이 아닙니다.

PHP 관리자 Nikita Popov는 또한 개발팀이 정확한 공격 방법을 확신하지 못하지만이 악성 활동이 개인 Git 계정이 아닌 감염된 git.php.net 서버에 의해 발생했다는 징후가 있다고 지적했습니다.

따라서 이러한 사고가 다시 발생하지 않도록 PHP 관리자는 공식 PHP 소스 코드 저장소를 GitHub로 마이그레이션하기로 결정했습니다 .

영상

Nikita Popov는 성명에서 조사가 아직 진행 중이지만 git.php.net 서버를 중지 할 것이라고 말했습니다 . 그리고 미러로만 사용되었던 GitHub 저장소는 향후 표준화 될 것입니다. 즉, 향후 모든 PHP 코드 변경 사항이 git.php.net 서버 대신 GitHub에 직접 푸시됩니다.

또한 이전에 PHP 프로젝트 저장소에 대한 쓰기 액세스 권한이 있었던 개발자도 이제 GitHub에서 PHP 조직에 가입해야합니다.

영상

Zerodium : 나와의 관계

현재까지 서버 측의 주요 프로그래밍 언어로서 PHP의 Git 서버 해킹에 대한 관심과 토론이 활발해졌으며, 현재는 Techmeme과 HN의 홈페이지 또는 TOP 목록에 올라 있습니다.

영상

영상

이 중 악성 코드에 "zerodium"이라는 단어가 언급되어 있기 때문에 많은 개발자들은이 문제가 Zerodium과 관련이있을 수 있다고 추측합니다.

추신 : Zerodium은 소프트웨어 취약점 구매, 0day 취약점 재판매, 정부 및 법 집행 기관에 재판매하는 전문 기업인 네트워크 무기 딜러로 알려져 있습니다.

이와 관련하여 Zerodium CEO Chaouki Bekrar는 트위터에서 "오늘 PHP git에 'Zerodium'에 들어간 트롤에게 건배를 전합니다. 당연히이 문제는 우리와 관련이 없습니다 . 이 문제 를 발견 한 연구원은 가능성이 높습니다. 취약성 그들은 그것을 많은 단체들에게 팔려고했지만 아무도이 쓰레기를 사고 싶지 않아서 불태 웠습니다. "

영상

많은 네티즌들도 이번 사건에 대해 열띤 토론을 벌였습니다.

코멘트 1 :

제출 [1]에있는 'zend_eval_string'의 세 번째 매개 변수는 스택 추적에 사용될 수있는 실행 된 코드의 "파일 이름"입니다. 이것은 매우 이상한 현상이며 로그에서 이것을 보면 즉시 경보가 울릴 수 있습니다.

그래서 일반적으로 제 생각에이 제출의 구조는 "좋은"은폐 방식이 아니라 "왜 더 잘 숨기려고하지 않는지"라는 방식으로 이상합니다.

영상

댓글 2 :

몇 달 동안 장고를 공부 한 후 어제 PHP / 워드 프레스로 돌아 가기로 결정했는데, PHP7과 PHP8은 안정된 것 같고 PHP는 여전히 웹에 가장 적합한 언어입니다. 제 생각에 PHP8은 JIT를 추가하여 웹 애플리케이션을 넘어서 확장 할 수 있습니다. GitHub로 마이그레이션하면 팀이 PHP 개발에서 더 많은 자유를 얻을 수 있기를 바랍니다.

영상

이 문제에 대한 의견이 있습니까? 댓글 영역에 메시지를 남겨 주셔서 감사합니다!

참조 링크 :
https://github.com/php/php-src/commit/2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a?branch=2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a&diff=unifiedfee37368b37036beef2ecee53368b2ecee

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/
여기에 사진 설명 삽입

추천

출처blog.csdn.net/csdnnews/article/details/115330713