단위 3 / 11

위협 사냥: 인공 지능을 활용한 가설 수립 및 신호 검색

이득:

  • 경보가 아닌 테스트 가능한 가설로 위협 사냥을 시작하는 방법과 인공 지능이 가설 생성 및 쿼리 초안 작성에 어떻게 도움이 되는지 이해하세요.
  • 인공지능이 강조한 반대/희귀한 신호가 자동으로 악의적인 의도를 의미하는 것은 아니며, 원시 증거를 통해 가설을 확인해야 한다는 점을 적용할 수 있는 능력입니다.
  • 인공지능이 제공한 MITRE ATT&CK 기술 번호 및 이벤트 ID를 공식 소스에서 확인하고 조작된 기술 세부 정보를 제거하는 기능

전통적인 보안 모니터링은 "경보를 기다리고, 알람이 오면 살펴보세요"라는 논리로 작동합니다. 그러나 가장 위험한 공격자는 경보를 울리지 않으려고 합니다. 이들은 합법적인 도구(이를 "악용"이라고 함, 즉 PowerShell, WMI 등 시스템에 이미 존재하는 도구를 남용함)를 사용하고 천천히 이동하며 정상적인 트래픽을 방해합니다. 이것이 위협 사냥이 탄생한 이유입니다. 경보를 기다리지 않고 "현재 내 조직에 탐지되지 않은 공격자가 있다면 그는 어디에 있을까요?" '위협 헌팅은 경보가 아닌 가설에서 시작됩니다.'라는 질문으로 선제적으로 추적을 검색합니다.

인공지능은 위협 사냥의 두 가지 측면에서 매우 유용합니다. 첫 번째는 가설 생성입니다. 공격 기법을 제시하고 "이 기법이 우리 기관에서 사용되었다면 어떤 로그에 어떤 패턴으로 흔적이 남을까요?"라고 질문합니다. 당신은 물어볼 수 있습니다. 두 번째는 신호 추출입니다. 빅 데이터에서 희귀하고 이상치이며 "정상과 다른" 것을 강조할 수 있습니다. 그러나 AI는 조직의 정상적인 상황을 알지 못하며 가설이 "증명"되었다고 생각하는 함정에 빠질 수 있습니다. 위협 사냥에서 AI는 마인드 파트너이자 스캐너입니다. 사냥꾼(분석가)은 먹이가 실제 위협을 발견했는지 여부와 이를 보고할지 여부를 결정합니다.

위협 사냥의 단계

  1. 가설. 구체적이고 테스트 가능한 문장은 다음과 같습니다. "공격자가 업무 시간 외 시간에 손상된 계정을 사용하여 내부 네트워크를 검색할 수 있습니다." 여기서 브레인스토밍에 AI를 사용할 수 있습니다.
  2. 데이터 소스를 식별합니다. 가설을 입증하거나 반증하는 로그는 무엇입니까? (예: 네트워크 검색을 위한 방화벽 및 DNS 로그, 권한 에스컬레이션을 위한 ID 로그)
  3. 쿼리를 디자인합니다. 대상 패턴을 검색할 쿼리입니다(SIEM 쿼리 언어, KQL, SQL 유사). AI는 쿼리 작성에 도움이 됩니다. 하지만 쿼리를 검토하고 실행합니다.
  4. 결과를 추출합니다. 수백 개의 라인 출력에서 ​​실제 신호를 필터링합니다. 여기서 AI는 클러스터링과 요약을 수행합니다.
  5. 확인하거나 반박하십시오. 발견된 추적이 정말로 악의적인지 아니면 결백한지 여부를 원시 증거와 맥락을 통해 확인합니다.
  6. 결과를 문서화하고 이를 결정으로 바꾸십시오. 발견된 실제 패턴을 영구 탐지 규칙으로 변환합니다. 가설이 실패했다면 그것도 기록해두세요(부정적인 결과도 정보입니다).

용어: TTP(전술, 기술, 절차 — 공격자의 행동 패턴). MITRE ATT&CK는 공격자 기술(예: T1078 "유효 계정")이 열거되고 문서화된 라이브러리입니다. 위협 사냥에 공통 언어를 제공합니다. IOC(침해 지표 - 잘못된 IP, 해시, 도메인). 백색 소음(화이트리스트/양호한 것으로 알려진)은 먹이를 희생시키는 것으로 알려진 정상적인 행동입니다.

위협 사냥 접근 방식 표

접근

출발점

AI의 투고

주의

가설 기반 사냥

"이런 공격자가 있었다면..."

가설 생성, 패턴 설명

가설은 증거가 아니다

IOC 기반 헌트

알려진 불량 표시기

IOC와 로그 일치

오래되었거나 잘못된 IOC의 오해

TTP/ATT&CK 기반 헌팅

기술(T-번호)

기술을 로그 패턴으로 변환

기법 ≠ 단일 패턴

이상 징후 기반 헌팅

통계적 편차

이상값 강조 표시

반대자 ≠ 나쁜 믿음

스택 빈도 분석

"가장 희귀한 것은 무엇입니까?"

