Datadog으로 PHP2Shell 취약점 탐지, 대응하는 방법
한마디로
PHP 인터프리터 자체의 치명적 RCE 취약점을 Datadog으로 찾고, 침해 흔적까지 조사하는 방법이에요
한눈에
PHP2Shell은 2026년 10월 21일 공개된 PHP 인터프리터의 원격 코드 실행(RCE) 취약점 두 건(CVE-2026-109618, CVE-2026-109619)이에요. Datadog은 Security Research Feed, Cloud Security, Workload Protection, Cloud SIEM을 엮어 노출 범위 파악부터 악용 흔적 조사, 패치 추적까지 한 플랫폼에서 하도록 안내합니다. 패치만으로는 과거 침해 여부를 알 수 없으니 조사 단계가 실무의 핵심이에요.
실무 맥락: 앱 코드로는 막을 수 없는 취약점
CVSS v4.0 9.2점이고 인증 없이 악용할 수 있습니다. 악용이 PHP가 애플리케이션 코드를 실행하기 전에 일어나서 앱 수준 인증이나 입력 검증으로는 막지 못해요. 응답만 돌려주는 단순 PHP 스크립트도 취약 경로를 노출할 수 있습니다. AWS는 패치가 나오기 전인 10월 17일부터 악용 시도를 관측했어요. 공개 전부터 공격이 있었다는 뜻이라 패치와 별개로 과거 활동 조사가 필요합니다.
이번 내용: Datadog에서 쓰는 기능
- Security Research Feed: 영향받는 버전, 악용 방식, 조사 쿼리를 제공하고, 내 환경의 취약점 finding, 라이브러리 취약점, 위협, Agent 이벤트와 대조한 impact assessment를 보여줘요.
- Cloud Security: 취약점 finding을 두 CVE로 필터해 영향받는 리소스를 찾습니다.
- Infrastructure Package Catalog: 설치된 패키지 목록을 취약점 DB와 별개로 관리해서, 특정 CVE가 DB에 등록되기 전에도 PHP 설치 현황을 패키지명으로 검색할 수 있어요.
- Runtime Prioritization Engine: 외부 공개 여부, 프로덕션 여부, 공개 익스플로잇 존재, 의심 활동 증거를 따져 우선순위를 정합니다. 인터넷에 노출된 mod_php 기반 Apache 배포를 특히 주의하라고 해요. mod_php 실행 모델은 요청 초기화가 실패해도 PHP의 request shutdown 절차를 실행하는데, 이게 PHP2Shell 악용 기법과 관련됩니다.
- Code Security SCA: 실행 중인 서비스가 로드한 라이브러리 정보를 보여줘요. 인터프리터 취약점이라 저장소 의존성 파일이 아니라 실행 중 서비스(PHP 런타임이 보이는 곳)에서 두 CVE를 표시합니다. 다만 PHP(Packagist) 에코시스템으로 필터한 저장소 인벤토리는 어느 앱이 취약한 런타임에 의존하고 어느 팀이 참여해야 하는지 가리는 데 쓸 수 있어요.
패치 적용 시 주의점
PHP2Shell은 PHP 인터프리터 자체에 영향을 주므로, 영향받는 호스트와 컨테이너 이미지의 PHP 런타임을 업데이트해야 합니다. Composer 의존성을 업데이트하는 것으로는 이 취약점을 해결할 수 없어요. Composer 의존성만 업데이트해서는 해결되지 않습니다. 베이스 이미지 담당 팀은 PHP를 올리고, 앱 팀은 새 이미지 배포 후 서비스를 검증하는 식으로 역할이 나뉘는데, 저장소와 소유자 정보가 이 조율을 돕습니다.
침해 흔적 조사 포인트
- Workload Protection: 프로세스 실행을 감시해, 앱 프로세스가 셸을 띄우는 행위(성공적 악용과 연관된 동작)를 범용 RCE 탐지로 잡아요. 특정 페이로드에 의존하지 않아서 공격자가 페이로드를 바꿔 시그니처를 피해도 잡을 수 있습니다. Investigation Graph에서 PHP나 웹 서버 프로세스가 띄운 셸, 이어진 추가 소프트웨어 다운로드나 호스트 점검 명령을 따라가세요.
- Cloud SIEM: 공개 후 24시간 안에 전용 탐지 규칙을 냈고 이후 추가했어요. 범용 탐지는 두 개입니다. def-000-9h1은 프로세스 활동 이벤트와 부모 프로세스 정보로, def-000-gn1은 Linux auditd 실행 로그로 웹 프로세스가 띄운 셸을 식별합니다.
- PHP2Shell 전용 탐지 세 개는 메모리 고갈, 세션 디코딩 실패, PHP 워커 크래시를 봐요. 셸 실행에 성공하지 못한 시도도 포착한다는 점이 장점입니다.
- 주의: auditd는 프로세스 실행 이벤트를 기본으로 기록하지 않아서 감사 규칙을 따로 설정해야 하고, 로그량과 호스트 부하가 늘 수 있어요. 확인 가능한 증거는 어떤 로그 소스와 프로세스 이벤트를 수집하느냐에 달려 있습니다.
실무 체크리스트
- Research Feed impact assessment로 내 환경의 매칭 결과부터 확인
- 두 CVE로 Cloud Security finding 필터, Package Catalog에서 PHP 패키지 전수 검색
- 인터넷 노출 mod_php Apache부터 우선 패치
- 영향받는 호스트와 컨테이너 이미지의 PHP 런타임 업데이트 확인
- 패치 전 기간의 프로세스 활동과 PHP, 웹 서버, PHP-FPM 로그를 조사
- auditd 규칙과 로그 수집 범위 점검
에디터 노트
공개 전부터 악용 시도가 관측됐으니 패치 완료 보고만으로 끝내지 말고 과거 프로세스 로그까지 조사해야 합니다. 인터프리터 취약점이라 의존성 스캔만 돌리면 놓치기 쉽다는 점도 실무에서 꼭 기억할 부분이에요. 다만 탐지 범위가 수집하는 로그에 좌우되므로 auditd 설정과 로그 비용을 미리 따져야 합니다.
참고 출처 | 원문 보기
태그
- Datadog
- 모니터링과 보안 분석을 제공하는 클라우드 관측 플랫폼
- 취약점 대응
- 공개된 보안 취약점을 찾아 패치하고 침해 여부를 조사하는 업무
- Cloud SIEM
- 로그와 보안 이벤트를 분석해 위협을 탐지하는 Datadog 제품
- RCE
- 공격자가 원격에서 임의 코드를 실행하는 취약점 유형
이 기사를 근거로 쓴 FactStack 분석
관련 마테크
- Datadog Translate, Import 활용, Splunk SPL 쿼리, 알림 이전 방법Splunk에서 쓰던 검색과 알림, 대시보드를 Datadog 형식으로 자동 변환해 옮겨 주는 도구예요
- Datadog Online Experiments 사례, AI 에이전트 변경 효과 비교AI 에이전트를 바꿨을 때 나아졌는지, 실제 트래픽을 나눠 품질과 비용을 한꺼번에 비교해요
- Datadog LLM 프롬프트 캐시 미스 추적과 비용 절감 방법AI에 같은 지시문을 계속 보내는데 매번 새로 계산하느라 새던 비용을 요청 단위로 추적해 원인을 찾았어요
- Datadog Infrastructure Basic란, 경량 호스트 모니터링 활용법중요도가 낮은 서버에는 CPU, 메모리, 디스크 같은 기본 상태만 가볍게 지켜보게 하는 티어예요