The Bro Network Security Monitor



Similar documents
The Bro Network Security Monitor. Broverview

The Bro Network Security Monitor. Broverview. Bro Workshop NCSA, Urbana-Champaign, IL. Bro Workshop 2011

The Bro Monitoring Platform

The Bro Network Intrusion Detection System

The Open Source Bro IDS Overview and Recent Developments

Berkley Packet Filters and Open Source Tools. a tranched approach to packet capture analysis at today s network speeds

Networks and Security Lab. Network Forensics

How To Monitor A Network On A Network With Bro (Networking) On A Pc Or Mac Or Ipad (Netware) On Your Computer Or Ipa (Network) On An Ipa Or Ipac (Netrope) On

Concierge SIEM Reporting Overview

An Overview of the Bro Intrusion Detection System

Comprehensive Malware Detection with SecurityCenter Continuous View and Nessus. February 3, 2015 (Revision 4)

Advanced Threat Detection: Necessary but Not Sufficient The First Installment in the Blinded By the Hype Series

UNMASKCONTENT: THE CASE STUDY

SIEM Optimization 101. ReliaQuest E-Book Fully Integrated and Optimized IT Security

IBM Security QRadar SIEM & Fortinet FortiGate / FortiAnalyzer

How to (passively) understand the application layer? Packet Monitoring

CSE543 - Computer and Network Security Module: Firewalls

Monitoring System Status

DMZ Network Visibility with Wireshark June 15, 2010

RSA Security Anatomy of an Attack Lessons learned

NetFlow Analytics for Splunk

Take the Red Pill: Becoming One with Your Computing Environment using Security Intelligence

DYNAMIC DNS: DATA EXFILTRATION

SANS Top 20 Critical Controls for Effective Cyber Defense

Detecting Threats in Network Security by Analyzing Network Packets using Wireshark

Intrusion Detection in AlienVault

How To Monitor Network Activity On Palo Alto Network On Pnetorama On A Pcosa.Com (For Free)

VIRUS TRACKER CHALLENGES OF RUNNING A LARGE SCALE SINKHOLE OPERATION

Monitor Network Activity

CSC574 - Computer and Network Security Module: Firewalls

Network Monitoring for Cyber Security

Decryption. Palo Alto Networks. PAN-OS Administrator s Guide Version 6.0. Copyright Palo Alto Networks

Ethereal: Getting Started

Unified Security, ATP and more

Passive Logging. Intrusion Detection System (IDS): Software that automates this process

Malicious Network Traffic Analysis

Decoding DNS data. Using DNS traffic analysis to identify cyber security threats, server misconfigurations and software bugs

Monitor Network Activity

Configuration Information

Secret Server Splunk Integration Guide

1. Introduction. 2. DoS/DDoS. MilsVPN DoS/DDoS and ISP. 2.1 What is DoS/DDoS? 2.2 What is SYN Flooding?

AlienVault. Unified Security Management (USM) 5.x Policy Management Fundamentals

PERDIX: A FRAMEWORK FOR REALTIME BEHAVIORAL EVALUATION OF SECURITY THREATS IN CLOUD COMPUTING ENVIRONMENT

Six Days in the Network Security Trenches at SC14. A Cray Graph Analytics Case Study

Network forensics 101 Network monitoring with Netflow, nfsen + nfdump

Wireshark Lab: Assignment 1w (Optional)

What is a Bro log? Justin Azoff. Aug 26, 2014

Firewalls & Intrusion Detection

Application Detection

ThreatSTOP Technology Overview

USING LOCAL NETWORK AUDIT SENSORS AS DATA SOURCES FOR INTRUSION DETECTION. Integrated Information Systems Group, Ruhr University Bochum, Germany

A perspective to incident response or another set of recommendations for malware authors

Detecting Threats Via Network Anomalies. Paul Martini Cofounder and CEO iboss Cybersecurity

1. Firewall Configuration

Access Control Rules: URL Filtering

How To Control Your Network With A Firewall On A Network With An Internet Security Policy On A Pc Or Ipad (For A Web Browser)

Palo Alto Networks and Splunk: Combining Next-generation Solutions to Defeat Advanced Threats

