스플렁크의 머신러닝

45
스플렁크의 머신러닝 락플레이스 이승훈 실장

Upload: seunghun-lee

Post on 18-Jan-2017

68 views

Category:

Data & Analytics


9 download

TRANSCRIPT

Page 1: 스플렁크의 머신러닝

스플렁크의 머신러닝

락플레이스 이승훈 실장

Page 2: 스플렁크의 머신러닝

데이터 분석의 새 시대 머신 러닝(Machine learning)은 데이터 분석의 새 시대를 열고 있으며, 기업에서는 머신 러닝(Machine learning)을 통해 이력 데이터로부터 계속 "학습"하는 예측 분석을 사용할 수 있습니다. 예측 분석을 통해 IT, 보안 및 비즈니스 운영을 최적화하여 사고를 탐지하고, 해결 시간을 단축하고, 바람직하지 않은 결과를 예측 및 방지할 수 있습니다. Splunk 플랫폼에서 제공되는 여러 풍부한 머신 러닝(machine learning) 명령어와 가이드 방식의 워크벤치로 머신 러닝(machine learning)의 기능을 더 쉽게 활용하여 모든 용도에 필요한 사용자 지정 모델을 만들 수 있습니다. 특정 사용자의 용도에 맞게 제작된 머신 러닝(machine learning)에 관심이 있으십니까? IT 서비스 인텔리전스와 사용자 행동 분석을 위한 Splunk 프리미엄 솔루션은 IT 서비스 및 보안 관리에만 사용되는 턴키 방식의 즉각적인 분석 기능을 제공합니다.

