¡Hola, Mondo!

Apache Metron 본문

OpenSource

Apache Metron

베지(Beji) 2016. 8. 8. 18:04

 

1. Apache Metron

Apache Metron은 보안 리스크를 실시간으로 탐색하고 줄여주는 확장 가능 첨단 보안 분석 플랫폼을 공급하기 위해 인큐베이팅 중인 오픈 소스 아파치 프로젝트이다.

 

Apache Metron은 사이버 보안 애플리케이션 프레임워크로써 사이버 이상징후를 감지하고, 사용자가 그것들에 빠르게 대응을 가능하게 하기 위해 다양한 보안 데이터를 받아 저장하고 처리하고, 수집하는 능력을 사용자에게 제공한다.

위 그림을 보면, Metron 프레임워크는 4가지 주요 기능을 제공한다.

1. 보안 Data Lake/Vault(저장소) - 이 플랫폼은 긴 기간동안 풍부한 Telemetry 데이터를 저장하는 비용 효율이 높은 방법을 제공한다. 이 데이터 Lake는 분석론 발견으로 나아가게 하는 엔지니어링 특징을 가지는 것이 필요한 데이터의 뭉치 (corpus)와 기능적인 분석을 위해 검색과 쿼리의 매카니즘을 제공한다.

2. Pluggable 프레임워크 - 이 플랫폼은 기존의 보안 데이터 소스(pcap, netflow, bro, snort, fireye, sourcefire)을 위한 파서만을 제공하는 것이 아니라 좀더 문맥적인 정보를 제공하는 raw 스트리밍 데이터, 정보 수집 위협을 위한 pluggable 확장들, 보안 대시보드를 커스터마이징할 수 있는 능력 등의 새로운 enrichment(농축) 서비스를 추가하고, 새로운 데이터 소스를 위한 새로운 custom 파서들을 추가하는 pluggable 프레임워크를 제공한다.

3. 보안 애플리케이션 - Metron은 표준 SIEM(Security Information and Event Management)을 제공한다 : 알림, 정보(intel) 프레임워크 위협, 데이터소스 수집 에이전트.  그 뿐만 아니라 패킷 재현 지원 프로그램, 증거 저장, SOC(System On Chip?) 분석에 의한 헌팅 서비스를 가진다.

4. 위협 지능 플랫폼 - Metron은 이상징후 감지의 등급을 사용하여 구성하는 차세대 방어기술과 스트리밍 되는 이벤트만큼 실시간으로 적용되는 머신러닝 알고리즘을 제공할 것이다.

 

 

 

2. Metron을 통한 보안 Telemetry[각주:1] 이벤트 Flow 트레이싱

 

이 다이어그램은 Metron 플랫폼의 논리적 구성요소를 나타낸 것이다.

 

 

#1a - Telemetry Ingest

Metron은 "Apache Nifi"를 사용하여 source로부터 데이터를 수집할 것이다. (file, syslog, REST, HTTP, custom API 등과 같은 프로토콜과 이동수단과 같은 보안 Telemetry 데이터 source)

다음은 Nifi's SysLog Processor를 가지고, FireEye(APT 공격 탐지 및 차단) 기기로부터 데이터가 캡쳐링된 예시이다.

 

 

#1b. Fast Telemetry Ingest

packet capture (PCAP), Netflow/YAF, and Bro/DPI 과 같은 대용량 네트워크 Telemetry  데이터를 위해서 "custom Metron probes(탐색자)"는 네트워크tap[각주:2] 으로부터 데이터를 수집 가능하게 할 것이다.

다음은 custom C++ Metron probe를 사용하여 Bro 데이터를 캡쳐한 예시이다.

 

 

 

#Step 2 - Telemetry Ingest Buffer

Apache Nifi 나 custom Metron probe에 의해 각 telemetry  보안 데이터 source로부터 캡쳐된 모든 raw 이벤트들은 자신의 Kafka topic으로 push될 것이다. 수집 버퍼로의 telemetry 이벤트의 도착은 Metron 처리의 처음이 어디에서 시작되었는지 표시한다.

 

 

 

#Step 3 - Process (Parse, Normalize, Validate and Tag)

각 raw 이벤트는 표준화된 flat JSON 구조로 파싱, 정규화될것이다. 각 이벤트는 적어도 7-tuple JSON 구조로 표준화될 것이다.

이렇게 하는 이유는 토폴로지 연관성 엔진이 JSON 필드를 보고, 다른 토폴로지들의 메세지를 연관시킬 수 있게 하기 위해서이다.

표준 필드이름은 다음과 같다. :

  • ip_src_addr: layer 3 source IP
  • ip_dst_addr: layer 3 dest IP
  • ip_src_port: layer 4 source port
  • ip_dst_port: layer 4 dest port
  • protocol: layer 4 protocol
  • timestamp (epoch)
  • original_string: A human friendly string representation of the message