SHARING THREAT INTELLIGENCE ANALYTICS FOR COLLABORATIVE ATTACK ANALYSIS

ThreatSpike Dome: A New Approach To Security Monitoring

1110 Cool Things Your Firewall Should Do. Extending beyond blocking network threats to protect, manage and control application traffic

Semantic based Web Application Firewall (SWAF V 1.6) Operations and User Manual. Document Version 1.0

Fuzzy Network Profiling for Intrusion Detection

Controlling Risk, Conserving Bandwidth, and Monitoring Productivity with Websense Web Security and Websense Content Gateway

GOOD GUYS VS BAD GUYS: USING BIG DATA TO COUNTERACT ADVANCED THREATS. Joe Goldberg. Splunk. Session ID: SPO-W09 Session Classification: Intermediate

Visualizing Threats: Improved Cyber Security Through Network Visualization

Understanding Slow Start

A Bro Walk-Through. Robin Sommer International Computer Science Institute & Lawrence Berkeley National Laboratory

The Bro Monitoring Platform

Debugging With Netalyzr

Splunk Enterprise Log Management Role Supporting the ISO Framework EXECUTIVE BRIEF

Flow Analysis Versus Packet Analysis. What Should You Choose?

Network reconnaissance and IDS

SECURITY ANALYTICS MOVES TO REAL-TIME PROTECTION

EUCIP - IT Administrator. Module 5 IT Security. Version 2.0

Environment. Attacks against physical integrity that can modify or destroy the information, Unauthorized use of information.

Cisco IOS Flexible NetFlow Technology

APPLICATION PROGRAMMING INTERFACE

What is Web Security? Motivation

Internet Firewall CSIS Packet Filtering. Internet Firewall. Examples. Spring 2011 CSIS net15 1. Routers can implement packet filtering

A Study on the Live Forensic Techniques for Anomaly Detection in User Terminals

Websense Content Gateway HTTPS Configuration

Firewalls, NAT and Intrusion Detection and Prevention Systems (IDS)

Web DLP Quick Start. To get started with your Web DLP policy

HTTPS Inspection with Cisco CWS

Automating Linux Malware Analysis Using Limon Sandbox Monnappa K A monnappa22@gmail.com

End-user Security Analytics Strengthens Protection with ArcSight

The Role of Threat Intelligence and Layered Security for Intrusion Prevention in the Post-Target Breach Era

Network Intrusion Detection Systems. Beyond packet filtering

SNARE Agent for Windows v Release Notes

Software that provides secure access to technology, everywhere.

HoneyBOT User Guide A Windows based honeypot solution

Transcription:

The Bro Network Security Monitor Network Forensics with Bro Matthias Vallentin UC Berkeley / ICSI vallentin@icir.org Bro Workshop 2011 NCSA, Champaign-Urbana, IL

Outline 1. The Bro Difference 2. Abstract Use Cases 3. From Post-Facto to Real-Time Analysis 2 / 23

