메인 콘텐츠로 건너뛰기
블로그 안전 2021년 12월 19-26일 Linode 시큐리티 다이제스트

Linode Security Digest – 2021년 12월 19일~26일

리노드 시큐리티 다이제스트

이번 주에는 Log4j2 취약점의 진화와 이러한 취약점으로부터 보호하는 데 사용할 수 있는 몇 가지 유용한 완화 조치에 대해 살펴보겠습니다. 

취약점의 진화

"Log4Shell" 취약점은 Log4j2가 영향을 받는 시스템에서 이벤트를 기록하는 동안 조회를 처리하는 방식으로 중요한 원격 코드 실행 취약점을 발견하면서 시작되었습니다. 이 중요한 취약점(CVE-2021-44228)은CVSS에서 10 점 만점에 10 점을 기록했습니다. Apache Log4j 버전 1.x는 JNDI를 의도적으로 활성화해야 하기 때문에 이 발견에 취약할 가능성이 적다고 명시했습니다.Apache 이 취약점을 해결하기 위해 2.15.0을 릴리스했습니다.

후 Apache Log4j2를 버전 2.15.0으로 업그레이드할 수 없는 사용자를 위한 완화 방법을 릴리스한 이 오픈 소스 프로젝트가 대중의 시선에서 얻은 관심 덕분에 또 다른 취약점이 발견되었습니다. 이취약점(CVE-2021-45046)은처음에는 10점 만점에 3.7점을 기록한 DOS 취약점이었지만, 나중에는 중요한 코드 실행 취약점으로 선언되었으며 CVSS에서 10점 만점에 9점까지 점수가 부딪혔습니다. Apache 1.x 버전이 취약하지 않다고 명시하고 이 두 번째 문제를 해결하기 위해 Log4j2 사용자가 버전 2.16.0으로 업데이트할 것을 권장했습니다. JNDI 조회 클래스 제거 방법은 업그레이드할 수 없는 사용자에게 권장되었습니다.

그런 다음 세 번째 취약점이 되었습니다. Log4j2 버전 2.16.0의 보안 페이지에서 원격 코드 실행에 대한 언급은 없지만 이취약점(CVE-2021-45105)은CVSS에서 10점 만점에 7.5점을 받았으며 취약한 시스템에 대한 서비스 거부만 발생할 수 있습니다. Apache 버전 2.17.0을 출시하고 사용자가 문제를 해결하기 위해 업그레이드할 것을 권장했습니다. 또한 업그레이드할 수 없는 사용자를 위한 새로운 완화 조치도 공유했습니다.

이러한 취약점이 검색 및 완화 단계에서 악용되거나 악용되거나 악용되려고 시도되었음을 주목하는 것이 중요합니다. 에 따르면 360 Netlab 블로그,여러 악성 코드 가족은 이러한 취약점을 사용하여 전파하려고 시도했다. 취약점을 성공적으로 악용 한 악의적 인 행위자는 동전 광부를 이식하고 랜섬웨어를 설치하는 것을 보았습니다. 이러한 보고서는 이러한 취약점을 가능한 한 빨리 완화하는 것의 중요성을 강조합니다.

공식 완화 방법

Log4j2의 보안 페이지에따르면 구성 요소를 2.17로 업그레이드하면 알려진 세 가지 보안 문제가 완화됩니다. Log4j2를 업그레이드할 수 없는 경우,Apache 취약한 log4j2 코어*.jar 파일에서 JNDI 조회 클래스를 제거하는 것이 좋습니다. 그러나 최근에 발견된 서비스 거부취약점(CVE-2021-45105)을완화하기에는 충분하지 않습니다. 로깅 구성에서 PatternLayout을 변경하여 이 DOS 취약점을 완화할 수 있습니다. 읽을 수 있습니다. Apache'log4j2 보안 페이지는 이러한 완화 방법의 세부 사항에 대해 알아내기 위해이 단락의 시작 부분에 연결.

취약한 구성 요소 찾기

