제품 둘러보기 데모 요청 사이버 보안 평가 연락처

사례

최신 사이버 보안 경향, 모범 사례,
보안 취약성 등

너무 많은 것을 알고 있는 Log4j와 메모리

저자: Guilherme Venere, Ismael Valenzuela, Carlos Diaz, Cesar Vargas, Leandro Costantino, Juan Olle, Jose Luis Sanchez Martinez, AC3 팀

공동 저자: Steve Povolny, Douglas McKee, Mark Bereza, Frederick House, Dileep Kumar Jallepalli

사이버 보안 업계는 쉴 틈도 없이 바쁩니다. 그리고 바로 지금이야말로 이런 생각을 비즈니스의 역량을 강화할 기회이자 기폭제로 삼아야 합니다.

현재 전 세계의 전문가들은 기업이 직면한 최신 위협에 맞서 계속 싸우고 있으며, 면역을 갖춘 업종은 없는 상황입니다. Apache Log4j Java 기반 로깅 플랫폼에서 Log4Shell 취약성의 분석 및 패치가 증가한 데에는 합당한 이유가 있습니다. Log4j는 개발자들이 이용하는 가장 인기 있는 로깅 애플리케이션 중 하나입니다. 그러나 기업은 또한 패치 그 이상을 생각해야 합니다. Log4Shell이 우리가 생각하는 공격 표면에 변화를 가져오기 때문입니다.

대규모 피해와 이 취약성이 확산될 가능성이 높기 때문에 다음에 나타날 주요 결함에 더 나은 계획과 보호를 준비하기 위해 지금의 이 영향을 진지하게 숙고해야 합니다.

패치가 중요하지만 인프라 보안을 보장하기 위해 고정적 또는 일회성 수정이어서는 안 됩니다. 대신 오늘날의 좀 더 현대적인 위협에 대응하는 데 필요한 민첩성을 제공하기 위해 광범위한 모니터링, 평가, 검사, 포렌식을 결합한 상시 접근 방식을 구현해야 합니다.

특히, 이 게시물에서는 뛰어난 메모리 검사 기능을 갖춘 엔드포인트 솔루션으로 어떻게 활성 악용 시나리오를 효과적으로 탐지하고 회사의 네트워크 보안 기능을 보완하여 조직을 위한 새로운 종류의 복원력을 만들 수 있는지를 보여줍니다.

배경

보안업계 종사자들은 알고 있듯이, 널리 사용되는 라이브러리에 영향을 미치는 또 다른 새로운 취약성이 2021년 연말에 맞춰 등장했습니다. CVE-2021-44228은 로깅을 수행하기 위해 라이브러리를 사용하는 애플리케이션 및 웹 사이트에 영향을 미치는 Log4j Java 라이브러리의 취약성을 보고했습니다.

이 취약성 덕분에 공격자는 취약한 사이트 또는 애플리케이션이 신뢰할 수 없는 원격 위치에서 악성 Java 코드를 로드하고 실행하도록 강제할 수 있습니다. 공격 벡터는 다양하지만 가장 일반적인 것은 공격자가 조작된 문자열을 네트워크 프로토콜의 일부로서 대상 시스템에 전송하는 것과 관련이 있습니다(예: POST 요청의 일부로 수정된 HTTP 헤더 전송).

이런 이유로 많은 방어자들이 이제 네트워크 트래픽에서 악성 문자열을 탐지하는 데 노력을 집중하고 있으며, 긍정적인 결과를 이끌어내기 위해서는 사전 예방이 중요하다는 사실을 인식하고 있습니다. 그러나 네트워크 시그니처는 바이패스할 수 있으며, 위협 행위자가 네트워크 검사를 피하기 위해 다양한 형태의 난독화로 네트워크 공격을 조정하고 있음을 확인하는 보고서가 있습니다. 아래의 이미지는 이 공격과 관련하여 관찰되었거나 보고된 현재 난독화 기법의 일부를 보여줍니다.


출처: https://github.com/mcb2Eexe/Log4j2-Obfucation

그렇다고 네트워크 보호 솔루션이 이 공격을 막는데에 유용하지 않은 건 아닙니다! 사실, Log4j는 방어자가 공격자만큼 적응력을 갖추고 좀 더 역동적인 접근 방식과 사고방식을 수용하여 살아 있는 보안의 새로운 시대로 나아가는 것이 얼마나 중요한지를 입증하고 있습니다. 네트워크 보안 플랫폼은 첫 번째 방어 계층을 제공하며, 이와 함께 보호, 탐지, 가시성, 대응의 추가 계층으로 강화된 임베디드 보안 아키텍처(보안 위험 처리 전략)의 일부로 사용되어야 합니다.

