인터넷 서버에서 심각 10단계 문제점 발견 IT업계 빨리 서둘르고 점검하자~

[속보] 2021-12-11 개발자들은 대부분 사용을 하고 있는 log4j에서 치명적인 문제점이 확인이 되었다고 한다.
보안상 문제가 레벨 10단계라고 하니 하루빨리 긴급 배포

우선 비개발직은 잘모를수 있으니 Log4j는 무엇일까?
log4j는 프로그램을 작성하는 도중에 로그를 남기기 위해 사용되는 자바 기반 로깅 유틸리티이다. 디버그용 도구로 주로 사용되고 있다. log4j의 최근 버전에 의하면 높은 등급에서 낮은 등급으로의 6개 로그 레벨을 가지고 있다
쉽게 말하면 개발자들이 코딩을 하면서 확인이 필요하거나 정보를 남길때 사용하는 유틸모듈이라고 생각하면 된다.
log4j에는 로그레벨
TRACE > DEBUG > INFO > WARN > ERROR > FATAL
# Log Level
# TRACE : 추적 레벨은 Debug보다 좀더 상세한 정보를 나타냄
# DEBUG : 프로그램을 디버깅하기 위한 정보 지정
# INFO : 상태변경과 같은 정보성 메시지를 나타냄
# WARN : 처리 가능한 문제, 향후 시스템 에러의 원인이 될 수 있는 경고성 메시지를 나타냄
# ERROR : 요청을 처리하는 중 문제가 발생한 경우
# FATAL : 아주 심각한 에러가 발생한 상태, 시스템적으로 심각한 문제가 발생해서 어플리케이션 작동이 불가능할 경우
저렇게 프로그램소스에 저런 로그들을 개발자들이 찍어 놓는데 저런부분이 해킹에 취약한 점이 발견되었다고 한다.
그러면 과연 저런 로그레벨에는 대부분 어떤게 찍혀 있는걸까? 개발자들은 조건을 레벨 단위로 로그에 남겨놓거나 소스코드에 대한 다른 개발자들이 알아볼수 있게 설명들이 적혀있는 경우도 있다.
혹은 개발을 하면서 필요한것들을 개발자에 취향에 맞혀 찍혀있기도 하지만 운영배포에서는 로그레벨을 다르게
설정하기도한다.

사실 더 심각한건 여기 있습니다. 해킹 공격자가 요청을 jndi:rmi://공격대상URL 형식으로
lower:l/lower:d/lower:p 등으로 요청 트리거로 할수도 있다고 합니다.-무서운 해커넘들~!
사실 log4j는 하루 이틀 사용한건 아니고 아주 오래전부터 버젼up이 되면서 지금까지 사용하고 있는 회사들이 많습니다.
그럼 이해를 돕기위해 어떤회사들이 사용해는지 알아볼까요.
log4j는 아마존/애플/트위터/클라우드플레어 굴직한 글로벌 IT들어서 사용하고 있었다면 모든게 이해가 되실겁니다.또한 얼마나 심각한지도 아실겁니다.
국내역시 log4j를 사용한다는 얘기는 더이상 안해도 되겠죠~
아파치 로그 공식 메인사이트에 올라왔네요.
[Log4j 팀은 Log4j 2.15.0에서 해결된 보안 취약점 CVE-2021-44228을 인지했습니다]
CVE-2021-44228
The Log4j team has been made aware of a security vulnerability, CVE-2021-44228, that has been addressed in Log4j 2.15.0.
Log4j’s JNDI support has not restricted what names could be resolved. Some protocols are unsafe or can allow remote code execution. Log4j now limits the protocols by default to only java, ldap, and ldaps and limits the ldap protocols to only accessing Java primitive objects by default served on the local host.
One vector that allowed exposure to this vulnerability was Log4j’s allowance of Lookups to appear in log messages. As of Log4j 2.15.0 this feature is now disabled by default. While an option has been provided to enable Lookups in this fashion, users are strongly discouraged from enabling it.
[Log4j 2.15.0부터 이 기능은 기본적으로 비활성화되어 있습니다]
For those who cannot upgrade to 2.15.0, in releases >=2.10, this vulnerability can be mitigated by setting either the system property log4j2.formatMsgNoLookups or the environment variable LOG4J_FORMAT_MSG_NO_LOOKUPS to true. For releases from 2.0-beta9 to 2.10.0, the mitigation is to remove the JndiLookup class from the classpath: zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class.
이러한 내용을 그냥 방치한다면 어떻게 될까요?
- 원격으로 프로그램을 실행시킬수도 있고 프로그램을 심어 자료들을 삭제할 수도 있습니다.

빠른 조치 방법 3가지 정도 간단합니다.
1.ver: 2.10 ~ 2.14.1
-Dlog4j2.formatMsgNoLookups=true
2.버젼[2.15.0을 업데이트 하는 겁니다.][권고]
<dependencies>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.15.0</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.15.0</version>
</dependency>
</dependencies>
<dependencies>
<dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.15.0" />
<dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.15.0" />
</dependencies>
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.15.0'
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.15.0'
}
3.2.0-beta9 ~ 2.10.0
ndLookup 클래스 경로 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class
보안 업체 텐에이블(Tenable)의 아밋 요란 최고경영자(CEO)는 이 취약점에 대해 “최근 10년간 가장 치명적이고 거대한 문제가 발견된 것으로 지금 위험에 처하지 않은 회사가 없다”며 “
현대 컴퓨터 인터넷 역사를 통틀어 최악의 보안 결함일 수도 있다”고 말했다. 그는 “이미 서버가 공격당한 것으로 가정하고 최대한 조치를 서둘러야 한다”고 강조했다.
국가정보원은 이번 취약점에 대해 자정부터 실태 파악에 들어가 정보 공유, 보안 패치 안내 등의 조치를 취했다고 밝혔다.
긴급 점검 결과, 현재까지 국가·공공기관 대상 관련 해킹 피해 사례는 없는 것으로 확인됐다.
국정원은 국가사이버위협정보공유시스템(NCTI), 인터넷용정보공유시스템(KCTI)과 사이버안보센터 홈페이지를 통해 해당 취약점 정보를 공유했다.
끝까지 읽어주셔서 감사합니다.
긴급으로 많은 기사들이 올라오고 있네요.

도움이 살짝 되셨다면 많은 댓글 부탁드립니다.
더좋고 빠른 글을 위해 노력하겠습니다.