본문으로 바로가기

log4j 취약점(CVE-2021-44228) 설명 및 대응 방법

 

가. 취약점 요약

항목 내용 비고
CVE CODE CVE-2021-44228  
CVSS 점수 10(Critical)  
취약 대상  log4j 2.0-beta9 ~ 2.14.1 이하 Log4j 2.3.1, 2.12.2, 2.12.3 버전 제외
대응 방안 JDK 8 이상 log4j 2.17.0 이상으로 업데이트 log4j 1.x 버전은 2015년에 EOS되었으므로,
log4j 2.x 버전으로 업데이트 해야함
JDK 7 log4j 2.12.3 이상으로 업데이트
JDK 6 log4j 2.3.1 이상으로 업데이트
JDK 5 이하 JndiLookup.class 제거

 

나. 공격 원리
본 취약점을 이용한 공격은 2단계로 이루어지며, 그 과정은 아래와 같다.

1. 공격할 웹 서버에 LDAP인터페이스를 이용한 JNDI를 보낸다.
2. 웹서버는 a객체를 찾기 위해 해커의 LDAP서버로 디렉토리 정보를 요청한다.
3. 해커의 LDAP서버는 악성코드를 다운로드 받을 수 있는 디렉토리 정보를 웹서버에게 보내준다.

 

4. 응답 받은 디렉토리 정보로 악성코드를 다운로드한 웹서버의 log4j가 이 악성코드를 실행한다.

※ JNDI: 필요한 자원을 key/value로 저장한 후 필요할 때 key를 요청해 value를 얻는 방식의 Java API.
※ LDAP: 네트워크 상에서 파일, 개인정보, 디바이스 정보 등을 찾아볼 수 있게 하는 프로토콜.

 

다. 공격 영향

다운로드 받은 악성코드가 웹 쉘과 같이 서버를 통제할 수 있는 기능을 가질 경우 해커는 해당 서버를 거점으로 사내 모든 시스템을 스캔할 수 있으며 나아가 사내정보 유출, 시스템 파괴 등의 2차 피해를 가져올 수 있다.

 

반응형

 

라. 공격 대상

log4j 2.0-beta9 ~ 2.14.1 이하

※ 취약점이 해결된 버전 제외(Log4j 2.3.1, 2.12.2, 2.12.3 및 이후 업데이트 버전 제외)

※ log4j-core-*.jar 파일 없이 log4j-api-*.jar 파일만 사용하는 경우 위 취약점의 영향을 받지 않음

※ log4j 1.x 버전은 이미 EOS되었으며, 다른 취약점이 존재하기 때문에 안전하지 않음

 

마. 대응 방안

Java 8 이상 : Log4j 2.17.0 이상 버전으로 업데이트
Java 7 : Log4j 2.12.3 이상 버전으로 업데이트
Java 6 : Log4j 2.3.1 이상 버전으로 업데이트

 

※ log4j 2.x 버전으로 업데이트가 어려운 경우 JndiLookup.class 제거

- 윈도우 계열: 압축프로그램(알집, 반디집 등)을 이용하여 log4j-core-*.jar 안의 JndiLookup.class 제거

- 유닉스 계열: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class

 

바. 점검 도구(스캐너) 다운로드

2022.01.13 - [침해 사고 대응] - log4j 취약점 점검 도구(스캐너) 정리/다운로드

 

log4j 취약점 점검 도구(스캐너) 정리/다운로드

log4j 취약점 점검 도구(스캐너) 정리/다운로드 ※ 본문서는 21년 12월 22일을 기준으로 작성되었습니다. 1. Labrador Scaner v1.3.0 국산 오픈소스 취약점 점검 솔루션 개발사인 래브라도가 고려

hagsig.tistory.com

 

사. 참고 자료

KrCERT https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389 

 

KISA 인터넷 보호나라&KrCERT

KISA 인터넷 보호나라&KrCERT

www.boho.or.kr

CVE https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228 

 

CVE - CVE-2021-44228

Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker w

cve.mitre.org

NVD https://nvd.nist.gov/vuln/detail/CVE-2021-44228

 

NVD - CVE-2021-44228

CVE-2021-44228 Detail Current Description 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. A

nvd.nist.gov