스플렁크의 머신러닝
TRANSCRIPT
스플렁크의 머신러닝
락플레이스 이승훈 실장
데이터 분석의 새 시대 머신 러닝(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 알고리즘을 기반으로 모델을 만들 수 있습니다. .
스플렁크의 머신러닝
Showcase 예제 일반적인 IT, 보안, IoT 및 비즈니스 분석 이용 사례별로 정리된 대화형 모델 작성 예제를 차례로 살펴보십시오.
예제에는 디스크 장애 예측, 응답 시간 이상값 발견, VPN 사용량 예상 및 인터넷 트래픽 예측 등이 있습니다.
스플렁크의 머신러닝
길잡이 길잡이를 통해 알고리즘을 선택할 수 있으며, 그런 다음 값 예측, 숫자 또는 범주 필드 예측과 숫자 또는 범주 이상값 탐지 같은 일반적인 목표를 위해 모델을 제작 및 테스트하고 배포하는 과정이 안내됩니다.
확장 SPL 명령어 fit, apply 및 allow 같은 머신 러닝(machine learning) SPL 명령어를 사용해 Scientific Computing 추가 기능에 대해 Splunk Python에서 오픈 소스 Python 알고리즘을 사용하여 모델을 만들고 테스트하고 운영화할 수 있습니다.
모델 운영화 Splunk에서 머신 러닝(machine learning) 모델 생성을 통해 얻을 수 있는 중요한 가치 중 하나는 소속 조직의 실시간 머신 데이터(machine data)에 모델을 완벽하게 적용할 수 있다는 것입니다. Splunk Machine Learning Toolkit 길잡이를 사용하든 SPL로 직접 작업하는 것을 선호하든, 모델은 표준 SPL 검색으로 변환됩니다. 이를 추가로 사용자 지정하고 실운영에 쉽게 적용하여 실시간 경고 또는 보고서와 대시보드를 생성할 수 있습니다.
스플렁크의 머신러닝
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
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
활용사례 : Outlier Detection On 3GPP Core KPI
“Operationalize Machine Learning”
Mobility 3GPP Core KPI
Connection Details on 3GPP Core as KPI
Real-‐time Network Behaviour Performa
nce Degradation Monitoring
8
Machine Learning Toolkit을 활용한 수치 이상 치 검출
9
표준편차
10
절대 중앙값 편차
서로 다른 임계치 메소드의 반복
이상수치를 놓치고….
11
사용자 지정 이상치 탐지
12
수치 평가
20
현재와 히스토릭 델타치 계산
14
탐지~!
15
SPLUNK UBA detects
ADVANCED CYBER ATTACKS & INSIDER THREATS
with BEHAVIORAL THREAT DETECTION
Splunk UBA adds Data-‐Science Driven Behavioral Analytics
BIG DATA DRIVEN
AUTOMATED SECURITY A
NALYTICS
MACHINE LEARNING
A NEW PARADIGM
KEY USE-‐CASES
12
Advanced Cyber-‐Attacks
Malicious Insider Threats
Online ATO
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
MULTI-‐ENTITY FOCUSED
User
App
Systems (VMs, Hosts)
Network
Data
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
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
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
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
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.
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
DEPLOYMENT MODELS
21
CLUSTERED VMs
On AWS for Cloud/Hybrid Deployments
DATA SOURCES / SPLUNK ENTERPRISE
ON-‐PREM CLOUD
UBA UBA
22
MAPPING RATs
TO I E S
ACTIONABLE KILL-‐CHAIN
A NH WOR
ME AA L T
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
ADVANCED
SECURITY ANALYTICS
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
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
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
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
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
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
문제 상황의 격리 및 서비스 운영 수준 개선을 위한 데이터 주도적 서비스 통찰력 제공
Splunk IT Service Intelligence 순수 IT 모니터링에서 데이터 주도적 분석으로의 변환
38
동적 임계치 자동 설정을 통한 역동적인 KPI 생성
정상적 운영 상태의 기준 설정에 머신러닝 기법 적용
의미 있는 후속 조치 지원을 위해 이상 행동 검출
상관 검색을 활용한 KPI의 경고 발생 체계
신속한 서비스 상태의 시각화
39
Service Analyzer 서비스와 그 헬스 상태를 점수화한 고차원의 뷰
Glass Tables 관심 서비스에 대한 개인화 가능한 통합 시각화 데시보드
Deep Dives 다수의 사일로(Silo)를 통합한 체계적인 성능 지표
Multi KPI Alerts 노터블 이벤트(Notable Event)를 생성하기 위한 상관 규칙
Notable Events 이해하기 쉽게 정리된 상관 검색의 수행 결과
Anomaly Detection and Adaptive Thresholds 기계학습을 통해 생성한 기준 및 관련 이상 행동의 검출
다수 서비스의 KPI를 연동하여 복합 조건의 인시던트 생성
파생된 문제 또는 관련된 인시던트를 탐지하여 관심 이벤트(Notable Event) 생성
각 인시던트의 후속 조치에 해당하는 작업흐름(Workflow)
제공으로 문제 해결 가속화
데이터 편차에 따른 조기 경고
40
서비스 스택을 한눈에 볼수 있는 단일 뷰 제공
문제 해결을 위한 컨텍스트 내부로의 드릴 다운
파생된 이슈의 적극적인 조사로 실시간으로 서비스 지연 방지
다양한 IT 사일로의 데이터를 통합하여 문제 해결 단순화
(Deep Dive)
손쉬운 상황 대응을 위한 상세 정보 제공
41
Vodafone 적용사례
42
통합된 시각화 타 제품의 데이터 수집
11,000 to 100s
이슈 등록 건수의 현저한 감소
Alerting on service KPI’s instead of server performan
ce
이상치 검출을 위한 사용량 기반의 기준
설정
fiserv. 적용사례
43
모니터링 관점을 서버 중심에서
서비스 중심으로
상하 방식의 심층적은 서비스 통찰력 확보
200+ 서비스와 1500+ KPI 모니터링
서비스와 KPI의 유연한 생성 및 변경
서버 성능 관점의 경고에서 서비스 KPI 관점의 경고
실시간, 전체적인, 적극적인 사용자 뷰
AdvancedMD 적용사례
44
자체 제작 모니터링 툴 교체
LOB(Line of Business)에 대한 실시간 서비스 통찰력
문제 해결 시간 감소