Entwurf und Implementierung von Regelstufen für eine

Werbung
Bachelor-Arbeit
Entwurf und Implementierung von
Regelstufen für eine
Hardwarefirewall
Vladyslav Altman
23. September 2008
i
Inhaltsverzeichnis
Inhaltsverzeichnis
ii
Abkürzungsverzeichnis
iv
Abbildungsverzeichnis
iv
Tabellenverzeichnis
v
Aufgabenstellung
vi
1. Einleitung
1.1. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2. Aufbau der Arbeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
1
1
2. Stand der Technik
2.1. Grundlagen . . . . . . . . . . . . . .
2.2. Netzwerksicherheit . . . . . . . . . .
2.3. Firewall . . . . . . . . . . . . . . . .
2.4. Firewalltypen . . . . . . . . . . . . .
2.4.1. Paketfilter . . . . . . . . . . .
2.4.2. Stateful Packet Inspection . .
2.4.3. Application Layer Firewall . .
2.4.4. Network Address Translation
2.4.5. Weitere Funktionen . . . . . .
2.5. Intrusion Detection Systeme . . . . .
2.6. Anforderungen an moderne Firewalls
2.7. iptables/Netfilter . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
3
5
6
8
8
8
9
9
10
10
12
14
3. Regelstufen im Secure Access Node
3.1. Konzept . . . . . . . . . . . . . . . .
3.2. Modellrealisierung . . . . . . . . . . .
3.2.1. Aufbau der Regelstufen . . . .
3.2.2. Arbeitsweise einer Regelstufe
3.3. IP-Antispoofing Regelstufe . . . . . .
3.3.1. Funktionsweise . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
19
21
24
24
25
30
30
Inhaltsverzeichnis
3.3.2. Implementierung . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4. Source- und Destination-MAC Regelstufen . . . . . . . . . . . . . . . . .
3.5. Source- und Destination-IP Regelstufen . . . . . . . . . . . . . . . . . . .
4. Auswertung der Ergebnisse
ii
32
35
35
37
5. Diskussion
40
5.1. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Literaturverzeichnis
A. Anhang
I
II
iii
Abkürzungsverzeichnis
ARP . . . . . . . . . . . . . . . . . . . .
BRAS . . . . . . . . . . . . . . . . . .
DNS . . . . . . . . . . . . . . . . . . . .
DoS . . . . . . . . . . . . . . . . . . . . .
DSLAM . . . . . . . . . . . . . . . . .
FIFO . . . . . . . . . . . . . . . . . . .
FPGA . . . . . . . . . . . . . . . . . .
FSM . . . . . . . . . . . . . . . . . . . .
FTP . . . . . . . . . . . . . . . . . . . .
HIDS . . . . . . . . . . . . . . . . . . .
HTTP . . . . . . . . . . . . . . . . . .
IDS . . . . . . . . . . . . . . . . . . . . .
IP . . . . . . . . . . . . . . . . . . . . . .
ISP . . . . . . . . . . . . . . . . . . . . .
MAC . . . . . . . . . . . . . . . . . . .
MSRPC . . . . . . . . . . . . . . . . .
NAPT . . . . . . . . . . . . . . . . . .
NAT . . . . . . . . . . . . . . . . . . . .
NeRS . . . . . . . . . . . . . . . . . . .
NIDS . . . . . . . . . . . . . . . . . . .
OSI . . . . . . . . . . . . . . . . . . . . .
P2P . . . . . . . . . . . . . . . . . . . . .
POP . . . . . . . . . . . . . . . . . . . .
QoS . . . . . . . . . . . . . . . . . . . . .
RSM . . . . . . . . . . . . . . . . . . . .
SecAN . . . . . . . . . . . . . . . . . .
SMTP . . . . . . . . . . . . . . . . . .
SPoF . . . . . . . . . . . . . . . . . . .
SQL . . . . . . . . . . . . . . . . . . . .
TCP . . . . . . . . . . . . . . . . . . . .
TLV . . . . . . . . . . . . . . . . . . . .
URL . . . . . . . . . . . . . . . . . . . .
VLAN . . . . . . . . . . . . . . . . . .
VoIP . . . . . . . . . . . . . . . . . . . .
WL . . . . . . . . . . . . . . . . . . . . .
Address Resolution Protocol
Broadband Remote Access Server
Domain Name System
Denial of Service
Digital Subscriber Line Access Multiplexer
First In – First Out
Field Programmable Gate Array
FIFO State Machine
File Transfer Protocol
Host Intrusion Detection System
Hypertext Transfer Protocol
Intrusion Detection System
Internet Protocol
Internet Service Provider
Media Access Control
Microsoft Remote Procedure Call
Network Address Port Translation
Network Address Translation
Next Rule Set
Network Intrusion Detection System
Open Systems Interconnection
Peer-to-Peer
Post Office Protocol
Quality of Service
Read State Machine
Secure Access Node
Simple Mail Transfer Protocol
Single Point of Failure
Structured Query Language
Transmission Control Protocol
Type-Length-Value
Uniform Resource Locator
Virtual Local Area Network
Voice over IP
White List
iv
Abbildungsverzeichnis
2.1.
2.2.
2.3.
2.4.
2.5.
2.6.
2.7.
2.8.
2.9.
Ethernetframe nach IEEE 802.3 . . . . . . .
Internet Datagram Header . . . . . . . . . .
Firewall . . . . . . . . . . . . . . . . . . . .
NIDS leitet gesamten Netzwerkverkehr durch
NIDS erhält eine Kopie von Traffic . . . . .
Failoverbetrieb . . . . . . . . . . . . . . . .
Load Balancing . . . . . . . . . . . . . . . .
Aufbau von iptables . . . . . . . . . . . . . .
Durchlaufen der Regeln . . . . . . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
sich hindurch
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
4
7
11
12
13
14
15
16
3.1. Zugangsnetzwerk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2. Hardwarefirewall im Secure Access Node . . . . . . . . . . . . . . . . . .
3.3. Struktur der Konfigurationsdaten . . . . . . . . . . . . . . . . . . . . . .
3.4. Regelstufenflussdiagramm . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5. Regelstufenaufbau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6. Grundstruktur eines Rule Sets . . . . . . . . . . . . . . . . . . . . . . . .
3.7. Aufbau des Rule Set Headers . . . . . . . . . . . . . . . . . . . . . . . .
3.8. Struktur des Control-Feldes im Rule Set Header . . . . . . . . . . . . . .
3.9. Struktur einer Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10. Aufbau von Drop-Data . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11. Flussdiagramm der IP-Antispoofing Regelstufe . . . . . . . . . . . . . . .
3.12. Blockschaltbild der IP-Antispoofing Regelstufe . . . . . . . . . . . . . . .
3.13. Ruleaufbau der IP-Antispofing Regelstufe . . . . . . . . . . . . . . . . . .
3.14. Aufbau der Statistikdaten der IP-Antispoofing Regelstufe . . . . . . . . .
3.15. Aufbau der Rule bei der Source- und Destination-MAC Regelstufe . . . .
3.16. Aufbau von Drop-Data bei der Source- und Destination-MAC Regelstufe
3.17. Aufbau der Rule bei der Source- und Destination-IP Regelstufe . . . . . .
3.18. Aufbau von Drop-Data bei der Source- und Destination-IP Regelstufe . .
19
20
20
23
24
25
26
26
27
29
31
32
34
35
35
36
36
36
v
Tabellenverzeichnis
3.1. Werte für das Type-Feld der Konfigurationsframes . . . . . . . . . . . . .
3.2. Mögliche FlowID-Parameter für den Parser . . . . . . . . . . . . . . . . .
3.3. Dropidentifier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
21
29
4.1. Testfälle und Ergebnisse für die IP-Antispoofing Regelstufe . . . . . . . .
4.2. Taktfrequenzen und Ressourcenverbrauch der Regelstufen . . . . . . . . .
38
39
A.1.
A.2.
A.3.
A.4.
Testfälle
Testfälle
Testfälle
Testfälle
und
und
und
und
Ergebnisse
Ergebnisse
Ergebnisse
Ergebnisse
für
für
für
für
Source-MAC Regelstufe . . .
Destination-MAC Regelstufe
Source-IP Regelstufe . . . .
Destination-IP Regelstufe .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
. III
. IV
. V
. VI
Aufgabenstellung
Entwurf und Implementierung von Regelstufen für eine Hardwarefirewall
Seit mehreren Jahren steigt die Zahl der Internetbreitbandanschlüsse. Damit einhergehend erhöht sich das Datenvolumen und die Gefahr, von Viren-, Spam- und PhishingAttacken betroffen zu sein. Vielen Internetnutzern sind diese Gefahren bewusst. Mit einer
Vielzahl von Programmen ergreifen sie Präventionsmaßnahmen. Dazu gehören Virenscanner, Firewalls oder auch Intrusion Detection Systems (IDS). Die dabei zu erfüllenden
Konfigurationsaufgaben sind relativ komplex und führen bei Fehlkonfiguration zu einem
großen Gefahrenpotential. Vor diesem Hintergrund ist es vorteilhaft, grundlegende Sicherheitsfunktionen bereits im Zugangsbereich bereitzustellen, zu denen z.B. Paketfilter
gehören. Ein weit verbreitetes Linux-Werkzeug zur Paketfilterung und zum Schutz des
Nutzers ist iptables. Diese Software kann vom Nutzer eingesetzt werden, um vorkonfigurierte Regeln auf Datenframes anzuwenden und damit Bedrohungen zu detektieren und
Gegenmaßnahmen einzuleiten. Im Rahmen dieser Arbeit soll der Nutzer von Konfigurationsaufgaben entlastet bzw. das Netzwerk vor schädlichen Einflüssen bewahrt werden.
Die dazu notwendige Sicherheitsstufe wird sich im Zugangsnetzwerk unter der Kontrolle des Netzbetreibers befinden. Da das Datenvolumen innerhalb eines Zugangspunktes
um ein Vielfaches größer ist als beim Endkunden, reichen Software-Lösungen nicht aus.
Die anfallenden Datenmengen können nur durch Hardwaresysteme verarbeitet werden.
Ein solches Hardwaresystem besteht aus Regelstufen, in denen Regeln ähnlich wie bei
iptables abgearbeitet werden. Diese Arbeit zielt darauf ab, die Netzwerksicherheit im
Zugangsnetz zu etablieren. Grundvoraussetzung ist eine Einarbeitung in das Thema
Netzwerksicherheit, Anforderungen an moderne Firewalls und Erkennungsmechanismen
von IDS. Zur Erfüllung des praktischen Teils dieser Arbeit ist es weiterhin erforderlich,
sich in die Funktionsweise von iptables einzuarbeiten. Mit dem erlangten theoretischen
Wissen soll eine generische Regelstufe für eine Hardwarefirewall entwickelt und in VHDL
implementiert werden. Desweiteren soll mindestens eine spezifische Regelstufe implementiert werden, die ähnlich wie bei iptables Regeln verarbeiten kann.
Zusammenfassend sind folgende Aufgaben zu lösen:
• Einarbeitung in Sicherheitsprinzipien von Firewalls und Erkennungsmechanismen
von Intrusion Detection Systems
• Ausarbeitung eines Konzeptes für eine generische Regelstufe und Implementierung
dieser Regelstufe in VDHL
• Funktionale Verifikation der Regelstufe durch Implementierung zweier konkreter
Beispiele
• Ausführliche Dokumentation aller Arbeitsschritte
Betreuer: Dipl.-Ing. Jens Rohrbeck
Tag der Ausgabe: 04.08.2008
Tag der Abgabe: 06.10.2008
Prof. Dr. D. Timmermann
Betreuender Hochschullehrer
1
1. Einleitung
Das Internet ist ein weltweites Netzwerk, das Austausch der Daten und Informationen
erlaubt. Heutzutage sind mehr als 1 Mrd. Nutzer ans Internet angeschlossen [4]. Es
wird eine Vielzahl an Diensten angeboten wie z.B. E-Mail, VoIP, Gaming, Tauschbörsen
usw. Jeder Rechner, der sich im Netwerk befindet, kann im Prinzip von jedem anderen Rechner erreicht werden. Die Daten, die zwei Rechner austauschen, können auch
getarnte schädliche Programme enthalten - Viren. Fast jedes E-Mail-Konto leidet unter
unerwünschter Werbung und einige Interneitseiten versuchen an private Nutzerdaten
über gefälschte WWW-Adressen zu gelangen. Deswegen gibt es viele unterschiedliche
Maßnahmen, die den Nutzer vor schädlichen Einflüssen bewahren.
1.1. Motivation
Die Anzahl der Internetnutzer steigt immer weiter an [3]. Mit der rasanten Entwicklung
des Internets steigt auch das Datenvolumen, das über das weltweite Netzwerk transportiert wird. Dieses kann auch Gefahren wie Viren, Spam und Phishing mit sich bringen.
Viele Internetnutzer sind sich dieser Gefahren bewusst und setzen Präventionsmaßnahmen ein. Dazu gehören Virenscanner, Firewalls oder auch Intrusion Detection Systeme
(IDS). Manche solcher Programme haben jedoch eine Menge an Konfigurationen, die vom
Nutzer selbst gemacht werden sollen. Das kann oft umständlich sein sowie Kenntnisse
im Sicherheitsbereich erfordern. Fehlkonfiguration führt zu einem großen Gefahrenpotential. Vor diesem Hintergrund ist es vorteilhaft, grundlegende Sicherheitsfunktionen
bereits im Zugangsbereich bereitzustellen. Diese befinden sich im Zugangsnetzwerk und
werden von Internetbetreibern bedient. Dadurch werden Internetnutzer vom Konfigurationsaufwand entlastet und das gesamte lokale Netwerk vor schädlichen Einflüssen
geschützt.
1.2. Aufbau der Arbeit
Diese Arbeit ist der Netzwerksicherheit, den Anforderungen an moderne Firewalls und
Erkennungsmechanismen von IDS gewidmet. In Kapitel 2 werden verschiedene Ansätze
für Firewalls und Intrusion Detection Systeme untersucht. Speziell wird auf die unter Linux verwendete Firewall mit iptables eingegangen. In Kapitel 3 wird eine eigene
Hardwarelösung für die Firewall präsentiert, da Hardware einen höheren Datendurchsatz
1. Einleitung
2
ermöglicht. Diese nutzt ähnlich wie iptables Regelstufen. Zunächst wird ein allgemeingültiges Konzept einer Regelstufe vorgestellt und anschließend das spezielle Konzept
für IP-Anti-Spoofing, Source-MAC, Destination-MAC, Source-IP und Destination-IP
Regelstufe. Die Regelstufen werden in VHDL implementiert. In Kapitel 4 werden die
Ergebnisse ausgewertet und in Kapitel 5 diskuttiert.
3
2. Stand der Technik
2.1. Grundlagen
Bevor Informationen und Daten über das Netz geschickt werden, werden sie in Ethernetframes unterteilt. Die Struktur von Ethernetframes ist im Standard IEEE 802.3 festgelegt.
Jeder Ethernetframe besitzt den Aufbau, wie in Abbildung 2.1 dargestellt. Die maximale
Größe der Nutzdaten ist auf 1500 Byte maximal und 46 Byte minimal beschränkt. Die
Erklärung einzelner Felder:
• Zieladresse: Hardwareadresse des Empfängers
• Quelladresse: Hardwareadresse des Absenders
• Typ: Protokoll der nächsthöheren Schicht, z.B. Internet Protocol (IP)
• Daten: Nutzdaten
• Prüffeld: CRC-Prüfsumme
Abbildung 2.1.: Ethernetframe nach IEEE 802.3
Das meist verwendete Protokoll zur Datenübertragung über das Internet ist Internet
Protocol (IP). Heutzutage gibt es zwei Versionen IPv4 und IPv6. Im Rahmen dieser Arbeit wird nur IPv4 betrachtet. IP stellt die erste physikalisch unabhängige Schicht dar.
Jedem Rechner wird eine IP-Adresse zugeteilt, durch die er eindeutig in einem Netzwerk
identifiziert werden kann. Mit Hilfe von Netzmasken können Teilnetze gebildet werden.
Die logische Adressierung stellt eine Grundlage fürs Routing dar und ist somit eine
4
2. Stand der Technik
Abbildung 2.2.: Internet Datagram Header
Grundlage für das Internet. Die Spezifikation von IP ist durch Standard RFC 791 festgelegt. In Abbildung 2.2 ist der IP-Header dargestellt. Das Versionsfeld bezeichnet die
Version des IP. Im Fall von IPv4 ist das eine dezimale 4. IHL steht für Internet Header
Length und gibt die Länge des Headers in 32 Bit Worten an. Minimaler Wert für die
Länge des Headers ist 5. Type of Service ermöglicht die Angabe abstrakter Parameter für
die gewünschte Quality of Service (QoS). Total Length ist die Länge des Pakets, gemessen in Bytes, einschließlich Internet Header und Daten. Alle Hosts müssen Datagramme
mit einer Länge von mindestens 576 Bytes verarbeiten können. Der Identification-Wert
wird vom Absender zugewiesen, um fragmentierte Teile einem Paket zuordnen zu können. Flags werden auch für die Fragmentierung benötigt und besagen z.B., ob ein Paket
fragmentiert werden darf oder nicht oder ob es schon fragmentiert wurde. Fragment
Offset wird ebenfalls für die Fragmentierung benötigt. Er bezeichnet die Position im
Datagramm, an der das Fragment eingefügt werden soll. Die drei oben genannten Felder
sind für das Zusammensetzen von zuvor fragmentierten IP-Datenpaketen bestimmt. Time to Live bezeichnet die Lebensdauer eines Pakets im Internet. Jede Station verringert
diesen Wert um 1. Wenn der Wert 0 erreicht, wird das Paket verworfen. Das verhindert,
dass die Pakete im Netz endlos herumkreisen. Das Protocol-Feld gibt das Protokoll der
nächsthöheren Schicht an. Header Checksum ist die Prüfsumme des Headers. Source
Address ist die logische Adresse des Absenders und Destination Address - die logische
Adresse des Empfängers. Options ist ein variables Feld, um mögliche Zusatzinformationen hinzuzufügen. Es muss aber die maximal mögliche Länge des IP-Headers von 60
Byte berücksichtigt werden. Falls Options kein ganzzahliges Vielfaches von 32 Bit sind,
werden Padding Zeros eingefügt.
2. Stand der Technik
5
2.2. Netzwerksicherheit
Netzwerksicherheit ist ein wichtiger Aspekt für Banken, Unternehmen sowie Internetnutzer. Sie umfasst alle Maßnahmen zur Planung, Ausführung und Überwachung der
Sicherheit in Netzwerken [12]. Eine der wichtigsten Aufgaben besteht darin, vertrauliche Daten vor unbefugten Zugriffen zu schützen. Wegen des Ausbaus der Kommunikationsverbindungen sowie ständiger technologischer Weiterentwicklung müssen Sicherheitsmaßnahmen immer gewartet und angepasst werden. Anwender müssen die Ressourcen
des Netzwerks erst nach einer Identifizierung und einer anschließenden Authentifizierung
und Autorisierung nutzen können. Potentieller Datenverlust durch fehlerhafte Software, Fehlbedienung, Fahrlässigkeit oder Altersverschleiß der Hardware wird durch eine
Datensicherung verhindert, die dann separat gelagert wird. Sicherheitslücken in Software können durch das rechtzeitige Einspielen von Software-Aktualisierungen entgegengewirkt werden. Um die Sicherheit eines Netzwerks zu gewährleisten, ist der Einsatz von
Software- und Hardware-Firewalls unumgänglich.
So vielfältig wie Netze sind, so vielfältig sind auch die Angriffsmöglichkeiten auf diese. In
vielen Fällen werden mehrere Angriffe kombiniert, um ein Ziel zu erreichen. Die Angriffe
können sowohl von außerhalb des Netzwerks, z.B. aus dem Internet, als auch von innerhalb des Netzwerkes kommen. Angriffe von außen richten sich meist gegen Programme,
die Netzwerkdienste anbieten. Hierbei zielen viele Angriffe auf Schwächen in der Software ab. Eine bekannte Angriffsmöglichkeit ist der Pufferüberlauf. Dabei wird über das
Fassungsvermögens des Speichers hinausgeschrieben, wobei Daten oder Kontrollinformationen überschrieben werden. Dabei kann es zum Absturz des betreffenden Programms,
zur Verfälschung von Anwendungsdaten oder zur Beschädigung von Datenstrukturen der
Laufzeitumgebung des Programms führen. Durch Letzteres kann die Rücksprungadresse eines Unterprogramms mit beliebigen Daten überschrieben werden. Dadurch kann
übermittelter Maschinencode mit den Privilegien des für den Pufferüberlauf anfälligen
Prozesses ausgeführt werden.
Auch eine andere Angriffsmethode ist möglich. Falls keine gegenseitige Authentifizierung
durchgeführt wird, täuscht ein Angreifer dem Kommunikationspartner jeweils den anderen vor. Das Fälschen von Absenderadresse zum Verschleiern der Herkunft von Paketen
wird Spoofing genannt. Im Allgemeinen existieren [5]:
• ARP-Spoofing (Address Resolution Protocol Spoofing)
• DNS-Spoofing (Domain Name Server Spoofing)
• IP-Spoofing (Internet Protocol Spoofing)
• MAC-Spoofing (Media Access Control Spoofing)
• Mail-Spoofing
• URL-Spoofing (Uniform Resource Locator Spoofing).
2. Stand der Technik
6
Das Ziel des ARP-Spoofing ist es, den ARP-Cache zu manipulieren. Dazu manipuliert
der Angreifer den Cache seines Opfers durch den Versand falscher Zuordnungsinformationen. Verläuft sein Angriff erfolgreich, werden von nun an alle Pakete vom Ziel an die
Hardwareadresse des Angreifers geleitet. Als DNS-Spoofing wird ein Angriff bezeichnet,
bei dem es einem Angreifer gelingt, die Zuordnung zwischen einer URL und der zugehörigen IP-Adresse zu fälschen. IP-Spoofing bezeichnet das Versenden von IP-Paketen mit
gefälschter Quell-IP-Adresse. MAC-Spoofing bezeichnet ähnlich wie IP-Spoofing das Fälschen der MAC-Adresse des Absenders. Unter Mail-Spoofing ist das Benutzen gefälschter
Email-Adressen zu verstehen. URL-Spoofing bezeichnet das Fälschen von URLs in den
Webpages oder HTML-Emails.
Eine weitere Attacke wird durch einen Überlastungsangriff, einer sogenannten Denial of
Service (DoS) Attacke, realisiert. Das Ziel ist es, einen bestimmten Dienst des attackierten Rechners mit Anfragen zu überschwemmen, sodass dieser Rechner lahmgelegt oder
vom Netz getrennt wird.
Eine Möglichkeit auf private Informationen des Nutzers zu kommen, erlaubt Phishing.
Eine dem Nutzer bekannte Internetseite, auf der die Eingabe von privaten Informationen
wie z.B. Login und Passwort notwendig sind, wird optisch vorgetäuscht. Hier wird die
Gutgläubigkeit der Nutzer ausgenutzt.
Angriffen von innen geht meist das Herunterladen schädlicher Programme voraus. Diese
tarnen sich in sinnvollen Tools und Programmen. Ein solches Programm heißt Trojaner, in Analogie zum Trojanischen Pferd. Nach Ausführung des Programms wird eine
sogenannte Backdoor eingerichtet, durch die der Angreifer den betroffenen Rechner manipulieren kann. Um eine Firewall zu umgehen, kann das Programm die Verbindungen
eines anderen vertraunswürdigen Programms nutzen wie z.B. Browser. Diese Methode
wird Durchtunnelung genannt und stellt eine große Gefahr dar.
2.3. Firewall
Die Firewall ist eine der Maßnahmen, die einen Rechner oder eine Gruppe von Rechnern von äußeren Einflüßen schützen soll. Die Firewall überwacht den durch sie hindurch
laufenden Datenverkehr und entscheidet anhand festgelegter Regeln, ob bestimmte Netzwerkpakete durchgelassen werden oder nicht. Auf diese Weise versucht die Firewall, das
private Netzwerk bzw. das Netzsegment vor unerlaubten Zugriffen zu schützen [2]. Die
Aufgabe einer Firewall besteht nicht darin, die Angriffe zu erkennen oder zu vermeiden,
sondern lediglich die Pakete nach Quell- und Zieladresse, Quell- und Zielport, Diensten
usw. zu filtern. Für das Aufspüren von Angriffen sind so genannte IDS-Module zuständig,
welche durchaus auf einer Firewall aufsetzen können.
Es existieren zwei Arten von Firewalls: Hardware- und Softwarefirewall. Eine Softwarefirewall ist ein Programm, das auf einem Rechner läuft und eine Ergänzung für ein
Betriebssystem zum Schutz vor äußeren Einflüssen darstellt. Diese läuft meistens auf
einem Host und trägt nur zu seiner Sicherheit bei. Der Nachteil besteht darin, dass
7
2. Stand der Technik
Abbildung 2.3.: Firewall
Firewallsoftware selber das Angriffsziel sein kann. Der Angreifer kann versuchen, das
Programm zum Abstürz zu bringen oder den Firewalldienst zu beenden, seine Mechanismen zu umgehen, um einen vollen Zugriff auf den Rechner zu erreichen. Der Vorteil
der Softwarefirewall besteht darin, dass sie weiß, welche Applikation über das Netzwerk
kommunizieren will. Dieser Anwendung kann der Zugriff erlaubt oder verweigert werden.
Somit sind applikationsspezifische Filter möglich [11]. Eine weitere mögliche Funktion
ist das Sandboxing. Die Software wird vom Rest des Systems abgeschirmt. Sie kann einerseits keinen Schaden anrichten, aber andererseits können die Wirkungen der Software
aufgezeichnet werden. Einem Programm, das in einer Sandbox läuft, werden Zugriffe auf
bestimmte Systemressourcen verweigert. Es soll dadurch verhindert werden, dass eine
kompromittierte Anwendung Schaden am Betriebssystem anrichtet. Die meisten Softwarefirewalls verfügen über automatische Aktualisierung, sobald ein Update vom Hersteller
zur Verfügung gestellt wird. Das hilft die Firewall immer auf dem aktuellsten Stand zu
halten.
Eine Hardwarefirewall hat sowohl eine Hardware- als auch eine Softwarekomponente. Die
Hardware stellt die Funktionalität der Firewall dar und die Software bietet die Konfigurationsmöglichkeit an. Der Vorteil der Hardware ist, dass sie höhere Geschwindigkeiten
bei der Verarbeitung der Daten ermöglicht. Der Erwerb der Hardware ist jedoch oft mit
höheren Kosten verbunden. Außerdem soll die Hardwarelösung flexibel sein, um die Fire-
2. Stand der Technik
8
wall an die sich ändernden Anforderungen anzupassen. Daher ist eine Implementierung
auf einer FPGA-Plattform sinnvoll.
Die meisten Firewalls, die in Zugangsnetzen eingesetzt werden, verfügen über Network
Address Translation (NAT). Zusätzlich dazu werden temporäre IP-Adressen vergeben.
Diese sind nur für eine Sitzung gültig. Oft werden die Firewalls von Internet Service
Provider (ISP) dazu benutzt, um bestimmte Ports zu sperren. Mit wachsender Popularität der Tauschbörsen setzten die ISPs auch Deep Packet Inspection (Content Filter)
ein, um P2P-Traffic zu reduzieren oder ganz zu blockieren.
2.4. Firewalltypen
Eine Firewall kann auch begrenzte Funktionalität anbieten. Im Weiteren werden unterschiedliche Firewalltypen untersucht.
2.4.1. Paketfilter
Der wichtigste Firewalltyp ist der Paketfilter. Er stellt die Basisfunktion jeder Firewall
dar. Ein Paketfilter untersucht jedes einzelne Paket und vergleicht, ob eine Regel darauf
anwendbar ist. Die Filterung kann nach folgenden Kriterien geschehen:
• Quell- und Ziel-MAC Adresse
• Quell- und Ziel-IP-Adresse
• Protokoll
• Quell- und Zielport
Die Entscheidung basiert nicht auf dem Inhalt des Paketes. Alle Regeln werden vom
Firewall-Administrator festgelegt und sind statisch. Ein Paketfilter ist „stateless“, wenn
er die aktuellen Verbindungen nicht überwacht, sondern für jedes Paket einzeln entscheidet, ob es weitergeleitet werden soll oder nicht.
2.4.2. Stateful Packet Inspection
Bei der stateful Inspection wird der Status einer Verbindung berücksichtigt. Somit kann
ein Paket einer Verbindung zugeordnet werden. Das Weiterleiten eines Pakets ist davon
abhängig, welche Pakete vorher untersucht wurden. Die Regeln werden hier dynamisch
erzeugt, abhängig vom Verbindungsstatus. Solche Firewall bietet mehr Schutz als ein
einfacher Paketfilter. Um einer Verbindung einen Status zuzuordnen, werden auch Flags
und IP-Header-Optionen geprüft. Die Paketfilter-Firewall kann z.B. über die Flags die
Richtung des TCP-Verbindungsaufbaus unterscheiden [1].
2. Stand der Technik
9
2.4.3. Application Layer Firewall
Application Layer Firewall, auch Proxy Firewall genannt, arbeitet auf dem Layer 7 des
OSI Schichtenmodells. Ihre wichtigste Aufgabe ist das Filtern von Applikationsdaten
aus den Netzwerkpaketen. Dieses Verfahren sorgt für doppelte Sicherheit: Die Verbindung wird nur aufgrund der definierten Sicherheitsregeln zugelassen und muss darüber
hinaus die korrekten Befehle und Spezifikationen des Anwendungsprotokolls ausführen.
Meistens ist es aber nur möglich, wenn der Inhalt nicht verschlüsselt ist. Die Erkennung
erfolgt durch die Suche nach bestimmten Mustern. Es ist daher möglich, Schadsoftware wie z.B. Viren, Trojaner aufzuspüren, ActiveX oder JavaScript aus angeforderten
Webseiten herauszufiltern, unerwünschte Protokolle zu erkennen. Es erlaubt auch das
Filtern von vertraulichen Informationen oder Spam-Mails, das Sperren von unerwünschten Webseiten anhand von Schlüsselwörtern. Die Erkennung von Mustern ist allerdings
sehr komplex. Vor allem, weil die Daten über mehreren Paketen verteilt sein können.
Es kann also vorkommen, dass Daten aus mehreren Paketen zusammengesetzt werden
müssen, um den Inhalt zu interpretieren.
Die meisten Application Layer Firewalls besitzen integrierte Proxys. Diese erlauben, die
interne Struktur eines lokalen Netzes zu verbergen. Die Rechner fordern die Informationen beim Proxy an und dieser holt sie bei Bedarf aus dem Internet oder direkt aus seinem
Cache. Nach außen sind also nur die Adresse und die Ports des Proxys sichtbar. Da die
Inhalte dabei vollständig auf dem Proxy zwischengespeichert werden, können sie entsprechend analysiert werden, z.B. durch Virenscanner und Content-Filter. Firewallsysteme
unterscheiden sich stark in Anzahl und Art der von Proxys unterstützten Protokollen
(z. B. FTP, DNS, HTTP, SMTP, SQL*Net, POP3, MSRPC usw.) sowie ggf. in den
vorhandenen Konfigurationsmöglichkeiten für diese Proxys. Ohne Proxy-Konzept sind
die Möglichkeiten der Protokollauswertung sehr begrenzt, da sich ein aktives Eingreifen
in den Datenstrom auf Verbindungsabbruch/Blacklisting beschränkt [9].
2.4.4. Network Address Translation
Network Address Translation ist eine Möglichkeit, über einen Router bzw. eine IPAdresse ein lokales Netzwerk mit dem Internet zu verbinden. Die Übersetzung der Adresse erfolgt mit Hilfe des Ports. Der Router ordnet bei dem Verbindungsaufbau einen noch
freien Port eine IP-Adresse und einen Port eines lokalen Hosts zu. Nach außen ist nur
eine einzige IP-Adresse sichtbar. Wenn ein Paket den Router erreicht, wird anhand des
Ports, auf den das Paket geschickt wurde, ein Rechner im lokalen Netzwerk bestimmt,
an den das Paket weitergeleitet wird. Im Unterschied zu einem Proxy werden hierbei die
Pakete einfach nur weitergeleitet und können inhaltlich nicht analysiert werden.
2. Stand der Technik
10
2.4.5. Weitere Funktionen
Eine wichtige Funktion ist IP-Anti-Spoofing. Dabei wird geprüft, ob eine IP-Adresse
zu einer MAC-Adresse gehört. Da die Filterung sich wesentlich an den IP-Adressen
orientiert, muss so gut wie möglich sichergestellt werden, dass diese nicht gefälscht sind.
Die gefälschten IP-Pakete werden protokolliert und verworfen. Dadurch wird vermieden,
dass ein Angreifer einen anderen Rechner vortäuscht, um den Datenverkehr zwischen
zwei Hosts in einem Computernetz abzuhören oder zu manipulieren.
Für erhöhte Sicherheit kann die Authentifizierung von Bedeutung sein. Da der Filterung
anhand von IP-Adressen wegen potenziellem IP-Spoofing niemals vollständig vertraut
werden kann, bieten manche Firewalls die Möglichkeit, sich authentifizieren zu lassen
und erst dann bestimmte Regeln zeitbeschränkt freigeschaltet zu bekommen. Die meisten
Firewalls sind in der Lage, während der Paketverarbeitung Log-Daten zu sammeln. Diese
Log-Daten lassen sich zu Statistiken zusammenfassen. Diese helfen, die Regeln besser
anzupassen oder Fehler aufzuspüren und zu korrigieren.
2.5. Intrusion Detection Systeme
Die Aufgabe eines Intrusion Detection Systems (IDS) ist es, Benutzer zu entdecken, die
sich auffällig verhalten. Es ist mit einer Alarmanlage vergleichbar, deren Aufgabe es ist,
unbefugten Zugriff zu melden oder ihn zu blockieren. Das IDS hält nach unautorisierten
Versuchen Ausschau, sich Zugang zu einem System zu verschaffen, zulässige Rechte auf
einem autorisierten System zu überschreiten oder die Verfügbarkeit eines Systems zu verringern, sei es von innerhalb der Organisation aus oder über das Internet [10]. Intrusion
Detection Systeme müssen in der Lage sein, einen zulässigen Datenverkehr von einem
unerwünschten zu unterscheiden. Es gibt eine Vielzahl an Methoden und Herangehensweisen um den verdächtigen Traffic zu detektieren. Grundsätzlich sind zwei IDS Typen
zu unterscheiden: Signatur-basierte Erkennung und Anomalie-basierte Erkennung.
Die Signatur-basierte Erkennung ist in der Lage, Angriffe zu erkennen, die eine bestimmte bekannte Zeichenfolge haben oder nach einem bekannten Muster ablaufen. Diese sind
sehr effektiv gegen bereits bekannten Angrifftechniken, erfordern jedoch eine ständige
Aktualisierung, um das System vor neuen Angriffsmethoden schützen zu können. In der
Realität gibt es immer eine Zeitlücke nachdem eine neue Angriffstechnik zum ersten Mal
entdeckt und bevor eine Signatur dafür abgeleitet wurde. In dieser Zeit ist das IDS nicht
in der Lage, die neue Gefahr zu erkennen.
Die Anomalie-basierte Erkennung sucht nach ungewöhnlichem Verhalten im Netzwerk.
Zuerst muss ein Normalzustand gemessen werden, wie z.B. die Bandbreite, welche Protokolle und Ports benutzt werden, welche Geräte miteinander kommunizieren. Ein Datenstrom, welcher sich von dem normalen Zustand/Verhalten unterscheidet, wird als
verdächtig angesehen. Das Hauptproblemm ist, den Normalzustand für ein System oder
Netzwerk eindeutig zu bestimmen. Der Vorteil solcher IDS besteht darin, dass sie auch
2. Stand der Technik
11
unbekannte Angriffstechniken erkennen können.
Je nachdem, was ein IDS überwacht, wird es zwischen Network Intrusion Detection Systeme (NIDS) und Host Intrusion Detection Systeme (HIDS) unterschieden. NIDS werden
an wichtigen Stellen des Netzes platziert, um evtl. das ganze Netz überwachen zu können
(vgl. Abbildung 2.4). Es wird das gesamte ein- und ausgehendes Datenvolumen untersucht. Der Vorteil besteht darin, dass wenige NIDS das gesamte Netzwerk überwachen
können, das System selber ist transparent. Der Nachteil des NIDS besteht darin, dass es
zu einem Flaschenhals werden kann. Bei hoher Auslastung kann das System die Angreifer
evtl. nicht erkennen oder einige Funktionen nicht nutzen. Verschlüsselter Datenverkehr
kann nicht analysiert werden. In einem vollständig geswitchten Netzwerk kann es unter Umständen schwierig sein, alle Daten einzufangen, es sei denn, man konfiguriert die
Switches so, dass sie eine Kopie des gesamten Datenverkehrs an einen speziellen Port für
das IDS schicken (vgl. Abbildung 2.5).
Abbildung 2.4.: NIDS leitet gesamten Netzwerkverkehr durch sich hindurch
Im Gegensatz zu NIDS arbeitet ein HIDS auf einem Host. Es überwacht Netzwerkpakete,
Verbindungsversuche oder Login-Versuche bzw. Zugriff auf wichtige Systemdateien und
Veränderungen an diesen sowie Änderungen an Benutzerberechtigungen und beobachtet,
was auf dem Computer passiert. Ein HIDS muss somit auf jedem zu überwachenden
System installiert werden. Es erhält seine Informationen aus Log-Dateien, Kernel-Daten
und anderen Systemdaten wie etwa der Registry unter Windows. Die Vorteile des HIDS
sind: eine Verschlüsselung sowie ein geswitchtes Netzwerk stellt kein Problemm mehr
dar. Jedoch muss es auf jedem Computer installiert und gewartet werden. HIDS können
den Alarm auf einer zentralen Konsole auslösen. Der Traffic zwischen der Konsole und
dem HIDS-Collector kann verschlüsselt werden oder für vollständige Sicherheit über ein
2. Stand der Technik
12
Abbildung 2.5.: NIDS erhält eine Kopie von Traffic
separates Netzwerk laufen. HIDS kann selbst zum Ziel eines Angriffs werden und z.B.
mit einer DoS-Attacke überschwemmt werden. Weiterhin beansprucht HIDS Ressourcen
und Leistung des Rechners, auf dem es installiert ist.
Die Reaktion auf einen Angriffsversuch kann passiv oder aktiv sein. Im passiven Fall wird
ein Alarm ausgelöst bzw. der Netzwerkadministrator benachrichtigt, damit er auf den
Angriff reagieren kann. Im aktiven Fall wird nicht nur der Administrator benachrichtigt,
sondern das IDS wird selbst versuchen, den Angriff zu stoppen, indem es den Angreifer
oder seine IP-Adresse blockiert. Im Extremfall kann das IDS einen Gegenangriff starten.
2.6. Anforderungen an moderne Firewalls
Eine wichtige Anforderung an die modernen Firewalls ist neben dem Schutz des Netzwerks die Hochverfügbarkeit. Damit die Firewall nicht zu einem Single Point of Failure
(SPoF) wird, werden verschiedene Techniken eingesetzt, um das Risiko eines Ausfalls
zu reduzieren. Zu diesen gehören Load Balancing und Failoverbetrieb. Bei Failoverbetrieb wird ein Primärrechner mit einem Standby-Rechner im Hintergrund betrieben (vgl.
13
2. Stand der Technik
Abbildung 2.6). Fällt der Primärrechner aus, übernimmt der Standby-Rechner seine Aufgaben. Da einer von den Rechnern abgeschaltet werden kann, während der andere läuft,
ermöglicht das die Durchführung von Reparaturen oder Aktualisierungen der Software ohne Ausfall des Systems. Bei Ausfall des Primärrechners gibt es zur Übernahme
seiner Aufgaben prinzipiell zwei Möglichkeiten. Die erste Möglichkeit, die Rechner synchronisieren sich im laufenden Betrieb. Dadurch können beim Ausfall die Verbindungen
richtig zugeordnet werden. Die zweite Möglichkeit, sieht keine Synchronisation vor. Die
Verbindungen werden beim Ausfall durch den Standby-Rechner noch einmal gegen das
Regelwerk geprüft. Diese Möglichkeit ist einfacher zu realisieren, kann aber bei Protokollen, die zufälligen Ports benutzen, Probleme bereiten, da die Pakete evtl. keiner Regel
zugeordnet werden können. In dem Fall werden die Pakete verworfen.
Abbildung 2.6.: Failoverbetrieb
Mit Load Balancing wird die Last auf mehrere Firewalls verteilt (vgl. Abbildung 2.7).
Ein Load Balancer überwacht die Auslastung und Bereitschaft der Firewalls. Antwortet
eine Firewall nicht, wird die Anfrage an eine andere geschickt. Der Load Balancer wird
auch redundant aufgebaut, um die Verfügbarkeit bei seinem Ausfall nicht zu reduzieren.
Bei hohem Datenverkehrsaufkommen wird also eine einzige Firewall nicht mit dem ganzen Traffic überschwemmt. Genau wie beim Failoverbetrieb gibt es bei Load Balancing
sowohl eine synchrone als auch eine asynchrone Variante.
In unterschiedlichen Bereichen sind verschiedene Sicherheitsanforderungen gefragt. Bei
Militär und Banken sind diese am höchsten. Deswegen kommen hier mehrstufige Sicherheitslösungen zum Einsatz. Ein Paket passiert mehrere, hintereinander geschaltete Firewalls, die oft gleiche Regeln darauf anwenden. Die Hardware- bzw. Softwarekomponenten
14
2. Stand der Technik
Abbildung 2.7.: Load Balancing
sind unterschiedlich implementiert, besser von unterschiedlichen Teams unabhängig voneinander entwickelt. Das hilft, die systematischen Programmier- und Produktionsfehler
unwirksam zu machen. Beim Einsatz von Open-Sourceprodukten sind eigenes Audit und
Übersetzung des Quellcodes hilfreich, um evtl. Hintertüren auszuschließen.
2.7. iptables/Netfilter
Netfilter ist die Software zum Filtern der Netzwerkpakete, die innerhalb des LinuxKernels implementiert ist. Die Software, die damit grundsätzlich in Verbindung kommt,
ist iptables. Das Programm iptables kommuniziert mit dem Linux-Kernel und weist
diesen an, Pakete nach bestimmten Regeln zu filtern. iptables übernimmt also unter
anderem das Einfügen, Löschen und Manipulieren von Regeln in die Filtertabellen des
Kernels sowie das Setzen der Filterpolitik. Beide bilden das Herzstück der Linux Firewall.
Die Filterung ist auf dem Network, Transport und teilweise Application Layer des OSIModells möglich. Wichtige iptables Funktionen sind [8]:
• stateless Packetfilterung (IPv4 und IPv6)
• stateful Packetfilterung (IPv4 und IPv6)
• alle Arten von Network Address Translation/Network Address Port Translation
• flexible und erweiterbare Infrastruktur
• Vielzahl von Modulen und Plugins
15
2. Stand der Technik
Netfilter besteht aus mehreren Kernel-Modulen, die sich bei Bedarf ein- und ausschalten
lassen. Netfilter und iptables gehören zum Lieferumfang aller neueren Linux-Distributionen
und sind der Standard für Firewalls unter Linux. Es wird vom netfilter.org-Projekt [8]
unterstützt und weiterentwickelt. Die Software unterliegt, wie der Linux-Kernel insgesamt, der GNU General Public License.
Ein Paket durchläuft auf seinem Weg durch den Paketfilter sogenannte Ketten (Chains).
Um bestimmte Ziele zu erreichen, sind in jeder Kette Regeln definiert. Regeln werden
auf definierte Teile des Frames angewendet, wenn er durch diese Kette läuft. Die Kette
ist eine Regelliste. Der Flow ist in Abbildung 2.8 dargestellt. Jede Kette (INPUT, OUTPUT, FORWARD, PRE- und POSTROUTING) entscheidet anhand von Regeln, ob ein
Paket gelöscht oder akzeptiert wird. Wird es akzeptiert, dann reist es weiter durch den
Paketfilter, bis es letztendlich den Rechner über den Ausgang verlassen kann.
Abbildung 2.8.: Aufbau von iptables
Jede Kette beinhaltet eine Checkliste von Regeln, die folgenden Aufbau besitzen:
WENN (Filteroption) DANN Aktion (Löschen, Akzeptieren des Paketes)
Die Regeln werden nacheinander solange durchlaufen, bis eine Regel auf das eingegangene Paket zutrifft. Wird eine passende Regel gefunden („first match“), wird die weitere
Suche abgebrochen und die Aktion ausgeführt (vgl. Bild 2.9). Besagt z.B. die erste
Regel, alle FTP-Verbindungen aus dem Uni-Netz zulassen, und die zweite Regel, alle FTP-Verbindungen blockieren, so werden nur die FTP-Verbindungen blockiert, die
nicht aus dem Uni-Netz kommen. Werden die Regeln getauscht, dann werden alle FTPVerbindungen blockiert, da die zweite Regel nicht mehr geprüft wird, wenn die erste
zutrifft. Trifft keine Regel zu, so entscheidet die Policy, was mit dem Paket geschieht.
In den meisten Fällen wird das Paket verworfen.
Jetzt soll noch einmal der Weg der Pakete durch den Paketfilter im Detail betrachtet werden: Nach Eingang eines Paketes an einer Netzwerkschnittstelle (a) wird dessen
16
2. Stand der Technik
Abbildung 2.9.: Durchlaufen der Regeln
2. Stand der Technik
17
Zieladresse ausgewertet (Routing). Ein Paket mit Zieladresse dieses Rechners (b) wird
anschließend durch die INPUT-Kette geprüft. Diese kann das Paket entweder verwerfen
oder für die weitere Verarbeitung durchlassen. Wird das Paket durchgelassen, kann eine
Anwendung die empfangenen Daten dem Nutzer zur Verfügung stellen.
Ein lokaler Prozess (z.B. Browser) ist in der Lage, ein neues Paket (Anforderung einer
Webseite) zu erzeugen und dieses ins Netzwerk zu versenden (d). Die OUTPUT-Kette
leitet nach einer erfolgreichen Prüfung das Paket weiter zur gewünschten Netzwerkschnittstelle (z.B. eth0/ppp0). Kommunikationsserver oder Router verbinden meist ein
inneres (privates) Netzwerk mit einem äußeren (öffentlichen) Netz, zum Beispiel dem
Internet. Dafür wird die Paketweiterleitung von einer Netzwerkschnittstelle (Eingang)
zu einer anderen (Ausgang) benötigt. Die FORWARD-Kette prüft in diesem Fall die Pakete, die vom inneren ins äußere Netz oder umgekehrt (e), (f) übertragen werden sollen
[7]. Wie bereits erwähnt, ist mit iptables auch Network Address Translation möglich.
Einige möglichen Aktionen sind:
• ACCEPT - Das Paket wird durchgelassen
• DROP - Das Paket wird verworfen, ohne den Absender zu benachrichtigen
• REJECT - Das Paket wird verworfen und der Absender wird benachrichtigt
• MASQUERADE - Die Quell-Adresse des Paketes wird durch die IP-Adresse der
Schnittstelle ersetzt, auf welcher es den Rechner verlassen wird
Wie der Name bereits sagt, arbeitet iptables mit Tabellen. Die Tabellen haben den
Zweck, die verschiedenen Arten der Paketbehandlung auf Ketten verteilen zu können
und nur die Ketten zu laden, die im Augenblick bzw. für die gestellte Anforderung
benötigt werden. Deshalb erscheinen die Tabellen in Abbildung 2.8 nicht, da sie nur
gruppierenden Charakter haben. Die Regeln werden entsprechend ihrer Funktion in drei
Tabellen gruppiert:
• filter - Die Standard-Tabelle, die immer dann verwendet wird, wenn keine Tabelle
explizit angegeben wird. Diese Tabelle besteht aus den Ketten INPUT, FORWARD
und OUTPUT. Eventuell lassen sich in dieser Tabelle weitere benutzerdefinierte
Ketten unterbringen.
• nat - Diese Tabelle ist für alle Arten von Adress-Umsetzungen oder Port-Forwarding
verantwortlich und besteht aus den Ketten PREROUTING, OUTPUT und POSTROUTING. Die in dieser Tabelle befindlichen Ketten werden für jedes erste Paket
einer neuen Verbindung aufgerufen und führen entsprechende Änderungen an den
Port- oder IP-Adressen der Pakete durch.
• mangle - In dieser Tabelle existieren die Ketten PREROUTING und OUTPUT.
Hier werden spezielle Änderungen an Paketen vorgenommen, wie z.B. Änderung
des Type-of-Service-Feldes oder der TCP-Flags.
2. Stand der Technik
18
Die einzelnen Tabellen existieren nur, wenn Regeln in diesen Tabellen angelegt worden sind. Entsprechend hoch ist die Effizienz eines Paketfilters, wenn z.B. nur einfache Filterfunktionen benutzt werden. Die nicht vorhandenen Tabellen müssen gar nicht
durchlaufen werden [6].
19
3. Regelstufen im Secure Access Node
Wie wir im Fall von iptables/Netfilter gesehen haben, kann die Konfiguration einer Firewall für unerfahrene Internetnutzer recht kompliziert sein. Um den Nutzer zu entlasten,
wollen wir eine Firewall bereits im Access Node einsetzen. Diese trägt nicht nur zur
Sicherheit einzelner Nutzer bei, sondern auch des Netzwerks im Ganzen. An einem Access Node, der sich im Zugangsbereich befindet, sind mehrere Nutzer angeschlossen und
somit muss er eine hohe Bandbreite gewährleisten (vgl. Abbildung 3.1). Da wir im Gi-
Abbildung 3.1.: Zugangsnetzwerk
gabitbereich arbeitet wollen, ist eine Softwarelösung ungeeignet. Eine Softwarefirewall
wäre dafür zu langsam. Aus diesem Grund setzen wir eine Hardwarelösung ein. Diese
erlaubt eine schnellere Abarbeitung der Pakete und ermöglicht somit den gewünschten
Durchsatz.
Der Prototyp wurde auf Xilinx Virtex-4 ML405 Board mit 2 Gbit Interfaces realisiert.
Die Firewall stellt den Secure Access Node (SecAN) dar. Der interne Aufbau der Hardwarefirewall ist in Abbildung 3.2 dargestellt. Es werden am Ein- und Ausgang Sync-FIFOs
zum Einsynchronisieren verwendet. Die Regelstufen befinden sich im Downstream. Der
Upstream wird im Prototyp unverändert durchgeleitet, außer wenn es sich um einen
Konfigurationsframe handelt. Als Konfigurationsframes für den SecAN werden typische
Ethernet-Frames verwendet (vgl. Abbildung 2.1). Sie werden durch eine Software erstellt
und über eine gültige Ethernet-Schnittstelle versendet. Der Demux erkennt anhand einer
3. Regelstufen im Secure Access Node
20
definierten Destination-MAC-Adresse, dass es sich bei dem aktuellen Frame um einen
Konfigurationsframe handelt. Diese Frames werden durch die Hardware gesondert ver-
Abbildung 3.2.: Hardwarefirewall im Secure Access Node
arbeitet. Als Destination-Mac ist die „01:01:01:01:01:01“ zu verwenden. Der Ethertype
entspricht „FFFF“. Im Anschluss an den Ethertype folgen in der Payload die Konfigurationsdaten. Die Konfigurationsdaten haben den Type-Length-Value-Aufbau (TLV) und
werden in 8 Bit Type-, 8 Bit Length- und n Bit Value-Feld unterschieden. Die Grundstruktur eines Konfigurationsframes ist in Abbildung 3.3 dargestellt. In Abhängigkeit
Abbildung 3.3.: Struktur der Konfigurationsdaten
der zu konfigurierenden Komponente wird der Wert des Type-Feldes angepasst. Derzeit
21
3. Regelstufen im Secure Access Node
stehen die in Tabelle 3.1 definierten Werte für dieses Feld zur Verfügung. Auf das TypeFeld folgt das Length-Feld. Dieses Feld enthält die Längeninformation der aktuellen
Konfigurationsdaten. Die Konfigurationsdaten befinden sich im Value-Feld.
Type
Bedeutung
1
SRAM-Konfigurationsframe
2
DDR-SDRAM-Konfigurationsframe
3
Parser-Konfigurationsframe
4
Regelstufen-Konfigurationsframe
Tabelle 3.1.: Werte für das Type-Feld der Konfigurationsframes
Die Rules (Regeln), die später von der Regelstufen ausgewertet werden, werden zu einem Rule Set (Regelsatz) zusammengefasst. Dieser wird mit einem Konfigurationsframe
übertragen und in DDR SDRAM gespeichert. Aus einem ankommenden Datenframe
wird im Parser mit Hilfe eines Vergleichsmusters die aktuelle FlowID bestimmt. Aus
der FlowID wird mit CRC32-Algorithmus die RuleID berechnet. Diese entspricht einem
Hashwert für die Startadresse im Speicher. FlowID und RuleID werden an den Controller übergeben. Der generiert entsprechend ein Rule Set und liefert es dem Parser zurück.
Die zu parsenden Werte befinden sich im Datenframe in OSI Layer 2 bis OSI Layer 4.
Die Werte, die der Parser verarbeiten kann, sind in Tabelle 3.2 dargestellt.
Frameparameter
Destination MAC
Source MAC
VLAN 1
VLAN 2
Ethertype
Source IP
Destination IP
Protokoll
Source Port
Destination Port
Bitanzahl
48
48
12
12
16
32
32
8
16
16
Tabelle 3.2.: Mögliche FlowID-Parameter für den Parser
3.1. Konzept
Die Regelstufen sind das Herzstück einer Hardwarefirewall. Das Prinzip soll dem von
iptables ähnlich sein. Die Pakete werden mit Hilfe von Rules manipuliert. Eine Rule
3. Regelstufen im Secure Access Node
22
sieht grundsätzlich so aus: Wenn Bedingung, dann Aktion. Trifft die Bedingung zu, wird
die Aktion ausgeführt. Wenn die Bedingung nicht zutrifft, wird ein Frame aus Sicherheitsgründen verworfen. Im Folgenden werden nur zwei Aktionen betrachtet: Accept
und Drop. Accept bedeutet, ein Frame soll weitergeleitet werden und Drop - er soll
verworfen werden. Jede Regelstufe kann nur eine für sie bestimmte Rule-Art verarbeiten. Eine Regelstufe, die z.B. für IP-Antispoofing bestimmt ist, kann nur prüfen, ob
Frame-MAC-Adresse und Frame-IP-Adresse zusammenpassen. Die Regelstufen werden
in Reihe geschaltet und somit wird jeder Frame eine Reihe von Stationen durchlaufen, wo er auf verschiedene Eigenschaften untersucht wird. Die Reihenschaltung erlaubt
auch eine Priorisierung. Entscheidet eine Regelstufe, den Frame zu verwerfen, so muss er
nicht die weiteren Regelstufen durchlaufen. Zusätzlich soll jede Regelstufe Statistikwerte
sammeln, wie z.B.:
• Die Anzahl aller Frames, welche die Regelstufe erreichen
• Welche IP zu welchem VLAN gehört
• Violation Zähler (wie oft konnte die Regelstufe die Rule nicht verarbeiten)
• Wie oft trat ein bestimmtes Folgeprotokoll auf
• Wie oft wurde ein bestimmter Destination Port verwendet
• Die Anzahl aller Frames, die durch die Regelstufe verworfen wurden
– der Grund des Verwurfs
– Frameparameter
– Anzahl Bytes, die verworfen wurden
– welche Regelstufe den Verwurf ausgelöst hat
Die Auswertung der Rule soll bei allen Regelstufen einheitlich erfolgen. Die Regelstufe
bekommt ein Rule Set, einen Frame und geparste Framevariablen. Die Rule-Bedingung
wird mit den Variablen verglichen. Wenn diese stimmt, wird die Aktion ausgeführt,
wenn nicht, werden der Frame, das Rule Set und geparste Framevariablen verworfen.
Die gesammelten Statistikdaten können jederzeit angefordert werden. Abbildung 3.4 verdeutlicht nochmal den Datenfluss. Es wurden fünf Regelstufen implementiert. Die erste
Regelstufe ist für IP-Antispoofing bestimmt. Ihre Aufgabe besteht darin, die Gültigkeit
der Source-MAC- und Source-IP-Adresse zu überprüfen. Die nächsten vier Regelstufen
können Source-MAC, Source-IP, Destination-MAC und Destination-IP unabhängig voneinander überprüfen. Entsprechend der Rule-Aktion kann ein Paket weitergeleitet oder
verworfen werden. Zu protokollieren ist die Anzahl aller Frames und Bytes, die eine Regelstufe verworfen hat. Im Fall eines Verwurfs wird zusätzlich der Grund und evtl. die
MAC- und/oder IP-Adresse, die den Verwurf verursacht haben, zwischengespeichert.
3. Regelstufen im Secure Access Node
Abbildung 3.4.: Regelstufenflussdiagramm
23
3. Regelstufen im Secure Access Node
24
3.2. Modellrealisierung
3.2.1. Aufbau der Regelstufen
Die Grundstruktur aller Regelstufen ist konstant. In Abbildung 3.5 ist die Grundstruktur
dargestellt. Eine Regelstufe erhält ein Frame, ein Rule Set und geparste Framevariablen.
Abbildung 3.5.: Regelstufenaufbau
Alle Daten werden wortweise eingelesen. Start of Frame Bit kennzeichnet nicht nur den
Anfang eines Frames, sondern auch den Anfang eines Rule Sets. Da Frame, Rule Set und
Variablen gleichzeitig eintreffen, bedeutet Start of Frame auch, dass die Framevariablen
gültig sind. End of Frame Bit kennzeichnet das Ende von Frame. Das Data Valid Signal
ist solange aktiv, wie das Rule Set gültig ist. Die Länge eines Frames wird byteweise
angegeben. Da die Regelstufe mit jedem Takt 4 Byte einliest, muss sie wissen, welche
von den 4 Byte noch gültig sind. Dafür dient der Byte Valid-Eingang. Alle Daten werden
3. Regelstufen im Secure Access Node
25
über entsprechende Ausgänge weitergeleitet (vgl. Abbildung 3.5), wenn der Frame nicht
verworfen werden soll. Der Log-Eingang wird verwendet, um Statistikdaten anzufordern,
die dann über Statistikausgänge: drop_frames_cnt, drop_bytes_cnt und drop_values
herausgeschickt werden. End of Stats kennzeichnet dabei das Ende der Statistikdaten.
Über den Config-Eingang ist die interne Konfiguration der Regelstufe möglich.
3.2.2. Arbeitsweise einer Regelstufe
Um die Arbeitsweise einer Regelstufe besser zu verstehen, wird zunächst der Aufbau des
Rule Sets, der Framevariablen und der Statistikdaten erklärt.
Aufbau des Rule Sets
Ein Rule Set stellt eine Kette von einer oder mehreren Rules dar (vgl. Abbildung 3.6).
Diese Rules werden in den entsprechenden Regelstufen verarbeitet, wobei für jede Rule
eine separate Regelstufe existiert. Das Rule Set besteht aus einem Header und einem
Value-Teil. Im Header werden Status- und Längeninformationen gespeichert. Damit besitzt ein Rule Set den typischen Type-Length-Value-Aufbau (TLV), wobei der Header
die Werte für Type und Length umfasst. Die verschiedenen Rules werden durch den
Value-Teil dargestellt. So wie das gesamte Rule Set besitzt auch jede Rule den TLVAufbau. Im Folgenden wird auf den Rule Set Header sowie den Aufbau der Rules näher
eingegangen.
Abbildung 3.6.: Grundstruktur eines Rule Sets
Aufbau des Rule Set-Headers
Der Rule Set Header ist den Rules im Rule Set vorangestellt. Er ist in ein Control- und
ein Length-Feld unterteilt. Der Rule Set Header hat eine feste Länge von 32 Bit (vgl.
Abbildung 3.7). Die in einem Rule Set vorhandenen Rules besitzen eine variable Länge.
Die Gesamtlänge des Rule Sets ist im Header angegeben und umfasst die Länge des
Headers sowie die Länge aller Rules. Die Längenangabe ist als ganzzahliger Wortwert
zu interpretieren. Ein Wort entspricht dabei 4 Byte. Das Control-Feld (24 Bit) enthält
Steuerinformationen für die folgenden Regelstufen bzw. dem auf die letzte Regelstufe
folgenden Demultiplexer. Derzeit werden von den 24 Bits je eins als White-List-Bit (WL)
bzw. Request-Next-Rule-Set-Bit (NeRS) verwendet (vgl. Abbildung 3.8). Die 22 derzeit
nicht verwendeten Bits werden für zukünftige Kontrollfunktionalitäten bereitgestellt.
Das White-List-Bit sagt aus, dass der Frame unabhängig von der Rule weitergeleitet
3. Regelstufen im Secure Access Node
26
Abbildung 3.7.: Aufbau des Rule Set Headers
werden soll. Das Req-Next-Rule-Set-Bit wird von dem auf die letzte Regelstufe folgenden
Demultiplexer ausgewertet und besagt, dass ein neues Rule Set angefordert werden muss.
Abbildung 3.8.: Struktur des Control-Feldes im Rule Set Header
Aufbau der Rules im Rule Set
Die Rules folgen dem Rule Set Header. Jede Rule hat einen einheitlichen TLV-Aufbau
(vgl. Abbildung 3.9). Das 8 Bit Type-Feld beinhaltet die ID-Nummer einer Regelstufe,
für die die Rule bestimmt ist. Jede Regelstufe prüft das Type-Feld und kann anhand
dessen schließen, ob die Rule von ihr ausgewertet werden soll. Stimmt der Ruletype mit
der Regelstufe-ID überein, so wird die Rule-Bedingung geprüft. Anderenfalls werden
der Frame, das gesamte Rule Set und die aktuellen Framevariablen unverändert an die
nächste Verarbeitungseinheit geschickt. Die Rule-Bedingung und die Aktion stehen im
Value-Feld der Rule. Die Länge dieses Feldes kann sich für jede Regelstufe unterscheiden.
3. Regelstufen im Secure Access Node
27
Das Length-Feld gibt die Länge der aktuellen Rule vom Type-Field über das LengthField bis einschließlich Value-Feld in 4 Byte an.
Abbildung 3.9.: Struktur einer Rule
Die Länge einer Rule stellt also ein ganzzahliges Vielfaches von 32 Bit dar. Wenn die
Regelstufe eine Rule anwendet, muss diese aus dem Rule Set entfernt und die Lücke
zwischen dem Header und der nächsten Rule geschlossen werden. Das Length-Feld im
Rule Set Header muss dann entsprechend angepasst werden. Wenn eine Rule entfernt
wird, bleibt die Länge des Rule Sets immer noch ein ganzzahliges Vielfaches von 32 Bit.
Es wird dafür also keine zusätzliche Logik benötigt und somit werden FPGA-Ressourcen
gespart. Wenn die Länge einer Rule kein ganzzahliges Vielfaches von 32 Bit darstellt,
werden „padding zeros“ eingefügt. Die Reihenfolge der Rules im Rule Set muss der
Reihenfolge der Regelstufen entsprechen. Weiterhin soll beachtet werden, dass im Rule
Set nicht zwingend eine Rule für jede Regelstufe vorhanden sein muss.
Aufbau der Current Frame Values
Die Regelstufen vergleichen Referenzwerte aus dem Rule Set mit verschiedenen Parametern aus dem aktuellen Frame. Um eine schnelle Abarbeitung zu gewährleisten, müssen die Frameparameter mit dem ersten Byte des eintreffenden Frames zur Verfügung
stehen. Diese Aufgabe übernimmt das Parser-Modul. Das Parser-Modul scannt den einkommenden Frame und filtert verschiedene Werte heraus. Diese Werte werden mit NullVektoren vorinitialisiert. Existiert einer oder mehrere dieser Werte nicht im aktuell zu
verarbeitenden Frame, so besitzen diese weiterhin einen Null-Wert. Es werden folgende
Frameparameter herausgefiltert:
• Destination MAC
• Source MAC
3. Regelstufen im Secure Access Node
28
• VLAN ID 1
• VLAN ID 2
• Ethernet Type
• Source IP
• Destination IP
• Folgeprotokoll
• Source Port
• Destination Port
Zusätzlich zu den Frameparametern wird noch der Port der Line Card angegeben.
Aufbau der Statistikdaten
Jede Regelstufe soll in der Lage sein, Statistiken aufzuzeichnen. Dazu wird eine zusätzliche Komponente in jeder Regelstufe instanziiert. Diese Komponente kann verschiedene
Zähler erfassen, die für diese Regelstufe relevant sind. Per Triggersignal werden Statistikdaten angefordert. Das Triggersignal wird über den 8 Bit breiten Log-Eingang
geschickt (vgl. Abbildung 3.5). Jedes Bit des Log-Signals entspricht einem Zähler oder
Data-FIFO. So können nur bestimmte Statistiken angefordert werden. Die Statistikdaten werden über den Statistikausgang versendet. Zunächst sind folgende Parameter für
das Statistikmodul vorgesehen:
• Frame-Drop-Counter: zählt alle von der Regelstufe verworfene Ethernetframes
• Bytes-Drop-Counter: zählt alle von der Regelstufe verworfene Bytes
• Drop-Data: Dropidentifier und zugehörige Framewerte
Dropidentifier bezeichnet den Grund, aus welchem der Frame verworfen wurde. Stimmt
ein Frameparameter nicht mit dem zugehörigen Wert der Rule überein, wird dieser
Framewert zu Drop-Data-FIFO hinzugefügt. Es können auch mehrere Parameter einen
DROP auslösen. Die Aktion der Rule kann ebenfalls den Grund für den Verwurf darstellen, wenn sie auf DROP gesetzt ist. Die Frameparameter werden durchnummeriert
und sind in Tabelle 3.3 aufgelistet. Der auslösende Identifier und die dazugehörigen Framewerte werden in einem FIFO-Puffer zwischengespeichert. Die Werte liegen nach dem
in Abbildung 3.10 vorgestellten Aufbau vor. Der Dropidentifier ist ein 16 Bit breiter
Vektor und kann somit 65536 verschiedene Dropidentifier aufnehmen. Die FramevalueFelder können in Abhängigkeit von der Regelstufe unterschiedlich lang sein. Aufgabe der
3. Regelstufen im Secure Access Node
29
Identifier Frameparameter
1
Destination MAC
2
Source MAC
3
VLAN 1
4
VLAN 2
5
Ethertype
6
Source IP
7
Destination IP
8
Protokoll
9
Source Port
10
Destination Port
11
S_MAC & S_IP
12
Rule-Aktion
Tabelle 3.3.: Dropidentifier
auswertenden Software wird es also sein, aufgrund des Wertes des Dropidentifers den
folgenden Bit-Strom richtig zu interpretieren.
In der prototypischen Entwicklungsphase werden die Statistikwerte an einen Collector
geschickt. Dieser stellt den Statistikwerten einen speziellen Ethernet-Header voran und
gliedert sie in den Datenpfad ein. In einer späteren Entwicklungsphase werden die Statistikdaten an den auf dem ML405 Board befindlichen PowerPC versandt und durch das
interne Linux-System verarbeitet. Der Collector erzeugt das Triggersignal, um Statistikdaten anzufordern. Die Counter in den Regelstufen können sofort übergeben werden.
Drop-Data wird so lange ausgelesen, bis der Puffer leer ist.
Abbildung 3.10.: Aufbau von Drop-Data
Arbeitsweise
Die Regelstufe wird in einem Wartezustand initialisiert. Sie wartet auf ein Triggersignal,
welches das Einlesen der Daten startet. Dieses Triggersignal ist das Start of Frame Bit.
Wenn das Signal empfangen wurde, beginnt die Regelstufe, den Frame, das Rule Set
und die Variablen einzulesen. Diese kommen zuerst in einen Puffer, bevor sie verarbeitet
werden. Wie bereits erwähnt, kann eine Regelstufe nur eine für sie bestimmte Rule verarbeiten. Auf Grund der Rule wird entschieden, ob ein Frame weitergeleitet oder verworfen
3. Regelstufen im Secure Access Node
30
werden soll. Die Verarbeitung beginnt mit der Auswertung des Rule Sets. Die Regelstufe
sucht nach der für sie bestimmten Rule. Diese soll immer die erste Rule im Rule Set sein.
Anhand des Type-Feldes in der Rule erkennt die Regelstufe, ob die Rule für sie bestimmt
ist. Dabei wird der Wert des Type-Feldes mit der ID-Nummer der Regelstufe verglichen.
Stimmen diese überein, ist diese Rule für die Regelstufe bestimmt. Ist die erste Rule
nicht für die Regelstufe bestimmt, bedeutet dies, dass keine Rule für die Regelstufe im
Rule Set vorhanden ist. Es kann also maximal eine Rule für jede Regelstufe im Rule Set
geben. Alle Daten wie der Frame, das Rule Set und die Framevariablen werden dann
unverändert weitergeleitet. Findet die Regelstufe ihre Rule, wird zuerst geprüft, ob WLoder NeRS-Bit gesetzt ist. Ist mindestens eins von beiden gesetzt, müssen der Frame, das
Rule Set und die Variablen weitergeleitet werden. Anderenfalls wird die Rule-Bedingung
geprüft. Die Bedingung ist z.B. im Fall von IP-Antispoofing, ob Source-MAC-Adresse
und Source-IP-Adresse zusammenpassen. Diese Daten stehen im Value-Feld der Rule.
Die Regelstufe vergleicht die Bedingung mit den aktuellen Framevariablen. Wenn die Bedingung nicht zutrifft, werden der Frame, das Rule Set und die Framevariablen verworfen
und nicht an die nächste Regelstufe weitergeleitet. Zusätzlich werden die Statistikdaten
aufgenommen. Die Regelstufe zählt, wie viele Frames und Bytes sie verworfen hat sowie den Grund des Verwurfs. Wenn die Bedingung erfüllt ist, wird das Aktionsfeld der
Rule ausgewertet. Wenn ein Frame akzeptiert wird, wird er, ob durch die Regelstufe
manipuliert oder nicht, an die folgende Verarbeitungseinheit weitergeleitet. Gleichzeitig
werden die aktuellen Framevariablen an die folgende Regelstufe bzw. an den, auf die
letzte Regelstufen folgenden Demultiplexer weitergegeben. Wenn ein Frame durch die
Regelstufe verändert wurde, müssen ggf. auch die Framevariablen angepasst werden.
Das Rule Set wird ebenfalls weitergeleitet. Jedoch kann es, in Abhängigkeit davon, ob
die aktuelle Regelstufe eine Rule des Rule Sets verwendet hat, manipuliert werden. Wie
bereits erwähnt, kann in einem Rule Set maximal eine Rule für jede Regelstufe existieren. Diese soll immer an der ersten Stelle im Rule Set stehen. Wenn Identifierer der Rule
mit dem Identifier der Regelstufe übereinstimmt, wird die Rule angewendet. Diese soll
anschließend aus dem Rule Set entfernt werden. Im Anschluss rücken die folgenden Rules auf, sodass die Lücke geschlossen wird. Dadurch wird gewährleistet, dass die nächste
Regelstufe ihre Rule wieder an der ersten Position im Rule Set finden kann. Falls erforderlich, werden im Header des Rule Sets Zusatzinformationen in Form einzelner Bits
(White-List-Bit, Request-Next-Rule-Set-Bit) gespeichert. Die Länge des Rule Sets muss
ebenfalls angepasst werden.
3.3. IP-Antispoofing Regelstufe
3.3.1. Funktionsweise
Diese Regelstufe realisiert IP-Antispoofing. Als Spoofing werden alle Täuschungsversuche bezeichnet, die zur Verschleierung der eigenen Identität führen. Der Angreifer
3. Regelstufen im Secure Access Node
31
täuscht dabei einen vertrauenswürdigen Host vor. Dies gibt ihm evtl. die Möglichkeit,
auf bestimmte Netzwerkressourcen zuzugreifen, die sonst nur vertrauenswürdigen Rechnern zur Verfügung stehen. Beim IP-Spoofing wird die Quell-IP-Adresse gefälscht. Bei
IP-Antispoofing werden MAC- und IP-Adressen des Absenders auf Gültigkeit überprüft.
Die Firewall besitzt eine Liste, in der alle MAC-IP Paare eines Netzwerks eingetragen
sind. Wenn ein Paket die Regelstufe erreicht, soll es auf IP-Spoofing überprüft werden,
bevor es weitergeleitet wird. Diese Aufgabe übernimmt die IP-Antispoofing Regelstufe.
Die Regelstufe ist, wie in Abschnitt 3.2 beschrieben, aufgebaut. Sie bekommt den Frame, das Rule Set und die geparsten Framevariablen. In Abbildung 3.11 ist das Flussdiagramm dargestellt. Zuerst untersucht die Regelstufe das Rule Set. Ist die erste Rule
Abbildung 3.11.: Flussdiagramm der IP-Antispoofing Regelstufe
für IP-Antispoofing bestimmt, werden dann die MAC- und IP-Adresse der Rule mit der
3. Regelstufen im Secure Access Node
32
MAC- und IP-Adresse des Absenders verglichen. Stimmen diese überein, wird die Aktion
ausgeführt. Diese kann entweder ACCEPT oder DROP sein. Zusätzlich kann auch das
WL Bit oder NeRS Bit gesetzt sein. In diesem Fall wird der Frame unabhängig von der
Rule weitergeleitet, da die Control-Bits höherpriorisiert sind. Die verarbeitete Rule wird
aus dem Rule Set entfernt und alle Daten werden weitergeleitet. Trifft die Bedingung
der Rule nicht zu oder ist die Aktion der Rule DROP, werden das Rule Set, der Frame
und damit auch die Variablen verworfen. Der Grund des Verwurfs und die zugehörigen
Frameparameter werden in den Puffer gespeichert. Wenn die Regelstufe ihre Rule nicht
findet, werden sämtliche Daten unverändert weitergeleitet. Die Statistik kann jederzeit
angefordert werden.
3.3.2. Implementierung
Die Regelstufe wurde in VHDL implementiert. Referenzboard diente ML405 von Xilinx.
Als Entwicklungsumgebung wurden ISE WebPACK 10.1 und als Simulator ModelSim
6.3 SE benutzt. In Abbildung 3.12 ist das Blockschaltbild der IP-Antispoofing Regelstufe dargestellt. Sie besteht aus 4 FIFO-Speicher, die als Puffer verwendet werden,
Abbildung 3.12.: Blockschaltbild der IP-Antispoofing Regelstufe
und 4 Zustandsautomaten. Die gesamte Regelstufe wurde nach der 2-Prozessmethodik
entwickelt, sodass alle ankommenden und abgeschickten Daten immer mit dem Takt
synchronisiert sind.
Die Regelstufe erhält ihre ID über dem Config-Eingang. Das geschieht nur beim Reset.
Die ID kann im laufenden Betrieb nicht mehr geändert werden.
3. Regelstufen im Secure Access Node
33
Die Frame FIFO State Machine (Frame FSM) und Rule Set FIFO State Machine (Rule
Set FSM) sind für das Einlesen der Daten verantwortlich. Die beiden FSMs werden
im Wartezustand initialisiert. Sobald das Start-of-Frame Bit die Regelstufe erreicht,
beginnen sie ihre Arbeit. Die Frame FSM steuert das Schreiben des Frames und der
Framevariablen in die entsprechende FIFOs. Die Rule Set FSM steuert das Schreiben
des Rule Sets in FIFO. Die beiden FSMs ändern dabei keine Daten. Ein Frame wird
solange in die Frame FIFO geschrieben, bis das End of Frame Bit gesetzt wird. Die
Gültigkeit des Rule Sets wird durch Data Valid signalisiert. Das Rule Set wird solange
in die Rule Set FIFO geschrieben, wie Data Valid auf 1 ist.
Der Puffer wird verwendet, weil die Bearbeitung der Daten und das Treffen einer Entscheidung mehrere Takte dauert. Während der Bearbeitung kann ein nächster Frame
eintreffen. Dieser wird dann zuerst in den Puffer gespeichert und wartet, bis der vorheriger Frame vollständig abgearbeitet wurde. Die maximale Länge eines Ethernet Frames
beträgt 1522 Byte. Diese setzt sich aus Ethernet-Header und Ethernet-Payload zusammen (vgl. Kapitel 2.1). Die Größe der Frame FIFO wurde auf 1024 Worte begrenzt. Ein
Wort in unserem Fall entspricht 4 Byte.
Der maximal lange Frame besteht aus 381 Worten und der minimal lange Frame (60
Byte) aus 15 Worten. Bevor ein Frame in den Puffer geschrieben wird, wird kontrolliert,
ob ausreichend Speicherplatz in der FIFO zur Verfügung steht, um einen maximal langen
Frame zu speichern. Die Verzörung für das „FIFO prog_full“ Signal dauert einen Takt.
Das heißt, der Puffer wird als voll angezeigt, wenn die Schwelle von 643 Worten erreicht
wurde. Wenn nicht ausreichend Speicher vorhanden ist, wird der Frame verworfen. Das
Speichern erfolgt immer wortweise. Somit kann die Frame FIFO 2 maximal lange Frames
oder 43 minimal lange Frames komplett speichern. Für die minimal langen Frames gilt
die Formel: 642 div 15 + 1 . Die Tiefe der Rule Set FIFO wurde ebenfalls auf 1024 Worte
gesetzt. Die Tiefe der Variablen-FIFO wurde auf 64 Worte gesetzt, um das Speichern
der Variablen aller minimalen Frames zu ermöglichen.
Die komplexeste Funktionalität enthält die Read State Machine (RSM). Diese kann die
Daten aus den FIFOs herauslesen und verarbeiten. Die RSM beginnt mit dem Auslesen
des Rule Sets und der aktuellen Framevariablen. Das Lesen der Variablen dauert nur
einen Takt, da diese mit dem ersten Wort komplett herausgelesen werden. Damit stehen die aktuellen Framevariablen für den Rule-Vergleich sofort zur Verfügung. Mit dem
ersten Takt werden der Rule Set Header sowie die Framevariablen und mit dem zweiten
Takt das Type Feld und das Length Feld der Rule ausgelesen. Anhand des Rule-Type
kann die RSM erkennen, ob die Rule für sie bestimmt ist. Dafür wird Rule-Type mit
der intern gespeicherten ID-Nummer der Regelstufe verglichen. Stimmen Rule-Type und
Regelstufe-ID nicht überein, werden die Daten weitergeleitet. Die RSM beginnt dann,
den Frame und die Variablen zu lesen. Das Rule Set wird dabei ebenfalls weitergelesen.
Wenn die RSM das End of Frame Bit erkennt, wird das Lesen des Frames beendet.
Das Ende eines Rule Sets wird aufgrund der Längenangabe im Rule Set Length Feld
bestimmt. Die RSM arbeitet solange, bis Frame und Rule Set komplett aus der FIFO
herausgelesen und weitergeleitet wurden. Dann geht die RSM wieder in den Anfangszu-
3. Regelstufen im Secure Access Node
34
stand und wartet auf den nächsten Frame.
Stimmt das Type Feld der Rule mit der Regelstufe-ID überein, muss die Rule ausgewertet werden. Die Rule für die IP-Antispoofing Regelstufe besitzt den Aufbau, wie in
Abbildung 3.13 dargestellt. Wie bereits erklärt wurde, muss die Rule-Länge ein ganzzah-
Abbildung 3.13.: Ruleaufbau der IP-Antispofing Regelstufe
liges Vielfaches von 32 Bit betragen. Aus diesem Grund wurden den Nutzdaten der Rule
Padding Bits in Form von Nullen nachgestellt. Diese Rule ist also 128 Bit lang. Die RSM
braucht somit 4 Takte, um die Rule vollständig auszulesen. Die MAC- und IP-Adresse
der Rule-Bedingung werden mit der Source-MAC- und Source-IP-Adresse des Frames
verglichen. Stimmen diese nicht überein, werden der Frame, die Framevariablen und das
Rule Set verworfen. Wenn die Bedingung erfüllt ist, muss die Aktion ausgeführt werden.
Die Aktion kann entweder ACCEPT oder DROP sein. Wenn jedoch im Rule Set Header
WL oder NeRS Bit gesetzt ist, muss der Frame weitergeleitet werden. Dabei werden
die Aktion und Bedingung der Rule nicht berücksichtigt, weil der Rule Set Header eine
höhere Priorität hat. Ähnlich wie bei einem Verwurf liest RSM den Frame und das Rule
Set solange aus, bis das Ende des Frames bzw. des Rule Sets entsprechend erreicht ist.
Die IP-Antispoofing Regelstufe soll wie auch jede andere Regelstufe Statistikdaten sammeln. Wenn ein Frame verworfen wird, wird der Drop-Counter inkrementiert. Der BytesDrop-Counter zählt, wie viele Bytes dabei verworfen wurden. Beide Zähler sind 32 Bit
lang. Bei einem Verwurf wird der Grund des Verwurfs und der zugehöriger Frame Parameter in der Statistik-FIFO gespeichert. In Abbildung 3.14 ist der Aufbau der Statistikdaten dargestellt. Die Drop-Data-FIFO kann 16 Einträge speichern. Wenn diese voll ist
und ein neuer Frame verworfen wird, wird der älteste Eintrag gelöscht und der neue Eintrag hinzugefügt. Das Log-Signal wird von der Stats FIFO State Machine ausgewertet.
Diese sendet die angeforderten Statistikdaten an den Collector. Bei Counter-Abfrage
werden diese von der Stats FSM zurückgesetzt. Wenn die Drop-Data Statistik angefordert wird, wird die FIFO solange gelesen, bis diese leer ist. Enthält die FIFO keine
Daten mehr, wird von ihr ein Empty-Signal gesetzt. Dieses wird an den Collector als
End of Stats weitergeleitet. Die Statistik setzt sich also aus dem Frame-Drop-Counter,
3. Regelstufen im Secure Access Node
35
Abbildung 3.14.: Aufbau der Statistikdaten der IP-Antispoofing Regelstufe
dem Bytes-Drop-Counter und den Verwurfsinformationen zusammen.
3.4. Source- und Destination-MAC Regelstufen
Diese zwei Regelstufen sollen die Source- bzw. Destination-MAC-Adressen überprüfen.
Wenn die MAC-Adresse in der Rule-Bedingung mit der entsprechenden MAC-Adresse
des Frames übereinstimmt, wird die Rule-Aktion ausgeführt. Der interne Aufbau dieser
Regelstufen entspricht vollständig der IP-Antispoofing Regelstufe und wurde bereits
in Kapitel 3.3 beschrieben. Der Ruleaufbau dieser Regelstufen ist in Abbildung 3.15
dargestellt.
Abbildung 3.15.: Aufbau der Rule bei der Source- und Destination-MAC Regelstufe
Die Rule ist 96 Bit lang. Das Lesen dieser Rule dauert also 3 Takte. Diese Regelstufen sind
in der Lage, die gleichen Statistikdaten wie die IP-Antispoofing Regelstufe aufzunehmen.
Dabei werden die Drop-Data in folgender Form in die FIFO geschrieben: Grund des
Verwurfs, MAC (vgl. Abbildung 3.16).
3.5. Source- und Destination-IP Regelstufen
Die folgenden zwei Regelstufen sind in der Lage, die Source- bzw. Destination-IP-Adressen
zu überprüfen. Stimmen diese mit der Rule-Bedingung überein, wird die entsprechende
3. Regelstufen im Secure Access Node
36
Abbildung 3.16.: Aufbau von Drop-Data bei der Source- und Destination-MAC Regelstufe
Rule-Aktion ausgeführt. Der interne Aufbau entspricht dem der IP-Antispoofing Regelstufe (vgl. Kapitel 3.3). Der Rule-Aufbau ist in Abbildung 3.17 dargestellt. Die Rule ist
Abbildung 3.17.: Aufbau der Rule bei der Source- und Destination-IP Regelstufe
64 Bit lang. Um diese aus der FIFO auszulesen, braucht die Regelstufe 2 Takte.
Die Statistikdaten werden in der Form, wie in Abbildung 3.18 dargestellt, gespeichert.
Abbildung 3.18.: Aufbau von Drop-Data bei der Source- und Destination-IP Regelstufe
37
4. Auswertung der Ergebnisse
Um die Regelstufe zu testen, wurde eine Test Bench geschrieben. Diese kann IPv4 Frames sowie Rule Sets erzeugen. Variablen werden aus dem Frame automatisch generiert.
Weiterhin können die Statistikdaten zu jedem Zeitpunkt abgefragt werden. In Tabelle 4.1
sind die Testfälle und Ergebnisse zum Testen der IP-Antispoofing Regelstufe aufgeführt.
Testfall
Die erste Rule ist nicht für die Regelstufe bestimmt
Es gibt keine Rules im Rule Set
Ergebnis
Frame, Rule Set und Framevariablen
werden weitergeleitet
Frame, Rule Set Header und Framevariablen werden weitergeleitet
WL im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung ist erfüllt, Ak- stufe wird aus dem Rule Set entfernt
tion DROP
NeRS im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung erfüllt, Aktion stufe wird aus dem Rule Set entfernt
DROP
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden weitergeleitet, Rule der RegelACCEPT
stufe wird aus dem Rule Set entfernt
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden verworfen, Statistik: Grund
DROP
12 in FIFO eingetragen, Frame-DropCounter inkrementiert, Bytes-DropCounter um Anzahl verworfener Bytes
erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, MAC Mismatch, Aktion AC- werden verworfen, Statistik: Grund 2
CEPT
und MAC in FIFO eingetragen, FrameDrop-Counter inkrementiert, BytesDrop-Counter um Anzahl verworfener
Bytes erhöht
4. Auswertung der Ergebnisse
38
Testfall
Die erste Rule ist für die Regelstufe
bestimmt, IP Mismatch, Aktion ACCEPT
Ergebnis
Frame, Rule Set und Framevariablen
werden verworfen, Statistik: Grund 6
und IP in FIFO eingetragen, FrameDrop-Counter inkrementiert, BytesDrop-Counter um Anzahl verworfener
Bytes erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, MAC und IP Mismatch, Akti- werden verworfen, Statistik: Grund
on ACCEPT
11, MAC und IP in FIFO eingetragen, Frame-Drop-Counter inkrementiert, Bytes-Drop-Counter um Anzahl
verworfener Bytes erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set Header und Framevastimmt und es gibt keine weiteren Ru- riablen werden weitergeleitet
les im Rule Set, Rule-Bedingung erfüllt,
Aktion ACCEPT
20 x Frames, die erste Rule ist für die 20 Frames verworfen, Statistikeinträge
Regelstufe bestimmt, Rule-Bedingung der letzten 16 Frames an Collector weinicht erfüllt, Drop-Data anschließend tergeleitet
angefordert
150 x minimal lange Frames (60 Byte), 150 Frames wurden verarbeitet
die erste Rule ist für die Regelstufe bestimmt, Rule-Bedingung nicht erfüllt
300 x minimal lange Frames (60 Byte), 257 Frames wurden verarbeitet (FIFOdie erste Rule ist für die Regelstufe be- Kapazität erschöpft)
stimmt, Rule-Bedingung nicht erfüllt
100 x maximal lange Frames (1522 100 Frames wurden verarbeitet
Byte), die erste Rule ist für die Regelstufe bestimmt, Rule-Bedingung nicht
erfüllt
600 x maximal lange Frames (1522 592 Frames wurden verarbeitet (FIFOByte), die erste Rule ist für die Regel- Kapazität erschöpft)
stufe bestimmt, Rule-Bedingung nicht
erfüllt
Tabelle 4.1.: Testfälle und Ergebnisse für die IP-Antispoofing Regelstufe
Die erzielten Ergebnisse stimmen mit den erwarteten überein. Die Testfälle und Ergebnisse für die Source-MAC, Destination-MAC, Source-IP und Destination-IP Regelstufe
39
4. Auswertung der Ergebnisse
sind im Anhang in den Tabellen A.1 - A.4 zu finden. In Tabelle 4.2 sind die erreichten
Taktfrequenzen sowie der Ressourcenverbrauch aller Regelstufen dargestellt.
Regelstufe
Taktfrequenz (MHz)
IP-Antispoofing
107,012
Source-MAC
107,912
Destination-MAC
107,912
Source-IP
102,009
Destination-IP
102,009
Ressourcenverbrauch (Slices)
556
528
528
514
514
Tabelle 4.2.: Taktfrequenzen und Ressourcenverbrauch der Regelstufen
40
5. Diskussion
5.1. Zusammenfassung
Im Rahmen dieser Arbeit wurde die Netzwerksicherheit im Zugangsbereich diskutiert.
Die wichtigsten Schutzmaßnahmen stellen Firewall und IDS dar. Die dabei zu erfüllenden Konfigurationsaufgaben sind relativ komplex und führen bei Fehlkonfiguration
zu einem großen Gefahrenpotential. Vor diesem Hintergrund ist es vorteilhaft, grundlegende Sicherheitsfunktionen bereits im Zugangsbereich bereitzustellen. Es wurde ein
Konzept von SecAN vorgestellt, welches das Ziel verfolgt, den Nutzer von komplizierten
Firewalleinstellungen zu entlasten. Die vorgeschlagene Hardwarefirewall soll von ISPs
betrieben und bedient werden. Diese kann den Nutzer und das gesamte lokale Netzwerk
vor negativen Einflüßen schützen.
Ein weit verbreitetes Linux-Werkzeug zur Paketfilterung und zum Schutz des Nutzers ist
iptables. Es wurden fünf Regelstufen präsentiert, die auf Grundlage von iptables arbeiten. Die IP-Antispoofing Regelstufe hat die Aufgabe, die IP-Spoofing-Versuche zu erkennen und zu blockieren. Die weiteren vier Regelstufen können anhand von Source-MAC,
Source-IP, Destination-MAC oder Destination-IP die Entscheidung über das Weiterleiten eines Frames treffen. Alle Regelstufen wurden in VHDL implementiert und anschließend mit einer geeigneten Test Bench getestet. Die erzielten Testergebnisse stimmen mit
den erwarteten Ergebnissen überein. Die Regelstufen erreichen die geforderten Geschwindigkeiten, um einen GBit-Betrieb zu gewährleisten. Diese können im SecAN eingesetzt
werden und die Sicherheit erhöhen.
5.2. Ausblick
Um eine erweiterte Sicherheit zu gewährleisten, müssen zusätzliche Regelstufen entwickelt und implementiert werden. Eine Möglichkeit wäre eine Port-Regelstufe. Diese kann
die verwendeten Ports des Transport Layers überprüfen. Mit Hilfe der Ports können unerwünschte Anwendungen wie z.B. P2P blockiert werden. Voraussetzung dafür ist, dass
die Anwendung konstante Ports oder Portsbereiche verwendet. Eine weitere Regelstufe könnte nach Protokollen filtern. So kann z.B. ARP-Spoofing erkannt und blockiert
werden. Weiterhin ist die Filterung nach bestimmten VLAN-Tags mit einer zusätzlichen
Regelstufe denkbar.
I
Literaturverzeichnis
[1] Paketfilter-Firewalls. http://www.nm.ifi.lmu.de/ sicherheitsbuch/Paketfilter.pdf.
[2] Cisco: Evolution of the Firewall Industry. http://www.cisco.com/univercd/
cc/td/doc/product/iaabu/centri4/user/scf4ch3.htm, 2002.
[3] ClickZ: Stats - Web Worldwide. http://www.clickz.com/showPage.html?page=151151,
2008.
[4] Computer-Industry-Almanac: Worldwide Internet Users Top 1.2 Billion in
2006. http://www.c-i-a.com/pr0207.htm, 2007.
[5] Freaks, T. G. C.: Spoofing-FAQ. http://www.gcf.de/papers/spoofingfaq.html,
2003.
[6] Kinkeldei, W.: iptables - Die Firewall des Kernels 2.4.
linux.de/t_netzwerk/iptables.html, 2001.
http://www.pro-
[7] Linux-Compendium:
Linux
Firewall
mit
iptables.
http://de.wikibooks.org/wiki/Linux-Kompendium:_Linux-Firewall_mit_IPTables, 2007.
[8] netfilter.org. http://www.netfilter.org/.
Proxy
und
Content-Filtering.
[9] Peritus-GmbH-Consulting:
http://www.peritus.de/itservice/betrieb/sicherheitskomponenten/
76583c98550fd3f07.html, 2008.
[10] Shell, M.: Intrusion Detection-Systeme: eine Einführung. ZDNet Security, 2005.
[11] Software-Marktplatz:
Firewall
Software.
http://www.softwaremarktplatz.de/software/firewall_software/index.php, 2008.
[12] Wikipedia: Netzwerksicherheit. http://de.wikipedia.org/wiki/Netzwerksicherheit,
2008.
II
A. Anhang
Source-MAC Regelstufe
Testfall
Die erste Rule ist nicht für die Regelstufe bestimmt
Es gibt keine Rules im Rule Set
Ergebnis
Frame, Rule Set und Framevariablen
werden weitergeleitet
Frame, Rule Set Header und Framevariablen werden weitergeleitet
WL im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung ist erfüllt, Ak- stufe wird aus dem Rule Set entfernt
tion DROP
NeRS im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung erfüllt, Aktion stufe wird aus dem Rule Set entfernt
DROP
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden weitergeleitet, Rule der RegelACCEPT
stufe wird aus dem Rule Set entfernt
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden verworfen, Statistik: Grund
DROP
12 in FIFO eingetragen, Frame-DropCounter inkrementiert, Bytes-DropCounter um Anzahl verworfener Bytes
erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Source-MAC Mismatch, Akti- werden verworfen, Statistik: Grund 2
on ACCEPT
und MAC in FIFO eingetragen, FrameDrop-Counter inkrementiert, BytesDrop-Counter um Anzahl verworfener
Bytes erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set Header und Framevastimmt und es gibt keine weiteren Ru- riablen werden weitergeleitet
les im Rule Set, Rule-Bedingung erfüllt,
Aktion ACCEPT
III
A. Anhang
Testfall
20 x Frames, die erste Rule ist für die
Regelstufe bestimmt, Rule-Bedingung
nicht erfüllt, Drop-Data anschließend
angefordert
Ergebnis
20 Frames verworfen, Statistik Einträge der letzten 16 Frames an Collector
weitergeleitet
Tabelle A.1.: Testfälle und Ergebnisse für Source-MAC Regelstufe
Destination-MAC Regelstufe
Testfall
Die erste Rule ist nicht für die Regelstufe bestimmt
Es gibt keine Rules im Rule Set
Ergebnis
Frame, Rule Set und Framevariablen
werden weitergeleitet
Frame, Rule Set Header und Framevariablen werden weitergeleitet
WL im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung ist erfüllt, Ak- stufe wird aus dem Rule Set entfernt
tion DROP
NeRS im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung erfüllt, Aktion stufe wird aus dem Rule Set entfernt
DROP
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden weitergeleitet, Rule der RegelACCEPT
stufe wird aus dem Rule Set entfernt
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden verworfen, Statistik: Grund
DROP
12 in FIFO eingetragen, Frame-DropCounter inkrementiert, Bytes-DropCounter um Anzahl verworfener Bytes
erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Destination-MAC Mismatch, werden verworfen, Statistik: Grund 1
Aktion ACCEPT
und MAC in FIFO eingetragen, FrameDrop-Counter inkrementiert, BytesDrop-Counter um Anzahl verworfener
Bytes erhöht
IV
A. Anhang
Testfall
Die erste Rule ist für die Regelstufe bestimmt und es gibt keine weiteren Rules im Rule Set, Rule-Bedingung erfüllt,
Aktion ACCEPT
20 x Frames, die erste Rule ist für die
Regelstufe bestimmt, Rule-Bedingung
nicht erfüllt, Drop-Data anschließend
angefordert
Ergebnis
Frame, Rule Set Header und Framevariablen werden weitergeleitet
20 Frames verworfen, Statistik Einträge der letzten 16 Frames an Collector
weitergeleitet
Tabelle A.2.: Testfälle und Ergebnisse für Destination-MAC Regelstufe
Source-IP Regelstufe
Testfall
Die erste Rule ist nicht für die Regelstufe bestimmt
Es gibt keine Rules im Rule Set
Ergebnis
Frame, Rule Set und Framevariablen
werden weitergeleitet
Frame, Rule Set Header und Framevariablen werden weitergeleitet
WL im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung ist erfüllt, Ak- stufe wird aus dem Rule Set entfernt
tion DROP
NeRS im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung erfüllt, Aktion stufe wird aus dem Rule Set entfernt
DROP
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden weitergeleitet, Rule der RegelACCEPT
stufe wird aus dem Rule Set entfernt
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden verworfen, Statistik: Grund
DROP
12 in FIFO eingetragen, Frame-DropCounter inkrementiert, Bytes-DropCounter um Anzahl verworfener Bytes
erhöht
A. Anhang
Testfall
Die erste Rule ist für die Regelstufe bestimmt, Source-MAC Mismatch, Aktion ACCEPT
Ergebnis
Frame, Rule Set und Framevariablen
werden verworfen, Statistik: Grund 6
und MAC in FIFO eingetragen, FrameDrop-Counter inkrementiert, BytesDrop-Counter um Anzahl verworfener
Bytes erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set Header und Framevastimmt und es gibt keine weiteren Ru- riablen werden weitergeleitet
les im Rule Set, Rule-Bedingung erfüllt,
Aktion ACCEPT
20 x Frames, die erste Rule ist für die 20 Frames verworfen, Statistik EinträRegelstufe bestimmt, Rule-Bedingung ge der letzten 16 Frames an Collector
nicht erfüllt, Drop-Data anschließend weitergeleitet
angefordert
Tabelle A.3.: Testfälle und Ergebnisse für Source-IP Regelstufe
Destination-IP Regelstufe
Testfall
Die erste Rule ist nicht für die Regelstufe bestimmt
Es gibt keine Rules im Rule Set
Ergebnis
Frame, Rule Set und Framevariablen
werden weitergeleitet
Frame, Rule Set Header und Framevariablen werden weitergeleitet
WL im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung ist erfüllt, Ak- stufe wird aus dem Rule Set entfernt
tion DROP
NeRS im Rule Set Header auf 1 gesetzt, Frame, Rule Set und Framevariablen
die erste Rule ist für die Regelstufe be- werden weitergeleitet, Rule der Regelstimmt, Rule-Bedingung erfüllt, Aktion stufe wird aus dem Rule Set entfernt
DROP
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Rule-Bedingung erfüllt, Aktion werden weitergeleitet, Rule der RegelACCEPT
stufe wird aus dem Rule Set entfernt
V
A. Anhang
Testfall
Die erste Rule ist für die Regelstufe bestimmt, Rule-Bedingung erfüllt, Aktion
DROP
Ergebnis
Frame, Rule Set und Framevariablen
werden verworfen, Statistik: Grund
12 in FIFO eingetragen, Frame-DropCounter inkrementiert, Bytes-DropCounter um Anzahl verworfener Bytes
erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set und Framevariablen
stimmt, Destination-IP Mismatch, Ak- werden verworfen, Statistik: Grund 7
tion ACCEPT
und MAC in FIFO eingetragen, FrameDrop-Counter inkrementiert, BytesDrop-Counter um Anzahl verworfener
Bytes erhöht
Die erste Rule ist für die Regelstufe be- Frame, Rule Set Header und Framevastimmt und es gibt keine weiteren Ru- riablen werden weitergeleitet
les im Rule Set, Rule-Bedingung erfüllt,
Aktion ACCEPT
20 x Frames, die erste Rule ist für die 20 Frames verworfen, Statistik EinträRegelstufe bestimmt, Rule-Bedingung ge der letzten 16 Frames an Collector
nicht erfüllt, Drop-Data anschließend weitergeleitet
angefordert
Tabelle A.4.: Testfälle und Ergebnisse für Destination-IP Regelstufe
VI
Eidesstattliche Versicherung
Ich erkläre an Eides statt, dass ich die vorliegende Arbeit selbständig und ohne Benutzung anderer als der angegebenen Hilfsmittel angefertigt habe.
Die aus fremden Quellen direkt oder indirekt übernommenen Gedanken habe ich als
solche kenntlich gemacht.
Rostock, 23. September 2008
Vladyslav Altman
Herunterladen