희귀한 사건을 찾아서

드물다 ≠ 위험하다

세 개의 미니 케이스

사례 1 - 희귀한 것을 찾는 것. 사냥꾼은 "내부 네트워크의 어떤 프로세스가 가장 적은 수의 컴퓨터에서 실행되지만 가장 많은 네트워크 연결을 설정합니까?"라고 물을 수 있습니다. 그의 가설을 확립합니다. AI는 익명화된 프로세스 연결 데이터의 패턴을 강조합니다. 즉, 2대의 시스템에서만 볼 수 있는 svchost32.exe라는 프로세스가 340개의 서로 다른 외부 주소에 연결됩니다. 사냥꾼은 이것을 조사합니다. 합법적인 svchost.exe를 모방하는 악성 코드를 찾습니다. AI는 희귀한 것을 필터링했습니다. 사냥꾼이 진단하고 개입했습니다.

사례 2 — 실패했지만 가치 있는 사냥. 한 헌터는 "업무 시간 외에 대량 데이터 다운로드가 가능한가요?"라고 물었습니다. 그의 가설을 확립합니다. AI는 관련 쿼리 초안을 작성합니다. 결과: 3명의 사용자가 밤에 다운로드를 하였는데, 3명 모두 해외 직장인이고, 시간대 차이로 인해 업무시간 중에 근무를 하고 있습니다. 가설이 반박되었습니다. 헌터는 이를 "부정적인 결과"로 기록하고 이 3명의 사용자를 향후 헌트에 대한 예외로 기록합니다. 실패한 사냥으로도 우리는 기관에 대해 더 잘 알 수 있었습니다.

사례 3 - 인위적인 기술적 함정. 사냥꾼이 AI에게 "우리 조직에서 T1055 기술을 어떻게 찾나요?"라고 묻습니다. 말한다. AI는 "T1055가 다음 이벤트 ID를 생성합니다"라는 설득력 있는 쿼리와 주장을 작성합니다. 하지만 그가 제공한 이벤트 ID가 잘못되었고 모델이 ATT&CK 하위 기술을 구성했습니다. Avcı는 MITRE ATT&CK 레코드를 열고 기술 설명과 실제 로그 소스를 확인하고 잘못된 이벤트 ID를 수정합니다. 교훈: AI가 제공하는 모든 기술적 세부사항(이벤트 ID, T-번호, 로그 필드)을 공식 소스로 확인하세요.

약한 프롬프트 / 강한 프롬프트

약한 프롬프트:

내 네트워크에 공격자가 있는지 알아보세요.

이 주장은 가설도 없고, 데이터도 없고, 무제한이며, 검증할 수 없습니다. AI는 일반 또는 구성 목록을 생성합니다. 그것은 아무 소용이 없습니다.

강력한 프롬프트:

귀하의 역할: 위협 사냥꾼에게 아이디어와 개요를 제공하는 보조자입니다. 결정하지 말고 "위협이 있다"고 말하지 마십시오. 내 가설: "손상된 계정은 업무 시간 외 시간에 내부 포트를 검색할 수 있습니다." 다음을 생성합니다. (1) 이 가설을 증명하고 분산시킬 로그 소스를 나열합니다. (2) 검색할 구체적인 패턴(필드, 임계값)을 설명합니다. (3) 예제 쿼리의 초안을 작성하고 각 줄에 주석을 달고, (4) 결과 결과에서 제거될 무고한 설명을 기록합니다. 관련 MITRE ATT&CK 기술을 제안하되 T-번호와 이벤트 ID를 "[MITRE에서 확인해야 함]"으로 표시하고 구성하지 마세요.

강력한 주장은 구체적인 가설에서 시작하여 증거/반박의 균형을 설정하고 쿼리에 대한 설명을 제공하며 기술적 세부 사항은 검증에 맡깁니다.

복사 가능한 프롬프트 템플릿

