splunk live in rtp - march-2014-jeff-bollinger-cisco

19
Copyright © 2014 Splun Inc. Splunk the SIEM Jeff Bollinger 0x506682C5 Technical Leader and Infosec Investigator: CSIRT Cisco Systems, Inc. https://blogs.cisco.com/author/ jeffbollinger/ https://twitter.com/jeffbollinger

Upload: jeff-bollinger

Post on 22-Apr-2015

235 views

Category:

Technology


1 download

DESCRIPTION

How Cisco Infosec uses Splunk to develop and execute their Incident Response playbook strategy.

TRANSCRIPT

Page 1: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Copyright © 2014 Splunk Inc.

Splunk the SIEMJeff Bollinger 0x506682C5Technical Leader and Infosec Investigator: CSIRTCisco Systems, Inc.https://blogs.cisco.com/author/jeffbollinger/https://twitter.com/jeffbollinger

Page 2: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

About Me...

– Cisco Computer Security Incident Response Team (CSIRT)– CSIRT = Security Monitoring and Incident Response– Architecture, Engineering, Research, and Investigations– Enterprise global threat and 24x7 incident response

Page 3: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

The Numb3rsCisco Systems Inc.:

–100 countries–130,000 employees (with laptops and phones)–150,000 servers of all types–40,000 routers–1,500 labs–1 CSIRT analyst for every 7,000 employees

Page 4: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

The Numb3rs

Cisco indexes almost 1Tb of log data per day

Page 5: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Incident Response Basics

•What am I trying to protect?•What are the threats?•> How do I detect them?•How do we respond?

Page 6: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

How Do I Detect?

Page 7: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Out With The Old

• You don’t know what you don’t know

• Buy and trust a SIEM to run canned reports

• Wait for updates from the vendor• Try to edit/create custom reports

• Build your own collection infrastructure• Data-centric approach• Build your own reports• Research your own intelligence• Operationalize and optimize!

The Old Way The New Way

Page 8: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

playbook |ˈplāˌbŏk| (noun) A prescriptive collection of repeatable queries (reports) against security event data sources that lead to incident detection and response.

Analyze: SIEM

Page 9: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

A Note on Strategy

Hunting vs. Gathering

Page 10: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Hunting: Build a Query – Find Bad Stuff

• Start with the obvious and simple:

index=wsa earliest=-24h x_wbrs_score=ns

English translation: Splunk, look at our web proxy logs over the past 24 hours, and give me all the web sites (objects) that had no known reputation score.

Page 11: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Hunting: Build a Query – Find Bad Stuff

index=wsa earliest=-24h x_wbrs_score=ns

Let me stop you right there…

Page 12: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Hunting: Build a Query – Find Bad Stuff

• Filter based on unique attributes:

index=wsa earliest=-24h x_wbrs_score=ns |where isnull(cs_referer)

English translation: Splunk, look at our web proxy logs over the past 24 hours, and give me all the web sites (objects) that had no known reputation score, and there was no HTTP referrer.

Page 13: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Hunting: Build a Query – Find Bad Stuff

index=wsa earliest=-24h x_wbrs_score=ns | where isnull(cs_referer)

Ok getting better, sort of…

Page 14: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Hunting: Build a Query – Find Bad Stuff

• Filter, refine, filter, refine:

index=wsa earliest=-24h application/x-dosexec ns GET 200 x_wbrs_score=ns cs_method=GET sc_http_status=200 cs_mime_type=application/x-dosexec (java OR MSIE) NOT (mirror OR cdn) | where isnull(cs_referer)

English translation: Splunk, query our web proxy logs over the past 24 hours, and give me all the web sites (objects) that had no known reputation score, and there was no HTTP referrer, where either Java or Internet Explorer successfully downloaded an executable file from a site that didn’t have ‘mirror’ or ‘CDN’ in the URL.

Page 15: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Hunting: Build a Query – Find Bad Stuff

Here we go!

index=wsa earliest=-24h application/x-dosexec ns GET 200 x_wbrs_score=ns cs_method=GET sc_http_status=200 cs_mime_type=application/x-dosexec (java OR MSIE) NOT (mirror OR cdn) | where isnull(cs_referer)

Page 16: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Gathering: Build a Query – Find Bad Stuff

If you can find or create a re-usable pattern, you can save a search, make a report, and automate!

16

Page 17: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Gathering: Build a Query – Find Bad Stuff

For example: this query will detect the Tracur clickfraud trojan:

index=wsa earliest=-6h@h m cs_url="*/m/*” MSIE (NOT (cs_referer="*")) | regex cs_url="^http://(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)/m/[A-Za-z0-9/+]{50,1000}$"

http://www.microsoft.com/security/portal/threat/encyclopedia/entry.aspx?Name=Trojan%3aWin32%2fTracur

Page 18: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Do It YourselfOnce you have:

• Solid, repeatable, saved searches• Research and intelligence gathering• Consistent handling procedures• Documentation and tuning

You have your own SIEM, running in Splunk, and completely custom to your organization.

Page 19: Splunk Live in RTP - March-2014-Jeff-Bollinger-Cisco

Thank you