현대적인 엔드포인트 솔루션은 인메모리 검사와 신속한 응답 오케스트레이션 같은 시스템 프로세스에 대한 심층적인 호스트 기반 가시성을 통해 네트워크 기반 기능을 보완할 수 있는 고유한 위치에 있습니다. 이 조합을 통해 Log4Shell과 같은 위협에 대한 강력한 방어가 가능하며 기업은 엔드 투 엔드 보안을 통해 자신감을 다시 회복할 수 있습니다.

'I See You': 메모리 검사 #승리의공식

메모리 검사는 연결이 난독화 계층을 뚫은 후 엔드포인트에 도달할 때 추가 가치를 제공하고 네트워크 보안 플랫폼을 도울 수 있습니다. 아래의 다이어그램은 일반적인 웹 기반 Log4j 공격의 실행 흐름을 보여줍니다.



내용을 요약해보겠습니다.

  • 1단계: 공격자는 취약한 애플리케이션을 호스트하는 웹 서버에 특별하게 조작된 문자열을 보냅니다. 보시다시피 이 문자열은 네트워크 기반 시그니처를 바이패스하도록 난독 처리될 수 있습니다.
  • 2단계: 애플리케이션은 이 문자열을 메모리에 로드하기 위해 난독 해제를 진행합니다. 메모리에 로드되면 애플리케이션은 LDAP 연결을 시작하여 악성 클래스 파일이 있는 주소를 요청합니다.
  • 3단계: 공격자가 제어하는 LDAP 서버는 호스트되는 HTTP URL 주소를 표시하여 악성 클래스 파일의 위치로 응답합니다.
  • 4단계: 취약한 애플리케이션은 악성 클래스 파일의 다운로드를 시작합니다.
  • 5단계: 취약한 애플리케이션은 4단계의 악성 클래스 파일을 로드하여 실행합니다. 이때 공격자는 대상에서 코드를 실행하고 방어자에게 이 활동에 대한 가시성을 제공할 수 있는 흔적을 남깁니다. 여기에는 추가 프로세스나 터칭 파일, 악용 후 레지스트리 키 생성이 포함될 수 있습니다.

난독화 전술을 꿰뚫어 볼 수 있다고 상상해보십시오. Log4j처럼 위협보다 분명 앞서 나갈 수 있고 또 그래야 합니다. 악성 코드 파일의 존재를 탐지하기 위해 이 실행 흐름의 특정 지점에서 메모리 검사를 트리거함으로써 이를 수행할 수 있습니다. 당시 프로세스 메모리 내에서 사용된 난독 해제된 문자열을 찾을 가능성이 높습니다. 악성 클래스 파일이 다운로드된 후 메모리를 검사하면 해당 콘텐츠도 난독 해제된 형태로 검사할 수 있습니다.

탐지 타이밍이 주로 메모리 검사를 시작하는 데 사용되는 트리거에 달려 있음을 고려하면, 이러한 가능성은 메모리 시그니처의 성능과 효율성을 높여줍니다.

메모리 검사를 충족하는 Endpoint Security 전문가 규칙

전문가 규칙으로부터 메모리 검사를 트리거할 수 있는 기능을 제공하는 당사 솔루션을 통해 조직은 이를 수행할 수 있습니다.

전문가 규칙은 최종 사용자가 다른 스캐너에서 일반적으로 볼 수 없는 의심스러운 활동을 탐지하기 위해 활용하는 사용자 지정 가능한 액세스 제어 규칙입니다. 당사는 또한 공개 GitHub를 통해 MITRE ATT&CK Matrix에 매핑된 커뮤니티 Expert Rule을 제공합니다.

이러한 기능을 통해 Log4j에 취약한 애플리케이션을 대상으로 지정하고 해당 애플리케이션이 악용되는 시점을 식별할 수 있습니다. 다음 규칙을 고려해보십시오.



ACTORS(Process {…} 섹션 내부) 및 TARGETS(Target {…} 섹션 내부)를 정의하는 섹션이 있습니다. ACTORS는 Log4j 익스플로잇에 취약할 수 있는 프로세스입니다. 이 경우 독립 실행형 Java 애플리케이션에는 JAVA.EXE가 표시되고 Apache 웹 기반 애플리케이션에는 TOMCAT?.EXE가 표시됩니다. 이 두 프로세스 중 하나는 Java 런타임이 활성 상태인지 확인하기 위해 JAVA.DLL과 JVM.DLL을 모두 로드해야 합니다.