취약한 구성 요소를 검색하는 경우 jfrog에서 만든 Log4j-Tools를 사용할 수 있습니다. 이 리포지토리의 도구는 코드 조각이 Log4j를 작동하도록 호출하는지 확실하지 않은 코드베이스에서 취약한 Log4j JNDI 조회 호출을 찾을 때 유용합니다. 또한 로컬 파일의 취약점 상태를 확인하는 데 도움이 될 수 있습니다. 또한 Cisco CX 보안 연구소에서 Log4j 사용 악용 규칙을 확인하여 YARA 규칙으로 로컬 파일을 스캔하여 파일에 취약한 Java 클래스가 포함되어 있는지 확인할 수 있습니다. 이 방법은 더 빠른 결과를 제공할 수 있지만 더 많은 거짓 긍정이 발생할 수 있습니다. 그러나 이러한 규칙은 Log4j 종속 구성 요소도 찾는 데 도움이 될 수 있습니다. 

Mubix에 의한 Log4Shell 해시 저장소에는 초기 중요 RCE 취약점(CVE-2021-44228)에 취약한 log4j2 코어 파일의 MD5,SHA1및 SHA256 해시가 포함되어 있습니다. 마지막으로 CISA의 취약한 소프트웨어 데이터베이스(CVE-2021-44228에만 적용)를 확인하여 공급업체의 취약한 소프트웨어의 포괄적인 목록을 확인할 수 있습니다.

공격으로부터 보호

Log4j2 설치를 업그레이드할 수 없으며 서버에서 Fail2Ban을 사용하는 경우 Jay Gooby의 Log4Shell에 대한 Fail2Ban regex가 Log4Shell 시도를 차단하는 데 도움이 될 수 있습니다. CloudFlare를 사용하는 경우 WAF 규칙을 사용하여 이러한 공격으로부터 보호할 수 있습니다. 그러나 CISA의 조언에따라 Log4j 2.17.0으로 업그레이드하거나 권장 완화를 즉시 적용하는 것이 좋습니다. 일부 소프트웨어는 주의가 필요할 수 있는 취약한 버전의 Log4j와 함께 번들로 제공될 수 있으므로 Log4j2를 사용하는 다른 소프트웨어에 대한 공급업체 문을 참조하는 것도 중요합니다.

IoC 찾기 및 스캔

로그에서 손상 지표를 찾고 있다면 알려진 JNDI 공격 벡터를 악용하기 위해 전송할 수 있는 여러 페이로드가 있기 때문에 이 취약점을 악용하려는 시도가 있었는지 결정하기어려울 수 있습니다. 공격자는 페이로드의 문자열을 인코딩하거나 난독화하거나 간단한 페이로드를 검색할 때 잡기가 어려워질 수 있습니다. 이것은 back2root에 의해 Log4Shell-렉스가 유용 할 수있는 곳입니다. Log4Shell-Rex는 다른 방법으로 인코딩된 악의적인 페이로드와 일치하도록 만들어진 정규 식입니다. 로컬 로그 파일에 사용하거나 SIEM에서 사용하여 결과를 일치시킬 수 있습니다. 그러나 이 레텍스(해당 문제에 대한 모든 regex)를 검색하면 거짓 긍정 또는 거짓 네거티브가 발생할 수 있습니다.

또한 RCE 취약점(CVE-2021-44228)에대한 검색 및 퍼지에 도움이 될 수있는 FullHunt에 의해 Log4j 스캔 도구를 체크 아웃 할 수 있습니다, 당신은 또한 보다 포괄적 인 스캔 결과를 얻기 위해 WAF 우회에 대한 테스트이 도구를 사용할 수 있습니다.

이러한 보안 소화에 유용한 정보를 공유함으로써 고객을 도울 수 있기를 바랍니다. 언제나처럼, 아래에 코멘트를 남겨서 당신의 생각을 공유 주시기 바랍니다.


내용

댓글 남기기

이메일 주소는 게시되지 않습니다. 필수 필드가 표시됩니다 *