위협 사냥 가설 예시: 성공적인 사냥을 준비하세요!
목차:
좋은 위협 사냥 가설은 조직의 디지털 인프라에서 약점을 식별하는 데 중요한 요소입니다. 올바른 질문을 하는 법을 배우면 원하는 답을 얻을 수 있습니다. 이 블로그 글에서는 주도적 위협 사냥 방법론인 가설 기반 위협 사냥을 검토합니다. 바로 시작해 보겠습니다!
위협 사냥 가설이란 무엇인가요?
위협 사냥 가설 은 사이버 공격이나 그 구성 요소에 대한 정보에 근거한 가정입니다. 과학 연구에서처럼, 가설 기반 위협 사냥에서 위협 사냥꾼은 조사의 기초로 가설을 설정합니다.
일단 가설이 설정되면, 위협 사냥꾼은 이를 테스트하기 위한 조치를 취해야 합니다. 대부분의 위협 사냥 작업은 가설을 테스트하는 전략에 따라 이루어집니다(예: 유용한 쿼리를 작성하는 데 실행보다 시간이 더 오래 걸리는 경우가 종종 있습니다). 여기에는 관련 데이터 소스(보안 이벤트, 시스템 로그 등), 관련 분석 기술(쿼리 작성, 스택 카운팅 등)을 식별하고 이 전략에 맞춰 조치를 취하는 것이 포함됩니다.
위협 사냥 가설은 주도적 사이버 방어 루틴을 촉진합니다. 후자의 다양한 변형 중 하나는 다음과 같습니다:
- 적대적 행동 예측
- 위협 발견 방법 제안
- 이상, 침해, 기준선/임계값 충격 감지
- 이벤트 상관관계 연구
- 샌드박스, 허니팟, 에뮬레이션된 환경에서 샘플 테스트
- 결과 문서화
- 자산 및 인프라 보호 강화
- 완화 수행
- 관련 당국에 알림 (해당되는 경우)
전체적으로 위협 사냥의 성공은 통찰력 있는 가설에 크게 의존합니다. 따라서 가설을 어떻게 세울 수 있는지 알아보겠습니다.
위협 사냥을 위한 가설을 어떻게 생성하나요?
처음에 쉽게 시작하려면 위협 사냥 가설을 악성 코드의 관점에서 사용자 스토리와 유사하게 생각할 수 있습니다.
위협 사냥 가설 #1
- [악성 스크립트]로서, [TCP 포트 50050을 통해 요청을 전송]하여 [연결을 설정]하고 싶습니다.
- [감염된 zip 파일]로서, [WMI를 사용]하여 [지속성을 유지]하고 싶습니다.
- [자바스크립트 코드]로서, [BITSAdmin을 악용]하여 [모듈을 다운로드]하고 싶습니다.
대안적으로, 공격자의 관점에서 가설을 만들어 보겠습니다.
위협 사냥 가설 #2
APT37 (북한)로서, 정치적인 이유로 미국 정부를 공격하고자 하며, 따라서 Cobalt Strike를 사용할 것입니다 T1218.011에서 악성 코드의 프록시 실행을 위한 rundll32를 심습니다.
하지만 ‘올바른’ 형식의 가설에 대한 단일 템플릿은 없습니다. 예를 들어, 그것들은 한 문장보다 더 복잡할 수 있습니다. 다단계 킬 체인을 실행하는 악성 소프트웨어의 경우, 위협 사냥 가설은 몇 가지 포인트를 포함할 수도 있습니다.
위협 사냥 가설 #3
악성코드 X:
EXE 파일을 통해 명령어 실행
외부 소스에서 PowerShell cmdlet을 가져와 실행
로컬 .NET 바이너리 실행
환경에 변수를 추가하기 위해 setenv() 함수 사용
이제 더 복잡한 예제로 넘어가 보겠습니다.
고급 위협 사냥 가설
위협 사냥 가설은 위의 예처럼 운영적일 수도 있고, 전술적이고 전략적일 수도 있습니다. 숙련된 위협 사냥꾼은 더 넓은 가설을 세울 수 있지만 여전히 정밀하게 타겟팅된 테스트로 이어질 수 있습니다. 이를 위해 그들은 다음을 포함해야 합니다:
- 도메인 전문성 – 경험을 가지고 지식을 공유하기
- 상황 인식 – 내부 인프라, 취약점, 핵심 자산에 대한 인식
- 지식 – 위협 정보 데이터 (IOC 및 TTP) 끌어오기
위의 모든 것을 적용하여 공격자가 타겟 할 시스템과 무엇을 달성하려고 할지를 깊이 분석하는 가설을 세워보세요.
예를 들어, Bob이라는 위협 사냥꾼은 위협 정보 피드를 통해 얻은 몇몇 IOC를 연구하고 있습니다. Crown Jewels 분석(CJA)을 수행한 결과, 회사의 가장 중요한 자산이 독점 알고리즘을 저장하는 장소임을 알고 있습니다. 이전 사냥 경험과 Alice라는 동료 연구자와의 대화를 통해 특정 상황에서 가장 가능성 있는 적대적 행동을 제안할 수 있습니다. 그래서 가설을 세웁니다.
위협 사냥 가설 #4
피싱 이메일을 통해 초기 접근을 시도한 공격자는 시스템의 핵심에 도달하고 데이터를 유출하기 위해 측면 이동 및 권한 상승을 수행할 것입니다.
가설은 공격자의 미래 단계를 예측하는 것이 아니라 패턴, 종속성 등을 이해하는 데 초점을 맞출 수도 있습니다. 즉, 전체 그림을 보는 것입니다.
그들은 C2 서버를 어디에 두고 있습니까? 어떻게 감추나요? 어떻게 지속성을 유지하나요? 특정 서버와 다양한 공격 캠페인 간의 관계는 무엇인가요?
이 경우, 사이버 보안은 단순히 문제를 보고 빠르게 해결하는 것 이상입니다. 질문을 하는 것이 필요합니다. 조금은 탐사 저널리즘의 5W 규칙과 비슷합니다:
- Who
- 무엇
- 언제
- 어디서
- Why
이러는 경우가 종종 있습니다. 여러 장소에서 여러 이벤트가 발생합니다. 수백만 개의 스크립트, 예약된 작업, 파일 및 사용자 작업이 수행됩니다. 그 모든 이벤트가 킬 체인의 단계일 수 있습니다. 그러나 악성 코드 조각이 자체를 암호화하고 합법적인 파일에 숨겨져 있기 때문에 알 수 없습니다. 또한 인증서를 도용하여 회사가 구매한 평판 좋은 소프트웨어의 일부로 실행됩니다. IOC를 처리했을 수도 있지만 그것만으로는 충분하지 않았습니다. 회사가 감시 당할 수 있지만 이에 대한 확실한 증거는 없습니다. 그래서 표면적으로는 치명적인 일이 발생하지 않았습니다. 가설은 그러한 정교한 공격을 식별하거나 그것이 없음을 증명하는 데 도움이 될 것입니다.
위협 사냥 가설 #5
국가 후원 위협 행위자 A는 위협 행위자 B와 동일한 C2 서버를 사용하므로 동일한 봇넷의 일원일 수 있습니다. 그들은 소프트웨어 파이프라인 감염을 사용하고, 정찰을 시작하기 전에 1-2주 휴면 기간을 가진 악성 코드를 심습니다. 우리의 스캔 결과가 합법적인 이진 파일 내에 난독화된 데이터를 보여주면, 우리는 C2 서버와 연결을 설정하는 징후를 찾아 그 파일들이 악성 코드임을 결론 내릴 수 있습니다.
결론
연습을 통해 완벽해지므로, 위협 보고서와 원시 데이터가 처음에 조금 난해하게 보일지라도 걱정하지 마세요. 컴퓨터 과학 과목, 예를 들어 네트워크, 저수준 언어 및 애플리케이션 아키텍처를 배워 특정 용어와 숫자 값(예: 포트 번호 등)에 더 익숙해지세요. 어쨌든 다루어야 할 정보가 항상 많으므로 모든 것을 이해하지 못하더라도 실망하지 마세요. 모든 것을 아는 것은 거의 불가능하므로, 구글을 사용하는 것도 많은 도움이 됩니다.
좋은 위협 사냥 가설은 유의미한 결론에 도달하고 가능한 공격을 예방하는 데 도움을 줍니다. 또한 수백만 개의 로그와 수백만 개의 가능성 있는 이유를 검색하지 않고도 적절한 시점에 올바른 데이터를 조사하도록 도와줍니다. 우리의 Detection as Code 플랫폼에 가입하여 25개 이상의 SIEM, EDR, XDR 솔루션과 호환되는 실시간 탐지 알고리즘에 접근하고 당신의 환경에서 최신 위협을 즉시 검색할 수 있습니다.