Target 섹션에는 공격의 잠재적 페이로드가 포함됩니다. 전문가 규칙은 네트워크 트래픽에 집중하지 않기 때문에, 당사는 실행 흐름의 마지막 단계인 페이로드가 실행되는 단계에 집중해야 합니다. 익스플로잇에 대한 추가 정보가 제공되면 액세스한 파일 또는 레지스트리 키와 같은 추가 트리거를 추가할 수 있습니다. 명령줄 매개 변수로 "Exclude"를 사용하여 위의 예와 같이 유효한 동작의 제외를 포함할 수도 있습니다. 고객은 이러한 제외를 각자의 환경에 맞게 조정하여 오탐을 방지하고 위협과 싸울 때 효율성을 높일 수 있습니다.

이 전문가 규칙은 ACTOR 프로세스가 TARGET 페이로드를 생성할 때 트리거됩니다. 특정 뉘앙스가 결과 및 오탐에 어떤 영향을 미칠 수 있는지를 살펴보는 것이 중요합니다. 규칙 시작 부분에 다음 줄이 있습니다.



이 명령은 전문가 규칙을 트리거한 ACTOR 프로세스에 대한 메모리 검사를 시작합니다. 이제 성능이 뛰어난 메모리 검사를 위한 안정적인 트리거가 있으므로 블라인드 메모리 검사로 인해 발생할 수 있는 성능 문제를 방지할 수 있습니다. 이 검사가 초기 악용 시도와 매우 가까운 시간에 수행되어 난독 해제된 문자열이 메모리에 머물도록 보장한다는 추가 이점이 있습니다.

그런 다음 AV DAT 엔진에 의해 실행되는, 전문가 규칙을 트리거한 프로세스의 메모리를 검사합니다. 이 문자열이 발견되면 영향을 받는 프로세스에서 탐지가 발생하고 전문가 규칙의 REACTION 줄에 구성된 작업이 적용됩니다. 모니터링해야 하는 프로세스를 정렬할 때까지 처음에 REPORT 작업을 사용하는 것이 좋습니다.



위에서 강조 표시된 첫 번째 이벤트는 JAVA.EXE에서 생성되는 의심스러운 프로세스를 트리거하는 전문가 규칙이고, 두 번째 이벤트는 해당 프로세스의 메모리에 익스플로잇 시그니처가 있음을 나타내는 AV DAT 탐지를 보여줍니다.

참고:

전문가 규칙 탐지가 단독으로 존재하고 JNDI(Java Naming and Directory Interface)/Log4j-Exploit 이벤트가 아닌 경우, 프로그램이 의심스러운 하위 프로세스를 실행했음을 나타내는 것일 수 있으므로 고객은 이벤트를 검토하고 그에 따라 Expert Rule을 개선하는 것이 좋습니다.

그러나 동일한 프로그램에 대해 전문가 규칙과 JNDI/Log4j-Exploit 이벤트가 모두 트리거되는 경우 악용되고 있는 프로세스의 존재가 확실하게 탐지되었습니다.

KB95901에서 Log4j 취약성의 현재 적용 범위(Apache Log4j CVE-2021-44228 원격 코드 실행의 적용 범위)에 대한 자세한 정보를 제공합니다. 이 문서에는 전문가 규칙 및 추가되고 업데이트된 EXTRA.DAT를 다운로드할 수 있는 링크와 각자의 환경에서 사용하도록 ePO를 설정하는 방법에 대한 세부 정보가 포함되어 있습니다.

이 솔루션을 구현하려면 KB 및 관련 문서의 지침을 검토하는 것이 좋습니다. 활성 위험을 차단하거나 이에 대응할 뿐만 아니라 진화하는 위협으로부터 보호하기 위해 동적으로 적응할 수 있도록 전문가 규칙을 검토하고 환경에 맞게 사용자 지정할 것을 적극 권장합니다.

결론

Log4j처럼 공격으로부터 환경을 보호하기 위해, 방어자는 대상 지정 엔드포인트 메모리 검사와 결합된 네트워크 보안으로 구성된 계층화된 임베디드 전략을 이용하여 네트워크 벡터를 통해 노출된 취약한 시스템에 대한 공격 실행 흐름을 효과적으로 탐지 및 방지할 수 있습니다. 당사의 ENS 전문가 규칙 및 사용자 지정 검색 대응은 이러한 기능을 사용할 수 있도록 설계되었으므로, 조직은 이러한 새로운 위협에 대해 정확한 대응책을 적용하고 유리한 위치에서 자신감을 가지고 비즈니스의 유지 관리와 성장에 매진할 수 있습니다.

최신 버전 확인

사이버 보안에 대해서는 이미 전문가지만 새로운 기업으로 다시 태어났습니다.
Trellix의 발전하는 모습을 놓치지 말고 지켜봐 주시기 바랍니다.

올바른 전자 메일 주소를 입력하십시오.
스팸은 하나도 없습니다. 언제든지 구독을 취소하실 수 있습니다.