머신 러닝(Machine Learning) 및 분석 명령어 Splunk 플랫폼은 데이터 탐지, 경고 또는 분석에 직접 적용할 수 있는 20개 이상의 머신 러닝(machine learning) 명령어를 제공합니다. outlier, predict, cluster 및 correlate 같은 명령어는 정해진 알고리즘을 사용하는 한편, anomalydetection 같은 명령어를 사용하면 여러 알고리즘 중에서 필요에 가장 맞는 알고리즘을 선택할 수 있습니다. 유연성 높은 제품을 원하십니까? Splunk Machine Learning Toolkit(https://splunkbase.splunk.com/app/2890/)을 통해 더 많은 명령어와 오픈 소스 알고리즘을 이용하여 모든 용도에 적합한 사용자 지정 모델을 만들 수 있습니다.

Splunk Machine Learning Toolkit을 이용한 사용자 지정 모델 Splunk Machine Learning Toolkit은 가이드 방식의 워크벤치, 대화형 예제, SPL 확장 기능을 제공하므로, 사용자 지정 머신 러닝(machine learning) 모델을 만들고 운영화하는 데 도움이 됩니다. Splunk Python for Scientific Computing 추가 기능을 통해 제공되는 sci-kit learn, pandas, statsmodel, numpy 및 scipy 라이브러리의 300개가 넘는 오픈 소스 Python 알고리즘을 기반으로 모델을 만들 수 있습니다. .

스플렁크의 머신러닝

Page 3: 스플렁크의 머신러닝

Showcase 예제 일반적인 IT, 보안, IoT 및 비즈니스 분석 이용 사례별로 정리된 대화형 모델 작성 예제를 차례로 살펴보십시오.

예제에는 디스크 장애 예측, 응답 시간 이상값 발견, VPN 사용량 예상 및 인터넷 트래픽 예측 등이 있습니다.

스플렁크의 머신러닝

Page 4: 스플렁크의 머신러닝

길잡이 길잡이를 통해 알고리즘을 선택할 수 있으며, 그런 다음 값 예측, 숫자 또는 범주 필드 예측과 숫자 또는 범주 이상값 탐지 같은 일반적인 목표를 위해 모델을 제작 및 테스트하고 배포하는 과정이 안내됩니다.

확장 SPL 명령어 fit, apply 및 allow 같은 머신 러닝(machine learning) SPL 명령어를 사용해 Scientific Computing 추가 기능에 대해 Splunk Python에서 오픈 소스 Python 알고리즘을 사용하여 모델을 만들고 테스트하고 운영화할 수 있습니다.

모델 운영화 Splunk에서 머신 러닝(machine learning) 모델 생성을 통해 얻을 수 있는 중요한 가치 중 하나는 소속 조직의 실시간 머신 데이터(machine data)에 모델을 완벽하게 적용할 수 있다는 것입니다. Splunk Machine Learning Toolkit 길잡이를 사용하든 SPL로 직접 작업하는 것을 선호하든, 모델은 표준 SPL 검색으로 변환됩니다. 이를 추가로 사용자 지정하고 실운영에 쉽게 적용하여 실시간 경고 또는 보고서와 대시보드를 생성할 수 있습니다.

스플렁크의 머신러닝

Page 5: 스플렁크의 머신러닝

Machine Learning Toolkit ML-SPL Quick Reference Guide http://tiny.cc/mlcheatsheet

Feature Extraction

FieldSelector

PCA

KernelPCA

TFIDF

Start

Categorical Numeric

Forecast Fu

ture Values Detect

Outliers

Group

Events

Prepare

Data

Predict a

Field Value

Predict Numeric Fields (Regression)

LinearRegression

Lasso

Ridge

ElasticNet

KernelRidge

SGDRegressor

DecisionTreeRegressor

RandomForestRegressor

Predict Categorical Fields (Classification)

LogisticRegression

SVM

BernoulliNB

GaussianNB

SGDClassifer

DecisionTreeClassifier

RandomForestClassifier

Forecast Numeric Time Series

ARIMA

KalmanFilter (use predict command)

Detect Categorical Outliers

OneClassSVM

anomalydetection (command)

Detect Numeric Outliers

OneClassSVM

streamstats, median, mean, p25, p75

Cluster Numeric Events

KMeans

DBSCAN

BIRCH

SpectralClustering

Preprocessing

StandardScaler

Page 6: 스플렁크의 머신러닝

Feature Extraction Feature extraction algorithms transform fields for better

prediction accuracy.

Algorithm Examples

FieldSelector ...| fit FieldSelector type=categorical SLA_violation from *

PCA ...| fit PCA * k=3

KernelPCA ...| fit KernelPCA * k=3 gamma=0.001

TFIDF ...| fit TFIDF Reviews into user_feedback_model max_def=0.6 min_def=0.2

Preprocessing Preprocessing algorithms are used for preparing data and help with prediction accuracy.

Algorithm Examples

StandardScaler ... | fit StandardScaler *

Cluster Numeric Partition events with multiple numeric fields into clusters.

Algorithm Examples

KMeans ... | fit KMeans * k=3

DBSCAN ... | fit DBSCAN *

BIRCH ... | fit Birch * k=3

SpectralClustering ... | fit SpectralClustering * k=3

Predict Numeric Predict the value of a numeric field using the values of other fields in that event.

Algorithm Examples

LinearRegression ... | fit LinearRegression temperature from date_month date_hour into temperature_model

Lasso ... | fit Lasso temperature from date_month date_hour

Ridge ... | fit Ridge temperature from date_month date_hour normalize=true alpha=0.5

ElasticNet ... | fit ElasticNet temperature from date_month date_hour normalize=true alpha=0.5

KernelRidge ... | fit KernelRidge temperature from date_month date_hour into temperature_model

SGDRegressor ... | fit SGDRegressor temperature from date_month date_hour into temperature_model

DecisionTreeRegressor ... | fit DecisionTreeRegressor temperature from date_month date_hour into temperature_model

RandomForestRegressor ... | fit RandomForestRegressor temperature from date_month date_hour into temperature_model

Predict Categorical Predict the value of a categorical field using the values of other fields in that event.

Algorithm Examples

LogisticRegression ... | fit LogisticRegression SLA_violation from IO_wait_time into sla_model

SVM ... | fit SVM SLA_violation from * into sla_model

BernoulliNB ... | fit BernoulliNB type from * into TESTMODEL_BernoulliNB alpha=0.5 binarize=0 fit_prior=f

GaussianNB ... | fit GaussianNB species from * into TESTMODEL_GaussianNB

SGDClassifier ... | fit SGDClassifier SLA_violation from * into sla_model

DecisionTreeClassifier ... | fit DecisionTreeClassifier SLA_violation from * into sla_model

RandomForestClassifier ... | fit RandomForestClassifier SLA_violation from * into sla_model

Anomaly Detection Find events that contain unusual combinations of values.

Algorithm Examples

OneClassSVM

... | fit OneClassSVM * kernel="poly" nu=0.5coef0=0.5 gamma=0.5 tol=1 degree=

3 shrinking=f into TESTMODEL_OneClassSVM

Search Commands for Machine Learning The Machine Learning Toolkit provides custom search commands for applying machine learning to your data.

Command Description Syntax

fit Fit and apply a machine learning model to search results. ... | fit algorithm y from x params into

model_name as output_field

apply Apply a machine learning model that was learned using the fit command. ... | apply model_name as output_field

summary Return a summary of a machine learning model that was learned using the fit command. | summary model_name

listmodels Return a list of machine learning models that were learned using the fit command. | listmodels

deletemodel Delete a machine learning model that was learned using the fit command. | deletemodel model_name

sample Randomly sample or partition events. ... | sample options by split_by_field

Forecasting

Forecast future values given past values of a metric (numeric time series).

Algorithm Examples

ARIMA ... | fit ARIMA Voltage order=4-0-1

Machine Learning Toolkit ML-SPL Quick Reference Guide http://tiny.cc/mlcheatsheet

Page 7: 스플렁크의 머신러닝

활용사례 : Outlier Detection On 3GPP Core KPI

“Operationalize Machine Learning”

Page 8: 스플렁크의 머신러닝

Mobility 3GPP Core KPI

Connection Details on 3GPP Core as KPI

Real-‐time Network Behaviour Performa

nce Degradation Monitoring

8

Page 9: 스플렁크의 머신러닝

Machine Learning Toolkit을 활용한 수치 이상 치 검출

9

Page 10: 스플렁크의 머신러닝

표준편차

10

절대 중앙값 편차

서로 다른 임계치 메소드의 반복

Page 11: 스플렁크의 머신러닝

이상수치를 놓치고….

11

Page 12: 스플렁크의 머신러닝

사용자 지정 이상치 탐지

12

Page 13: 스플렁크의 머신러닝

수치 평가

20

Page 14: 스플렁크의 머신러닝

현재와 히스토릭 델타치 계산

14

Page 15: 스플렁크의 머신러닝

탐지~!

15

Page 16: 스플렁크의 머신러닝

SPLUNK UBA detects

ADVANCED CYBER ATTACKS & INSIDER THREATS

with BEHAVIORAL THREAT DETECTION

Page 17: 스플렁크의 머신러닝

Splunk UBA adds Data-‐Science Driven Behavioral Analytics

BIG DATA DRIVEN

AUTOMATED SECURITY A

NALYTICS

MACHINE LEARNING

A NEW PARADIGM

Page 18: 스플렁크의 머신러닝

KEY USE-‐CASES

12

Advanced Cyber-‐Attacks

Malicious Insider Threats

Online ATO

Page 19: 스플렁크의 머신러닝

WHAT DOES SPLUNK UBA DO?

SIEM, Hadoop

Firewall, AD, DLP

AWS, VM, Cloud, Mobile

End-‐point, App, DB logs

NeOlow, PCAP

Threat Feeds

AUTOMATED THREAT DETECTION

& SECURITY ANALYTICS

Baseline KPIs Analytics

DATA SOURCES

DATA SCIENCE DRIVEN

THREAT DETECTION

99.99% EVENT REDUCTION

UBA

Page 20: 스플렁크의 머신러닝

MULTI-‐ENTITY FOCUSED

User

App

Systems (VMs, Hosts)

Network

Data

Page 21: 스플렁크의 머신러닝

Web Gateway

Proxy Server

Firewall

Box, SF.com, Dropbox, other SaaS apps

Mobile Devices

Malware Norse, Threat Stream, FS-‐ISAC or other blacklists for I

Ps/domains

DATA SOURCES

15

Active Directory/ Domain Controller

Single Sign-‐on

HRMS

VPN

DNS, DHCP

Identity/Auth SaaS/Mobile Security Products

External Threat Feeds

Activity (N-‐S, E-‐W)

K E Y OPTIONAL

Neilow, PCAP

DLP, File Server/Host Logs

AWS CloudTrail

End-‐point

IDS, IPS, AV

Page 22: 스플렁크의 머신러닝

16

THE OVERALL SOLUTION

Online Services

Web Services

Servers

Security

GPS Location

Storage

Desktops Networks

Packaged Applications

Custom Applications

Messaging

Telecoms

Online Shopping

Cart Databases

Energy Meters

Call Detail Records Web Cli

ckstreams

Smartphones and Devices

RFID

Real-‐Time Machine Data

MONITOR & ALERT REPORT & ANALYZE CUSTOM DASHBOARDS DEVELOPER PLATFORM AD HOC SEARCH

MACHINE LEARNING

BEHAVIOR ANALYTICS

ANOMALY DETECTION

THREAT DETECTION

SECURITY ANALYTICS

UBA

Page 23: 스플렁크의 머신러닝

ATTACK DEFENSES

17

Th

reat

Att

ack

Co

rrel

atio

n

Polymorphic Attack Analysis

User & Entity Behavior Baseline

Behavioral Peer Group Analysis

Cyber Attack / External Threat Detection

Reconnaissance, Botnet and C&C Analysis

Statistical Analysis

Data Exfiltration Models

Lateral Movement Analysis

IP Reputation Analysis

Insider Threat Detection

Entropy/Rare Event Detection

User/Device Dynamic Fingerprinting

Page 24: 스플렁크의 머신러닝

SECURITY ANALYTICS

KILL-‐CHAIN

HUNTER

KEY WORKFLOWS -‐ HUNTER

Investigate suspicious users, devices, and applications

Dig deeper into identified anomalies and threat indicators

Look for policy violations

Page 25: 스플렁크의 머신러닝

THREAT DETECTION

KEY WORKFLOWS – SOC ANALYST

SOC ANALYST

Quickly spot threats within your network

Leverage Threat Detection workflow to investigate insider threats and cyber attacks

Act on forensic details – deactivate accounts, unplug network devices, etc.

Page 26: 스플렁크의 머신러닝

INSIDER THREAT

20

USER ACTIVITIES RISK/THREAT DETECTION AREAS

John logs in via VPN from 1.0.63.14 Unusual Geo (China) Unusual Activity Time 3:00 PM

Unusual Machine Access (lateral movement; individual + peer group) 3:15 PM

John (Admin) performs an ssh as root to a new machine from the BizDev department

Unusual Zone (CorpPCI) traversal (lateral movement) 3:10 PM

John performs a remote desktop on a system as Administrator on the PCI network zone

3:05 PM Unusual Activity Sequence (AD/DC Privilege Escalation)

John elevates his privileges for the PCI network

Excessive Data Transmission (individual + peer group) Unusual Zone combo (PCIcorp)

6:00 PM John (Adminroot) copies all the negotiation docs

to another share on the corp zone

Unusual File Access (individual + peer group) 3:40 PM

John (Adminroot) accesses all the excel and negotiations documents on the BizDev file shares

Multiple Outgoing Connections Unusual VPN session duration (11h) 11:35 PM

John (Adminroot) uses a set of Twitter handles to chop and copy the data outside the enterprise

Page 27: 스플렁크의 머신러닝

DEPLOYMENT MODELS

21

CLUSTERED VMs

On AWS for Cloud/Hybrid Deployments

DATA SOURCES / SPLUNK ENTERPRISE

ON-‐PREM CLOUD

UBA UBA

Page 28: 스플렁크의 머신러닝

22

MAPPING RATs

TO I E S

ACTIONABLE KILL-‐CHAIN

A NH WOR

ME AA L T

Page 29: 스플렁크의 머신러닝

CUSTOMER THREATS UNCOVERED

ACCOUNT TAKEOVER

• Privileged account compromise

• Data loss

LATERAL MOVEMENT

• Pass-‐the-‐hash kill chain

• Privilege escalation

INSIDER THREATS

• Misuse of credentials

• IP theft

2 6

MALWARE ATTACKS

• Hidden malware activity

• Advanced Persistent Threats (APTs)

BOTNET, C&C

• Malware beaconing

• Data exfiltration

USER & ENTITY BEHAVIOR ANALYTICS

• Login credential abuse

• Suspicious behavior

Page 30: 스플렁크의 머신러닝

ADVANCED

SECURITY ANALYTICS

Page 31: 스플렁크의 머신러닝

CUSTOMER EXAMPLES

28

Malicious domain activity

Infected user accounts

Insider threat actor watch lists

Suspicious privileged account activity

Fake Windows update server activity

Asprox, Redyms malware

Lateral movement amongst contractors

Cryptowall ransomware

Fiesta exploit kit

Account takeover of privileged account

Login irregularities and land-‐speed violation

IOCs and violations

RETAIL HI-‐TECH MANUFACTURING FINANCIAL

Page 32: 스플렁크의 머신러닝

Cost-‐Effective Threat Detection

Seconds

29

Bill

ion

of

Inco

min

g Ev

en

ts

Group Indicators

Fin

al R

anke

d T

hre

ats

(fo

r re

view

)

Human Assisted Threat Review

Mo

bile

C

lou

d

Sou

rce

s

?

Threat Models

Threat Intelligence Fe

eds

Security Alert

Baselines +

Supporting Evidence

En

terp

rise

99.99% Reduction

Local/Global Threat Corr

elation

Indicators of

Compromise

Page 33: 스플렁크의 머신러닝

Splunk UBA VM-‐based On-‐Prem Physical Deployment

30

Splunk UBA On-‐Prem Deployment

IAM, Active Directory

DHCP, DNS, Proxy Servers

FW, IDS VPN Server

App Servers

Syslog

Enterprise Network

SIEM

Caspida App Se

rver

VM

500

GB

100

GB

Network Disks for UI/Ingestion VM

VM1

Linux Linux

VM1 Analysis

VM

VM

100

GB

100

GB

Network Disks for Analysis VMs

Requirements:

• vSphere (ESXi v5.0+) • Availability of storage volumes (10

0 GB for each Analysis VMs, 500

GB for App Server) • Splunk UBA is packaged in an OVA

Page 34: 스플렁크의 머신러닝

Sizing*

31

10 nodes 40 nodes 100 nodes

Events per sec 50K 200K 500K

Events per day 4.3B 17.3B 43B

TB per day 4.3TB 17.3TB 43TB

*Assumes ~10-20K user accounts and 50K internal devices

Page 35: 스플렁크의 머신러닝

Event workflow

Raw Events

1

Anomalies

Security semantics

2

ML

Patterns Sequenc

es Statistical meth

ods

Threat Models Lateral movement

Beaconing

Land-‐speed violation

Threats

5

Kill chain sequence

Supporting evidence

Threat scoring

Graph Mining

4

Continuous s

elf-learn

ing

Anomalies graph

Uber graph

3

Page 36: 스플렁크의 머신러닝

Overall Model Workflow

33

Data Parsing

ETL Engine

Data Profiling Model

Building

Threat Model Scoring

Mo

de

ls n

ot

tra

ined

M

od

els

tr

ain

ed

Threat Grouping Engine

Model 1

Model 2

Model N

Universal Scoring Engine

Security Alert

Threat Review

Threats

An

om

alie

s

No

rmal

ize

d A

no

mal

ies

Not a Threat?

Model Re-‐enforcement Learning

Adjustment of Model Weights (optional)

Enable/Disable Models (optional)

Sou

rce

s

De

cis

ion

Ma

kin

g

Mo

bil

e

Clo

ud

E

nte

rpri

se

Page 37: 스플렁크의 머신러닝

문제 상황의 격리 및 서비스 운영 수준 개선을 위한 데이터 주도적 서비스 통찰력 제공

Page 38: 스플렁크의 머신러닝

Splunk IT Service Intelligence 순수 IT 모니터링에서 데이터 주도적 분석으로의 변환

38

동적 임계치 자동 설정을 통한 역동적인 KPI 생성

정상적 운영 상태의 기준 설정에 머신러닝 기법 적용

의미 있는 후속 조치 지원을 위해 이상 행동 검출

상관 검색을 활용한 KPI의 경고 발생 체계

Page 39: 스플렁크의 머신러닝

신속한 서비스 상태의 시각화

39

Service Analyzer 서비스와 그 헬스 상태를 점수화한 고차원의 뷰

Glass Tables 관심 서비스에 대한 개인화 가능한 통합 시각화 데시보드

Deep Dives 다수의 사일로(Silo)를 통합한 체계적인 성능 지표

Multi KPI Alerts 노터블 이벤트(Notable Event)를 생성하기 위한 상관 규칙

Notable Events 이해하기 쉽게 정리된 상관 검색의 수행 결과

Anomaly Detection and Adaptive Thresholds 기계학습을 통해 생성한 기준 및 관련 이상 행동의 검출

Page 40: 스플렁크의 머신러닝

다수 서비스의 KPI를 연동하여 복합 조건의 인시던트 생성

파생된 문제 또는 관련된 인시던트를 탐지하여 관심 이벤트(Notable Event) 생성

각 인시던트의 후속 조치에 해당하는 작업흐름(Workflow)

제공으로 문제 해결 가속화

데이터 편차에 따른 조기 경고

40

Page 41: 스플렁크의 머신러닝

서비스 스택을 한눈에 볼수 있는 단일 뷰 제공

문제 해결을 위한 컨텍스트 내부로의 드릴 다운

파생된 이슈의 적극적인 조사로 실시간으로 서비스 지연 방지

다양한 IT 사일로의 데이터를 통합하여 문제 해결 단순화

(Deep Dive)

손쉬운 상황 대응을 위한 상세 정보 제공

41

Page 42: 스플렁크의 머신러닝

Vodafone 적용사례

42

통합된 시각화 타 제품의 데이터 수집

11,000 to 100s

이슈 등록 건수의 현저한 감소

Alerting on service KPI’s instead of server performan

ce

이상치 검출을 위한 사용량 기반의 기준

설정

Page 43: 스플렁크의 머신러닝

fiserv. 적용사례

43

모니터링 관점을 서버 중심에서

서비스 중심으로

상하 방식의 심층적은 서비스 통찰력 확보

200+ 서비스와 1500+ KPI 모니터링

서비스와 KPI의 유연한 생성 및 변경

서버 성능 관점의 경고에서 서비스 KPI 관점의 경고

실시간, 전체적인, 적극적인 사용자 뷰

Page 44: 스플렁크의 머신러닝

AdvancedMD 적용사례

44

자체 제작 모니터링 툴 교체

LOB(Line of Business)에 대한 실시간 서비스 통찰력

문제 해결 시간 감소

Page 45: 스플렁크의 머신러닝

THANK YOU!

이승훈 실장, [email protected], 010-9338-6400