본문 바로가기
컴소니/보안

Apache Log4j 2.x 취약점[CVE-2021-44228]

by 금소니 2021. 12. 20.
반응형

#194

1. Log4j 2.x 취약점

- 취약점 : CVE-2021-44228

- 취약한 버전 : 2.0-beta9 ~ 2.14.1 모든 버전(Log4j 2.12.2 제외)

 

CVE - CVE-2021-44228

Apache Log4j2 2.0-beta9 through 2.12.1 and 2.13.0 through 2.15.0 JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or

cve.mitre.org

 

[긴급] 거의 모든 서버가 위험하다! 매우 치명적인 ‘로그4j’ 보안 취약점 발견

거의 모든 서버에 영향을 미칠 수 있는 매우 심각한 제로데이 취약점이 발견돼 이번 주말 공공기관과 기업에 비상이 걸렸다. 취약점이 발견된 로그4j(Log4j) 2는 프로그램 작성 중 로그를 남기기

www.boannews.com

최근 Log4j와 관련하여 치명적인 취약점이 발견되었습니다.

 

Log4j는 광범위하게 사용되는 라이브러리로써 유명한 온라인 게임인 마인크래프트에서 가장 먼저 확인되었다고 합니다.

 

취약점에서 가장 큰 분류로 보자면 이번 취약점은 원격 코드 실행 취약점입니다.

 

해커가 이를 악용할 경우 취약점 서버에 원격 코드를 실행하여 모든 권한을 획득하거나 랜섬웨어 혹은 좀비 서버로 이용할 수 있습니다.

 

그리고 이번 취약점은 별다는 과정없이 손쉽게 공격할 수 있다는 점에서 정말 심각하다고 볼 수 있습니다.

 

2. Log4j란?

Log4j란 Apache에서 제공하는 오픈소스로써 JAVA기반 프로그래밍을 할 때 로그를 남기기 위해 사용됩니다.

개발을 해보신 분들은 아시겠지만 개발할 때 로그는 정말 중요합니다.

그만큼 정말 많이 사용되는 유틸리티입니다.

 

Log4j는 아래의 경로에서 다운로드할 수 있으며, 라이브러리로 추가하여 사용할 수 있습니다.

 

Log4j – Apache Log4j 2

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apa

logging.apache.org

3. 취약 버전 확인 방법

1) 상용소프트웨어

 

GitHub - NCSC-NL/log4shell: Operational information regarding the vulnerability in the Log4j logging library.

Operational information regarding the vulnerability in the Log4j logging library. - GitHub - NCSC-NL/log4shell: Operational information regarding the vulnerability in the Log4j logging library.

github.com

상용소프트웨어의 경우 위의 링크에서 검색하여 취약여부와 조치여부를 확인하실 수 있습니다.

혹시라도 해당되는 제품이 있으실 경우 조치된 버전을 사용하시거나 조치가 안된 경우 조치가 이루어진까지는 사용을 자제하는 것이 좋습니다.

 

2) 개발된 어플리케이션

 - IDE에서 확인

JAVA로 개발할 경우 주로 Spring이라는 프레임워크를 사용하는데 이 프레임워크는 maven을 사용합니다.

maven은 pom.xml을 통하여 라이브러리를 추가할 수 있습니다.

그리고 빌드하여 추가된 라이브러리 파일은 WEB-INF/lib에 볼 수 있습니다.

 - 윈도우에서 확인

 탐색기에서 'log4j' 검색하여 취약 버전에 해당되는 라이브러리 파일이 있는지 확인

 - 리눅스에서 확인

 find / -name 'log4j*'

만약 이 방법외에 툴을 사용하여 확인하고자 하신 경우 알약에서 제공하는 스캐너를 사용하시면 됩니다.

 

[이스트시큐리티] Log4j 취약점 무료 점검 도구 제공

안녕하세요? 이스트시큐리티 입니다. 이스트시큐리티는 보다 안전한 인터넷 환경을 제공하기 위해 현재 전 세계적으로 이슈화되고 있는 Log4j 취약점 모듈 점검 도구를 개발해 기업과 개인을 대

blog.alyac.co.kr

4. 해결 방안

1) 최신 버전으로 업데이트

최신 버전의 경우 해당 취약점이 조치되어 업데이트하여 조치할 수 있습니다.

최신 버전은 Apache 홈페이지에서 받을 수 있습니다.

 

Log4j – Apache Log4j 2

<!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You under the Apa

logging.apache.org

maven을 사용하고 계신 경우 pom.xml에서 버전을 최신 버전으로 변경하셔서 빌드하시면 됩니다.

 

2) 임시 조치 방법

최신 버전으로 업데이트 하는 것을 권장드리지만 업데이트가 불가능하다면 아래와 같이 조치하시기 바랍니다.

이번 취약점에서 문제되는 부분은 JNDILookup 클래스와 관련된 부분입니다.

따라서 이 부분을 제거할 경우 원격 코드 실행을 막을 수 있습니다.

  zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

윈도우, 리눅스에서 모두 하실 수 있으며, 검색하셔서 log4j-core-*.jar 파일이 있는 경로에서 명령을 해주셔야 합니다.

반응형

댓글