Elastic Security로 직접 구현하는 코드형 탐지
초기부터 Elastic 탐지-rules 저장소 에는 Elastic의 사전 구축된 탐지 규칙뿐만 아니라, Elastic TRaDE(위협 연구 및 탐지 엔지니어링) 팀이 사용하는 테스트 제품군, CLI 명령, 자동화 스크립트와 같은 탐지 규칙 관리를 위한 추가 도구도 포함되어 있었습니다.
Elastic의 TRaDE 팀은 수년간 Detections as Code(DaC) 관행을 따르며 Elastic의 미리 빌드된 탐지 및 엔드포인트 규칙에 대한 내부 개발 및 릴리즈 프로세스를 지원해 왔습니다. 고객들은 과거에 주로 탐지-rules CLI를 사용해 왔습니다. 이 도구는 Elastic SIEM을 통한 규칙 관리를 용이하게 하기 위해 Kibana API 래퍼와 CLI 명령을 제공했지만, 사용자가 Elastic의 내부 프로세스와 엄격한 제한 사항을 채택해야 했습니다.
DaC가 더욱 주류가 되고 개방성에 대한 Elastic의 약속을 지속함에 따라, 사용자가 규칙 관리를 위해 Elastic의 탐지-rules 리포지토리를 사용하여 자체 DaC 프로세스를 더 쉽게 시작할 수 있도록 노력하고 있습니다. 이러한 DaC 확장은 기존 탐지 규칙 기능을 기반으로 구축되어 탐지 엔지니어에게 엔드투엔드 경험을 제공할 것입니다.
이 방법론은 보안 팀 간의 협업을 강화하고, 업데이트를 간소화하며, 진화하는 위협에 대해 보다 민첩하게 대응할 수 있도록 지원합니다. 근본적으로, 당사는 고객이 내부 프로세스에 내장할 수 있도록 더 많은 내부 기능을 노출함으로써 고객의 탐지 엔지니어링 성숙도를 향상시키는 데 전념하고 있습니다.
코드로서의 탐지(Detections as Code)가 필요한 이유는 무엇입니까?
코드형 인프라(IaC)와 같은 DevOps 개념에 대해 들어보셨다면 탐지 as Code도 익숙하게 느껴지실 것입니다. IaC가 코드를 통해 인프라를 관리하고 프로비저닝하는 데 중점을 둔다면, DaC는 유사한 원칙을 적용하여 보안 탐지 규칙을 코드로 관리합니다. Detections as Code는 동료 검토 프로세스, 도구 및 자동화된 CI/CD 파이프라인을 사용하여 탐지 관리 분야에 코딩 모범 사례를 도입하고자 합니다.
DaC의 이점으로는 높은 품질의 탐지, 탐지 배포의 유연성과 확장, 변경 관리 요구 사항 준수 등이 있습니다.
DaC 도입은 여러 요인에 의해 추진됩니다:
보안 팀의 성숙도를 높이십시오: DaC를 구현하면 보안 팀 내에서 성숙하고 반복 가능한 프로세스를 개발할 수 있습니다. 또한 체계적인 동료 검토와 엄격한 테스트를 통해 고품질의 탐지를 유지하도록 지원합니다.
계속 증가하는 규칙 세트: 규칙 수가 증가함에 따라 DaC 없이 탐지 규칙을 유지관리하는 것은 불가능해집니다.
확장되는 위협 환경: 새로운 위협으로부터 Protect하는 데 필요한 광범위한 커버리지를 위해서는 다양한 기술 수준에 적합한 확장성 있는 접근 방식이 필요합니다.
자동화의 폭넓은 도입: IaC 원칙 도입으로 대표되는 기술 환경 내 자동화의 확산은 보안팀이 사용하는 모든 도구 전반에 걸쳐 향상된 자동화 기능을 요구합니다. DaC는 규칙 관리를 자동화된 워크플로우에 통합하여 일관성과 효율성을 보장하고 새로운 위협에 신속하게 대응할 수 있도록 함으로써 이러한 추세에 부합합니다.
규정 준수 및 거버넌스 요구 사항: 많은 조직이 SIEM 탐지에 대한 동료 검토, 변경 제어 및 재해 복구와 관련된 인증 규정 준수 요구 사항을 충족하기 위해 DaC를 도입하고 있습니다. DaC를 구현하면 엄격한 거버넌스 표준에 따라 보안 규칙이 개발, 검토 및 유지 관리되므로 규정 준수에 대한 감사 가능한 증거를 제공할 수 있습니다.
DaC 접근 방식 및 현재 개발 중점 사항
DaC는 하나의 접근 방식이며 사용자마다 인프라 및 프로세스 요구 사항이 다르기 때문에, 조직에서 Elastic Security를 사용하여 DaC를 설계하고 구현하는 방법은 여러 가지가 있습니다. 하지만 핵심 구성 요소는 동일하게 유지되며, 사용자는 다음이 필요합니다:
Elastic Security solutions
선택한 버전 관리 시스템
탐지 항목을 포함하는 리포지토리
모든 구성 요소를 연결하고, 주요 프로세스를 자동화하며, 사용자 인터페이스를 제공하기 위한 도구
초기 목표는 고객이 DaC 개발을 가속화할 수 있도록 이러한 구성 요소를 제공하는 것이며, 1단계에서는 주요 빌딩 블록으로 탐지 규칙 리포지토리에 집중했습니다.
알파를 시작합니다!
우리는 여러 사용자와 협력하여 DaC와 관련된 그들의 요구 사항과 우선순위를 파악했습니다. 접수된 피드백을 바탕으로 다음과 같은 개선 사항이 적용되었습니다.
개선 사항 1: 첫 번째 단계에서는 사용자의 사용자 지정 규칙 관리를 위해 탐지 규칙 리포지토리를 더 쉽게 사용할 수 있도록 하는 데 중점을 두었습니다. 사용자 지정 규칙 관리를 위해 포크된 탐지 규칙 리포지토리를 사용할 때 사용자의 병합 충돌을 최소화하는 것을 목표로 했습니다. 이제 사용자가 기본 제공되는 규칙 로더 스키마 유효성 검사기를 사용하여 로드할 수 있도록 사용자 지정 규칙 디렉터리를 지정하는 구성을 제공합니다.
기능 향상 2: Elastic에서 제공하는 단위 테스트 중 사용자 지정 규칙에서 실행할 테스트와 건너뛸 테스트를 구성할 수 있게 되었습니다. 일부 고객은 당사의 단위 테스트 중 일부를 사용하고 모범 사례를 따르기를 원하지만, 다른 테스트는 Elastic 규칙 관리를 위해 특별히 설계되었다는 점을 이해하고 있습니다. 이제 구성 파일에서 실행할 테스트를 지정할 수 있습니다.
- 향상 3: 탐지 외에도 예외 및 작업과 같은 추가 규칙 설정을 관리해야 할 필요성을 인식하여, 리포지토리에서 이를 유연하게 관리할 수 있도록 지원을 추가했습니다.
개념의 계층 구조 및 어휘 사전
이 이니셔티브의 주요 성과 중 하나는 우리의 생각과 고려 사항을 문서화한 것입니다. 외부 사용자를 위해 탐지-rules 리포지토리를 더 유연하게 리팩토링했지만, DaC는 단순히 설치할 수 있는 도구가 아니라는 점을 인지하고 있습니다. 이는 보안 규칙이 관리되는 방식에 대한 근본적인 변화입니다.
특정 DaC 워크플로우를 구현하기 전에 고려할 수 있도록 개념의 계층 구조와 어휘집을 만들고 문서화했습니다.
참조 설명서 및 슬라이드에서 DaC의 핵심 구성 요소에 대해 자세히 읽어보실 수 있습니다:
버전 관리 시스템(VCS) 내에서 규칙 유지관리하기
VCS에서 각 플랫폼으로 규칙 동기화
Platform 내 규칙 관리
플랫폼에서 VCS로 규칙 동기화
또한, 다음 중 하나를 사용하여 DaC의 핵심 구성 요소를 관리하기 위한 다양한 모델을 문서화했습니다:
권위 있는 소스로서의 VCS
권위 있는 Platform
VCS와 Platform 간 이중 동기화
원하는 접근 방식에 따라 다양한 수준의 세부 정보를 제공하며, Elastic Security 솔루션에서 멀어질수록 더 추상적인 정보가 제공됩니다.
그 외에 무엇을 제공하고 있습니까?
최근 BsidesOK24에서 Elastic의 DaC 접근 방식과 알파 브랜치에 있는 탐지-rules 리포지토리를 활용하는 방법에 대해 논의했습니다. DaC 구현 방법에 대한 미니 시리즈로 구성할 수도 있지만, 이러한 권장 사항은 귀하의 환경에 가장 적합한 구현 방식에 대한 추측에 불과할 것입니다. 따라서 코드로서의 탐지(detections as code)를 직접 구축하기 위한 핵심 원칙을 공유합니다.
슬라이드: 이 슬라이드는 상위 수준의 구성 요소, 워크플로우 및 구분 사항을 설명합니다. 또한 탐지 규칙 리포지토리 사용의 이점과 퀵스타트 엔드 투 엔드 참조 예제도 다룹니다.
참조 문서: 이 참조 문서는 특히 Elastic Security 환경 내에서 탐지 규칙을 개발, 배포 및 관리하는 데 필요한 고려 사항과 장단점을 다루고 있습니다. 이 문서는 특히 다음 사용자에게 유용합니다:
Security 분석가가 자동화를 활용하여 규칙 관리를 효율화하고 새로운 위협에 더 신속하게 대응하고자 하는
탐지 로직 개발, 테스트 및 배포를 간소화하기 위한 방법론을 찾는 탐지 엔지니어
팀 내 규칙 버전 관리, 협업 및 품질 보증을 위한 모범 사례를 구현하고자 하는 Security 팀 리드
CI/CD 파이프라인에 보안 관행을 통합하고 워크플로우 내에서 보다 응집력 있고 자동화된 보안 접근 방식을 지향하는 DevOps 엔지니어
민첩성, 반복성 및 신뢰성을 향상하기 위해 보안 운영에 as-code 원칙을 통합하는 방법을 모색하는 IT 보안 아키텍트
더 구체적인 방향을 원하시는 분들을 위해, 당사는 탐지 규칙(detection-rules) 접근 방식을 권장합니다. alpha 탐지 규칙(detection-rules) 브랜치, 이 슬라이드 내의 콘텐츠, 그리고 이 참조 가이드는 변경될 수 있음을 유의하시기 바랍니다. 변경 사항을 `main` 브랜치로 최종 마이그레이션하면 그에 따라 콘텐츠를 업데이트할 예정입니다.
요약 및 다음 단계
요약하자면, 첫 번째 단계에서는 사용자의 사용자 지정 규칙 관리를 위해 탐지-rules 리포지토리를 더 쉽게 사용할 수 있도록 하는 데 집중했습니다. 사용자가 사용자 지정 규칙 관리를 위해 포크된 탐지-rules 리포지토리를 사용할 때 병합 충돌을 최소화하는 것을 목표로 합니다. 또한 리포지토리 변경 사항과 함께 장단점을 고려한 DaC 라이브 가이드를 시작하여 사용자가 빠르게 시작할 수 있도록 지원합니다. 마지막으로, 사용자의 사용자 지정 설정에 적용될 수 있는 구체적인 명령과 사용 사례를 포함하여 BsidesOK에서 당사의 접근 방식을 공유하기 시작했습니다.
현재 알파 단계에 있으므로, 관심 있는 사용자분들께서는 탐지-rules/DAC-기능 브랜치에서 테스트해 보시고 피드백을 제공해 주시기 바랍니다!
더 자세한 정보가 필요하시면 언제든지 Slack 의 #보안-rules-dac 채널을 통해 문의하시거나, 탐지-rules issue 트래커를 통해 직접 문의해 주십시오.
이 게시물에서 설명된 모든 기능이나 성능의 출시와 일정은 Elastic의 단독 재량에 따라 결정됩니다. 현재 제공되지 않는 기능이나 성능은 예정된 시간에 출시되지 않을 수도 있으며 아예 제공되지 않을 수도 있습니다.