사상 최악의 취약점 Log4Shell 이게 뭐지? : 원격 코드 실행(RCE...

사상 최악의 취약점 Log4Shell 이게 뭐지? : 원격 코드 실행(RCE...

728x90

주말에 엘베에 달려있는 모니터에서 보여주는 뉴스에서 역사상 최악의 보안 취약점이 발견됐다는 뉴스를 봤다.

출근해서 뉴스를 읽어보는데 사상 최악의 취약점이라는 별명에 맞게 KISA에서도 업데이트 권고를 내렸고 암튼 심각해보인다.

Log4Shell: 초보자를 위한 Log4j 보안 취약점 알아보기 - 삐멜 소프트웨어 엔지니어 (cselabnotes.com)

나같은 초보자가 읽기에 너무 가독성 좋게 써주셔서 나도 보려고 올림 ㅎㅅㅎ

일단 이 Log4shell 취약점은 log4j 프로그램을 타깃으로 한 취약점이다.

그렇다면 log4j는 뭔가..! 로깅 프레임워크다. Apache의 자바 기반 로깅 프레임워크다.

그렇다면 로깅 프레임워크는 뭔가..! 시스템의 로그를 쉽게 작성하도록 도와주는 프레임워크이다. 로깅 프레임워크를 사용하면 이 시스템이 어떤 상황인지 쉽게 파악이 가능할 것이다.

사실 이번 취약점 타깃은 정확히는 log4j2이다. log4j는 2015년 기준 개발이 중단되었고 이후로 log4j2가 사용되고 있다.

logj2는 다른 로깅 프레임워크보다 처리량도 많고 대기시간도 훨씬 짧기 때문에, 많이 사용하는 로깅 프레임 워크이다. 이 취약점은 마인크래프트에서 발견됐고 이외에도 애플, 아마존, 스팀, 트위터, 구글, 테슬라 등 많은 글로벌 기업에서 사용하고 있어서 더 큰 문제로 번지고 있다.

그렇다면 이 log4j에서 발생한 취약점은 어떤 것인가...!

기술적인건 잘 모르지만 암튼 JNDI 인젝션 취약점이 발생했다고 한다.

그렇다면 JNDI는 뭔가...! Java Naming and Directory Interface로 디렉터리 서비스(로깅 프레임워크도 여기 포함되는 것 같음)에서 제공하는 데이터 및 객체를 발견하고 참고하기 위한 자바API다.

자바 애플리케이션을 외부 디렉터리 서비스에 연결하는데에 사용된다.

여기에다가 원격으로 공격코드를 실행할 수 있게 되는데, 당연히 엄청난 피해를 불러일으키겠지..!?

이게 많은 기업에서 사용하고 있어서 문제가 되고 있고, 비밀번호 입력 없이 목표 서버를 통해서 기업이나 정부기관의 데이터를 탈취하거나 악성 프로그램을 심을 수 있기 때문에 주의해야 한다.

이 취약점이 보안전문가보다 해커들이 더 빨리 발견한 취약점이기 때문에 빠른 대응이 필요하다. KISA에서는 아래와 같은 방안을 제안했다.

제조사 홈페이지를 통해 최신버전 업데이트

최신버전 업데이트가 어려운 경우 버전이 2.0-beta9 ~ 2.10.0 인 경우 JndiLookup 클래스를 경로에서 제거 : zip -q -d log4j-core-*.jar org/apache/logging/log4j/core/lookup/JndiLookup.class 버전이 2.10 ~ 2.14.1 인 경우 log4j2.formatMsgNoLookups 또는 LOG4J_FORMAT_MSG_NO_LOOKUPS 환경변수를 true로 설정

이렇게 하면 된다고 한다!

728x90

from http://nicedammy.tistory.com/72 by ccl(A) rewrite - 2021-12-13 17:26:58