온라인 위협 정보: 핵심 Apache Struts 취약점 CVE-2018-11776 관련 정보

Oct 18, 2018
1 minutes
17 views

This post is also available in: English (영어) 繁體中文 (중국어 번체) Deutsch (독어) Nederlands (화란어) Türkçe (터어키어) Español (스페인어) Italiano (이태리어)

상황 개요

2018년 8월 22일, Apache Foundation은 Apache Struts 버전 2.3~2.3.34 및 2.5~2.5.16에 영향을 미치는 원격 코드 실행 취약점인 CVE-2018-1176과 관련된 핵심 보안 업데이트를 발표했습니다. 또한, Apache Foundation은 사용자들이 최대한 빠른 시일 내에 이 보안 업데이트를 실행하도록 촉구했습니다.

본 블로그는 기업들이 취약점 위험을 평가하는 데 도움이 되는 정보를 제공하고 Palo Alto Networks 고객들에게 보안 업데이트가 적용되기 전까지 위험을 완화할 수 있는 보호 조치에 대한 정보를 알려드리기 위해 작성되었습니다. 2018년 8월 24일자 최신 취약점 시그니처를 적용하신 Palo Alto Networks 고객들은 안심하셔도 좋습니다.

 

취약점 정보

Apache Foundation 및 보안 연구원인 Man Yue Mo에 따르면 이번 취약점을 통해 공격자는 버그가 있는 Apache Struts 버전을 구동하는 서버에서 원격으로 코드를 실행할 수 있습니다. 이 공격은 특별히 제작된 URL을 취약한 시스템으로 전송함으로써 이루어집니다. 이는 대부분의 경우에서 별도 인증을 받지 않아도 취약점을 악용할 수 있다는 의미입니다.

공격이 성공하면 Struts가 사용하는 보안 환경에서 코드를 실행할 수 있습니다. 경우에 따라 시스템이 완전히 장악될 수도 있습니다.

다만, 이 취약점은 기본 구성에서 악용할 수 없다는 점을 인식하는 것이 중요합니다. 다음과 같은 2가지 조건을 충족하는 시스템은 공격에 취약할 수 있습니다.

  1. Struts 구성에서 alwaysSelectFullNamespace 플래그가 “true”로 설정되어 있습니다. (참고: Struts 애플리케이션이 널리 사용되는 Struts Convention 플러그인을 사용하는 경우 “true”가 기본값으로 설정되어 있습니다.
  2. Struts 애플리케이션이 특정 네임스페이스를 지정하지 않고 구성되거나 와일드카드 네임스페이스를 이용하는 “액션”을 사용합니다. 이 조건은 Struts 구성 파일에서 지정되는 액션 및 네임스페이스에 적용됩니다. 참고: Struts 애플리케이션이 Struts Convention 플러그인을 사용하는 경우, 이 조건은 Java 코드로 지정되는 액션 및 네임스페이스에도 적용됩니다.

Struts 애플리케이션이 이 두 조건에 부합하지 않는 경우에도 위험할 수 있지만, 아직은 CVE-2018-11776을 통해서는 악용될 수 없습니다.

특히, Struts 애플리케이션이 인기 있는 Struts Convention 플러그인을 사용하는 경우에는 이 플러그인을 사용하지 않는 다른 Struts 환경을 통한 위험이 높아질 수 있는 것으로 보입니다.

 

위협 환경 정보

이 취약점은 8월 22일에 이를 해결하기 위한 보안 업데이트와 함께 공개되었습니다. 취약점 및 이를 이용한 악용 방법에 대한 상세한 정보도 발표되었습니다. 또한, 관련 개념 증명(PoC) 코드가 이미 공개되었습니다. 앞서 언급한 바와 같이, PoC는 2가지 악용 가능 지표에 부합하는 취약한 시스템에 대해서만 적용할 수 있습니다.

일부 사용자는 작년에 이미 보안 업데이트 및 취약점 정보가 공개된 후 3일 만에 이전의 치명적인 Struts 취약점을 통해 심한 공격이 발생했다는 점을 지적하고 있습니다.

하지만 현재로서는 알려진 유효 공격은 없으며, 취약점에 대해 기본 설정 외의 2가지 조건이 충족되어야 악용이 가능하다는 사실은 이전과 다른 위협 환경이 조성되었음을 의미합니다.

다만, 지금은 PoC로도 가능하므로, 당분간은 이 취약점을 통한 심각한 악용보다는 최소한의 탐색이 이루어질 것으로 보입니다.

기업들은 다음의 4가지에 대해 패치 및 개선이 이루어지기 전까지 공격에 대비하여 위험 평가에 초점을 맞추어야 할 것입니다.

  1. Struts Convention 플러그인을 사용하고 있는가?
  2. 악용을 위한 2가지 필요 조건이 모두 충족되는가?
  3. 현재 PoC를 이용한 공격의 징후가 있는가?
  4. 악용 가능 지표에 필요한 2가지 조건이 무력화되는 신규 PoC 또는 공격 기법이 개발되었는가?

 

Palo Alto Networks 고객을 위한 지침 및 보호 조치

취약한 Apache Struts 버전을 실행하고 있는 모든 기업은 최대한 빨리 보안 업데이트를 구축해야 합니다.

자체 보안 정책 및 위험 평가, 현재 가용한 정보를 바탕으로 보안 업데이트의 구축 일정을 우선적으로 정하여 실행에 옮겨야 합니다.

이미 ID 33948, Apache Struts 2 Remote Code Execution Vulnerability가 포함된 2018년 8월 24일자 버전 8057 콘텐츠 릴리스의 취약점 시그니처를 구축한 Palo Alto Networks 고객은 현재 이 취약점을 악용한 알려진 익스플로잇에 대해 우려하지 않아도 좋습니다.

다만 그렇다 해도, 앞서 권장하는 바와 같이 보안 업데이트를 구축하는 것이 좋으며 더욱 강력한 보안을 위해 최신 취약점 시그니처를 구축하는 것도 좋습니다. 이러한 추가 보호 조치 외에도, Palo Alto Networks 고객들은 이와 관련된 보안 및 보안 업데이트의 구축과 취약점 및 위협 환경에 대한 위험 평가를 자체 의사 결정의 일부로 반영해야 합니다.

언제나 그렇듯이 Palo Alto Networks는 이 상황을 주시하고 있으며 추가 정보를 파악하는 대로 공개할 예정입니다.


Subscribe to the Newsletter!

Sign up to receive must-read articles, Playbooks of the Week, new feature announcements, and more.