반응형
안녕하세요..지난주 금요일(2021년 12월 10일)에 이런 뉴스가 떴습니다.
Log4j 취약점 (아래 조치방법 기재)
Log4j는 프로그램을 작성하는 도중에 로그를 남기기 위해 사용되는 자바 기반 로깅 유틸리티 입니다. 이번에 발견된 취약점은 Log4j 2 중에 존재하는 JNDI(Java Naming and Directory Interface) 인젝션 취약점으로 이를 악용하면, 악성 코드 실행(RCE)이 가능하게 됩니다.
2021년 11월 24일 Alibaba Cloud 보안 팀은 Apache Log4j 2 원격 코드 실행 취약점을 Apache에 공식적으로 보고했습니다. Apache Log4j 2의 일부 기능에는 재귀 분석 기능(recursive analysis functions)이 있기 때문에 공격자가 직접 악성 요청을 구성하여 원격 코드 실행 취약점을 유발할 수 있습니다.
취약점 악용에는 특별한 구성이 필요하지 않으며, Alibaba Cloud 보안팀의 검증결과 Apache Struts2, Apache Solr, Apache Druid, Apache Flink 등이 모두 영향을 받는 것으로 알려졌습니다.
https://news.v.daum.net/v/20211211181030002?x_trkm=t
https://www.etnews.com/20211213000102
반응형
Log4j 취약점 조치방안 방법
주요 방법으로는 log4j 에서 JNDI 파싱을 하지 못하게 막는 것이 중요하다. 이 파싱 기능이 원격 코드 실행 취약점을 불러일으키기 때문에 보안 구멍이 생기므로, 이를 패치하거나 비활성화는 것이 핵심 방법이다.
-
가장 안전한 방법은 log4j 를 2.15.0 이상으로 올리는 것이다. 하지만 이 방법은 Java 8이 필요하다. 2.12.1 버전이 Java 7을 지원하는 마지막 버전이므로, 2.13.0 이상 버전을 사용중이라면 판올림에는 문제가 없다.
-
log4j 2.10.0 이상 사용 시 다음의 방법 중 한 가지 이상의 방법을 사용한다.
-
Java 실행 인자(Arguments) 에 시스템 속성을 추가한다. -Dlog4j2.formatMsgNoLookups=true
-
Java 실행 계정의 환경 변수 혹은 시스템 변수로 LOG4J_FORMAT_MSG_NO_LOOKUPS=true를 설정한다.
-
-
log4j 2.7.0 이상 사용 시 log4j 설정(log4j.xml 등)에 PatternLayout 속성에 있는 %m 부분을 %m{nolookups} 으로 교체한다.
-
log4j 상기버전 미만일 경우 가장 어려운 상황으로, JndiLookup 클래스와 JndiManager 클래스를 읽지 못하도록 조치해야 한다. log4j-core.jar 를 직접 빌드하거나, 자바 프로젝트에 패키지명까지 맞춰가면서 dummy화 시켜야 한다. 이 방법은 위에 링크한 KISA 인터넷 보호나라에서 쉽게 대응할 수 있는 방안을 제공하니까 반드시 열람하도록 한다.
https://www.krcert.or.kr/data/secNoticeView.do?bulletin_writing_sequence=36389
반응형
'IT 기술 > 보안IT' 카테고리의 다른 글
스푸핑(Spoofing), 스니핑(Sniffing), 스누핑(Snooping) (1) | 2019.05.28 |
---|---|
[보안IT] DRM (Digital Right Management) (0) | 2017.11.10 |
댓글