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

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

오른쪽 상단에서 배포(Deploy).
해당 디텍션에는
DERIVED레이블이 표시됩니다:
CLI 워크플로에서 파생 디텍션 생성하기
Panther Analysis Tool (PAT)을 사용하는 디렉터리에서 새 파생 디텍션을 위한 YAML 파일을 생성하세요.이 YAML 파일에 파생 디텍션에 필요한 다음 필드를 추가하세요:
BaseDetection
: 현재 귀하의 Panther 인스턴스에 있거나 PAT를 사용하여 업로드할 로컬 디렉터리에 현재 존재하는 모든 룰의 룰 ID를 제공하세요.이키는 이 파생 디텍션과 그 베이스 디텍션 간의 연결이며, 상속이 적용되어야 함을 나타냅니다.
: 현재 귀하의 Panther 인스턴스에 있거나 PAT를 사용하여 업로드할 로컬 디렉터리에 현재 존재하는 모든 룰의 룰 ID를 제공하세요.RuleID
: 이전에 제공한키의 ID와 다른 값을 제공하세요.: 현재 귀하의 Panther 인스턴스에 있거나 PAT를 사용하여 업로드할 로컬 디렉터리에 현재 존재하는 모든 룰의 룰 ID를 제공하세요.AnalysisType: 이것이룰(rule)scheduled_rule,, 또는정책(policy)인지 표시하세요..현재는 룰만 지원됩니다.
오버라이드하려는 메타데이터 필드와 그 새 값을 추가하세요.
사용 가능한 오버라이드 필드 목록은 제한 사항(Limitations) 섹션을 참조하세요.
다음에 설명된 동적 알러트 필드(dynamic alert fields).
를 사용할 수 있습니다
디텍션을panther_analysis_tool upload명령을 사용하여 업로드하세요. 베이스 디텍션을 자동으로 비활성화하는 것이 권장됩니다.
CLI 워크플로 예시
아래는 Python 베이스 디텍션의 예(panther-analysis 저장소의 표준 디텍션)이며 그 아래에 파생 디텍션이 있습니다.
모든 파생 디텍션을 보는 방법
귀하의 Panther 인스턴스에서 모든 파생 디텍션을 보려면:
Panther 콘솔의 왼쪽 내비게이션 바에서 디텍션(Detections).
클릭하세요 필터(Filters) 아이콘을 클릭하세요.

에서(In the) 디텍션 유형(Detection Types) 드롭다운 필드에서 파생 룰(Derived Rule).
클릭하세요 필터 적용(Apply Filters).
디텍션 파생의 제한 사항
파생은 다음에는 사용할 수 없습니다 스케줄된 룰(Scheduled Rules) 또는 정책(Policies).
파생은 한 단계만 가능합니다. 즉, 파생 디텍션은 에서 파생될 수 없습니다.
콘솔 워크플로에서는 파생 디텍션이 생성될 때 테스트가 상속되지만 그 이후에 베이스 디텍션의 테스트가 업데이트되면 상속되지 않습니다.
파이썬 베이스 디텍션에서 메타데이터 필드의 값이 파이썬 함수로 설정된 경우 해당 값은 파생 디텍션에 제공된 동일한 정적 오버라이드 값보다 우선합니다. 예를 들어 베이스 디텍션에 파이썬
severity()함수가 있으면 그 값은 파생 디텍션에서 YAML의Severity키(CLI 워크플로) 또는 콘솔의 Severity 필드에 제공된 오버라이드 값보다 우선합니다.메타데이터 값을 설정하는 파이썬 함수(이를 "알러트 함수(Alert functions)"라고 함)의 전체 목록과 YAML/콘솔에서 어떤 필드를 오버라이드하는지에 대해서는 파이썬 디텍션의 알러트 함수(Alert functions in Python detections) 표를 참조하세요.
다음은 가능합니다 일부 파이썬 알러트 함수로 설정된 값을 파생 디텍션에서 동적 알러트 키(dynamic alert keys) 를 사용해 덮어쓸 수 있습니다. 예를 들어 파이썬 베이스 디텍션의
severity()함수 값을 파생 디텍션에서DynamicSeverities필드를 사용하여 오버라이드할 수 있습니다.DynamicSeverities오버라이드들(overrides)severity()AlertTitle오버라이드들(overrides)title()AlertContext오버라이드들(overrides)alert_context()
콘솔 워크플로에서 파생 디텍션을 생성하고 베이스 디텍션이 파이썬 디텍션인 경우 알러트 필드를 동적으로 설정할 수 없으며—정적으로만 설정할 수 있습니다.
다음은 가능합니다 베이스 디텍션이 간단한(Simple) 디텍션인 경우 콘솔 워크플로에서 알러트 필드를 동적으로 설정할 수 있습니다.
다음은 가능합니다 CLI 워크플로에서는(사용하여) 알러트 필드를 동적으로 설정할 수 있습니다
AlertTitle,DynamicSeverities,AlertContext, 및GroupBy) 베이스 디텍션이 파이썬이든 YAML 디텍션이든 관계없이.
현재 아래 필드만 덮어쓸 수 있습니다. 이들은 YAML 필드 이름으로 CLI 워크플로에 적용됩니다—콘솔에서 동등한 필드가 있는 경우 해당 콘솔 필드도 덮어쓸 수 있습니다.
EnabledSeverityDescriptionCreateAlertDedupPeriodMinutesInlineFiltersDisplayNameOnlyUseBaseRiskScoreOutputIdsReferenceRunbookSummaryAttributesThresholdTagsReportsDynamicSeveritiesAlertTitleAlertContextGroupByTests
마지막 업데이트
도움이 되었나요?

