Log4j 취약점이란 무엇인가요?
IT 업계의 많은 이들에게 지난 몇 주는 힘든 시간이었습니다. 12월 9일, Java 애플리케이션에 사용되는 Apache Software Foundation의 널리 쓰이는 로깅 라이브러리인 Log4j에서 심각한 제로데이 취약점이 발견되어 공개되었습니다. 수십만 개의 웹사이트와 애플리케이션이 이 소프트웨어로 로그를 기록하며, 개발자는 이를 활용해 웹사이트를 디버깅하고 애플리케이션과 웹페이지의 기타 동향을 추적합니다. 추정에 따르면 Log4j 프레임워크는 수십만 개의 오픈 소스 소프트웨어 프로젝트에서 사용됩니다. 개발자는 기존 취약점이 있을 수 있는 기반 코드를 검토하지 않은 채 이러한 오픈 소스 도구를 활용해 소프트웨어를 개발하는 경우가 많습니다.
Log4j 취약점과 이 취약점을 통해 공격자가 실행할 수 있는 익스플로잇 유형을 간략히 요약하면 다음과 같습니다.
F5 Labs에서는 다음과 같이 설명합니다. “Log4j에는 이전에 발견되지 않은 보안 취약점이 있습니다. 해당 웹사이트를 통해 전송된 데이터에 특정 문자열이 포함되어 있으면 Log4j가 외부 웹사이트에서 추가 소프트웨어를 자동으로 가져와 실행합니다. 공격자가 이를 악용하면 Log4j가 실행 중인 서버에서 원하는 소프트웨어를 실행할 수 있으며, 여기에는 해당 서버를 완전히 장악할 수 있는 소프트웨어도 포함됩니다. 이를 원격 코드 실행(RCE) 공격이라고 합니다.”
Log4j는 비즈니스 운영에 큰 차질을 초래할 가능성이 높습니다
Log4j가 널리 사용되고 있기 때문에 최초의 CVE-2021-44228(Log4Shell이라는 별칭으로 불림)은 치명적인 취약점으로 판정되었습니다. 이 취약점의 심각성과 더불어 패치 자체에도 취약점이 있어 다시 패치해야 한다는 사실은 IT 전문가들이 한동안 이 취약점의 여파에 대응해야 할 수 있음을 의미합니다. 또한 IT 담당자는 Log4j에 대한 중첩 참조, 즉 소프트웨어에서 사용 중인 라이브러리가 Log4j 라이브러리를 참조하는지 확인해야 하므로 Log4Shell이 연쇄적인 영향을 일으킬 수 있습니다. Log4j 취약점과 Log4Shell이 조직에 미칠 수 있는 영향의 전체 범위를 파악하기는 어려울 수 있습니다. 조직이 위험에 노출되었을 가능성이 우려된다면 무료 위협 평가를 받아보세요.
아직 조치를 취하지 않았다면, 모든 조직이 Log4j의 위험을 완화하기 위해 가장 먼저 해야 할 일은 바로 패치입니다! Log4j를 실행하는 서버를 패치하세요. Log4j를 실행하는 라이브러리를 사용하는 소프트웨어도 패치하세요. 무조건 패치하고 계속해서 패치하세요!
조직에서 이러한 취약점을 찾아내고 패치하는 필수적이고 포괄적인 절차를 계속 진행하는 동안, Log4Shell 익스플로잇을 이용한 공격으로부터 조직을 보호하고 공격자가 이미 환경에 침투한 경우 피해가 더 확산되지 않도록 하는 것이 매우 중요합니다. 또한 1월 4일, 미국 연방거래위원회는 Apache Log4J 취약점을 해결하지 않는 조직이 법적 조치에 직면할 수 있다는 공지를 발표하며 Log4j 문제의 심각성을 강조했습니다.
모든 패치를 적용했더라도 Log4j가 이러한 유형의 첫 번째 취약점이 아니며 마지막도 아닐 것이라는 점을 기억해야 합니다. 따라서 현재와 미래의 취약점에 선제적으로 대비하는 동시에, 공격자가 시스템의 취약점을 악용할 경우 네트워크를 보호할 계획도 마련해 두는 것이 중요합니다. 다행히 완화 전략은 비교적 쉽게 구현할 수 있습니다.
Log4j와 같은 취약점을 완화하려면 다음 사항을 반드시 준수하세요:
- WAF를 구현하여 Log4Shell 및 이와 유사한 취약점을 악용한 공격으로부터 조직을 선제적으로 보호하세요.
- 조직이 공격을 받더라도 네트워크 내부에 심각한 피해가 발생하기 전에 익스플로잇을 즉시 차단할 수 있도록 보호 조치를 마련하세요.
- 감사를 수행하여 해당 취약점의 전체 영향 범위를 파악합니다
- 감사 결과를 바탕으로 취약점을 사용하거나 참조하는 모든 코드를 패치하여 노출된 부분이 패치되지 않은 채 남지 않도록 하세요.
알려진 공격 벡터를 차단하는 시그니처로 Log4j 취약점 완화
이 문제를 해결하지 않고 방치하면 사이버 공격자가 수천 개의 웹사이트와 온라인 앱을 빠르게 장악하여 민감한 데이터를 탈취할 수 있습니다. 가장 효과적인 해결책은 앱 코드를 최신 버전의 Log4j로 패치하고 웹 애플리케이션 방화벽(WAF)을 사용하여 악성 요청을 차단하는 것입니다.
취약한 서버와 소프트웨어 스택에 Log4j 취약점에 필요한 패치를 설치하는 동안에도 조직을 Log4Shell 공격으로부터 보호해야 할 수 있습니다. 이때 WAF가 도움이 될 수 있습니다.
F5 WAF 솔루션은 모두 F5의 일관되고 강력한 WAF 엔진을 기반으로 구축되었으며, 보안 요구 사항을 가장 효과적으로 충족할 수 있도록 다양한 배포 및 사용 모델로 제공됩니다. 이를 통해 인프라에서 Apache Log4j 원격 코드 실행(RCE) 취약점의 영향을 완화할 수 있습니다. F5는 강력한 WAF 엔진으로 애플리케이션을 보호할 수 있는 네 가지 옵션을 제공합니다:
- F5 Advanced WAF
- NGINX App Protect WAF
- Silverline WAF
- Volterra WAF
F5는 Log4j 취약점에 대해 알려진 공격 벡터를 차단하는 시그니처 세트를 출시했습니다. F5 Advanced WAF와 NGINX App Protect WAF는 모두 Java Naming and Directory Interface(JNDI) 인젝션 전용 시그니처와 일반 JNDI 인젝션 시그니처를 사용하여 악용 시도를 차단할 수 있습니다. 이러한 시그니처는 서버 측 코드 인젝션 시그니처 세트의 일부이며, 위협과 알려진 WAF 우회 기법에 대한 지속적인 조사를 바탕으로 Log4Shell 공격을 효과적으로 탐지할 수 있도록 새로운 규칙으로 업데이트되고 있습니다. 이를 통해 F5 WAF는 ‘가상 패치’를 지원합니다. 여기를 방문하여 BIG-IP 및 NGINX Application Security 제품에 대한 완화 지원을 확인하십시오.
F5 Advanced WAF는 단순히 OWASP Top 10을 방어하는 수준을 훨씬 뛰어넘는 고급 보호 기능을 제공하며, 기존 앱을 위한 세분화된 제어 기능을 직접 관리하고 맞춤 설정하려는 보안 중심 조직에 적합합니다. 이미 F5 BIG-IP 고객이라면 업계에서 가장 강력한 WAF인 F5 WAF 엔진이 네트워크에 구축되어 있습니다. BIG-IP에서 Advanced WAF 라이선스를 사용하면, 특히 F5 BEST 라이선스 고객의 경우 새롭게 등장하거나 지속되는 위협에 대한 완화를 자동화하고, 보안 효과를 높여 보호를 강화하며, 머신 러닝과 행동 분석을 활용해 별도의 조작 없이 앱을 보호할 수 있습니다.
애자일 DevOps 팀을 위해 구축되고 최신 인프라 또는 Kubernetes 환경을 보호하도록 설계된 자체 관리형 WAF 솔루션이 필요하다면 NGINX App Protect WAF가 가장 적합합니다. 자세한 내용은 NGINX를 통한 log4j 취약점 완화 블로그에서 NGINX App Protect WAF에 대해 확인하세요.
Advanced WAF 또는 NGINX App Protect WAF와 동일한 수준의 보호 기능을 원하지만, 익스플로잇을 즉시 완화할 수 있도록 직접 관리할 필요가 없는 방식을 필요로 하거나 선호한다면 F5의 클라우드 기반 관리형 서비스인 Silverline WAF가 가장 적합할 수 있습니다. Silverline WAF는 F5의 대표적인 완전 관리형 WAF 서비스로, F5 SOC의 보안 전문가들이 지원하며 하이브리드 또는 멀티 클라우드 환경에서 애플리케이션을 보호하는 종합적인 솔루션을 제공합니다. F5 Silverline SOC 팀은 필요한 완화 조치를 구현했으며, 위협을 지속적으로 모니터링하고 Log4j와 같은 취약점에 필요한 완화 조치와 보호 기능을 적용하고 있습니다.
당사의 Volterra WAF 플랫폼에도 Log4j 취약점과 관련된 노출 위험을 더욱 완화하기 위해 업데이트된 시그니처가 적용되었습니다. 이제 이러한 시그니처는 기본 WAF 정책에 포함되어 있으므로 Volterra WAF 고객은 Log4Shell 공격을 완화하기 위해 별도의 조치를 취할 필요가 없습니다. SaaS 기반으로 배포되는 클라우드 네이티브 WAF를 찾는 사용자에게는 Volterra WAF가 최적의 선택입니다.
F5 WAF 제품 및 서비스인 F5 Advanced WAF, NGINX App Protect WAF, F5 Silverline WAF, Volterra WAF는 애플리케이션을 가장 효과적으로 보호하고 애플리케이션 계층의 위협을 방어하는 데 필요한 모든 곳에서 함께 사용하고 배포할 수 있습니다.
또한 지능형 공격 캠페인은 개별 공격만으로는 탐지하기 어렵습니다. F5 Threat Campaigns는 F5 Advanced WAF 및/또는 NGINX App Protect WAF에서 사용할 수 있으며, 현재 진행 중인 공격 캠페인을 정확하게 탐지하고 선제적으로 차단하여 정교한 공격으로부터 앱과 IT 인프라를 보호합니다. F5 WAF는 그 자체로 필수적인 보안 통제 지점 역할을 하지만, 위협 인텔리전스는 단일 공격 사고를 더 광범위하고 정교한 캠페인과 연계하여 기본 WAF 보안 정책을 우회할 수 있는 표적 공격을 방어할 수 있도록 지원합니다. Threat Campaigns는 Advanced WAF 및 NGINX App Protect WAF 배포 환경에 손쉽게 추가할 수 있으며, 위협 탐지 및 차단을 위한 보안을 자동화합니다.
침해 발생 시 Log4Shell 공격에 대한 방어 체계 구축
Log4j를 사용하는 라이브러리가 매우 많다는 점을 고려하면, 이 취약점이 조직에 미치는 영향의 전체 범위를 즉시 파악하기는 어려울 수 있습니다. 안타깝게도 이를 파악하는 동안 공격에 악용될 위험이 있습니다.
예를 들어, 공격자는 악성 엔드포인트로 요청을 보내 멀웨어를 가져와 배포하도록 조작할 수 있습니다. 또는 서버에 요청을 보내 침해된 서버가 정상적인 동작에 반하는 해커의 명령을 실행하도록 함으로써 조직을 위험에 빠뜨릴 수 있습니다.
공격자가 이미 취약점을 악용했더라도 아직 대응할 방법은 남아 있습니다. 다행히 공격자가 Log4Shell을 악용해 원격 코드를 실행한 경우에도, 서버의 아웃바운드 트래픽을 검사하여 익스플로잇이 네트워크 내부로 확산되는 것을 막을 수 있습니다.
네트워크 경계에 암호화된 트래픽 패킷을 복호화하고 검사할 수 있는 솔루션이 있다고 가정해 보겠습니다. 이 경우 Log4j 취약점으로 인해 확산되는 멀웨어나 악성 트래픽을 탐지하여 추가 피해가 발생하기 전에 차단할 수 있습니다. 예를 들어, 추가 공격을 실행하거나 데이터를 유출하기 위해 명령 및 제어 서버에 접속하려는 시도를 차단할 수 있습니다. 서버는 일반적으로 인터넷에 연결되어 있으므로 서버 트래픽은 TLS를 통해 네트워크 환경을 통과합니다. 따라서 이미 침해되어 취약한 환경에서 위협의 확산을 억제하고 차단하려면 암호화된 서버 트래픽을 검사하는 것이 매우 중요합니다.
다음과 같은 제품을 사용하면 F5 SSL Orchestrator 암호화된 트래픽에 대한 가시성을 확보하고, 복호화된 아웃바운드 분석을 지원하여 암호화된 위협을 차단할 수 있습니다. SSL Orchestrator는 서버 트래픽을 포함해 네트워크를 통과하는 트래픽을 복호화한 후 타사 검사 서비스(예: NGFW, WAF, SWG, IPS 또는 DLP)로 전송합니다. 이러한 서비스는 트래픽을 허용, 차단 또는 우회 처리하여 유입되는 암호화된 멀웨어가 네트워크 전체로 확산되지 않도록 하고, C2(명령 및 제어) 서버로 향하는 악성 트래픽이나 유출 데이터가 환경 외부로 빠져나가지 못하도록 합니다. SSL Orchestrator는 SSL/TLS 인프라를 강화하고, 보안 솔루션에 SSL/TLS 암호화 트래픽에 대한 가시성을 제공하며, 기존 보안 투자를 최적화하고 최대한 활용하여 연쇄 공격으로부터 네트워크를 보호하도록 특별히 설계 및 구축되었습니다.
결론
Log4j는 심각하면서도 광범위한 영향을 미치는 최초의 취약점이 아니며, 마지막도 아닐 것입니다. 이 글이 게시되는 시점에도 계속되고 있는 Log4j 악용으로부터 지금 시스템을 보호하는 것도 중요하지만, 피할 수 없이 등장할 다음 치명적 취약점으로부터 자산을 지키기 위해 애플리케이션 및 네트워크 보안을 강화하는 것 역시 매우 중요합니다.
다음번 심각한 취약점이 발생할 때에 대비하려면 다음 네 단계를 따라야 합니다. 취약점이 발표되기 전에 WAF를 도입하여 Log4Shell과 같은 알려진 공격 벡터로부터 애플리케이션을 보호하는 것이 가장 좋습니다. 또한 취약점이 발표되기 전에 네트워크 보호 솔루션을 마련하는 것이 바람직합니다. 그러면 패치 작업 중 공격을 받아 공격자가 네트워크에 침투하더라도, 해커가 익스플로잇을 이용해 서버를 장악하거나 데이터를 유출하는 것을 막을 수 있습니다. 취약점이 발표된 후에는 먼저 노출 범위를 파악해야 합니다. (F5의 무료 위협 평가가 도움이 될 수 있습니다!) 다음으로는 패치하고, 패치하고, 또 패치하세요! 이 네 가지 전략을 마련해 두면 다음 취약점이 발생할 때에 대비할 수 있습니다.
F5는 공격자가 취약점을 악용하지 못하도록 방지하고, 취약점 악용에 성공한 이후에도 추가적인 피해나 침해로부터 환경을 보호하는 포괄적인 완화 계획을 수립할 수 있도록 지원합니다.
Log4j 취약점 또는 이와 유사한 취약점의 완화에 대해 추가로 궁금한 점이 있으면 F5 영업팀에 문의하거나 다음 이메일 주소로 연락해 주십시오. sales@f5.com F5의 Log4j 대응에 관한 최신 소식을 확인하려면 새로운 정보가 나오는 대로 업데이트되는 F5 블로그를 팔로우하십시오.
현재 공격을 받고 있어 긴급 지원이 필요한 경우, 보안 운영 센터(SOC)에 (866) 329-4253 또는 +1 (206) 272-7969로 전화해 주십시오. 국가별 전화번호는 https://www.f5.com/attack에서 확인할 수 있습니다. 기존 BIG-IP 고객은 보안 사고 대응 팀에 문의할 수 있습니다.
작성자 소개
관련 블로그 게시물
성평등을 향한 여정: 사이버 보안 분야에서 성공적인 커리어를 개척하는 방법에 관한 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 파이프라인 초기에 보안을 통합하여 취약점을 예방하고 시간을 절약하는 방법을 알아보세요.