이 Step 3에서, 다운스트림 처리에 의해 사용될 것인 추가 메타데이터를 가진 태그와 raw 이벤트 또한 타당하다.

다음은 raw Bro 이벤트이다.

 

 

 

#Step 4 - Enrich

raw 보안 telemetry 이벤트가 파싱되고 정규화되면, 다음 순서는 정규화된 이벤트의 다른 데이터 요소들을 풍부하게 하는 것이다.

GEO enrichment의 예시는 외부 IP주소에 GeoIP 정보(City/Country/State)가 추가된 것이다.

HOST enrichment는 IP에 HOST 정보들이 추가된 것이다.

 

 

 

 

#Step 5 - Label

enrichment 후에, telemetry 이벤트는 라벨링 처리를 살펴본다. 이 단계에서 수행할 작업은 Stix/Taxii 수집 이나 다른 위협 인텔 aggregator 서비스를 생산하는 Soltra와 같은 위협 인텔 수집 데이터 소스에 대해 살펴볼 때 사용되는 telemetry 이벤트 내에 요소들이 있는 곳에서의 인텔 크로스 참조 검사를 포함한다. 그것들의 위협 인텔 서비스는 hit가 일어날때, telemetry 이벤트에 위협 인텔 메타데이터를 적어놓을 것이다.

다른 서비스 종류들은 흘러 들어가는 telemetry 이벤트의 서비스 패턴으로써 실행/평가(scoring) 분석 모델을 포함한다.

bro telemetry 이벤트를 추정하는 것은 위협 인텔 hit를 가진다. 그 후의 메세지는 다음과 같다.

 

 

 

#Step 6 - Alert and Persist

이 단계동안, 각 telemetry 이벤트는 경보(alert)을 정의한다. 이 telemetry 이벤트 종류들은 alert 인덱스 저장소에 인덱싱된다. telemetry 이벤트는 다음과 같은 요소들의 개수에 의해서 트리거된 alert을 만든다. : 

  • The event type - raw telemetry 이벤트는 그 스스로 alert이다. 예를 들면, Snort에 의해 발생되어진 어떤 이벤트는 alert이다. 그리고 그것은 자동적으로 alert로써 인덱싱될것이다. 
  • Threat intel hit - raw telemetry 이벤트가 위협 인텔 hit를 가진다면, 그것은 alert로써 표시될 것이다.

또한 이 단계 동안에, 모든 enriched 와 labeled telemetry 이벤트는 장기간 저장을 위한 하둡에 영속되고 인덱싱된다. 하둡에서 이러한 이벤트의 저장은 수행되어야 할 차세대 분석 가능하게하는 기업 내 보안 데이터 저장소(vault)를 생성한다.

6단계 후에, telemetry 이벤트는 HDFS에 저장되고, 설정을 기반으로 Elastic/Solr에 인덱싱된다. HDFS에 영속된 이벤트는 다음과 같다:

 

 

 

#Step 7 - UI Portal and Data & Integration Services

 

1단계부터 6단계까지의 과정은 하나의 보안 데이터 저장소 속 당신의 기업에 있는 다양한 데이터 소스들의 집합에 걸쳐 모든 보안 telemetry 데이터를 수집하고 파싱하고, 정규화하고, enrich하고 lable, index, 저장하는 매카니즘을 제공한다. 이것은 Metron 플랫폼이 여러 종류의 보안 서비스를 좀더 효율적으로 수행할 수 있도록 사용자에게 제공한다. 여러 서비스는 다음과 같다.

  • 실시간 검색과 상호작용 대시보드/ 포털 - 보안 동작 분석을 위한 단일 경고를 발생하는 세분화 된 telemetry 이벤트에 경고를 상호 비교하고, 경고를 확인할 수 있다.
  • 데이터 모델링 / 특징 엔지니어링 서비스 - Metron 프레임워크는 데이터를 정규화하고 enrich 하고, 보안 데이터 lake(HDFS, Hbase) 안에 데이터를 저장한다. 그리고 다양한 분석 모델들이 플랫폼에 의해 제공되게 할 수 있다. 특징(feature) matrix를 위해 요구되는 데이터 모델링 서비스는 Jupyter, IPython, Zeppelin과 같은 도구들에 의해 제공될 것이다.
  • 통합과 확장성 레이어
    • 새로운 데이터 소스 수집
    • 새로운 파서 추가
    • 새로운 enrichment 서비스 추가
    • 새로운 위협 인텔 수집 추가
    • 새로운 분석 모델 빌드, 배포, 실행
    • 보안 대시보드와 포털 커스터마이징

 

  1. 원격 디바이스에서 얻는 데이터의 자동화된 감지 및 측정 [본문으로]
  2. Network상의 In-Line 한 구간에 이동하는 Packet Data를 복사하여 Monitor 장비로 보내주는 역할을 하는 가장 기본적인 TAP [본문으로]
Comments