서문
여러분이 엔드포인트 아티팩트 개발자라고 가정해 보세요. 기존의 셸코드 인젝션이나 혁신적인 랜섬웨어에 대한 보호를 보장하기 위한 작업을 수행한 후, 이를 세상에 내보내기 전에 실제로 작동하는지 어떻게 알 수 있을까요?
먼저 여러 서비스, 인프라, 네트워크 구성 등을 설정하는 엔드투엔드 시스템을 설정합니다. 그런 다음 멀웨어를 실행하고 수집한 데이터는 성능과 효과에 대한 질문에 대한 답을 제공하며 향후 중요한 연구 자료가 될 수 있습니다. 하루 동안 테스트하고 결과를 수집한 후에는 여러 종류의 운영 체제와 컴퓨터 유형에 대해 수백 개의 해시를 실행해야 할 수 있는데, 이 작업을 완전히 수동으로 수행하기에는 벅찬 작업입니다.
이 프로세스를 자동화하고 대규모로 보호 기능을 테스트하기 위해 보안 연구 엔지니어가 자동화된 방식으로 Elastic Security 솔루션의 효율성을 측정하는 데 사용하는 시스템인 Detonate를 구축했습니다. 저희의 목표는 보안 연구원이 단 몇 번의 클릭만으로 멀웨어에 대한 보호 기능을 테스트할 수 있도록 하는 것입니다. (따라서 클릭, 클릭... 쾅!)
이 시리즈 포스팅에서는 다음과 같은 내용을 다룹니다: - Detonate 소개 및 구축 이유 - Detonate 작동 방식 및 기술 구현 세부 사항 살펴보기 - Elastic에서 팀이 어떻게 사용하는지에 대한 사례 연구 설명 - 전 세계가 공격으로부터 데이터를 보호하도록 돕기 위해 커뮤니티에 효능 테스트를 공개하는 것에 대해 논의하기
디토네이트의 다른 포스팅에 관심이 있으신가요? 2 파트 - 잡초 속으로 를 확인하세요: 디토네이트의 작동 방식을 분석하고 기술 구현에 대해 자세히 알아보는 디토네이트 운영 방법.
디토네이트가 무엇인가요?
높은 수준에서 Detonate는 전체 Elastic Security 기능이 활성화된 통제된(즉, 샌드박스가 적용된) 환경에서 멀웨어 및 기타 잠재적으로 악성일 수 있는 소프트웨어를 실행합니다. Detonate는 파일 해시(일반적으로 SHA256)를 수락하고 다음 작업을 수행합니다:
- 악성 파일을 포함하여 폭파에 필요한 모든 파일을 준비합니다.
- 외부와의 연결이 제한된 샌드박스 환경에서 가상 머신(VM) 인스턴스를 프로비저닝합니다.
- 파일 실행이 완료될 때까지 기다립니다. 예를 들어 실행 결과 파일이 발견되거나 VM 인스턴스가 중지되었거나 작업 시간 초과보다 오래된 경우 발생합니다.
- 실행 중인 VM 인스턴스를 중지하고(필요한 경우) 샌드박스가 적용된 환경을 정리합니다.
- 폭발 시 생성된 원격 측정 및 경고를 기반으로 이벤트 요약 생성
이러한 폭발의 결과는 연구 개발 목적으로 팀에 제공됩니다. 폭발 중에 수집된 로그, 이벤트, 경보를 사후 처리하여 타사 인텔리전스 및 기타 소스로 보강하여 신규 및 기존 Elastic Security 보호 기능의 효율성을 평가할 수 있습니다.
어떤 도움이 되나요?
효과 측정
시장에서 최고의 EPP를 구축하려면 최신 위협에 대한 제품의 효과를 지속적으로 측정해야 합니다. 디토네이트는 데이터 피드에서 매달 수만 개의 샘플을 실행하는 데 사용됩니다. 보호 범위의 격차는 자동으로 식별되어 보호 기능 개선의 우선순위를 정하는 데 사용됩니다.
기존 보호 기능 지원
많은 보호 기능에는 정기적인 업데이트를 받는 관련 아티팩트(예: 머신 러닝 모델 및 규칙 정의)가 있습니다. 이러한 업데이트는 사용자 환경에 적용되기 전에 회귀를 식별하고 수정하기 위해 테스트가 필요합니다.
디토네이트는 이 테스트 프로세스와 관련된 분석을 자동화하는 프레임워크와 도구 세트를 제공합니다. 좋은 소프트웨어와 나쁜 소프트웨어로 알려진 해시 컬렉션을 활용하면 사용자에게 배포하기 전에 보호 기능을 검증할 수 있습니다.
위협 연구
저희 보안 연구원 중 일부는 매일 인터넷을 샅샅이 뒤져 새로운 위협을 찾아냅니다. 야생에서 발견한 악성 소프트웨어를 테스트할 수 있는 사용하기 쉬운 플랫폼을 제공함으로써, Elastic Security가 이러한 위협을 어떻게 방어하는지 또는 보호 기능을 업데이트해야 하는지 더 잘 이해할 수 있습니다.
새로운 보호 기능 평가
새로운 보호 기능은 기존 보호 기능을 테스트하는 것 외에도 기존의 계층화된 기능 제품군과 부정적인 상호 작용을 일으킬 위험이 있습니다. 새로운 보호 기능은 자체적으로 쉽게 테스트할 수 있지만, 테스트를 통해 의도하지 않은 상호 작용이나 기존 보호 기능과의 충돌을 숨길 수 있습니다. Detonate는 개발 초기에 이러한 충돌을 더 쉽게 발견하고 식별할 수 있도록 Elastic Stack의 구성과 개별 보호 기능을 사용자 정의할 수 있는 방법을 제공합니다.
이제 그 다음은?
이 간행물에서는 Elastic에서 Detonate & 를 어떤 용도로 사용하는지 소개했습니다. 보안 아티팩트의 성능을 평가할 때 팀에 제공하는 이점에 대해 논의했습니다.
이제 디토네이트가 무엇인지 알았으니, 디토네이트가 어떻게 작동하는지 자세히 알아보겠습니다. 다음 포스팅에서는 디토네이트의 기술적 구현과 실제로 샌드박스 환경을 만드는 방법에 대해 자세히 살펴보겠습니다.