(보안) Log4j 원격코드 실행 취약점 (CVE-2021-44228) 해결
- Remote Code Execution (RCE)
□ 취약점 설명
Apache Log4j2 <=2.14.1 구성, 로그 메시지 및 매개변수에 사용되는 JNDI 기능은 공격자가 제어하는 LDAP 및 기타 JNDI 관련 엔드포인트로부터 보호하지 않습니다. 로그 메시지 또는 로그 메시지 매개변수를 제어할 수 있는 공격자는 메시지 조회 대체가 활성화된 경우 LDAP 서버에서 로드된 임의의 코드를 실행할 수 있습니다.
□ 조치 사항 요약
1. log4j 2.15.0이상으로 업그레이드
2. 이전 이전 (2.10 이하)
- 이전 릴리스(>2.10)에서는 시스템 속성 "log4j2.formatMsgNoLookups"를 “true”로 설정
$> java -Dlog4j2.formatMsgNoLookups=true -jar apps.jar 또는
$> LOG4J_FORMAT_MSG_NO_LOOKUPS=true
3. 클래스 경로에서 JndiLookup 클래스를 제거하여 해결
: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class ).
(참고) https://www.openwall.com/lists/oss-security/2021/12/10/1
취약점 (CVE-2021-44228)
□ 개요
o Apache 소프트웨어 재단은 자사의 Log4j 2에서 발생하는 취약점을 해결한 보안 업데이트 권고[1]
o 공격자는 해당 취약점을 이용하여 악성코드 감염 등의 피해를 발생시킬수 있으므로, 최신 버전으로 업데이트 권고
□ 주요 내용
o Apache Log4j 2*에서 발생하는 원격코드 실행 취약점(CVE-2021-44228)
* 프로그램 작성 중 로그를 남기기 위해 사용되는 자바 기반의 오픈소스 유틸리티
□ 영향을 받는 버전
o Apache Log4j 2
- 2.0-beta9 ~ 2.14.1 모든버전
o Apache Log4j 2를 사용하는 제품
※ 참고 사이트 [4]를 확인하여 해당 제품을 이용 중일 경우, 해당 제조사의 권고에 따라 패치 또는 대응 방안 적용
□ 해결 방안
o 제조사 홈페이지를 통해 최신버전(2.15.0)으로 업데이트 적용
※ log4j 1.x버전 사용자의 경우 추가적인 업그레이드 지원 중지로 인해 다른 보안위협에 노출될 가능성이 높아 최신버전 업데이트 적용 권고
o 최신버전으로 업데이트가 어려운 경우 사용중인 버전확인 후 버전별 조치 적용
* (버전확인방법)
1. log4j가 설치된 경로의 "pom.xml"파일을 열어 "log4j-core"로 검색
2. 검색결과 "사용버전(version)" 확인가능
*( 버전별 조치 방법)
- (방법#1) 2.0-beta9 ~ 2.10.0
※ JndiLookup 클래스를 경로에서 제거 :
zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
- (방법 #2) 2.10 ~ 2.14.1
※ log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정
$> java -Dlog4j2.formatMsgNoLookups=true -jar apps.jar
$> LOG4J_FORMAT_MSG_NO_LOOKUPS=true
- (방법#3) JndiLookup.class 파일만 삭제
log4j-core.버전.jar 파일을 일반적인 압축 프로그램으로 열어서 org/apache/logging/log4j/core/lookup/JndiLookup.class 파일만 삭제하고 재 압축
□ 침해 여부 탐지 방범
- 시스템 취약점 탐지 방법으로 NGINX 로그를 통해 확인 가능하다.
$> % egrep -i -r '\$\{jndi:' /var/log/nginx/*.log
[참조]
* Apache Log4j 보안 취약점
https://logging.apache.org/log4j/2.x/security.html
* CVE-2021-44228 Vulnerabilities
https://github.com/advisories/GHSA-jfh8-c2jp-5v3q
* Log4J "Log4Shell" 제로데이 취약점: 영향 및 수정 사항
https://fossa.com/blog/log4j-log4shell-zero-day-vulnerability-impact-fixes/
[참고사항]
□ 기타 문의사항
o 한국인터넷진흥원 사이버민원센터: 국번없이 118
[참고사이트]
[1] apache 보안업데이트 현황 : https://logging.apache.org/log4j/2.x/security.html
[2] 취약점 정보 : https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2021-44228
[3] 신규버전 다운로드 : https://logging.apache.org/log4j/2.x/download.html
[4] 제조사별 현황 : https://gist.github.com/SwitHak/b66db3a06c2955a9cb71a8718970c592
[5] 탐지정책 : https://rules.emergingthreatspro.com/open/suricata-5.0/rules/emerging-exploit.rules
'Tech-Trends' 카테고리의 다른 글
(기술) 디지털마케팅을 위한 사용자 경험 모니터링 도구 (Real User Monitoring)-202 (0) | 2022.02.01 |
---|---|
(전략)2022년이후의 10대 전략 예측 (0) | 2022.02.01 |
(Torrent Tracker) 토렌트 속도 높이기 트래커 추가 (0) | 2022.01.22 |
[꿀팁] 갤럭시 S20 S21 S2x 처음배우기-PC에서 폰으로 파일보내기 (0) | 2021.11.21 |
[꿀팁] 갤럭시 S20 S21 S2x처음배우기-화면캡처 쉽게하기 (0) | 2021.11.21 |
(뉴스레터)[ 11월 셋째주] (0) | 2021.11.17 |
트렌드 2022 : "TIGER OR CAT" (0) | 2021.10.22 |