마지막으로 현재는 패치가 완료된 상태이나 Log4j 취약점 대응방안을 정리한다.
1. KISA
주요 골자는 최신 버전 업데이트 적용이며 업데이트가 불가능할 경우 JndiLookup 클래스를 제거한다.
2. 취약점 점검
먼저 현재 사용중인 Log4j의 버전을 확인하여, 취약점이 존재하는 버전일 경우 최신 버전으로의 업데이트를 적용한다.
로그프로세소 등의 기업이 취약점 대응을 위한 스캐너를 배포하였으며, 해당 스캐너 등을 사용한다.
Log4j 버전 확인 방법
1. pom.xml 파일을 열고 "Log4j-core"로 검색해 설치된 버전 정보를 확인 가능하다.
2. 리눅스의 경우 find / -name | grep 'log4j' 명령을 수행하여 파일명 "log4j-core-버전명.jar"를 확인한다.
해당 취약점 점검 도구 중 https://log4shell.huntress.com/를 이용하면 보다 편리하게 점검할 수 있다. 해당 사이트에서 LDAP 서버를 구축해 수행하는 쿼리도 제공 한다. 하지만 해당 사이트에 대한 정당한 보안성 검토가 필요하다.
3. 보안 장비에서 탐지
공격자들이 해당 취약점을 이용하기 위해 일정한 패턴(%{jndi:ldap 등)을 사용하는데,
해당 패턴들을 보안 장비에 등록하여 공격 시도를 탐지 및 차단할 수 있도록 한다.
위 사진을 통해 공격이 발생하지 않도록 할 수 있는 상황은 다음과 같다(이중 하나라도 차단이 되면 공격 불가).
1) WAF를 통해 패턴 차단
2) Log4j를 사용하지 않는 경우
3) Log4j 취약점이 패치된 최신 버전을 사용중인 경우
4) JNDI LookUp을 사용하지 않는 경우
5) Log4j를 사용하나 로그 기록 형태를 공격자가 알 수 없는 형태로 기록하는 경우
6) 공격자의 LDAP 서버와의 통신이 불가한 경우 (IP, Port 차단 또는 도메인 차단 등)
'취약점 > 4Shell' 카테고리의 다른 글
Text4Shell (CVE-2022-42889) (0) | 2022.11.20 |
---|---|
Spring4Sell 취약점(CVE-2022-22965) (0) | 2022.11.12 |
Log4j 취약점 분석 #2 취약점 분석 (0) | 2022.07.15 |
Log4j 취약점 분석 #1 개요 (0) | 2022.07.14 |