오늘의 핵심
PHP 원격 코드 실행 취약점 ‘PHP2Shell’을 악용한 서버 침해 사례가 확인됐다. AWS도 10월 30일 보안 공지를 갱신한 만큼, 국내 웹·앱 운영자는 PHP 버전과 외부 노출 지점을 확인하고 패치 이후 침해 흔적까지 점검해야 한다.
확인된 사실
10월 30일 보도된 Dream의 조사에서는 미국·일본·대만·한국을 겨냥한 공격 과정에서 방화벽 24대와 내부 관리 서버 1대가 침해된 것으로 파악됐다.
근거 [1]
취약점 악용 시 임의 코드 실행뿐 아니라 PHP 프로세스가 접근할 수 있는 데이터 노출과 서비스 거부가 발생할 수 있다.
근거 [2]
수정 버전은 PHP 8.2.35, 8.3.36, 8.4.27, 8.5.12이며, 운영 중인 계열에 맞춰 업데이트해야 한다.
근거 [2]
AWS의 관리형 서비스 자체는 영향을 받지 않지만, 고객이 클라우드 환경에서 직접 운용하는 취약한 PHP 런타임은 별도로 조치해야 한다.
근거 [2]
왜 중요한가
PHP는 웹 애플리케이션뿐 아니라 관리 패널과 보안 장비 등 여러 제품에 내장될 수 있어 일반적인 애플리케이션 자산 목록만으로는 노출을 놓치기 쉽다.
실제 침해가 확인된 상황에서는 버전 업데이트만으로 이미 설치된 웹셸이나 탈취된 자격증명이 제거되지 않는다.
외부에 노출된 관리 인터페이스가 초기 침투점이 될 수 있으므로 애플리케이션 패치와 네트워크 접근 통제를 함께 다뤄야 한다.
inxight의 관점
이번 이슈의 핵심은 ‘PHP를 쓰는가’보다 ‘어디에서 어떤 형태로 실행 중인지 알고 있는가’다. 컨테이너 이미지, 호스팅 환경, 어플라이언스와 관리 도구까지 소프트웨어 자산 범위를 넓혀야 한다.
패치 완료율만 운영 지표로 삼지 말고, 외부 노출 제거와 침해 흔적 점검까지 하나의 완료 조건으로 묶는 것이 안전하다.
클라우드 사업자의 기반 서비스가 안전하다는 공지는 고객 워크로드의 안전을 의미하지 않는다. 관리형 영역과 고객 책임 영역을 분리해 확인해야 한다.
실무 체크리스트
- 인터넷 노출 서버, 컨테이너 이미지, 호스팅 계정과 벤더 어플라이언스에서 PHP 사용 여부 및 정확한 패치 상태를 즉시 조사한다.
- 지원 계열별 수정 버전인 8.2.35, 8.3.36, 8.4.27 또는 8.5.12 이상으로 업데이트하고 모든 PHP 워커와 관련 서비스를 재시작한다.
- 패치 전후의 웹·WAF·EDR·프로세스 로그에서 비정상적인 PHP 자식 프로세스, 셸 실행, 파일 다운로드와 새 계정 생성을 점검한다.
- 외부에 공개된 관리 인터페이스를 VPN이나 허용 목록 뒤로 이동하고 불필요한 포트와 경로를 차단한다.
- 침해 정황이 발견되면 영향 시스템을 격리하고 관리자·서비스 계정 자격증명과 관련 비밀값을 교체한다.