intrusion detection systems funktionsweise, probleme und lösungsversuche

30
Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Upload: raginwald-stimpert

Post on 06-Apr-2015

111 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection Systems

Funktionsweise, Probleme und Lösungsversuche

Page 2: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection Systems

IP-Netzwerke, Paketformate und Kommunikationsablauf

Netzwerkangriffe, verfolgte Ziele und Angriffspunkte

Intrusion Detection Methodik

Probleme

Lösungsversuche

Reale Systeme - Der Versuch eines Vergleichstests

Literaturhinweise

Page 3: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-NetzwerkeIP-Paketheaderformat

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32Version IHL Servicetypen PaketlängeIdentifikation DF MF FragmentoffsetLebenszeit (TTL) Transportprotokollnr KopfprüfsummeIP SenderadresseIP ZieladresseOptionen Füllzeichen

IHL: Internet Header Length: Headerlänge in 32bit-WortenDF: Don´t fragmentMF: More fragments

Page 4: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-NetzwerkeTCP & UDP Paketheaderformat

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

Sende Port Ziel Port

Sequenznummer

Acknowledgement-Nummer

Daten U A P R S F- Reserviert R C S S Y I Window

Offset G K H T N N

Checksumme Urgent Pointer

Options Padding

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32Quell Port Ziel PortLänge Checksumme

TCP:

UDP:

Page 5: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Netzwerkangriffeverfolgte Ziele

Datenzugriff

Dienstzugriff

Sabotage

Page 6: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

NetzwerkangriffeAngriffspunkte des Netzsystems Dienstzugriff:

in der Regel verbindungsorientierte Dienste

Datenzugriff: ebenso

Sabotage - Diverse Ansätze: Daten- oder Dienstzugriff s.o. Flooding „ping of death“ und ähnliche

Page 7: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsMethodik

Rekonstruktion der Netzwerkdaten

Mustersuche in den rekonstruierten Daten

Auslösung des Alarms

Aufzeichnung des Netzverkehrs

ggf. Aktivierung von Gegenmaßnahmen

Page 8: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsSystemstruktur - Datenfluß

Page 9: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsProblembereiche

Qualitätsmerkmale Vollständigkeit

Genauigkeit

Rekonstruktion des Netzverkehrs?

Ziele des Gegenmaßnahmen?

Page 10: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsRekonstruktionsprobleme I Verbindungsbeginn:

Beginn vor Start des IDS Vollständigkeit des Handshakes

Verbindungsinhalt Overlapping Fragments Mehrfache Pakete

Verbindungsende Korrektheit des Endes

Allgemein Checksummenfehler Sequenznummernfehler

Page 11: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsTCP-Handshakes Verbindungsaufbau:

System A sendet SYN-Paket mit SEQ-Nummer X und ACK-Nummer Y an System B

System B sendet SYN-Paket mit SEQ-Nummer Y und ACK-Nummer X+1 an System A

System A sendet ACK-Paket mit SEQ-Nummer X+1 und ACK-Nummer Y+1 an System B

Verbindungsabbau I: Wie Verbindungsaufbau, aber mit FIN- statt mit SYN-Paketen.

Das erste FIN-Paket muß eine passende ACK-Nummer haben. Verbindungsabbau II:

Das beendende System sendet ein RST-Paket mit passender ACK-Nummer an das andere System. Keine Bestätigung.

Page 12: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-Fragmentierung

IP-Paketfragmentierung, wenn Ursprungspaket zu groß für nächsten Transportabschnitt

Beispiele für maximale Paketgrößen inkl. Header: Ethernet: 1506Byte X.25: 1024Byte ARCNet: <512Byte

Zeitlich ungeordnetes Eintreffen der Fragmente bzw. Pakete möglich

Page 13: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-FragmentierungNicht-pathologische Fragmentierung I

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 6[7 8 9 ]

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 14: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-FragmentierungNicht-pathologische Fragmentierung II

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 6[7 8 9 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 ]

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 15: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-FragmentierungForward Overlapping Fragments

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 6[7 8 9 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 0 ]