Post-Facto Forensics Scenario 1. You observe symptoms of infections Concrete: some hosts send a lot of spam Abstract: many connections to [insert malware country here] 2. Apparently your IDS did not trigger :-( Complex attack: poor/no detection strategy (APT) Evasion 0-day Post-facto log analysis What makes Bro logs well-suited for this task? 3 / 23

Where Do Bro Logs Come From? Bro event and data model Rich-typed: first-class networking types (addr, port,... ) Deep: across the whole network stack Fine-grained: detailed protocol-level information Expressive: nested data with container types (aka. semi-structured) Messages Application http_request, smtp_reply, ssl_certificate Byte stream Transport new_connection, udp_request Packets (Inter)Network new_packet, packet_contents Frames Link arp_request, arp_reply 4 / 23

Bro Logs? 5 / 23

Bro Logs! Events Scripts Logs Policy-neutral by default: no notion of good or bad Recall the separation of scripts: base vs. policy Forensic investigations highly benefit from unbiased information Hence no use of the term alert NOTICE instead Flexible output formats: 1. ASCII 2. Binary (coming soon) 3. Custom 6 / 23

Log Analysis What do we do with Bro s quality logs? Process (ad-hoc analysis) Summarize (time series data, histogram/top-k, quantile) Correlate (machine learning, statistical tests) Age (elevate old data into higher levels of abstraction) How do we do it? All eggs in one basket SIEM: Splunk, ArcSight, NarusInsight,... $$$ ELSA (Martin Holste) VAST (under development) In-situ processing Tools of the trade (bro-cut, awk, sort, uniq,... ) MapReduce / Hadoop 7 / 23

Outline 1. The Bro Difference 2. Abstract Use Cases 3. From Post-Facto to Real-Time Analysis 8 / 23

Use Case #1: Classic Incident Response Goal: fast and comprehensive analysis of security incidents Often begins with an external piece of intelligence IP X serves malware over HTTP This MD5 hash is malware Connections to 128.11.5.0/27 at port 42000 are malicious Analysis style: Ad-hoc, interactive, several refinements/adaptions Typical operations Filter: project, select Aggregate: mean, sum, quantile, min/max, histogram, top-k, unique Concrete starting point, then widen scope (bottom-up) 9 / 23

Use Case #2: Network Troubleshooting Goal: find root cause of component failure Often no specific hint, merely symptomatic feedback I can t access my Gmail Typical operations Zoom: slice activity at different granularities Time: seconds, minutes, days,... Space: layer 2/3/4/7, host, subnet, port, URL,... Study time series data of activity aggregates Find abnormal activity Today we see 20% less outbound DNS compared to yesterday Infer dependency graphs: use joint behavior from past to asses present impact [KMV + 09] Judicious machine learning [SP10] No concrete starting point, narrow scope (top-down) 10 / 23

Use Case #3: Combating Insider Abuse Goal: uncover policy violations of personnel Analysis procedure: connect the dots Insider attack: Chain of authorized actions, hard to detect individually E.g., data exfiltration 1. User logs in to internal machine 2. Copies sensitive document to local machine 3. Sends document to third party via email Typical operations Compare activity profiles Jon never logs in to our backup machine at 3am Seth accessed 10x more files on our servers today Relate temporally distant events, behavior-based detection 11 / 23

Outline 1. The Bro Difference 2. Abstract Use Cases 3. From Post-Facto to Real-Time Analysis 12 / 23

Example #1: Kaminsky Attack 1. Issue: vulnerable resolvers do not randomize DNS source ports 2. Identify relevant data: DNS, resolver address, UDP source port 3. Jot down your analysis ideas: For each resolver, no connection should reuse the same source port For each resolver, connections should use random source ports 4. Express analysis: Count the number of unique source ports per resolver 5. Use your toolbox: bro-cut id.resp_p id.orig_h id.orig_p < dns.log \ awk $1 == 53 { print $2, $3 } \ # Basic DNS only sort uniq -d \ # Duplicate source ports awk { print $1 } uniq # Extract unique hosts 6. Know your limitations: No measure of PRNG quality (Diehard tests, Martin-Löf randomness) Port reuse occurs eventually false positives 7. Close the loop: write a Bro script that does the same 13 / 23

Kaminsky Attack Detector Example #1: Kaminsky Attack const local_resolvers = { 7.7.7.7, 7.7.7.8 } global ports: table[addr] of set[port] &create_expire=1hr; event dns_request(c: connection,...) { local resolver = c$id$orig_h; if ( resolver!in local_resolvers ) return; local src_port = c$id$orig_p; if ( src_port!in ports[resolver] ) { add ports[resolver][src_port]: return; } NOTICE(...); } 14 / 23

Example #2: NUL-byte in Certificate 1. Issue: paypal.com\0.attacker.com paypal.com Bug manifests only on client side, not during certificate registration 2. Identify relevant data: common name (CN) field 3. Jot down analysis ideas: ASN.1-encoded certificates should not contain non-ascii characters 4. Express analysis: Look for \0 in CN Look for non-ascii chars in CN 5. Use your toolbox: bro-cut subject uid < ssl.log \ awk -f cn.awk { cn = extract_cn($1); \ if (cn ~ /\x00/) print $2 } 6. Know your limitations Clients may already be patched user agent, software.bro MITM occurs downstream of monitor 7. Close the loop: write a Bro script that does the same 15 / 23

Example #2: NUL-byte in Certificate Detect NUL-byte in CN event x509_certificate(c: connection, cert: X509, is_server: bool, chain_idx: count, chain_len: count, der_cert: string) { local cn = ""; local s = split(cert$subject, /,/); # looks like "k1=v1,k2=v2,..." for ( i in s ) { local kv = split(s[i], /=/); if ( kv[1] == "CN" ) { cn = kv[2]; break; } } if ( /\x00/ in cn ) NOTICE(...); } 16 / 23

Example #2: NUL-byte in Certificate 8. Think beyond: What about other CN weirdness? Mismatching wildcard and SNI? Mismatching server_name and wildcarded CN suffix bro-cut uid server_name subject < ssl.log awk -f cn.awk '{ \ cn = extract_cn($3); \ if (cn == "" $2 == "-") \ next; \ \ wildcard = index(cn, "*"); \ if (wildcard > 0) \ { \ suffix = substr(cn, wildcard + 2, length(cn) - wildcard - 1); \ if (index($2, suffix) > 0) \ next; \ } \ else if ($2 == cn) \ next; \ \ print $1, $2, cn; \ }' 17 / 23

Example #3: Duqu Detector 1. Issue: APT 2. Identify relevant data network behavior I HTTPS exchange (WinHTTP) II HTTP GET request with PHPSESSIONID cookie 54x54 white GIF III HTTP POST upload default.jpg 200 OK Also peer-to-peer C&C SMB if external C&C not reachable 3. Jot down analysis ideas: Follow the behavior defined by the protocol FSM 4. Toolbox: direct use of Bro 5. Know your limitations APT is highly adaptive hard to describe 18 / 23

duqu.bro Example #3: Duqu Detector module HTTP; export { redef enum Notice::Type += { Potential_Duqu_Infection }; redef record Info += { cookie: string &optional; content_type: string &optional; }; type DuquState: enum { ## The Duqu FSM. GIF_REQUEST, GIF_REPLY, JPEG_REQUEST, JPEG_REPLY }; } global duqus: table[addr] of DuquState; ## Duqu-infected hosts. 19 / 23

event http_reply(c: connection, version: string, code: count,...) { if ( c$id$orig_h in duqus && duqus[c$id$orig_h] == GIF_REQUEST && version == "HTTP/1.1" && code == 200 && c$http$content_type == "image/gif" ) { duqus[c$id$orig_h] = GIF_REPLY; NOTICE([$note=Potential_Duqu_Infection,...]); } } 20 / 23 duqu.bro Example #3: Duqu Detector event http_request(c: connection, method: string, unescaped_uri: string,...) { if ( method == "GET" && /^PHPSESSIONID=[[:alnum]]+$/ in c$http$cookie && /([0-9]+){3}\.[0-9]/ in c$http$host && unescaped_uri == "/" ) duqus[c$id$orig_h] = GIF_REQUEST; #... }

Questions? 21 / 23

Next: You Try, We Assist! 12-1pm Lunch (please read the exercise background story) 1-2pm: Exercise Intelligence-Based Incident Response 2-2:50pm: Guest Talk Bro@LBL: Operational Insights (Aashish Sharma & Jim Mellander) 3:10-4pm: Exercise Advanced HTTP Traffic Analysis 4:10-4:35pm: Guest Talk Analyzing and Visualizing Bro Logs with Splunk (Justin Azoff) 22 / 23

References I Srikanth Kandula, Ratul Mahajan, Patrick Verkaik, Sharad Agarwal, Jitendra Padhye, and Paramvir Bahl. Detailed Diagnosis in Enterprise Networks. In Proceedings of the ACM SIGCOMM 2009 Conference on Data Communication, SIGCOMM 09, pages 243 254, New York, NY, USA, 2009. ACM. Robin Sommer and Vern Paxson. Outside the Closed World: On Using Machine Learning for Network Intrusion Detection. In Proceedings of the 2010 IEEE Symposium on Security and Privacy, SP 10, pages 305 316, Washington, DC, USA, 2010. IEEE Computer Society. 23 / 23