Backtracking Algorithmic Complexity Attacks Against a NIDS

Slides:



Advertisements
Similar presentations
Snort: Overview Chris Copeland What is an Intrusion Detection System (IDS)? An intrusion detection system is any system which can identify a network.
Advertisements

By Hiranmayi Pai Neeraj Jain
Conditional Entropy for Deception Analysis E. John Custy Neil C. Rowe Center for Information Security Research U.S. Naval Postgraduate School
Detecting Return-to-libc Buffer Overflow Attacks Using Network Intrusion Detection Systems Presented By: Ankush Jindal(2009CS50234) Jatin Kumar(2009CS50243)
Network Traffic Anomaly Detection Based on Packet Bytes Matthew V. Mahoney Florida Institute of Technology
1 Reading Log Files. 2 Segment Format
Authored by: Rachit Rastogi Computer Science & Engineering Deptt., College of Technology, G.B.P.U.A. & T., Pantnagar.
Polymorphic blending attacks Prahlad Fogla et al USENIX 2006 Presented By Himanshu Pagey.
Network Intrusion Detection Systems Presented by Keith Elliott.
Snort Roy INSA Lab.. Outline What is “ Snort ” ? Working modes How to write snort rules ? Snort plug-ins It ’ s show time.
Snort - an network intrusion prevention and detection system Student: Yue Jiang Professor: Dr. Bojan Cukic CS665 class presentation.
5/1/2006Sireesha/IDS1 Intrusion Detection Systems (A preliminary study) Sireesha Dasaraju CS526 - Advanced Internet Systems UCCS.
Deterministic Memory- Efficient String Matching Algorithms for Intrusion Detection Nathan Tuck, Timothy Sherwood, Brad Calder, George Varghese Department.
IT Security Doug Brown Jeff Bollinger. What is security? P.H.P. People Have Problems Security is the mitigation and remediation of human error in information.
On the Difficulty of Scalably Detecting Network Attacks Kirill Levchenko with Ramamohan Paturi and George Varghese.
© 2012 IBM Corporation IBM Security Systems 1 © 2014 IBM Corporation IBM Security Network Protection (XGS) Advanced Threat Protection Integration Framework.
Internet Quarantine: Requirements for Containing Self-Propagating Code David Moore et. al. University of California, San Diego.
Testing Intrusion Detection Systems: A Critic for the 1998 and 1999 DARPA Intrusion Detection System Evaluations as Performed by Lincoln Laboratory By.
Intrusion Prevention System Group 6 Mu-Hsin Wei Renaud Moussounda Group 6 Mu-Hsin Wei Renaud Moussounda.
Automatic Generation and Analysis of NIDS Attacks Shai Rubin Somesh Jha Barton P. Miller University of Wisconsin, Madison.
Network Intrusion Detection Systems Slides by: MM Clements A Adekunle The University of Greenwich.
1 The Good, The Bad and the Ugly: Network Performance in Malicious Environment Udi Ben-Porat ETH Zurich, Switzerland Anat Bremler-Barr IDC Herzliya, Israel.
Penetration Testing Security Analysis and Advanced Tools: Snort.
A Statistical Anomaly Detection Technique based on Three Different Network Features Yuji Waizumi Tohoku Univ.
Network Flow-Based Anomaly Detection of DDoS Attacks Vassilis Chatzigiannakis National Technical University of Athens, Greece TNC.
Snort The Lightweight Intrusion Detection System.
ECE4112 Lab 7: Honeypots and Network Monitoring and Forensics Group 13 + Group 14 Allen Brewer Jiayue (Simon) Chen Daniel Chu Chinmay Patel.
Intrusion Detection and Prevention. Objectives ● Purpose of IDS's ● Function of IDS's in a secure network design ● Install and use an IDS ● Customize.
COEN 252: Computer Forensics Network Analysis and Intrusion Detection with Snort.
A Virtual Honeypot Framework Author: Niels Provos Published in: CITI Report 03-1 Presenter: Tao Li.
The Internet Motion Sensor: A Distributed Blackhole Monitoring System Presented By: Arun Krishnamurthy Authors: Michael Bailey, Evan Cooke, Farnam Jahanian,
CSCI 530 Lab Intrusion Detection Systems IDS. A collection of techniques and methodologies used to monitor suspicious activities both at the network and.
1 CHAPTER 3 CLASSES OF ATTACK. 2 Denial of Service (DoS) Takes place when availability to resource is intentionally blocked or degraded Takes place when.
Breno de MedeirosFlorida State University Fall 2005 Network Intrusion Detection Systems Beyond packet filtering.
A VIRTUAL HONEYPOT FRAMEWORK Author : Niels Provos Publication: Usenix Security Symposium Presenter: Hiral Chhaya for CAP6103.
IEEE Communications Surveys & Tutorials 1st Quarter 2008.
1 Topic 2: Lesson 3 Intro to Firewalls Summary. 2 Basic questions What is a firewall? What is a firewall? What can a firewall do? What can a firewall.
SNORT Biopsy: A Forensic Analysis on Intrusion Detection System By Asif Syed Chowdhury.
An Intrusion Detection System to Monitor Traffic Through the CS Department Christy Jackson, Rick Rossano, & Meredith Whibley April 24, 2000.
Intrusion Detection System (IDS) Basics LTJG Lemuel S. Lawrence Presentation for IS Sept 2004.
Open-Eye Georgios Androulidakis National Technical University of Athens.
BY SYDNEY FERNANDES T.E COMP ROLL NO: INTRODUCTION Networks are used as a medium inorder to exchange data packets between the server and clients.
COEN 252: Computer Forensics Network Analysis and Intrusion Detection with Snort.
Intrusion Detection Systems Paper written detailing importance of audit data in detecting misuse + user behavior 1984-SRI int’l develop method of.
FORESEC Academy FORESEC Academy Security Essentials (III)
Automated Worm Fingerprinting Authors: Sumeet Singh, Cristian Estan, George Varghese and Stefan Savage Publish: OSDI'04. Presenter: YanYan Wang.
I NTRUSION P REVENTION S YSTEM (IPS). O UTLINE Introduction Objectives IPS’s Detection methods Classifications IPS vs. IDS IPS vs. Firewall.
Firewalls A brief introduction to firewalls. What does a Firewall do? Firewalls are essential tools in managing and controlling network traffic Firewalls.
Machine Learning for Network Anomaly Detection Matt Mahoney.
Role Of Network IDS in Network Perimeter Defense.
Network Intrusion Detection System (NIDS)
IDS Intrusion Detection Systems CERT definition: A combination of hardware and software that monitors and collects system and network information and analyzes.
@Yuan Xue CS 285 Network Security Fall 2012 Yuan Xue.
Firewalls. Overview of Firewalls As the name implies, a firewall acts to provide secured access between two networks A firewall may be implemented as.
Final Project: Advanced Security Blade IPS and DLP blades.
An Introduction To Gateway Intrusion Detection Systems Hogwash GIDS Jed Haile Nitro Data Systems.
Common System Exploits Tom Chothia Computer Security, Lecture 17.
Final Project: Advanced security blade
IDS Intrusion Detection Systems
Snort – IDS / IPS.
Internet Quarantine: Requirements for Containing Self-Propagating Code
Firewall – Survey Purpose of a Firewall Characteristic of a firewall
Introduction to Networking
Intrusion Detection Systems (IDS)
RealProct: Reliable Protocol Conformance Testing with Real Nodes for Wireless Sensor Networks Junjie Xiong
Speculative Parallel Pattern Matching
Red Team Exercise Part 3 Week 4
Get rid of the ambiguities in the traffic stream
Transport Layer Identification of P2P Traffic
Intrusion Detection Systems
Presentation transcript:

Backtracking Algorithmic Complexity Attacks Against a NIDS Randy Smith, Cristian Estan, Somesh Jha University of Wisconsin–Madison

Algorithmic Complexity Attacks Vulnerable algorithm: algorithm whose worst case differs from typical case. The larger the difference, the more vulnerable the algorithm. Examples: Algorithm Average Worst Quicksort O(n log n) O(n2) Hash lookup constant O(n)

Algorithmic Complexity Attacks Algorithmic Complexity Attack – an attacker induces worst-case behavior in a vulnerable algorithm. Common observable effect is denial of service. Crosby and Wallach: induced worst-case behavior in hash function implementations. “Algorithms are now part of the attack surface” (Crosby and Wallach, 2003)

Are NIDS vulnerable? NIDS and IPS are ubiquitous, but… Do they contain vulnerable algorithms? Can they be exploited? YES! Only need 1 packet every 3 seconds.

Evading a NIDS Attacker’s Goal: Evade NIDS Two attack vectors in an evasion attempt: 1st—alg. complexity attack targeting the NIDS 2nd—true attack targeting the network Effect of an algorithmic complexity attack: (NIDS) Packets enter network unexamined (fail-closed IPS) Packets are dropped

Main results In Snort, vulnerability in rule-matching worst-case vs. typical case: 6 orders of magnitude. “Backtracking Attack” Easily exploitable through packet payloads Improved rule-matching algorithm limits running time differences to within 1 order of magnitude.

Outline Snort rule matching Inducing backtracking attacks Countermeasures Measurement results Conclusion

Snort Rule Matching alert tcp $EXT_NET any -> $HOME_NET 99 content:”fmt=”; //P1 content:”player=”; //P3 content:”overflow”,relative; //P5 alert tcp $EXT_NET any -> $HOME_NET 99 (msg:”AudioPlayer jukebox exploit”; pcre:”/^(mp3|ogg)/”,relative; //P2 pcre:”/.exe|.com/”,relative; //P4 sid:5678)

