불멸의 뉴욕 양키스 포수이자 메이저 리그 베이스볼 명예의 전당 헌액자이며 엉뚱한 명언으로도 유명한 요기 베라의 말을 빌리자면, “또다시 데자뷔네요.”
Just when we all thought it was safe to dive back into application development after the pain and churn caused by the Log4j 취약점과 Log4Shell 공격으로 인한 고통과 혼란을 뒤로하고 이제 안심하고 애플리케이션 개발에 다시 뛰어들 수 있다고 모두가 생각한 바로 그때, 보안을 크게 위협하고 귀중한 리소스를 집어삼킬 또 하나의 괴물 같은 취약점이 등장했습니다.
이미 들어보셨겠지만, 2022년 3월 29일 중국에 기반을 둔 한 연구원이 Spring Core Java 라이브러리의 원격 코드 실행(RCE) 취약점에 관한 스크린샷을 게시했습니다. 이후 이 취약점에는 CVE-2022-22965가 할당되었으며, CVSS 심각도 점수에서 ‘치명적(Critical)’ 등급을 받았습니다. VMware가 보고한 이 취약점은 GitHub에 게시되었다가 빠르게 삭제되었습니다. 하지만 안타깝게도 이미 피해가 발생한 뒤였고, 해당 취약점은 곧 다른 저장소에도 게시되었습니다.
언론의 광범위한 주목을 받는 많은 심각한 취약점과 마찬가지로 CVE-2022-22965에도 Spring4Shell이라는 통칭이 붙었으며, 경우에 따라 SpringShell이라고도 합니다. 명칭이 무엇이든 이 정도로 심각한 취약점은 분명 위험합니다. Java 프로그래머의 개발 시간을 절약하기 위해 대다수 애플리케이션에서 Spring 라이브러리를 사용하고 있기 때문입니다.
Spring이 2022년 3월 31일 RCE에 대한 초기 발표로 게시한 블로그에 따르면, 이 취약점은 Java Development Kit(JDK) 9 이상에서 실행되는 Spring MVC 및 Spring WebFlux 애플리케이션에 영향을 미칩니다. 또한 애플리케이션이 Apache Tomcat에서 WAR로 실행되고 있어야 할 수도 있습니다. 이 취약점은 Spring Framework 버전 5.3.0~5.3.17, 5.2.0~5.2.19 및 이전 버전에 영향을 미칩니다. 더욱 우려스러운 점은 Spring이 이어서 다음과 같이 경고했다는 것입니다. “이 취약점은 본질적으로 더 광범위하며, 아직 보고되지 않은 다른 악용 방법이 있을 수 있습니다.”
또한 Spring에 따르면 기본 배포 방식인 Java 아카이브(JAR) 형태로 실행되는 애플리케이션은 CVE-2022-22965에 취약하지 않습니다. 그러나 공급업체는 다른 악용 기법의 영향을 받을 가능성이 있음을 인정했습니다.
Spring4Shell 취약점은 또 다른 취약점이 발견된 직후에 등장했습니다. Spring Cloud Function 소프트웨어 버전 3.1.6 및 3.2.2와 지원이 종료된 이전 버전에서는 Spring Expression Language(SpEL)로 특수하게 조작된 라우팅 표현식을 생성하여 로컬 리소스에 액세스하고 RCE 공격을 가능하게 할 수 있습니다. 처음에는 CVSS 심각도 점수가 ‘중간’으로 분류되었으나, 이후 CVE-2022-22963은 ‘치명적’ 취약점으로 재분류되었습니다. Spring Cloud Function 버전 3.1.7 또는 3.2.3으로 업그레이드하면 이 취약점을 해결할 수 있습니다.
CVE-2022-22965 및 CVE-2022-22963과는 별개로, Spring의 또 다른 취약점인 CVE-2022-22950이 2022년 3월 28일에 보고되었습니다. 이는 Spring Framework 버전 5.3.0~5.3.16 및 지원이 종료된 이전 버전에 존재하는 서비스 거부(DoS) 취약점입니다. Spring은 Spring Framework 5.3.17 이상 버전에서 이 취약점에 대한 수정 사항을 제공했습니다.
현재 Spring4Shell 스캐너가 이미 개발되어 배포되었으며, 이 취약점이 실제 공격에 활발히 악용되고 있다는 보고가 나오고 있습니다.
Spring은 CVE-2022-22965 취약점을 수정한 버전을 출시했습니다. 여기에는 Spring Framework 5.3.18 및 5.2.20과 Spring Framework 5.3.18에 의존하는 Spring Boot 2.5.12가 포함됩니다. (Spring에 따르면, 마찬가지로 Spring Framework 5.3.18에 의존하는 Spring Boot 2.6.6도 곧 출시될 예정입니다.)
Spring이 이러한 까다로운 취약점을 해결하기 위한 수정 사항을 신속히 배포한 것은 긍정적이지만, 이를 최대한 빨리 업데이트하고 적용해야 할 책임은 다시 한번 각 조직에 있습니다. Log4j / Log4Shell 문제와 마찬가지로, 라이브러리가 광범위하게 사용되고 있으며 조직이 인지하지 못하는 애플리케이션에도 포함되어 있을 수 있다는 점이 문제입니다. 애플리케이션에서 영향을 받는 라이브러리 세트를 사용하고 있다는 사실조차 모른다면, 조직이 어떻게 자신과 사용자를 익스플로잇의 피해로부터 보호할 수 있겠습니까?
바로 이 지점에서 F5가 도움을 드릴 수 있습니다.
Spring 프레임워크 취약점과 Log4j 취약점 및 Log4Shell 익스플로잇은 특성상 유사점과 차이점이 있지만, 웹 애플리케이션 방화벽(WAF) 및 이와 유사한 보안 솔루션을 배포하면 모두 탐지하고 차단할 수 있습니다.
F5 고객은 이미 Spring4Shell 및 관련 취약점을 악용한 공격을 방어할 수 있는 매우 강력한 보호 기능을 갖추고 있습니다. 하지만 F5는 고객과 개발 팀이 영향을 받는 모든 Spring 라이브러리를 즉시 업그레이드하고, 더 이상 필요하지 않은 취약한 Spring 라이브러리는 애플리케이션에서 제거할 것을 강력히 권고합니다.
F5는 포괄적이고 역동적인 보안 제품 및 서비스 포트폴리오를 통해 고객을 지원하고 고객의 애플리케이션, 조직 및 사용자를 보호합니다.
F5 보안 사고 대응팀(SIRT)
공격을 받고 있거나 조직 및 해당 앱이 취약점에 노출되어 있다고 우려되는 경우, F5 지원 팀에 연락하여 F5 SIRT로 에스컬레이션해 달라고 요청하세요. 연중무휴 24시간 운영되는 이 팀은 F5 시스템 및 소프트웨어의 패치 적용을 안내하고, 구성 작업을 지원하며, 노출을 제한하거나 공격을 완화할 수 있도록 F5 iRules 배포를 지원합니다.
BIG-IP Advanced WAF
F5는 Spring4Shell 취약점으로 인해 노출된 알려진 공격 벡터를 차단하기 위해 BIG-IP Advanced WAF 및 BIG-IP ASM 배포에서 사용할 수 있는 시그니처 세트를 출시했으며, 앞으로도 관련 문제를 해결하고 시그니처 세트를 계속 출시할 예정입니다. 또한 우회 시도를 방어할 수 있도록 시그니처를 지속적으로 업데이트하고 있습니다. 최신 Attack Signature Update(ASU) 패키지를 설치하여 사용하고 있는지 확인하십시오.
Advanced WAF 또는 ASM을 배포하지 않은 고객은 애플리케이션에 iRule을 적용하여 특정 CVE를 노리는 악성 트래픽을 탐지하고 기록한 후 차단할 수 있습니다.
NGINX App Protect WAF
F5는 고객이 사용하고 배포하는 F5 플랫폼에 관계없이 일관된 애플리케이션 보안을 제공합니다. 따라서 NGINX App Protect WAF 고객은 BIG-IP Advanced WAF 고객과 동시에 동일하게 업데이트된 시그니처를 받게 됩니다. NGINX App Protect WAF 시그니처를 반드시 업데이트하시기 바랍니다. 업데이트 방법에 대한 자세한 내용은 이 가이드를 참조하십시오. 또한 WAF 정책에서 “서버 측 코드 삽입” 공격 유형이 활성화되어 있는지 확인하십시오.
F5 Distributed Cloud WAAP
최근 출시된 F5 Distributed Cloud 웹 애플리케이션 및 API 보호(WAAP)는 클라우드와 엣지 사이트 전반에 배포된 앱과 API를 F5의 업계 최고 수준 SaaS 기반 웹 애플리케이션 방화벽(WAF) 및 봇 방어, 고급 API 보안, L3~L7 DDoS 방어 기능으로 보호합니다. F5의 단일 WAF 접근 방식은 고객이 어떤 F5 제품을 배포하든 일관된 애플리케이션 보안을 보장합니다. 따라서 Spring4Shell 취약점에 대응하는 시그니처가 이미 생성되어 BIG-IP Advanced WAF 및 NGINX App Protect WAF에 제공된 것과 동시에 Distributed Cloud WAAP에도 제공되었습니다. Distributed Cloud WAAP 고객은 이미 보호받고 있으므로 별도의 조치를 취할 필요가 없습니다.
F5 Distributed Cloud WAF
BIG-IP Advanced WAF, NGINX App Protect 및 Distributed Cloud WAAP과 마찬가지로 F5 Distributed Cloud WAF에는 Spring4Shell 취약점 노출을 방지하는 데 필요한 시그니처가 이미 적용되었습니다. 이러한 시그니처는 기본 WAF 정책에 포함되어 있으므로 추가 조치가 필요하지 않습니다.
F5 Silverline WAF
필요한 완화 조치는 이미 F5 Silverline 팀에서 구현했으며, 이를 통해 고객의 애플리케이션을 Spring4Shell 및 관련 취약점으로부터 안전하게 보호하고 있습니다. 위협을 지속적으로 모니터링하고 필요한 완화 조치를 언제든 적용할 수 있도록 F5 위협 연구팀 및 고객 여러분과 협력하는 F5 Silverline SOC는 고객의 AppSec 팀을 보완하며 연중무휴 24시간 지원합니다. F5 Silverline에 관해 궁금한 점이 있으면 support@f5silverline.com으로 팀에 문의해 주세요.
Threat Stack
최근 F5에 인수된 Threat Stack은 검사, 탐지 및 보고 기능을 제공합니다. Threat Stack 서비스에는 Spring4Shell 침해가 우려되는지 판단하고, 루트 권한으로 또는 셸에서 실행되는 서비스의 시작 및 권한 상승 시도를 탐지하는 규칙이 포함되어 있습니다. 자세한 내용은 F5 영업 담당자에게 문의하거나 https://www.threatstack.com을 방문하십시오.
F5 Distributed Cloud Bot Defense
Spring4Shell과 같은 취약점을 악용하려는 시도는 일반적으로 자동화된 정찰에서 시작됩니다. F5 Distributed Cloud Bot Defense는 최전선에서 방어합니다. 자동화된 스캔을 차단하여 공격자가 조직에 Spring4Shell 취약점이 있는 웹 앱이 존재하는지 파악하기 어렵게 만듭니다. F5 Distributed Cloud Services는 봇넷을 운용하는 공격자의 끊임없이 진화하는 전술에 발맞춰 봇 기반 자동화 공격에 실시간으로 대응할 수 있도록 지원합니다.
BIG-IP SSL Orchestrator
Spring 라이브러리는 대다수의 Java 기반 애플리케이션에서 사용되므로, 귀사와 같은 조직이 이로 인해 발생하는 취약점과 잠재적 익스플로잇의 전체 범위를 파악하기란 쉽지 않을 것입니다. 또한 영향을 받는 모든 애플리케이션을 찾아내더라도 이를 모두 업데이트하는 데 시간이 걸릴 수 있습니다. 그동안 애플리케이션과 조직은 취약한 상태로 남아 공격에 악용될 수 있습니다. F5 SSL Orchestrator는 암호화된 트래픽을 가시화하여 암호화된 위협을 차단합니다. 서버 트래픽을 포함해 네트워크를 통과하는 트래픽을 복호화하고, 보안 스택의 솔루션을 기반으로 사용자가 정의할 수 있는 보안 체인으로 트래픽을 자동 라우팅합니다. SSL Orchestrator는 암호화된 위협에 대응할 뿐만 아니라 명령 및 제어(C2) 서버로 향하는 트래픽과 같은 암호화된 악성 트래픽도 차단할 수 있습니다. SSL Orchestrator는 CVE-2022-22965를 완화할 뿐만 아니라 향후 발생할 취약점과 익스플로잇으로부터도 보호합니다.
F5는 Spring4Shell (CVE-2022-22965) 및 관련 취약점에 대한 최신 소식과, 이로 인해 발생하는 추가 익스플로잇을 F5가 어떻게 방어하고 완화하는지 지속적으로 알려드립니다.
새로운 정보가 확인되는 대로 이 블로그를 업데이트하겠습니다. 자세한 내용은 다음 자료를 참조하세요:
- F5 Labs에서: Spring4Shell 취약점이란 무엇인가요?
- F5 DevCentral에서: Spring4Shell 취약점이란 무엇인가요?
- F5 고객인 경우, F5 SIRT에서 F5 제품의 상태와 F5 솔루션을 사용하여 Spring4Shell을 완화하는 방법에 대한 정보를 제공하는 다음 KB 문서를 게시했으며 앞으로도 지속적으로 업데이트할 예정입니다:
K24912123: BIG-IP 시스템을 사용하여 Spring Framework(Spring4Shell) 및 Spring Cloud 취약점 완화
관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 Jenn Gile과의 Q&A
F5의 ‘성평등을 향한 여정’ 시리즈 네 번째 Q&A에서는 Rachael Shah와 NGINX 제품 마케팅 책임자 Jenn Gile이 사이버 보안 직종에 대한 오해를 바로잡고, 사이버 보안 분야의 성별 격차를 해소하기 위한 조언과 그 이점에 대해 이야기합니다.
TLS 검사에서 피터 파커 원칙 다루기
“큰 힘에는 큰 책임이 따른다.” 볼테르와 처칠도 이와 비슷한 말을 남겼지만, 이 문구는 스파이더맨 코믹스에서 벤 삼촌의 말로 가장 널리 알려져 있습니다. 물론 이 문구가 문화적으로 널리 통용되는 이유 중 하나는 TLS 검사를 비롯해 수많은 상황과 주제에 적용할 수 있기 때문입니다.
Venafi와 F5를 통한 머신 아이덴티티 보호
‘머신 아이덴티티’란 간단히 말해 자동화된 프로세스가 자신의 신원을 식별할 수 있도록 하고, 다른 자동화 시스템과 프로세스가 관련 리소스에 적절한 수준의 접근 권한을 부여하도록 하는 방법을 의미합니다. 이 개념 자체는 새로운 것이 아닙니다. 비교적 새로운 점은 이를 구현해야 하는 규모입니다.
마이너와 미니언: 데이터 유출만이 비용을 초래하는 것은 아닙니다
물론 데이터 유출은 더 큰 비용을 초래할 수 있고(적어도 지금은), 실패 사실을 세상에 드러낼 수밖에 없게 합니다(통지 의무가 있으니까요). 하지만 보안을 단순히 데이터 노출 문제로만 봐서는 안 됩니다. 요즘은 데이터가...
내 클라우드에서 나가!
F5의 Jay Kelley가 전하는 최신 소식에는 Microsoft Office 365용 신규 ID 및 액세스 솔루션을 배포할 때 고려해야 할 사항이 정리되어 있습니다.
Shift(웹 앱) 보안 레터
웹 앱 보안을 개발 초기 단계로 앞당기세요. F5 블로그에서 DevOps 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.