파생 디텍션
Panther에서 단일 기본 디텍션으로부터 하나 이상의 파생 디텍션을 생성하세요
개요
Panther에서 하나의 기본 디텍션(Base Detection)으로부터 하나 이상의 파생 디텍션(Derived Detections)을 생성할 수 있습니다. 파생 디텍션은 변경할 수 없는 기본 디텍션의 핵심 로직과, 덮어쓸 수 있는 메타데이터 및 알러트 필드 값을 상속합니다.
디텍션 파생은 다음으로 생성된 룰에 대해 사용할 수 있습니다 간단한 디텍션(Simple Detections) 또는 파이썬 디텍션(Python Detections).
파생 디텍션 사용 사례
파생은 특히 다음과 같은 경우에 유용할 수 있습니다:
메타데이터가 서로 다른 동일한 룰의 여러 복사본을 유지 관리하는 경우
CLI 워크플로에서 다음을 사용하고 사용자화하고 Panther 관리 룰(Panther-managed rules)Panther가 업데이트를 릴리스할 때 병합 충돌을 해결해야 하는 일을 피하고자 하는 경우
전체 예시는 다음을 참조하세요 병합 충돌을 피하기 위해 파생 디텍션 사용
사건에 대응하는 동안 여러 변형의 디텍션을 배포하여 다음 결정을 알리는 텔레메트리를 수집하고자 하는 경우
팀의 한 구성원(예: 위협 연구 책임자)이 다른 사람이(예: SOC 분석가)가 수정할 수 있는 기본 디텍션 세트를 만들고자 하는 경우
기본 디텍션(Base Detections)과 파생 디텍션(Derived Detections)
기본 디텍션은 사용자 정의 또는 Panther 관리 파생 디텍션이 생성된 룰입니다.
파생 디텍션은 기본 디텍션에서 생성되며 다음을 수행합니다:
기본 디텍션의 핵심 디텍션 로직을 상속합니다
핵심 디텍션 로직은 기본 디텍션의
rule()함수(파이썬 디텍션의 경우) 또는Detection필드(간단한 디텍션의 경우)에 정의됩니다.파생 디텍션은 자체 디텍션 로직을 지정할 수 없습니다—예를 들어 CLI 워크플로에서 파생 디텍션에
Detection키가 포함되어 있으면 해당 내용은 무시됩니다.
기본 디텍션의 메타데이터/알러트 필드 값을 상속하지만 특정 필드는 덮어쓸 수 있습니다
참조 디텍션 파생의 제한사항 현재 덮어쓸 수 있는 필드의 전체 목록은 를 참조하세요.
파생 디텍션에서 이루어진 오버라이드는 상속받은 필드 값을 완전히 대체합니다. 예를 들어 기본 디텍션과 파생 디텍션이 모두 인라인 필터(Inline Filter) (에서
InlineFilters키(클라이언트 CLI 워크플로) 또는 이벤트만 포함하도록 필터(Filter to only include events) 콘솔 필드), 오직 파생 디텍션의 인라인 필터만 적용됩니다.오버라이드는 한 방향으로만 이루어질 수 있습니다. 즉, 파생 디텍션에서 이루어진 오버라이드는 기본 디텍션 값에 영향을 주지 않습니다. 예를 들어 기본 디텍션에
사용 안 함(Enabled: False)설정되어 있고 파생 디텍션에사용(Enabled: True)로 설정되어 있다면, 오직 파생 디텍션만 활성화됩니다.
기본 디텍션이 업데이트되면 무슨 일이 발생하나
기본 디텍션의 핵심 로직이 업데이트되면 해당 변경은 연결된 모든 파생 디텍션으로 전파됩니다.
기본 디텍션의 메타데이터가 업데이트될 때, 연결된 파생 디텍션이 이미 업데이트된 필드의 값들을 덮어썼다면 변경이 없습니다. 연결된 파생 디텍션이 업데이트된 필드의 값들을 덮어쓰지 않았다면 메타데이터 업데이트가 파생 디텍션으로 전파됩니다.
중복 알러트를 피하려면 기본 디텍션을 비활성화하세요
대부분의 경우 기본 디텍션과 파생 디텍션은 동일한 들어오는 로그 세트를 대상으로 실행됩니다(다른 이벤트를 대상으로 하기 위해 인라인 필터(Inline Filters) 를 사용할 수는 있지만). 이 시나리오에서는 디텍션이 핵심 로직을 공유하므로 둘 다 활성화되어 있으면 중복 알러트를 생성합니다.
이를 피하려면 기본 디텍션을 비활성화하세요. 비활성화된 기본 디텍션이 업데이트되더라도 위에 설명된 대로 변경 사항은 파생 디텍션으로 전파됩니다 위에 설명된 대로.
CLI 워크플로에서 기본 디텍션 자동 비활성화
CLI 워크플로에는 기본 디텍션을 자동으로 비활성화할 수 있는 두 가지 방법이 있습니다:
옵션 1 (권장): 다음 설정을
.panther_settings.yml파일에 추가하세요:옵션 2: 을 사용하세요
--auto-disable-base와 함께 Panther 분석 도구(Panther Analysis Tool)upload명령어.이 옵션을 따를 때, 이후의 모든 업로드 호출에서
--auto-disable-base를 사용해야 한다는 점에 유의하세요. 생략되면 기본 디텍션은 다시 활성화됩니다.
하나 이상의 기본 디텍션이 이미 활성 상태로 Panther 인스턴스에 업로드되어 있고 위의 방법 중 하나로 기본 디텍션을 자동 비활성화한 경우, --filter enabled: true 를 PAT에 포함하지 않도록 하세요 PAT upload 명령어. 포함하면 기본 디텍션이 upload 적용될 때 enabled: true 필터가 적용되기 전에 비활성화되어 새로 비활성화된 기본 디텍션이 Panther 인스턴스에 다시 업로드되지 않게 됩니다(있던 상태 그대로 두거나 활성 상태로 남게 됨).
파생 디텍션 생성 방법
Panther 콘솔에서 파생 디텍션 생성하기
Panther 콘솔의 왼쪽 탐색 바에서 클릭하세요 디텍션(Detections).
새 파생 디텍션의 기본 디텍션이 될 디텍션을 찾아 해당 이름을 클릭하세요.
오른쪽 상단에서 클릭하세요
....클릭 파생(Derive):

