
SIEM에서 블라인드 상태로 실행 중인 탐지 규칙을 찾아냅니다.
오픈소스 SIEM 탐지 상태.
텔레메트리가 누락되었거나, 오래되었거나, 늦게 도착하거나, 스키마와 호환되지 않아
블라인드 상태인 활성화된 탐지를 찾아냅니다.
로컬에서 실행 · 읽기 전용 · 에이전트 불필요 · 텔레메트리 업로드 없음
기술 문서 읽기 · Detection Engineering Weekly 소개
의도적으로 누락, 지연, 오래되었거나 미사용된 텔레메트리가 있는 일회용 Elastic 실습 환경의 실제 스캔입니다. make record-scan-lab로 재현할 수 있습니다.
규칙이 활성화·예약되고 오류가 없더라도 필요한 데이터가 사라질 수 있습니다. deadair는 실시간 규칙 인벤토리를 읽고, 백엔드 고유의 의미 체계(native semantics)를 사용하여 각 규칙의 입력을 해석한 뒤 그 뒤에 있는 구체적인 소스를 확인합니다.
다음과 같은 문제를 찾아냅니다:
deadair는 현재 Elastic Security 및 OpenSearch Security Analytics에서 작동합니다.
macOS, Linux 또는 Windows용 바이너리를 GitHub Releases에서 다운로드하거나 Go로 설치합니다:
go install github.com/alephnull-sh/deadair/cmd/deadair@latest
읽기 전용 SIEM 자격 증명을 연결합니다:
deadair setup elastic # print the least-privilege setup
deadair check # verify the credential can scan
deadair scan # assess live rules and telemetry
종료 코드는 안정적입니다: 0은 정상, 1은 발견 사항 있음, 2는 스캔 실패를 의미합니다.
| 단계 | deadair가 수행하는 작업 |
|---|---|
| 인벤토리 | 활성화된 탐지와 선언된 입력을 읽습니다 |
| 해석 | Elastic 또는 OpenSearch에 인덱스 패턴, 별칭, 데이터 스트림, 선택자 및 원격 입력 해석을 요청합니다 |
| 측정 | 문서 수, 최신 이벤트, 스토리지, 필드 매핑, 스키마 이력 및 수집 지연을 확인합니다 |
| 보고 | 각 판정의 근거와 함께 터미널, JSON, HTML, fleet 롤업 및 Prometheus 메트릭을 출력합니다 |
deadair는 탐지의 관찰 가능한 텔레메트리 전제 조건이 존재하고 정상인지 여부를 입증합니다. 규칙 로직이 올바르다는 점이나 시뮬레이션된 공격이 알림을 생성한다는 점을 입증하지는 않습니다. 이러한 계층은 정적 규칙 검증 및 엔드투엔드 탐지 테스트와 함께 사용하십시오.
모든 판정은 구성된 자격 증명이 볼 수 있는 범위로 제한됩니다. JSON 보고서에는 구성된 표현식, 해석된 소스, 해석 방법, 평가 상태, 백엔드 메타데이터 및 기능 증거가 포함됩니다. 실제 예제와 트라이어지(triage)는 사용 가이드를 참조하십시오.
Elastic:
export DEADAIR_ES_URL=https://es.example.internal:9200
export DEADAIR_KIBANA_URL=https://kibana.example.internal:5601
export DEADAIR_API_KEY=<read-only-api-key>
deadair check
deadair scan --json-out report.json --html-out report.html
OpenSearch:
export DEADAIR_BACKEND=opensearch
export DEADAIR_OPENSEARCH_URL=https://opensearch.example.internal:9200
export DEADAIR_OPENSEARCH_USERNAME=deadair
export DEADAIR_OPENSEARCH_PASSWORD=<password>
deadair check
deadair scan
Elastic 또는 OpenSearch용 문서화된 최소 권한 역할을 사용하십시오. 신뢰할 수 있는 통합 테스트 스위트는 해당 자격 증명으로 수행된 쓰기 시도가 거부된다는 것도 입증합니다.
# Gate a candidate rule against live source availability.
deadair scan --rule new-rule.json
# Fail only on new regressions between reports.
deadair diff yesterday.json today.json
# Scan multiple SIEM instances from one process.
deadair scan --fleet fleet.json
# Export cached scan results as Prometheus metrics.
deadair serve --interval 5m
scan --rule은 후보 규칙을 무관한 백로그에서 격리합니다. diff는 결정적으로 편집된 보고서와 함께 작동합니다. Fleet 구성은 비밀 값을 저장하는 대신 환경 변수를 통해 비밀을 참조합니다.
일회용 Elastic 스택에 대한 후보 규칙 게이트 및 보고서 diff입니다.
프로덕션 패턴은 CI 게이트 동작, fleet 및 MSSP 배포, Prometheus 예제를 참조하십시오.
통합 워크플로는 현재 다음 정확한 버전을 테스트합니다:
| 백엔드 | 정확한 라이브 CI 버전 |
|---|---|
| Elastic Security | 8.19.19, 9.4.4 |
| OpenSearch Security Analytics | 2.19.6, 3.7.0 |
다른 버전은 작동할 수 있지만 현재 CI 매트릭스에서는 다루지 않습니다.
0600 권한으로 작성됩니다.--redact는 테넌트, 규칙, 소스, 패턴 및 필드 이름을 안정적인 다이제스트로 대체합니다.보고서는 민감한 SOC 산출물로 취급하십시오. 보고서는 블라인드 탐지, 소스 이름, 스키마 격차 및 미사용 수집을 식별합니다.
버그 보고, 익명 처리된 픽스처, 정확성 사례, 문서 및 백엔드 제안을 환영합니다. CONTRIBUTING.md부터 시작하고 어댑터 작업에는 백엔드 RFC 템플릿을 사용하십시오.
Apache-2.0.
| 발견 사항 | 의미 | 먼저 확인할 것 |
|---|
| 일치하는 소스 없음 | 규칙의 입력 중 어느 것도 표시되는 인덱스나 데이터 스트림으로 해석되지 않음 | 패턴 변경, 통합 누락 및 자격 증명 범위 |
| 모든 소스가 오래되었거나 비어 있음 | 해석된 모든 소스가 현재 사용 불가능함 | 소스 주기 및 수집 경로 |
| 필드 누락 | 선언된 필드가 일치하는 모든 소스 매핑에서 누락됨 | 파서, 패키지 및 매핑 변경 |
| 지연 블라인드 윈도우 | 측정된 수집 지연이 규칙의 lookback 여유를 초과함 | 규칙 간격, lookback, 타임스탬프 재정의 및 파이프라인 지연 |
| 소스 성능 저하 | 소스가 오래되었거나, 비어 있거나, 볼륨이 낮거나, 스키마 드리프트가 발생함 | 소스 이력 및 예상 유지보수 |
| 미사용 텔레메트리 | 데이터가 저장되고 있지만 활성화된 로컬 탐지가 이를 해석하지 못함 | 비활성화된 규칙 및 의도적 수집 |