Snort Rule Matching Rule matches! alert tcp $EXT_NET any -> $HOME_NET 99 (msg:”AudioPlayer jukebox exploit”; content:”fmt=”; //P1 pcre:”/^(mp3|ogg)/”,relative; //P2 content:”player=”; //P3 pcre:”/.exe|.com/”,relative; //P4 content:”overflow”,relative; //P5 sid:5678) Rule matches! fmt=acc player=default fmt=mp3 rate=14kbps player=cmd.exe?overflow#@!%

Matching the packet P1 alert tcp $EXT_NET any -> $HOME_NET 99 (msg:”AudioPlayer jukebox exploit”; content:”fmt=”; //P1 P3 pcre:”/^(mp3|ogg)/”,relative; //P2 content:”player=”; //P3 pcre:”/.exe|.com/”,relative; //P4 P4 content:”overflow”,relative; //P5 sid:5678) P5 Rule matches! fmt=acc player=default fmt=mp3 rate=14kbps player=cmd.exe?overflow#@!%

Inducing Backtracking attacks P1,P2,P3,P4 match in 3 positions each P5 never matches alert tcp $EXT_NET any -> $HOME_NET 99 (msg:”ReelAudio jukebox exploit”; content:”fmt=”; //P1 pcre:”/^(mp3|ogg)/”,relative; //P2 content:”player=”; //P3 pcre:”/.exe|.com/”,relative; //P4 content:”overflow”,relative; //P5 sid:5678) Leads to excessive packet traversals! fmt=mp3fmt=mp3fmt=mp3player=player=player=.exe.exe.exe fmt=acc player=default fmt=mp3 rate=14kbps player=cmd.exe?overflow#@!%

Matching the malicious packet alert tcp $EXT_NET any -> $HOME_NET 99 (msg:”AudioPlayer jukebox exploit”; content:”fmt=”; //P1 pcre:”/^(mp3|ogg)/”,relative; //P2 content:”player=”; //P3 pcre:”/.exe|.com/”,relative; //P4 content:”overflow”,relative; //P5 sid:5678) P2 P3 P4 P4 P5 P4 P5 P5 P5 P5 P5 P5 fmt=mp3fmt=mp3fmt=mp3player=player=player=.exe.exe.exe

Are real rules vulnerable? Rule number Processing (s/GB) Slowdown Same proto All traffic 3682 (SMTP) 30,933,874 232,936X 1,501,644X 2611 (Oracle) 6,220,768 56,296X 301,979X 1382 (IRC) 1,956,858 134,031X 94,993X 2403 (NetBIOS) 357,777 490X 17,368X 1755 (IMAP) 89,181 444X 4,329X

Safer backtracking Memoization: maintain a table of subproblem “answers”; never evaluate a predicate twice at the same starting payload offset alert tcp $EXT_NET any -> $HOME_NET 99 (msg:”AudioPlayer jukebox exploit”; content:”fmt=”; //P1 pcre:”/^(mp3|ogg)/”,relative; //P2 content:”player=”; //P3 pcre:”/.exe|.com/”,relative; //P4 content:”overflow”,relative; //P5 sid:5678) Identify constrained predicate sequences Monotone memoization: don’t re-evaluate monotone predicates that have been evaluated at lower offsets

Reductions in processing cost 4 11 18 P5 P4 P2 P3 P5 P4 P2 P3 P2 7 14 21 P3 28 35 42 P4 P4 P4 46 50 54 P5 P5 P5 P5 P5 P5 P5 P5 P5 fmt=mp3fmt=mp3fmt=mp3player=player=player=.exe.exe.exe

Outline Snort rule matching Inducing backtracking attacks Protecting against backtracking attacks Measurement results Conclusion

Slowdown factor w.r.t. same protocol Measurement results Rule number Slowdown factor w.r.t. same protocol Before w/ Memo+ 3682 (SMTP) 232,936X 0.95X 2611 (Oracle) 56,296X 1.57X 1382 (IRC) 134,031X 6.00X 2403 (NetBIOS) 490X 0.17X 1755 (IMAP) 444X 0.46X

Live experiment topology Background Traffic AC Attack True Attack

Live experiment Background Traffic @ 10Mbps AC Attack Targets Snort SMTP rule 3682 Directed at sendmail server True Attack: NIMDA 300 exploit attempts, sent 1 byte per second. New exploit started every second.

Live experiment results Attack Description Exploits Detected Required Rate (kbps) Control (No attack) 300/300 -- 2 packets every 60 s. 220/300 0.4 1 packet every 5 s. 4/300 2.4 1 packet every 3 s. 0/300 4.0 20 packets initially 0.8

Conclusions NIDS operation is complex. Many opportunities for vulnerable algorithms. In Snort, rule-matching is vulnerable and can be exploited by an attacker. Memoization, along with other semantics-preserving operations, significantly reduces vulnerability. Other vulnerable algoritms exist.

Backtracking Algorithmic Complexity Attacks Against a NIDS Thank you.