기본 정보(Basic Info) 페이지에서 선택적으로 이름(Name) 과 ID 필드를 파생 디텍션에 대해 편집하세요. 이름이 기본 디텍션의 이름과 구별되도록 하세요.
계속
클릭 아래로 스크롤하여.
필터(Filter) 알러트 필드 설정(Set Alert Fields) ID 섹션을 찾아 인라인 필터 및 알러트 필드에 대한 원하는 오버라이드를 설정하세요: 배포(Deploy)

오른쪽 상단에서 클릭하세요 디텍션에는.
파생(DERIVED)
레이블이 붙습니다:CLI 워크플로
Panther 분석 도구(PAT)를 사용하는 디렉터리에서 파생 디텍션용 새 YAML 파일을 만드세요.
이 YAML 파일에 파생 디텍션에 필요한 다음 필드를 추가하세요: BaseDetection: 현재 Panther 인스턴스에 있거나 PAT를 사용해 업로드할 로컬 디렉터리에 있는 룰 ID를 제공하세요.
이
키는 이 파생 디텍션과 해당 기본 디텍션 사이의 연결 고리이며 상속이 적용되어야 함을 나타냅니다.RuleID: 앞서 제공한
키는 이 파생 디텍션과 해당 기본 디텍션 사이의 연결 고리이며 상속이 적용되어야 함을 나타냅니다.키에 사용한 ID와 다른 값을 제공하세요.
AnalysisType: 이것이키는 이 파생 디텍션과 해당 기본 디텍션 사이의 연결 고리이며 상속이 적용되어야 함을 나타냅니다.룰(rule)scheduled_rule, 또는정책(policy),인지 표시하세요.현재는 룰만 지원됩니다.덮어쓰고 싶은 메타데이터 필드와 새 값을 추가하세요..사용 가능한 오버라이드 필드 목록은
제한사항(Limitations)
섹션을 참조하세요. 다음에 설명된 동적 알러트 필드(dynamic alert fields)
를 사용하는 것이 가능합니다. panther_analysis_tool upload.
명령어로 디텍션을 업로드하세요.
기본 디텍션을 자동으로 비활성화하는 것이 권장됩니다CLI 워크플로 예시아래는 파이썬 기본 디텍션의 예시입니다 ( panther-analysis 저장소의 표준 디텍션.
), 그리고 그 아래에 해당 파생 디텍션이 있습니다.
# 기본 디텍션(Base Detection)AnalysisType: ruleDescription: 조직의 테넌트에 대해 Auth0 사용자가 MFA 정책을 활성화한 경우.
파생 디텍션 모두 보기 방법
Panther 인스턴스에서 모든 파생 디텍션을 보려면:
Panther 콘솔의 왼쪽 탐색 모음에서 클릭하세요 디텍션(Detections).
클릭 필터 아이콘.