내 기관의 가설 생성 템플릿 [엔티티: 예: [Active Directory/클라우드/엔드포인트]5의 맥락에서 테스트 가능한 위협 사냥 가설을 생성합니다. 각 가설에 대해 (1) 어떤 공격자의 행동을 표적으로 삼는지, (2) 어떤 로그 소스가 증거/반박을 제공할지, (3) 예상되는 패턴을 나타냅니다. 일반적인 문장이 아닌 테스트 가능한 문장을 만드세요.

TECHNIQUE PATTERN PATTERN 내 [기술명] 기관에서 다음 공격 기법을 검색하겠습니다. 생성: (1) 기술이 일반적으로 흔적을 남기는 영역, (2) 찾아야 할 구체적인 패턴 및 임계값, (3) 이 패턴을 유발할 수 있는 무고한(오탐) 상황을 기록합니다. 관련 MITRE ATT&CK T 번호를 제공하되 "[MITRE에서 확인해야 함]" 플래그를 포함합니다. 조작된 이벤트 ID/번호를 제공하지 마세요.

쿼리 초안 템플릿[SIEM/KQL/SQL] 쿼리 초안을 작성하여 [패턴 설명] 패턴을 찾습니다. 각 행에 주석을 달고 필터링하는 필드와 그 이유를 설명하고 성능 위험을 표시합니다. 쿼리를 검토하고 실행하겠습니다. 당신이 그것을 실행할 것이라고 가정하지 마십시오. 내가 아는 구성표에 따라 "[스키마에 맞게 수정]"이라고 표시된 필드 이름을 그대로 둡니다.

RESULT ELIMINATING TEMPLATE내 검색 결과 다음 줄(익명)이 나왔습니다: [paste]. 그룹화하고 각 그룹에 대해 (1) 악의적인 시나리오, (2) 최소 2개의 무해한 설명, (3) 차별화를 위해 찾을 추가 증거를 작성합니다. 의사결정 내가 당신을 분리시키지 못하게 해주세요. 증거가 없는 주장에는 "[근거 없음]"으로 표시하십시오.

일반적인 실수

  • 가설 없는 사냥. "무언가를 찾아라"라고 말하면 AI가 추측하고 구성하게 됩니다. 사냥은 구체적이고 검증 가능한 문장으로 시작됩니다.
  • 가설을 증거로 착각하는 것. 사냥은 가능성을 테스트합니다. 발견된 흔적은 원시 증거로 확인되기 전까지는 "위협"이 아닙니다.
  • 자동으로 그 반대를 나쁜 것으로 간주합니다. 희귀/이상값은 종종 무해합니다(유지 관리, 새 소프트웨어, 일회성 작업). 맥락에 따라 선별하세요.
  • 기술적인 세부 사항을 확인하지 않습니다. AI는 이벤트 ID, T 번호 및 로그 필드를 일치시킬 수 있습니다. MITRE ATT&CK 및 제품 설명서를 통해 확인하세요.
  • 낭비되는 캐치를 버립니다. 부정적인 결과는 지식이기도 합니다. 조직을 더 잘 알게 되어 미래의 오탐을 줄입니다. 문서.
팁: 좋은 위협 검색 가설은 "테스트 가능"해야 합니다. 즉, 참 또는 거짓으로 판명될 수 있는 구체적인 주장이어야 합니다. "내 네트워크에 문제가 있나요?" 테스트할 수 없습니다. “계정 X가 업무 시간 외 시간에 50개가 넘는 내부 IP에 연결되었나요?” 테스트할 수 있습니다.
주의: 위협 헌팅은 권한이 부여된 시스템에서만 수행됩니다. AI에게 권한이 없는 다른 조직, 사람 또는 네트워크를 "탐색"하도록 요청하는 것은 무단 액세스를 얻으려는 시도이며 이 모듈 외부에 있습니다.

요약하면

Threat Hunting은 알람을 기다리지 않고 숨어 있는 공격자의 흔적을 능동적으로 찾아내는 것으로, 알람이 아닌 가설에서 시작됩니다. AI는 이 프로세스에서 두 가지 강력한 기여를 제공합니다. 즉, 테스트 가능한 가설 및 쿼리 초안 생성, 빅 데이터에서 희귀/이상 신호 필터링입니다. 그러나 AI는 조직의 정상적인 상황을 알지 못하며 기술적인 세부 사항을 구성하고 가설을 증거로 착각하는 함정에 빠질 수 있습니다. 따라서 사냥은 6단계(가설, 데이터, 쿼리, 추출, 검증, 문서)로 구성되며 각 단계에서 결정은 사냥꾼의 몫입니다. 반대론자 ≠ 나쁨, 가설 ≠ 증거, AI가 제공한 기술적 세부사항 ≠ 정확함; 모두 원시 증거와 MITRE ATT&CK에 의해 확인되었습니다.

응용과제

귀하의 조직(또는 샘플 환경)을 위한 "가설 생성" 템플릿을 사용하여 AI로부터 5가지 위협 추적 가설을 얻으세요. 가장 테스트 가능한 것을 선택하고 "패턴 기술" 및 "쿼리 초안" 템플릿을 사용하여 쿼리 초안을 작성하고 쿼리의 각 행과 MITRE ATT&CK에서 제안된 각 T-번호를 검증합니다. 짧은 사냥 노트에 결과(가설이 확인되었는지, 반증되었는지, 무엇을 배웠는지)를 기록합니다.

체크리스트

  • [ ] 나는 구체적이고 검증 가능한 가설을 가지고 사냥을 시작했습니다.
  • [ ] 가설을 입증하거나 반증할 수 있는 로그 소스를 확인했습니다.
  • [ ] 쿼리 초안의 모든 줄을 검토하고 이를 내 스키마에 맞게 조정했습니다.
  • [ ] 제안된 MITRE ATT&CK 기법과 이벤트 ID를 공식 소스를 통해 확인했습니다.
  • [ ] 나는 원시 증거와 맥락을 통해 각 신호를 확인했습니다. 나는 자동적으로 그 반대를 나쁘다고 생각하지 않았습니다.
  • [ ] 실패한 가설도 문서화했습니다(부정적인 결과는 정보임).
  • [ ] 사냥 권한이 있는 시스템에서만 사냥했습니다.