
🔒 Spring4Shell 방화벽 방어 — 사이버 보안 사고 시뮬레이션 이 프로젝트는 Forage를 통해 2025년 8월에 완료한 사이버 보안 직무 시뮬레이션의 일부입니다. Spring4Shell(CVE-2022-22965) 취약점과 관련된 시뮬레이션된 실제 사이버 공격을 탐지, 분석 및 완화하는 데 중점을 둡니다.
🛡️ Spring4Shell 방화벽 방어 – 사이버 보안 사고 시뮬레이션 이 프로젝트는 2025년 8월 Forage를 통해 완료한 사이버 보안 직무 시뮬레이션의 일부입니다. Spring4Shell(CVE-2022-22965) 취약점과 관련된 실제 사고를 시뮬레이션하며, 맞춤형 방화벽이 악용 시도를 탐지하고 완화하는 방법을 보여줍니다.
📌 프로젝트 개요 이 시뮬레이션의 목표는 취약한 웹 애플리케이션 엔드포인트를 대상으로 하는 악성 트래픽을 식별하고 차단하는 것이었습니다. 수신 요청을 모니터링하고 필터링하여 알려진 익스플로잇 패턴을 탐지하고 실시간으로 차단하는 Python 기반 맞춤형 HTTP 방화벽을 개발했습니다.
🧰 주요 기능 🔍 위협 탐지: HTTP POST 데이터에서 의심스러운 키와 페이로드를 분석합니다.
🔐 방화벽 방어: 패턴 기반 규칙을 사용하여 악성 요청을 차단합니다.
💣 익스플로잇 방지: Runtime.getRuntime() 및 유사한 시그니처를 통한 원격 코드 실행 시도를 탐지합니다.
📈 로깅 및 모니터링: 차단된 시도와 차단 사유를 터미널에 표시합니다.
🖼️ 데모 첫 번째 스크린샷에서 의심스러운 POST 요청이 Runtime.getRuntime()이 포함된 페이로드를 주입하여 Spring4Shell 취약점을 악용하려고 시도합니다. 맞춤형 방화벽은 이 패턴을 즉시 탐지하고 요청을 차단하여 403 Forbidden 응답을 반환합니다. 즉, 잠재적인 원격 코드 실행(RCE) 시도를 효과적으로 중지합니다.

대조적으로, 두 번째 스크린샷은 서버로 전송된 무해한 데이터(username=test)가 포함된 안전한 POST 요청을 보여줍니다. 방화벽은 이를 안전한 요청으로 인식하고 요청이 통과하도록 허용하여 표준 200 OK 응답을 반환합니다. 이는 방화벽이 정상 활동과 악성 활동을 정확하게 구분할 수 있는 능력을 강조합니다.

🧪 사용된 기술 Python (방화벽 구현)
취약한 서버 시뮬레이션을 위한 http.server 모듈
POST 요청 시뮬레이션을 위한 curl
사용자 정의 시그니처 탐지 로직
📋 수행한 작업 JSP 엔드포인트를 대상으로 하는 시뮬레이션된 Spring4Shell 공격을 분석했습니다.
POST 데이터에서 의심스러운 페이로드를 식별했습니다.
악성 요청을 탐지하고 차단하는 맞춤형 방화벽(firewall_server.py)을 작성했습니다.
공격을 시뮬레이션하여 방화벽을 검증했습니다(스크린샷 참조).
상세한 사후 분석과 함께 사고를 문서화했습니다.
📜 인증서 RNhbu8QnDzthwynEf_M6JGAwZ52SMusMEcK_cKqCaSyzkPoWXRdg5_1754434963290_completion_certificate.pdf