사고 탐지 및 대응의 현황을 살펴볼 때 자주 언급되는 지표는 “체류 시간”입니다. 의 연구에 따르면, 보안 침해 발생 시점과 피해자가 결국 침입 사실을 알아차리는 시점 사이에는 — 대개 몇 달 단위로 측정되는 — 상당한 시간 차이가 존재한다는 점이 지속적으로 강조되고 있다.
이 격차가 보안 프로그램의 성공 여부를 가늠하는 유용한 지표가 된다는 점, 그리고 이 기간을 단축하는 것이 공격이 비즈니스와 인프라에 미칠 수 있는 잠재적 영향을 줄이는 데 매우 중요하다는 점에는 우리 모두가 동의할 것입니다. 하지만 우선 “체류 시간”의 시간적 범위를 재정의하여, 사고가 감지되는 시점을 넘어 그 범위를 확장해야 합니다. 사실, 체류 시간은 후속 조사의 전 과정을 포괄하며, 궁극적으로는 문제 해결이 성공적으로 이루어질 때까지 지속됩니다.
성공적인 수사의 기준은 무엇일까요?
조사에서는 보안 침해로 인한 실제 비즈니스 영향력을 파악하고, 무슨 일이 일어났는지에 대한 “전말”을 밝혀내야 합니다. 조사관들은 먼저 해당 환경 전반에 걸쳐 영향을 받은 모든 시스템과 장치를 파악하고, 각 시스템 및 장치에서 공격자의 활동 범위를 확인하는 것부터 시작합니다. 그러나 범위 파악의 중요성은 단순히 고유한 악성코드 샘플, 감염된 호스트 또는 유출된 인증 정보의 수를 집계하는 것을 넘어섭니다. 조사 결과는 단기 및 장기 정화 계획 수립에 필수적인 자료이며, 이상적으로는 조사 첫날부터 조사와 병행하여 이러한 계획을 수립해야 합니다. 감염된 시스템 하나, 백도어 명령 및 제어 주소 하나, 또는 유출된 사용자 인증 정보 세트 하나라도 놓치게 되면, 공격자가 쉽게 다시 접근권을 확보하여 모든 대응 조치를 무력화시킬 가능성이 있습니다. 마찬가지로, 사고 발생 시 악용된 보다 근본적인 취약점을 파악하고 해결하지 못하면 피해자의 보안 태세는 실질적으로 개선되지 않게 됩니다.
안타깝게도 많은 조직이 사고 대응 주기의 이 중요한 단계에서 성과를 내는 데 어려움을 겪고 있습니다. 컨설턴트로서 저는 외부 지원이 필요한 조직들을 대상으로, 특히 짧은 기간 내에 업무를 수행해야 하는 상황에서 6년 동안 조사 및 문제 해결 작업을 주도해 왔습니다. 수사에 많은 것이 달려 있지만, 문제 해결을 위한 길은 여전히 험난합니다. 이토록 중요한 사안임에도 불구하고, 수사관들은 왜 여전히 어려움을 겪고 있는 것일까? 대개 그 해답은 ‘사람’, ‘프로세스’, ‘기술’이라는 전통적인 영역에서 찾을 수 있습니다:
- 의 전문가들: 컴퓨터 포렌식은 상당한 기술적 역량과 훈련을 필요로 합니다. 특히 기업 네트워크와 액티브 디렉토리(Active Directory)와 같은 일반적인 기술, 그리고 흔히 사용되는 침입 기법의 패턴과 특성을 이해해야 할 필요가 더해질 때는 더욱 그렇습니다. 이러한 기술은 현재도 부족하며, 당분간은 계속 부족할 것으로 보입니다..
- 프로세스: 많은 조직은 표적 침입을 실제로 겪기 전까지는 이를 처리하기 위한 명확한 절차를 마련하지 않습니다.
- 기술: 조사에 사용되는 도구의 대다수, 특히 엔드포인트 “헌팅” 및 포렌식 도구는 속도가 느리고 지나치게 복잡하며, 대규모 분산 환경에서 확장성이 부족하거나(또는 진행 중인 침입에 대응할 수 없습니다). 게다가, 많은 제품이 사고 탐지나 대응 업무 중 극히 일부만을 처리하기 위해 고안된 단일 목적의 솔루션에서 비롯된 것이기 때문에, 기업 규모에서 추가적인 사고 대응(IR) 사용 사례에 적용될 경우 성능이 급격히 저하됩니다.
저는 기업에 기술력을 제공하여, 이를 통해 기존 보안 팀의 역량과 자원을 증폭시켜 어떤 규모의 공격이든 대응할 수 있도록 돕는 데 큰 열정을 가지고 있습니다. 따라서, Tanium의 최신 기능인 ‘Tanium Trace’를 소개하게 되어 기쁘게 생각하며, 이를 통해 보안 및 사고 대응 팀이 침입을 탐지하고, 조사하며, 대응하는 데 소요되는 시간과 노력을 획기적으로 줄일 수 있도록 지원하고자 합니다.
Tanium Trace 자세히 살펴보기
Tanium Trace(Trace)는 Tanium Endpoint Platform에 이미 포함된 다양한 기존 침해 탐지 및 대응 기능에 추가되며, 여기에는 모든 엔드포인트의 “현재 상태”에 대한 데이터를 신속하게 조회 및 수집하고, 구조화된 침해 지표(IoC)를 검색하며, 대상 시스템에서 메모리 이미지나 파일 시스템 메타데이터 덤프와 같은 대용량 포렌식 증거 자료를 확보하는 기능 등이 포함됩니다. Trace는 이러한 기능을 바탕으로 ‘Trace Collector’, ‘Trace Workbench’, ‘Trace Sensors’라는 세 가지 핵심 기능을 제공합니다.
Trace Collector
Trace Collector는 각 엔드포인트에서 주요 포렌식 증거를 지속적으로 기록하는 역할을 담당합니다. 이 기능은 Windows 커널 및 기타 저수준 하위 시스템을 모니터링하여 프로세스 실행, 파일 시스템 활동, 레지스트리 변경, 네트워크 연결, 드라이버 로드, 사용자 인증 등 다양한 이벤트를 포착하는 방식으로 작동합니다. 이러한 데이터는 빠르게 누적될 수 있습니다. — 시스템이 유휴 상태일 때조차도 지속적인 활동이 발생하기 때문입니다. — 따라서 Trace는 유사한 이벤트를 지능적으로 통합하여 로컬 데이터베이스에 효율적으로 저장합니다. 이러한 최적화 덕분에 기본 설정으로도 최대 몇 주 분량의 과거 데이터를 보관할 수 있습니다. Tanium 관리자는 원하는 사용 사례에 맞게 Trace가 차지하는 로컬 저장 공간의 용량을 추가로 조정할 수 있을 뿐만 아니라, 기록되는 증거의 유형을 필터링할 수도 있습니다.
이에 비해, 기존의 디스크 및 메모리 포렌식 기법은 엔드포인트 활동의 단편을 성공적으로 재구성할 수 있지만, 기본 운영 체제가 기본적으로 보존하는 증거로만 제한되며, 이러한 증거는 조사 대상 기간이 지나 시간이 흐를수록 빠르게 훼손될 수 있습니다. Trace는 완전하고 이해하기 쉬운 이벤트 이력을 관리하므로, 분석가는 시간을 되감아 시스템에서 최근에 발생한 상황을 다시 확인할 수 있습니다.
또한, Trace는 기록된 각 이벤트에 추가적인 맥락 정보와 메타데이터를 더합니다. 예를 들어, 프로세스 실행 이벤트에는 전체 명령줄, 해시, 상위 프로세스의 명령줄 및 사용자 컨텍스트가 포함됩니다. 파일, 네트워크 및 레지스트리 이벤트는 모두 해당 이벤트가 발생한 관련 프로세스 및 사용자 컨텍스트와 함께 기록됩니다. 로그온 및 로그오프와 같은 보안 이벤트는 이벤트 로그가 롤오버되었더라도 별도로 보존됩니다. 이를 통해 조사 단서를 확보하고, 해당 단서가 엔드포인트에서 발생한 상황을 신속하게 파악하는 것이 매우 쉬워집니다.
Trace Workbench
Trace Workbench는 Tanium 콘솔에 직접 통합된 웹 기반 사용자 인터페이스입니다. 이 기능은 원격 시스템에 연결하여 Trace Collector가 수집한 방대한 데이터 세트를 대상으로 심층 분석을 수행할 수 있게 해줍니다. 모든 분석은 실시간 연결을 통해 단 몇 초 만에 수행될 수 있으며, 시간이 많이 소요되는 데이터 전송이나 파싱 과정이 필요하지 않습니다. 또한 사용자는 Tanium 서버에 시스템의 트레이스 데이터베이스 스냅샷을 저장하여 보관하거나 공동 분석에 활용할 수 있습니다. 또한 모든 엔드포인트에 걸쳐 최대 데이터베이스 크기 및 기록 보존 기간과 같은 추적 설정을 손쉽게 재구성할 수 있는 기능을 제공합니다.
사용자는 키워드나 초기 시간 범위를 기준으로 시스템의 전체 추적 데이터베이스를 검색하는 것부터 시작할 수 있습니다. 검색 결과는 기존의 격자 형식으로 표시되며, 사용자가 불필요한 데이터를 걸러낼 수 있도록 열별로 재정렬 및 필터링이 가능합니다.
검색 결과 중 하나를 더블 클릭하면, 선택한 이벤트를 담당하는 프로세스에 대한 자세한 ‘프로세스 개요’ 페이지로 이동합니다. 이는 본질적으로 분석의 초점을 초기 검색 조건에 부합하는 모든 이벤트의 범위에서, 시간 경과에 따른 단일 프로세스의 범위로 전환하는 것입니다. ‘프로세스 개요’에는 현재 검사 중인 프로세스가 시작한 모든 파일, 네트워크, 레지스트리 및 자식 프로세스 활동이 시각적 타임라인과 표 형식으로 모두 표시됩니다. 이 페이지에는 전체 프로세스의 이미지 경로와 인수, 사용자 컨텍스트, 해시, 상위 명령줄 정보도 제공됩니다. 사용자는 추가 분석을 위해 실행 파일을 다운로드할 수도 있습니다. 또한 사용자는 현재 프로세스의 상위 노드, 하위 노드 및 동급 노드를 표시하는 대화형 트리 뷰를 탐색할 수 있습니다.
Trace Sensors
더 광범위한 사고의 일부인 단일 시스템을 분석할 때는 시야가 좁아지기 쉽습니다. 수사관들은 심층 포렌식 조사 과정에서 발견된 증거와 관련 자료를 기업 전체에서 검색할 수 있어야 합니다. 이상적으로는, 모든 임시 검색 및 테스트 케이스에서 IOC를 생성하고 배포하는 데 따르는 부하가 발생해서는 안 됩니다. 프로세스, 레지스트리 키 또는 파일과 같은 간단한 개체에 대한 쿼리는 부하가 적어야 하며 즉각적인 결과를 제공해야 합니다. 이는 단순히 “알려진 결함”을 찾기 위한 것이 아니라, “알려진 정상”을 식별하고 평가하는 데 도움을 주기 위함입니다. 포렌식 분석을 해본 사람이라면 누구나, 의심스럽지만 동시에 침입자의 행동과 동시에 발생한 정상적인 시스템 동작의 결과일 수도 있는 일련의 증거를 마주했을 때의 그 기분을 잘 알고 있을 것입니다. 전체 환경에서 “이 ‘사물’이 얼마나 흔한가”를 즉시 평가할 수 있는 능력은 시스템을 검토하는 데 필요한 노력을 획기적으로 줄여줄 뿐만 아니라, 향후 사용을 위해 더 정확하고 탄력적인 지표를 구축하는 데도 도움이 됩니다.
Trace는 Tanium의 핵심 기능인 “질문하기”를 구동하는 센서를 통해 이러한 기능을 구현합니다. Trace가 모든 엔드포인트에서 수집한 모든 데이터는 다른 Tanium 쿼리와 동일한 15초의 응답 시간으로 대규모 검색이 가능합니다. 마찬가지로, 동일한 추적 데이터는 정기적인 검색이나 SOAP API를 통해 조회할 수 있으며, 검색 결과를 저장하거나 시간 경과에 따라 집계하거나, Tanium Connect를 통해 SIEM과 같은 다른 보안 분석 또는 저장 솔루션으로 전달할 수 있습니다.
Trace Workbench에서 프로세스 세부 정보를 검토할 때, 활동 행을 클릭 한 번으로 상황에 맞는 검색으로 전환할 수 있습니다. 예를 들어, CreateProcess 작업에 대한 행을 선택하면 경로, MD5 해시 또는 전체 명령줄을 기준으로 일치하는 프로세스를 검색하라는 메시지가 표시되며, 파일이나 레지스트리 행을 선택하면 작업 유형 및 항목 경로를 기준으로 검색하라는 메시지가 표시됩니다. 또한 사용자는 전체 추적 데이터 세트를 활용하여 시간 범위 제한이나 정규식 일치와 같은 고급 옵션을 제공하는 보다 정교한 쿼리를 직접 작성할 수도 있습니다.
추적 센서는, 특히 반복적으로 저장된 검색을 지원하는 데 사용될 때, 환경 내의 비정상적인 활동을 선제적으로 모니터링할 수 있는 효과적인 수단이 될 수도 있습니다. 사용자가 쉽게 생성하고, 사용자 지정하며, 다른 보안 솔루션과 통합할 수 있는 Trace 검색의 예로는 다음과 같은 것들이 있습니다:
- 선택된 계정, 소스 시스템 및/또는 대상 시스템에 의한 Type 3 (네트워크) 및 Type 10 (원격 대화형) 로그온
- 정규식 일치를 활용하여 특정 디렉터리(예: 공격자가 흔히 사용하는 중간 저장소)의 활동이나 특정 파일 유형(예: RAR 아카이브)의 생성 여부를 감시하는 파일 생성 이벤트
- 악성코드를 지속시키는 데 자주 사용되는 레지스트리 키 및 값(예: Windows 서비스 ServiceDLL 매개변수 또는 “Run” 키 하위의 값)을 생성하거나 수정하는 행위
- “svchost.exe”와 같은 비정상적인 부모 프로세스에 의해 명령 셸이 생성되는 경우 등, 명령 및 제어 활동을 시사할 수 있는 부모 및 자식 프로세스의 독특한 조합
- 일반 최종 사용자가 자주 사용하지는 않지만, 공격자들이 정찰 및 측면 이동을 위해 자주 악용하는 “net.exe”, “at.exe”, “wmic.exe”와 같은 Windows 기본 명령어의 실행
- 격리된 내부 도메인 컨트롤러에서 인터넷 HTTP/S 서버로 연결을 시도하는 경우나, 비정상적인 소스 서브넷에서 권한이 높은 관리자 워크스테이션이나 주요 서버로 전송되는 SMB 또는 RDP 트래픽과 같은 비정상적인 네트워크 흐름.
Trace가 추가됨에 따라 Tanium Endpoint Platform은 전체 사고 대응 라이프사이클에 걸쳐 진정으로 포괄적인 솔루션을 제공하며, 어떤 규모에서도 빠르고 안정적이며 관리가 용이한 솔루션을 유지합니다. Trace는 Tanium 플랫폼을 사용하여 몇 분 만에 배포할 수 있으며, 기존 배포 환경에 이러한 Trace 기능을 모두 추가하는 데 별도의 하드웨어가 필요하지 않습니다. 사용자는 몇 번의 클릭만으로 Trace를 일부 엔드포인트나 전체 환경에 설치하고, 설치 상태를 모니터링하며, Trace 워크벤치와 센서를 사용할 수 있습니다.
라이언 카잔시얀, 전 수석 보안 아키텍트
Tanium이 실제로 어떻게 작동하는지 궁금하신가요? 와 1:1 데모를 예약하거나 주간 웨비나에 참여해 보세요. 에서 개최될 예정인 행사()에서 Tanium 전문가들과 상담해 보세요.
