메인 콘텐츠로 건너뛰기
블로그 안전 2021년 12월 12-19일 Linode 시큐리티 다이제스트

Linode Security Digest – 2021년 12월 12일~19일

리노드 시큐리티 다이제스트

참고: 이 게시물은 2021년 12월 15일에 업데이트되었으며 2021년 12월 20일에 다시 업데이트되었습니다.

이번 주에는 많은 조직이 시스템을 패치하기 위해 분주하게 움직이고 있는 Log4j2 취약점에 대해 이야기하지만 먼저 취약점에 대한 고객의 우려를 해결합니다.

Log4j2에 대한 리노드의 응답 

  • 우리는 12월 10일 금요일에 공개된 후 처음 몇 시간 이내에 이 중요한 제로 데이 취약점의 위험 범위와 전체 인프라에 미치는 영향을 철저히 평가했습니다.
  • 우리는 우리의 방어 심층 보안 제어 아키텍처의 도움으로 실패 한 악용 시도를 관찰했다.
  • 우리는 우리의 환경에서이 취약점과 관련된 타협의 지표를 관찰하지 않은 우리는 지속적으로이 취약점 및 기타에 대한 알려진 IoC에 대한 우리의 인프라를 모니터링하고 있습니다.

Log4j2 중요 원격 코드 실행 취약점(CVE-2021-44228)

Log4j2는 일반적으로 사용되는 Apache 로깅 유틸리티 Log4j의 후속 버전입니다. 이 구성 요소는 Java로 작성되었으며 Apache 로깅 서비스의 일부입니다. Oracle에 따르면 JNDI(Java 명명 및 디렉토리 인터페이스)는 Java로 작성된 애플리케이션에 명명 및 디렉토리 기능을 제공하는 애플리케이션 프로그래밍 인터페이스(API)입니다. 

지난주 Apache Log4j 보안 취약점 페이지에 게시된 2.0베타9와 2.14.1 사이의 log4j 코어 버전에는 심각한 취약점이 포함되어 있습니다. 이 취약점을 통해 로그 메시지 또는 로그 메시지 매개 변수를 제어할 수 있는 공격자가 LDAP 서버에서 로드된 임의의 코드를 실행할 수 있습니다. 실제로 외부 공격자가 악용할 수 있습니다. 이 취약점은 공격자가 영향을 받는 각 시스템에서 임의코드를 실행할 수 있기 때문에 CVSS 점수가 10점 만점에 10점으로 평가되었습니다. 이 문제는 12월 초와 11월 하순에두 개의 Jira 문제를 기반으로 JNDI 조회 동작을 비활성화한 2.15 업데이트로 인해 완화됩니다.Apache 또한 나중에 구성 요소에 대해 발견 된 다른 문제를 해결하기 위해 2.17을 발표했다.

취약점의 영향

Log4j2는 수많은 제품에서 여러 공급업체에서 사용하는인기 있는 Java 로깅 프레임워크입니다. 이 취약점은 HTTP 요청 헤더의 사용자 에이전트 문자열을 조작하고 취약한 시스템으로 요청을 전송하여 쉽게 악용할 수 있습니다. 사용자 에이전트가 이러한 유형의 공격에서 사용할 수 있는 유일한 헤더는 아니지만 악의적인 페이로드로 인해 취약한 Log4j2 구성 요소가 악의적인 서버에서 JNDI 조회를 트리거합니다. HTTP 헤더에 포함된 악의적인 URI에 악의적인 Java 클래스 파일에 대한 경로가 포함되어 있는 경우 이 파일은 서버프로세스에 삽입되고 공격자가 영향을 받는 시스템에 액세스할 수 있도록 합니다. 현재 야생에서 여러 페이로드와 바이패스가 관찰되고 있어 일반적인 방어 메커니즘을 사용하여 이를 보호하기가 더 어려워집니다.

공격 다이어그램

스위스 정부 컴퓨터 비상 대응 팀의 다음 다이어그램은 공격이 어떻게 작동하는지, 어떻게 완화하는지 이해하는 데 도움이 될 수 있습니다.


"Log4j JNDI 공격" SGCERT에 의해 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.

영향을 받는 제품

많은 공급업체가 이 취약점을 완화하는 데 도움이 되는 성명을 발표했으며 이러한 진술은 영향을 받는 고객에게 유용한 리소스가 될 수 있습니다. 아래 링크를 찾아 공급업체의 영향을 받는 제품에 대해 자세히 알아볼 수 있습니다. 이것은 영향을받는 모든 제품의 포괄적 인 목록이 아닙니다. 영향을 받는 공급업체 및 해당 제품의 전체 목록은 Github의 SwitHak이 선별한 목록 또는 TechSolvency에서 공유하는다른 목록을 볼 수 있습니다.

공식 완화 방법

Log4j의 보안 페이지에서,Apache 이 취약점을 해결하는 방법에는 여러 가지가 있지만 이러한 메서드가 모든 취약한 제품에서 동일하게 작동하지 않을 수 있음을 주목해야 합니다. 자세한 내용은 취약점에 대한 공급업체의 보안 설명서를 참조하십시오.

  • Java 8(또는 이후) 사용자는 최근에 발견된 다른 취약점과 함께 이 취약점을 해결하기 위해 2.17.0을 릴리스하도록 업그레이드해야 합니다.
  • Java 7을 필요로 하는 사용자는 2.12.2를 해제하려면 업그레이드해야 합니다.
  • 이 두 단계가 불가능한 경우 완화는 아래와 유사한 명령을 사용하여 클래스 경로(log4j-core-.jar 로 표시됨)에서 JndiLookup 클래스를 제거하는 것입니다.
zip -q -d log4j-core-*.jar
org/apache/logging/log4j/core/lookup/JndiLookup.class

우리는 이 지식을 커뮤니티와 공유하여 취약점을 완화하는 데 도움을 주게 된 것을 자랑스럽게 생각합니다. 당신의 생각과 제안을 공유하기 위해 아래에 의견을 남겨 주시기 바랍니다.


내용

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *