Incident Detection: MacGyver Style Ben Jackson, Mayhemic Labs SOURCEBoston April 18th, 2012 Agenda Improving the Kill Chain Moving on from Prevention Finding Data in Unexpected Places Canaries, Claymores, and Labyrinths Simple Anomaly Detection Thoughts expressed here are neither the opinions or beliefs of my employer. Kill Chain The “Kill Chain” Developed by the United States Air Force to describe the concept of target identification, force dispatch to target, decision and order to attack the target, and finally the destruction of the target. Kill Chain Find – Locate the Target Fix – Identify the Target Track – Watch the Target Target - Determine Strategy Engage – Eliminate the Target Assess – Determine if it worked Things that we’re good at… Find Fix Track Target Engage Assess Things that we’re not good at… Find Fix Track Target Engage Assess Prevention is a dirty word Stop focusing on prevention Right now, your environment is getting attacked with malware made earlier today Plus, it hasn’t even been submitted to your AV vendor You aren’t going to prevent that Prevention should be part of your strategy, and not your strategy itself How bad are we? Verizon DBIR sums it up 92% of all data breach incidents were discovered by a third party 85% of all breaches took three or more weeks to discover Both of these figures were up 6% from last year Let’s face it, we’re doing it wrong How can we improve? Lots of excuses: “I don’t have tools” “I don’t have manpower” “I don’t have a budget” “It’s too difficult” Go cry, emo CISO Solution TRY HARDER I know what you’re thinking… But hear me out! Detection is the new black Accept you are going to get compromised Liberating, isn’t it? Let’s work on rapidly detecting compromises when they happen Let’s do it MacGyver Style! Watched far too much MacGyver in my formative years When faced with an impossible task: Take stock of your tools Analyze Work the problem Improvise Be sure to carry a swiss army knife Or in my case, multi-tool Data: It’s freaking everywhere Some background In my previous life, I was a developer in public health statistics “Diet Bioinformatics” Firm believer in thinking by the numbers With enough data, you can rule the world I, for one, welcome our new Google overlords Data: It’s freaking everywhere Data is in places that you wouldn’t expect Your network keeps information just to run smoothly Let’s use that data to find abnormal behavior Case Study Wayback Machine set for March 2010 Problem: Difficult to use blacklists to check traffic to malware sites Firewall logs available, but far too many sites to check Equivalent to trying to identify needles in a very large haystack. Plus, some of the needles may not actually be there. Budget limited tools available… Time to get ingenious! A Quick DNS Tutorial A Quick DNS Tutorial Solution: DNS Scraping Didn’t care about the sites users weren’t visiting Only cared about ones they were visiting Figured by leveraging blacklists and non recursive DNS lookups, it could be determined what sites other hosts were querying How DNS Scraping Works How DNS Scraping Works How DNS Scraping Works Phase 3: Profit! If someone was querying a blacklisted site, further research was required The number of sites that needed to be searched was cut down from 2000+ to 5 or less This was awesome Mostly because I’m lazy It’s far from perfect DNS records with extremely low time to live (TTL) values give us a very small window to locate them Fast flux can be as low as 5 seconds Number of queries can total to over 10000 More DNS servers? More queries But, better then nothing! This statement is false! Everyone gets annoyed at false positives Anti Malware Software Intrusion Prevention Systems Everyone should be worried about false negatives What’s happening in your network that isn’t being detected? More importantly, how do we detect it? Old and busted: Honeypots Honeypots are great They provide great information for researchers Honeypots also are bad Lots of risk, little reward They’re a time suck to maintain Thankfully, you never needed to worry about patching them New Hotness: Canaries Somewhat like honeypots Well monitored Extremely permissive No one should be using them Only not… Fully patched Not designed to be compromised Not externally facing The best of both worlds Give you an early warning for scans within the environment Fully patched and managed, so less likely to get compromised Unless someone drops some 0 day Permissive and monitored, so if someone pokes at it, you know Canaries aren’t just computers Pen Testers <3 Rogue APs OK, let’s give an attacker a rogue AP Unencrypted Default SSID Merrily handing out DHCP addresses Log everything claymore.py Runs on a computer set up to broadcast as a rogue AP Upon handing out a DHCP address, runs a port scan on the client computer Generates an alert message and mails it along with the scan to an email address. When the trap is sprung… What good does it do? Primarily captures two kinds of people Bad Actors “Curious” Users Either way, folks you would want to know are trying to poke around This can provide as little or as much access at you want Do ye seek a grail? Anomaly detection is the holy grail of analysts Also incredibly hard to do What is “normal” for your network? More importantly, are we sure what this is normal is actually normal? Are we owned already? Do ye seek a grail? Maybe not… Works great on paper My SQL Server should only be doing SQL Server-y things However, not to much in practice Wait, why is that SQL server FTPing out to Sweden? Oh… Anti-Virus update… Or worse, it’s using a CDN to grab software updates Let’s adjust the goalposts However, let’s try to apply this to other areas Where does your user base surf to on an average day? Both work related and non-work related Does it really change that much? People like routines The good, the bad, and the… Err… The stuff we know is good The stuff we know is bad Devious Deviations Deviations from the baseline will give “interesting” stuff The “Good” Legitimate traffic (Shopping, Research, etc) The “Bad” Exploit Kits, Crimeware, BlackHat SEO The “Ugly” Errr… “Not work safe” material Why reinvent the wheel? Marcus Ranum created “NBS” in 2003 “Never Before Seen” Simple tool that implements something that we’re still trying to get done correctly today “If we’ve never seen it before, by definition… it’s an anomaly” Seen it before? No? Log it. Network NBS Let’s apply that to network events Has that event happened before? No? Log it! Analysis is left to be done by the analyst Only you will know what is normal for your network Oko Simple framework to detect “never before seen” network events Currently processes firewall and DHCP events Next up: Proxy and DNS Something we haven’t seen? Alert to syslog Named after the Soviet ICBM early warning system Some shortcomings Doesn’t provide any context You’re on your own, bub Lights up like a Christmas tree for abnormal, but authorized activity New server? PANIC! All the data extraction from logs is left to you Handles JSON via ZeroMQ In summary… There are lots of bits out there on your network, harness them to your advantage Use these techniques in your own environment Remember, when faced with an impossible task, inventory your tools… And ask yourself… Questions? Ur Feedback, I haz it? http://www.surveymonkey.com/sourceboston12 Contact Info Ben Jackson e-Mail: bbj@mayhemiclabs.com Twitter: @innismir Web/Code: http://mayhemiclabs.com