Apache Log4j용 핫패치 제공 널리 사용되는 오픈 소스 로깅 플랫폼인 Apache Log4j의 취약점인 CVE-2021-44228를 패치하거나 완화하기 위해 바쁜 주말을 보냈습니다. 영향을 받는 애플리케이션을 실행하는 사용자는 이 취약점을 해결하기 위해 Log4j를 버전 2.15로 업그레이드하는 것이 좋습니다. 그러나, 빠르게 진행하지 못하는 경우를 대비하여, (AWS가 배포하는 멀티 플랫폼 OpenJDK 버전인) Amazon Coretto 팀원들이 취약한 log4j 배포를 핫패치하는 도구를 구축하는 데 시간을 할애했습니다. 이 도구는 Log4j 2.0+를 사용하여 실행 중인 JVM을 핫패치하도록 설계되었습니다. 이 도구는 멱등성 기반으로, 초기 애플리케이션 이후의 결과를 변경하지 않고 동일한 JVM에서 이를 여러 번 실행할 수 있습니다. 또한, 실행 중인 모든 JVM을 찾고 취약점을 완화할 수 있습니다. 이를 사용하여 log4j를 종속성으로 포함하는 jar를 패치하고, 클래스 경로의 여러 log4j 인스턴스를 패치할 수도 있습니다. 핫패치 작동 방식 및 다운로드 이 도구는 실행 중인 JVM 프로세스에 Java 에이전트를 추가합니다. 본 에이전트는 “Patched JndiLookup::lookup()” 문자열을 무조건 반환하는 org.apache.logging.log4j.core.lookup.JndiLookup인스턴스의 lookup()를 패치 합니다. 메소드를 해결하도록 설계되었습니다. [ more… ]