에서 디텍션 유형 드롭다운 필드에서 선택하세요 파생 룰.
클릭 필터 적용.
디텍션 파생의 제한사항
파생은 한 단계만 가능합니다. 즉, 파생 디텍션은 다시 파생될 수 없습니다 출처로부터.
콘솔 워크플로우에서는 파생 디텍션이 생성될 때 테스트가 상속되지만, 기본 디텍션의 테스트가 이후에 업데이트되더라도 상속되지 않습니다.
Python 기반 기본 디텍션에서 메타데이터 필드의 값이 Python 함수로 설정된 경우 해당 값은 파생 디텍션에서 제공된 동등한 정적 재정의 값보다 우선합니다. 예를 들어, Python
severity()함수가 기본 디텍션에 있는 경우, 그 값은 CLI 워크플로우의 파생 디텍션에서 제공된 재정의 값보다 우선합니다.SeverityYAML 키(또는 콘솔 워크플로우의) Severity 필드(콘솔에서).메타데이터 값을 설정하는 Python 함수(“알러트 함수”라고 함)와 YAML/콘솔에서 어떤 필드를 재정의하는지에 대한 전체 목록은 Python 디텍션의 알러트 함수 표를 참조하세요.
다음의 가능합니다 일부 Python 알러트 함수에 의해 설정된 값을 파생 디텍션에서 동적 알러트 키 를 사용하여 덮어쓸 수 있습니다. 예를 들어, 파생 디텍션에서 Python 기본 디텍션의
severity()함수 값을DynamicSeverities필드를 사용하여 재정의할 수 있습니다.AlertTitle재정의title()
콘솔 워크플로우에서 파생 디텍션을 생성하는데 기본 디텍션이 Python 디텍션인 경우, 알러트 필드를 동적으로 설정할 수 없으며 정적으로만 설정할 수 있습니다.
다음의 가능합니다 기본 디텍션이 Simple 디텍션인 경우 콘솔 워크플로우에서 알러트 필드를 동적으로 설정할 수 있습니다.
다음의 가능합니다 CLI 워크플로우에서는(사용하여)
AlertTitle,DynamicSeverities,AlertContext, 및GroupBy) 기본 디텍션이 Python이든 YAML이든 상관없이 알러트 필드를 동적으로 설정할 수 있습니다.
현재 아래 필드만 덮어쓸 수 있습니다. 이들은 CLI 워크플로우에 적용되는 YAML 필드 이름이며, 콘솔에 동등한 필드가 있는 항목은 콘솔 필드도 덮어쓸 수 있습니다.
EnabledSeverityDescriptionCreateAlertDedupPeriodMinutesInlineFiltersDisplayNameOnlyUseBaseRiskScoreOutputIdsReferenceRunbookSummaryAttributesThresholdTagsReportsDynamicSeveritiesAlertTitleAlertContextGroupByTests
마지막 업데이트
도움이 되었나요?

