1. 개요

- 2021.03.28 PHP의 Git 서버(git.php.net)에 백도어를 심어 PHP 개발자들이 악성 서비스 및 앱을 개발하도록 유도

- 감염된 코드로 웹 사이트를 만들었다면, 공격자들은 백도어를 통해 침투 및 임의의 명령을 실행 가능

- 재빨리 발견되어 조치가 취해짐 > 정상적인 코드로 롤백

- git.php.net 서버 폐기 후 GitHub 저장소로 프로젝트를 이전 조치

 

2. 공급망 공격 (Value-Chain Attack)

- 서드파티 공격(Third Party Attack) 공격이라고도 불림

- 유통 및 공급 과정을 이용한 공격 유형

- 자사의 시스템 및 데이터에 접속할 수 있는 외부 협력업체나 공급업체를 통해 누군가가 시스템에 침투할 때 발생

- 자체적으로 새로운 기술을 개발하지 않고 오픈 소스나 아웃 소싱, 또는 프리랜서 등을 통해 만들어진 소프트웨어를 사용하는 추세

- 만약, 만들어진 소프트웨어 등이 감염된 리소스를 통해 개발이 되었고, 이에 대한 적절성, 무결성 확인 없이 배포할 경우 악성코드가 존재한 상태로 사용자들에게 배포

- ​공격이 시작되기 전 감염 사실을 알기 어렵고, 일시에 대규모의 사용자가 동시에 피해를 볼 수 있는 특징이 있음

 

2.1 공격 흐름

① 해커는 먼저 공급 업체의 시스템을 장악한 후, 인증서를 탈취하거나 코드 패치, 업데이트 모듈 위장 등의 방식으로 악성코드를 업로드
② 악성코드는 정상 파일로 위장되어 배포되고, 이를 내려받은 다수의 사용자와 서버가 악성코드에 감염
③ 해커는 해당 서버들을 거점으로 이용해 공격 영역을 확대

 

3. 분석

- php-src 리포지터리에 두 개의 악성 커밋(commit)이 삽입
- PHP 개발자 니키타 포포브(Nikita Popov)와 라스무스 레르도프(Rasmus Lerdorf)의 이름을 도용해 유포
- 타이포그래피 에러 수정을 위한 것처럼 위장되어 배포되었으나, 백도어 기능이 포함된 악성 코드

 

[사진 1] 삽입된 악성코드

- [사진 1]은 악성코드(백도어)를 포함하여 유포된 zlib.c의 일부

- User-Agent 헤더의 값이 zerodium 문자열이 있는 경우 해당 값을 그대로 PHP를 통해 실행

- zend_eval_string()는  PHP 코드를 그대로 실행시키는 함수

 

4. 대응방안

4.1 서버측 대응

① PHP Git 서버에서 받은 소스 중 zerodium 존재 여부 확인

 

4.2 네트워크측 대응

① User-Agent 헤더 값이 zerodium인 경우 탐지

- 해당 백도어는 User-Agent 헤더의 값이 zerodium 문자열이 있는 경우 PHP 코드를 실행

alert tcp any any -> any any (msg:"Zerodium Backdoor"; flow:established; pcre:"/User-Agent\:[^\n]+zerodium/i";)

 

5. 참고

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://github.com/php/php-src/blob/master/ext/zlib/zlib.c

https://github.com/php/php-src/commit/2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a?branch=2b0f239b211c7544ebc7a4cd2c977a5b7a11ed8a&diff=unified#diff-a35f2ee9e1d2d3983a3270ee10ec70bf86349c53febdeabdf104f88cb2167961R368-R370 

'악성코드 > 분석' 카테고리의 다른 글

제로클릭(Zero-Click)  (0) 2023.02.20
악성코드와 레지스트리  (1) 2023.01.08
Gh0st RAT(Remote Access Trojan)  (0) 2022.11.28
C2aaS(C2-as-a-Service)  (0) 2022.11.19
IoT Mirai 악성코드 분석  (0) 2022.11.11

+ Recent posts