2022-01-27 17:00 (목)
심각한 아파치 log4j 취약점 대응...이렇게 하면 된다
상태바
심각한 아파치 log4j 취약점 대응...이렇게 하면 된다
  • 길민권 기자
  • 승인 2021.12.14 13:20
이 기사를 공유합니다

보안 업데이트 하지 않으면…악성코드 유포, 중요 데이터 탈취, 임의의 파일 다운로드 및 실행 등 심각한 피해 발생 가능
출처=KISA
출처=KISA

◇log4j란 무엇일까.

log4j의 기능은 서비스 동작 과정에서 일어나는 일련의 모든 기록을 남겨 침해사고 발생 및 이상징후를 점검하기 위해 필수적으로 필요한 기능이다. 무료로 제공되는 오픈소스 프로그램으로 자바 기반의 모든 어플리케이션에서 사용할 수 있다.

◇log4j 1.x 버전을 아직 사용하고 있다면 어떨까.

log4j 1.x 버전은 이미 2015년 이후 기술지원(업데이트)이 종료되었으므로 보안위협들에 노출될 가능성이 높다. 최신버전으로 업데이트 적용하기를 권고한다.

◇우리 조직에서 취약한 log4j를 사용하고 있는지 어떻게 확인하나.

log4j를 사용하는 제품에 관한 정보는 아래 링크에서 확인할 수 있다. 상용제품 사용 중인 경우 아래 링크에 접속해 해당 제조사를 찾아 제조사가 안내하는 방법으로 확인하면 된다.

-클릭

리눅스에서 log4j 설치 여부 확인은

- dpkg –l | grep log4j - find / -name ‘log4j*’

윈도우에서 log4j 설치 여부 확인은

- window explorer의 검색 기능 (log4j 검색)을 이용

eclipse가 설치되어 있는 경우, eclipse의 찾기 기능을 활용하면 된다.

Syft와 Grype 도구를 사용하는 방법은 다음과 같다.

-클릭

취약점 스캐너를 사용하는 방법은 아래 링크에서 스캐너를 실행해 취약 여부를 확인할 수 있다.

-클릭

◇log4j의 버전 확인 방법은 어떻게 하나.

log4j-core 버전 확인은

- dpkg –l | grep log4j - find / -name ‘log4j*’

Java Spring Framework Maven 사용 시 log4j가 설치된 경로의 pom.xml 파일을 열어 “log4j-core”로 검색하면된다.

검색결과 “<version>사용버전</version>” 으로 확인하면 된다.

◇버전에 따라 어떻게 조치해야 하나.

log4j 2.15버전 이상으로 업데이트를 수행해야 한다.

-최신버전 다운로드: 클릭

즉시 업데이트가 어려운 경우 log4j 버전에 따른 해결 방안은 아래와 같다.

- 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로 설정한다.

◇보안 업데이트는 어떻게 하나.

시스템 환경에 따라 다양한 라이브러리가 추가로 적용되어 있을 수 있어, 테스트 후 적용을 해야 한다.

우선 log4j-core.jar 파일 위치 및 파일 백업 후 jar 파일을 아래의 경로에서 다운로드한다.

-최신버전 다운로드: 클릭

Java Spring Framework Maven을 사용하고 있는 경우 버전 정보 수정 후 재설치, 버전 재확인이 필요하다.

① pom.xml을 다음과 같이 수정

② mvn install ③ ./mvnw dependency:list | grep log4j or sudo find / -name ‘log4j*’로 버전 2.15.0 이상 여부 재확인

gradle을 사용하고 있는 경우 버전 정보 수정 후 재설치, 버전 재확인이 필요하다.

①-1) build.gradle에서 log4j2.version 업데이트

①-2) Gradle 플랫폼 지원을 사용하는 경우

② ./gradlew dependencyInsight —dependendy log4j-core로 버전 2.15.0 이상 여부 재확인

◇보안 업데이트를 하지 않으면 어떻게 되나.

원격 공격자가 이 취약점을 이용해 악성코드 유포, 중요 데이터 탈취, 임의의 파일 다운로드 및 실행 등이 가능다.

◇해당 취약점을 탐지할 수 있는 패턴은 어떻게 작성할 수 있나.

아래 링크를 참조해 log4j로 검색 후 탐지 정책을 확인할 수 있다.

-클릭

해당 탐지 정책은 내부 시스템 환경에 따라 다르게 동작할 수 있으며 시스템 운영에 영향을 줄 수 있어, 충분한 검토 후 적용해야 한다. 또한 우회의 가능성이 있어 지속적인 업데이트가 필요하다.

보다 상세한 사항은 KISA 인터넷보호나라 자료실에서 ‘QnA 형식으로 알아보는 Apache log4j 취약점 대응 가이드’를 참고하면 된다. 데일리시큐 자료실에서도 다운로드 가능하다.

★정보보안 대표 미디어 데일리시큐!★