분산환경에서의 실시간 네트워크 모니터링 2015. 6. 22 이영석 lee@cnu.ac.kr 충남대학교 컴퓨터공학과 데이터네트워크 연구실 (http://networks.cnu.ac.kr ) 1
내용 개요 하둡기반 인터넷 트래픽 측정 실시간 모니터링 이슈 및 사례 결론 2
네트워크 모니터링 Packet Flow Routing SNMP LOG libpcap Cisco MRT Net-snmp Syslog-ng Tcpdump NetFlow BGPmon Open Wireshark sflow NMS SiLK 3
네트워크 모니터링? Packet 장애/성능 관 데이터 캡쳐 Flow Routing SNMP MIB 수집 및 저장 파일 DB 분석 및 시각화 리 성능/보안 관 리 Log 과금 4
네트워크 데이터 용량 Packet data volume 10Gbps * 1 hour = 4.5 TB 10Gbps * 1 day = 108 TB CAIDA data archive (in 2012) Ark topology: 1.8 TB Telescope: 102 TB Packet headers: 18.8 TB 5
네트워크 속도: 10Gbps 예 http://www.networkworld.com/article/216 0540/tech-primers/10gbps-servermigration--the-post-romley-era.html 6
네트워크 모니터링 이슈 및 기술 데이터캡쳐 확장성 장애대처 실시간 PF_RING Scale-out High Streaming DPDK cloud availability In-memory psio Parallel computing (GPU) 7
고성능 데이터 캡쳐 PF_RING PFQ Intel data plane development kit (DPDK) OpenOnLoad Netmap psio KRNET2013 문수복 교수님 자료 참고! 8
확장성(Scalability) 분산시스템 분산파일시스템: HDFS, Swift, Ceph, pnfs 분산컴퓨팅: MapReduce 병렬처리 Multi-core CPU GPU 9
ACM SIGCOMM2012 10
실시간? FloCon2015 11
HADOOP기반 네트워크 모니터링 12
분산 컴퓨팅 & 저장 인프라기술 Google MapReduce, 2004 1 PB sorting by Google 2008: 6 hours and 2 minutes on 4,000 computers 2011: 33 minutes on 8000 computers Apache Hadoop project MapReduce computing framework (Java) Distributed filesystem 13
관련 연구 Traffic analysis of DNS root server (RIPE, 2011.11) PacketPig (2012.03) - Big Data Security Analytics platform Arbor Networks Sherpasurfing Open Source Cyber Security Solution, Hadoop World 2011 Firewall/IDS logs, netflow/packet Performing Network and Security Analytics with Hadoop, (Travis Dawson, Narus), Hadoop Summit 2012 Distributed Bro (IDS) OpenSOC, 2013 Jun Liu; Feng Liu; Ansari, N., "Monitoring and analyzing big traffic data of a large-scale cellular network with Hadoop," Network, IEEE, vol.28, no.4, pp.32,39, July-August 2014 14
대규모 네트워크 트래픽 분석 Given various traffic sources: packet, NetFlow and BGP data Design a traffic collection and analysis platform Such that Scalable Computing/storage performance in a scale-out manner Fault-tolerant storage and computing Cost-effective Commodity hardware and open-source software 15
Hadoop기반 인터넷 트래픽 분석 Administrator NetFlow v5 Packet Web Visualizer / Hive BGP Slave Master Traffic Collector Pcap I/O Traffic Analyzer Traffic Analysis Mapper & Reducer Bin I/O NetFlow I/O HDFS Hadoop 1. Yeonhee Lee and Youngseok Lee, "Towards Scalable Internet Traffic Measurement and Analysis with Hadoop," ACM SIGCOMM Computer Communication Review (CCR), Jan. 2013 2. Yeonhee Lee and Youngseok Lee, Scalable NetFlow Analysis with Hadoop, FloCon2013, Jan. 2013 3. 대규모 넷플로우 데이터 분석을 위한 룰 기반 맵리듀스 아키텍쳐, 정보과학회논문지, 2013.12 4. 하둡과 하이브를 이용한 BGP 아카이브 데이터의 포렌직 분석 툴, 정보과학회논문지, 2015.4 5. https://github.com/ssallys/p3 16
Traffic Analyzer Packet NetFlow BGP Traffic Collector & Loader Predefined MapReduce Job for Traffic Analysis comman d HTTP analysis MR IP analysis MR DDoS analysis MR Pcap InputFormat TCP analysis MR NetFlow analysis MR MapReduce IO formats Binary Input/OutputFormat Hive QL Query for Traffic Analysis Scan IP query Spoofed IP query Heavy User query Ad-hoc query Hive SerDe for Adhoc BGP Analysis Query UPDATE msg SerDe Aspath SerDe RIB SerDe BgpInputFormat Command & Query Web UI CLI Back-end Ana lysis RHDFS monitor & query HDFS Hadoop HDFS a pi R Data Source (Jpcap, HDFS) Distributer Data Processing (HDFS, MapReduce, Hive) User Interface (Hive, Web, R) 패키지 추가 기능 추가 구현 응용 구현 17
18
분산 트래픽 분석 방법 1 MapReduce Job 구분 단일 MapReduce 방식 복수 MapReduce 체인 방식 교환법칙과 결합법칙이 성립하지 않 는 분석의 MapReduce 방식의 접근 IP 계층 단순 통계 분석 응용 응용계층 카운트 기반 DDoS 분석 복잡한 IP 계층 분석 웹사이트 분석 Client-server key를 이용하여 리듀스에서 TCP connection 정보 생성 TCP 세그먼트와 ACK 커플링 알고리즘 개발 19
분산 트래픽 분석 방법 2 Filtering과 aggregation의 룰 기반 트래픽 분석 MapReduce Job 20
분산 트래픽 분석 방법 3 질의문 21
Completion Time (min) SpeedUp 실험 환경 실험: input format 입력 데이터: 1 TB 패킷 트레이스 노드수: 30대 (240 cores) RIPE pcap (파일단위 입력포맷)을 이용한 IP 계층 성능 분석과 처리 성능 비교 주요 결과 테스트베드 노드수 RAM HDD 20 2.93. GHz (8 core) 6 TB 30 2.93. GHz (8 core) 4 TB 200 2.66 GHz (2 core) 0.5 TB 블럭 단위의 fine-grained 태스크 스케쥴링으로 높은 성능 보임, 태스크 fail 시에도 안정적 성능 반면, RIPE pcap은 파일 전송에 따른 오버헤드와 fail 시 파일 단위의 재실행으로 현저히 낮 은 성능 보임 140 105 70 35 IP Analysis_blockIO IP Analysis_fileIO SpeedUp vs fileio 128 5.0 4.3 3.9 3.5 3.3 3.8 2.9 2.9 71 66 2.0 62 2.5 1.8 48 43 46 42 37 33 1.3 22 16 13 11 11 11 0 0.0 5 10 15 20 25 30 30 (map 30 fail) (reduce fail) # of nodes 22
Completion Time (min) Throughput (Gbps) 실험: Scale-out 실험 환경 입력 데이터: 1 TB 패킷 트레이스 노드수: 5 ~ 30대 5대씩 증가 (24 cores ~ 240 cores) 주요 결과 (표: 처리량) 노드 수에 따른 선형적 성능 증가: 5 대 노드 대비 약 6~8배 성능 증가 노드수 5 10 15 20 25 30 IP Analysis 1.0 2.2 3.3 4.3 5.5 6.6 TCP Analysis 1.0 2.1 3.5 4.5 6.2 7.8 WebPop 1.0 2.1 2.9 3.7 4.5 5.8 UserBehavior 1.0 2.4 3.3 4.2 5.6 6.6 DDoS 1.0 2.1 2.8 3.6 4.7 7.0 테스트베드 노드수 RAM HDD 20 2.93. GHz (8 core) 6 TB 30 2.93. GHz (8 core) 4 TB 200 2.66 GHz (2 core) 0.5 TB 140 105 70 35 120.8 77.2 56.4 32.5 34.5 23.6 26.9 18.2 19.6 13.7 15.4 11.6 14 11 7 4 1.9 1.1 4.2 2.4 6.3 4.0 8.3 5.1 10.5 7.0 12.8 8.8 IP Analysis (Gbps) TCP Analysis (Gbps) WebPop (Gbps) UserBehavior (Gbps) DDos (Gbps) 0 5 10 15 20 25 30 0 5 10 15 20 25 30 # of nodes 23
Completion Time (sec) Throughput (Gbps) 실험: SizeUp (200 nodes) 실험 환경 입력 데이터: 1 ~ 5 TB 패킷 트레이스 노드수: 200대 (400 cores) 주요 결과 (표: 처리량) 전체적으로 입력데이터 크기가 증가할수록 성능 증가 TCP/Web 인기도 등 5 TB 이상에서 성능 포화 관측 노드수 1 TB 2 TB 3 TB 4 TB 5 TB IP Analysis 7.9 8.9 14.0 13.9 14.6 TCP Analysis 6.7 7.5 9.1 7.6 8.5 WebPop 8.8 8.4 9.9 9.5 9.7 UserBehavior 7.9 10.6 11.0 10.8 14.5 DDoS 14.0 13.3 14.2 16.1 14.7 5000. 17 테스트베드 노드수 RAM HDD 20 2.93. GHz (8 core) 6 TB 30 2.93. GHz (8 core) 4 TB 200 2.66 GHz (2 core) 0.5 TB 3750. 2500. 1250. 0. 1TB 2TB 3TB 4TB 5TB Data Size 13 9 4 0 IP Analysis TCP Analysis Webpop UserBehavior DDoS IP Analysis TCP Analysis Webpop UserBehavior DDoS 24
Hive 질의문 BGP 이상 현상 분석 3. Find origin AS 320 320 언론사 금융권 대란 분석 사례 625 25
어려운 문제들 1. Data handling issue in Hadoop Reading variable-sized pcaplib records in HDFS heuristic to identify packet boundary in HDFS 2. Distributed traffic analysis MapReduce algorithms IP/TCP/HTTP data analysis metrics 3. Performance tuning in a large-scale Hadoop testbed 4. 실시간 모니터링 Netflow 5분 이내 이상 트래픽 탐지 기능 26
Hadoop 장단점 + Pros Batch 처리 확장성 비용: open source - Cons 실시간처리 MapReduce 에 적합한 분석 문제 관리: open source 27
실시간 네트워크 모니터링 이슈 및 사례 28
대용량 실시간 네트워크 모니터링 Hadoop MapReduce 아키텍쳐 기반의 실시간 처리 문제점: 대용량 실시간 수집 저장 MapReduce 과정의 빈번한 Disk 입출력 Map과 Reduce 간의 동기화, Job 간의 동기화 해결 방법: 데이터를 저장하지 않고 스트림 데이터의 직접적인 분석과 인덱싱 동기화 수집 맵 리듀스 맵 리듀스 local disk HDFS 분석 인덱스 검색 29
준실시간 넷플로우 모니터링 요구사항 5분 단위의 준실시간 모니터링 아카이브된 넷플로우에 대한 사용자 임의 쿼리 분석 지원 접근 방법 익스포트 된 넷플로우를 5분 단위 씩 모아서 HDFS에 파일로 저장 저장과 동 시에 기본 플로우 통계를 위한 MapReduce의 주기적 실행 Hive를 통한 사용자 기반의 임의 쿼리 분석 지원 30
대표적인 분산 스트리밍 처리 SW 스트림 처리엔진 특 징 Esper Apache S4 Apache Storm Hstreaming Apache Spark Open Source CEP 엔진 (Enterprise Edition 제공) 어느 정도 정형화된 데이터에 대한 패턴 매칭 기바의 이벤트 처리 Java와.net 사용이 가능하며 SQL과 흡사한 Language도 제공함 Yahoo 에서 공개한 오픈소스 기반의 실시간 프로세싱 프레임워크, 아파치 인큐베이 터 프로젝트 실시간 개인화 검색광고를 구현하기 위해서 개발 트위터의 오픈소스 프로젝트, 분산 스트림 컴퓨팅 토폴로지의 구성에 따라 다양한 형태의 처리 가능 Pig 의 Load / Store 에 지정하는 데이터 소스와 싱크를 HDFS이 외에 실시간 Data St reaming을 받아들일 수 있도록 I/O 를 확장 Spark SQL, Spark streaming, Mlib, GraphX Python, Scala, and/or Java 프로그래밍 31
사례: Threshold 기반의 실시간 DDoS 탐지 및 모니터링 접근방법 실시간 탐지 및 인덱스 생성 Hadoop Yarn + Apache Storm 실시간 분산 처리 엔진 실시간 모니터링: Elastic search 분산 검색 엔진 + Kibana 웹 플러그인 Storm을 이용한 카운트 기반 DDoS 탐지&인덱스 생성 구현 탐지 인덱스 검색 패킷 스트림 생성 spout 플로우 생성용 bolt + 탐지&인덱스 생성용 bolt + Elasticsearch 저장용 bolt 탐지/인덱스 생성 (Storm) 저장/검색 (Elasticsearch) 모니터링 UI (Kibana) search 32
DDoS 탐지 Storm Topology 33
실시간 DDoS 모니터링 성능 실시간 탐지 성능 1대 노드 구성 - spout 1개, hash bolt 2개, detect bolt 2개 sink bolt 2개 4.4 ms latency - spout 0 ms + hash 1.6 ms + detect 2.1 ms + elastic search sink 0.7 ms MapReduce 방식 스케쥴링 시간만 10초 내외 + 모든 데이터가 처리되는 시간 (Job 실행 시간) 따라서, 데이터를 작게 나누어도 최소 10 초 이상의 지연 발생 34
사례: OpenSOC http://opensoc.github.io/ Open security operations center OpenSOC Real-Time Alerts Anomaly Detection Data Correlatio n Hadoop Scalable Compute Multi Petabyte Storage Interactive Query Real-Time Search Big Data Platform Rules and Reports Predictive Modeling UI and Applications Unstructured Data Scalable Stream Proce Data ssing Access Control 35
OpenSOC Conceptual Architecture Source Systems Data Collection Messaging System Real Time Processing Storage Access Passive Tap Traffic R eplicator PCAP Kafka PCAP Topic Storm PCAP Topolo gy Hive Raw Data Analytic To ols R / Python Telemetry Sources Syslog HTTP File System Other Flume Agent A Agent B Agent N DPI Topic A Topic B Topic N Topic DPI Topolog y A Topology B Topology N Topology ORC Elastic Sear ch Index HBase PCAP Table Power Pivot Tableau Web Services Search PCAP Reconst ruction http://opensoc.github.io/ 36
OpenSOC Deployment at Cisco Hardware footprint (40u) 14 Data Nodes (UCS C240 M3) 3 Cluster Control Nodes (UCS C220 M 3) 2 ESX Hypervisor Hosts (UCS C220 M 3) 1 PCAP Processor (UCS C220 M3 + N apatech NIC) 2 SourceFire Threat alert processors Software Stack HDP 2.1 Kafka 0.8 Elastic Search 1. 1 MySQL 5.5 1 Anue Network Traffic splitter 1 Router 1 48 Port 10GE Switch http://opensoc.github.io/ 37
사례: CERT flocon2015 38
결론 분산 컴퓨팅 - Hadoop - AWS - Flume - Kafka - Elastic Search - Hadoop - Hbase - Hive - Storm - Spark Open Source SW 환경 네트워크 분석 지식 - R - Python - Mahout 39