IP -F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 {7 0 }8 9 ]

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 16: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-FragmentierungReverse Overlapping Fragments

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 5[0 7 8 9 ]

IP -F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 {6 0 }7 8 9 ]

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 17: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-FragmentierungExtra Fragments

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 ]

IP -F rag m en t 3M F : 0

D ata O ffse t: 9[0 1 2 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 6[7 8 9 ]

IP -F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]![0 1 2 ]?

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 18: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IP-FragmentierungDoubled Fragments

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 ]

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[0 0 0 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 6[7 8 9 ]

IP -F rag m en t 0M F : 0

D ata O ffse t: 0([1 2 3 ]|[0 0 0 ])[4 5 6 7 8 9 ]

IP -P aket/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 19: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsRekonstruktionsprobleme II

Die Rekonstruktionsprobleme lassen sich in zwei Varianten der Angriffsvertuschung zusammenfassen:

Insertion:Das IDS sieht mehr Daten als das angegriffene System

Evasion:Das IDS sieht weniger Daten als das angegriffene System

Page 20: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IDS: Insertion/Deletion Beispiel: IP-Headerfehler / Double Fragments

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 2 Z ZM F : 0

D ata O ffse t: 6[7 8 9 0 1 2 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 6[7 8 9 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 ]

IP -F rag m en t 0M F : 0

D ata O ffse t. 0[1 2 3 4 5 6 7 8 9 ][0 1 2 ]?

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 21: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IDS: Insertion/Deletion Beispiel: IP-Headerfehler / Early MF0

IP -F rag m en t 0M F : 1

D ata O ffse t: 0[1 2 3 ]

IP -F rag m en t 1 Z ZM F : 0

D ata O ffse t: 3[4 5 6 ]

IP -F rag m en t 2M F : 0

D ata O ffse t: 6[7 8 9 ]

IP -F rag m en t 1M F : 1

D ata O ffse t: 3[4 5 6 ]

IP -F rag m en t 0M F : 0

D ata O ffse t. 0[1 2 3 4 5 6 ][7 8 9 ]?

IP -P ake t/F rag m en t 0M F : 0

D ata O ffse t: 0[1 2 3 4 5 6 7 8 9 ]

Page 22: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IDS: Insertion/Deletion Beispiel: TCP-Sequenzfehler

TC P -S tream Te il 1 :[1 2 3 ]

TC P -P aketS E Q 1 1A C K 2

[]

TC P -P aketS E Q 1

A C K 1 1[1 2 3 ]

TC P -S tream Te il 2 :[4 5 6 ]

TC P -P aketS E Q 1 2A C K 3

[]

TC P -P aketS E Q 2

A C K 1 2[4 5 6 ]

TC P -S tream Te il X[0 0 0 ]

TC P -P aketS E Q 2 2A C K 3 2

[0 0 0 ]

TC P -S tream Te il 3[7 8 9 ]

TC P -P aketS E Q 1 3A C K 4

[]

TC P -P aketS E Q 3

A C K 1 3[7 8 9 ]

TC P -S tream :[1 2 3 ][4 5 6 ][7 8 9 ]

Page 23: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

IDS: Insertion/DeletionBeispiel: TCP-Handshakefehler

TC P -P aket (S Y N + A C K )S E Q 1 0A C K 2

[]

TC P -P aket (S Y N )S E Q 1

A C K 1 0[]

TC P -P aket[1 2 3 ]

TC P -P aket (A C K )S E Q 1 1A C K 3

[]

TC P -P aket (A C K )S E Q 2

A C K 1 1[1 2 3 ]

u n g ü lt ig e r (? ) Teard own

(V erb in d u n g sen d e? )

TC P -P aket (R S T)S E Q 5 0A C K 1 2

[]

TC P -P aket[4 5 6 ]

TC P -P aket (A C K )S E Q 1 2A C K 4

[]

TC P -P aketS E Q 3

A C K 1 2[4 5 6 ]

TC P -S eq u en z :[1 2 3 ][4 5 6 ]

Page 24: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsLösungsversuche - Rekonstruktion Check them all - Strategie

Problem: Rechenaufwand Problem: Speicherbedarf

Check known - Strategie Problem: Genaues Zielsystemverhalten muß bekannt sein.

Score them - Strategie Problem: „Weiche“ Definition

Trade-Offs:Speicher CPU Komplettheit Genauigkeit

Check All ++ ++ ++ --Check Known + + + ++Score them - + + -

Page 25: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsZiele der Gegenmaßnahmen Kappen bestehender Verbindungen

Verhinderung zukünftiger Verbindungen komplette Blockade bestimmter IP-Subnetze

Blockade bestimmter IP-Nummern

Blockade bestimmter Dienste/Ports

Blockade bestimmter Ports von bestimmten IP-Nummern

Deaktivierung einzelner Dienste

Page 26: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

GegenmaßnahmenProbleme - Lösungen? Ermittlung des Ursprungssystems

Lokales System? Ist die Ermittlung sicher?

Ermittlung des Zielsystems Existiert das Zielsystem? Wird es von den Angriffen erreicht?

Auswahl der Gegenmaßnahmen Trifft die Gegenmaßnahme nur das Ursprungssystem? Behindert die Gegenmaßnahme den regulären Betrieb?

Page 27: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsDer Versuch eines VergleichstestsTest Erwartung RealSecure NetRanger SessionWall 3 Network Flight RecorderFragmentation + - - - -TCP 1 - + ? + +TCP 2 + + + - -TCP 6 - - + + +TCBC 3 + - - + +Evade 1 + + - - +

False Negative False Positive Correct

Dies ist nur eine Auswahl aus den Tests. Die vollständigen Tests siehe [1] oder http://www.incase.de/ueberblick.html

Page 28: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsNicht behandelte Themen Denial of Service - Attacks (größtenteils)

Aus Sicht des Angreifers leichter durchzuführen Aus Sicht des IDS ist der Ursprung meist schwerer zu erkennen

Angriffe aus dem lokalen Netz Für den Angreifer meist wesentlich schwerer zu erreichen Aus Sicht des IDS häufig leichter zu erkennen (Ethernet HW

Addresses)

externe Problemumgehung - nur Angriffe aus externem Netz IP Fragment - Reassemblierung im Firewall TCP - Reordering im Firewall

Page 29: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsLiteraturhinweise I "Insertion, Evasion, and Denial of Service: Eluding Network Intrusion

Detection",http://www.nai.com/services/support/whitepapers/security/IDSpaper.pdf, Thomas H. Ptacek ([email protected]) & Timothy N Newsham ([email protected]), Secure Networks Inc., 1/1998 [1]

"INTERNET PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION", RFC 791, "Information Sciences Institute, University of Southern California, 4676 Admiralty Way, Marina del Rey, California 90291", 9/1981 [2]

"TRANSMISSION CONTROL PROTOCOL DARPA INTERNET PROGRAM PROTOCOL SPECIFICATION", RFC 793, "Information Sciences Institute, University of Southern California, 4676 Admiralty Way, Marina del Rey, California 90291", 9-1981 [3]

Page 30: Intrusion Detection Systems Funktionsweise, Probleme und Lösungsversuche

Intrusion Detection SystemsLiteraturhinweise II "INTERNET CONTROL MESSAGE PROTOCOL", RFC 792, J.

Postel, 9/1981 [4] "USER DATAGRAM PROTOCOL", RFC 768, J.Postel, 8/1980 [5] "ASSIGNED NUMBERS", RFC 1700, J. Reynolds & J. Postel,

10/1994 [6] "TCP/IP and IP Addressing",

http://www.rware.demon.co.uk/ipadd.htm, Rhys Haden, 1998 [7] "Security White Papers",

"http://www.nai.com/services/support/whitepapers/security/", Network Associates [8]