title: Packet detection on Maxeler architecture
title: Ανίχνευση πακέτων σε αρχιτεκτονική Maxeler
Creators: name: Καπελλακη Μαρια
Publisher: name: Technical University of Crete
Year: 2016

description: Τα τελευταία χρόνια το διαδίκτυο αποτελεί ένα μεγάλο κομμάτι της καθημερινής μας ζωής καθώς η πρόσβαση σε αυτό είναι πλέον πολύ εύκολη, μέσω διάφορων συσκευών. Βάσει αυτού έχει δημιουργηθεί η ανάγκη για αποτελεσματικά συστήματα προστασίας και ασφάλειας.
Η ανάπτυξη των συστημάτων Ανίχνευσης Εισβολών Δικτύου(Network Intrusion Detection Systems – NIDS) είναι ραγδαία και αυτά αποτελούν την εξέλιξη των firewalls, μιας και εκτός από το να ελέγχουν τις επικεφαλίδες των διερχόμενων πακέτων ελέγχουν και τα περιεχόμενα (payload) του πακέτου για την ύπαρξη συγκεκριμένων ύποπτων συμβολοσειρών. Ένα από τα πιο διαδεδομένα συστήματα ανίχνευσης εισβολών δικτύου είναι το Snort, το οποίο είναι ένα εργαλείο ανοιχτού κώδικα και διατίθεται δωρεάν. 
Η αναζήτηση συμβολοσειρών στα δεδομένα ενός πακέτου δεν είναι απλή διαδικασία και μπορεί να γίνει πολύ απαιτητική τόσο σε χρόνο, όσο και σε πόρους συστήματος, όταν μιλάμε για υψηλούς ρυθμούς μετάδοσης. Μία λύση σε αυτό μπορεί να προσφέρει η χρήση υλικού, καθώς μπορεί να παρέχει ρυθμούς επεξεργασίας πολύ μεγαλύτερους από εκείνους του λογισμικού.
Η εργασία επικεντρώθηκε στην δημιουργία ενός συστήματος ανίχνευσης εισβολών δικτύου, έχοντας ως σύστημα αναφοράς, το σύστημα Snort, στον υβριδικό υπερυπολογιστή της εταιρείας Maxeler Technologies. Ο συγκεκριμένος υπερυπολογιστής, κάνοντας χρήση αρχιτεκτονικών που συνδυάζουν επεξεργαστές γενικού σκοπού με αναδιατασσόμενη λογική, κάνει δυνατή την κατασκευή συστημάτων με εξαιρετικές δυνατότητες.
Στην παρούσα διπλωματική εργασία δημιουργήθηκε το σύστημα ταυτοποίησης των περιεχομένων του πακέτου, το σύστημα ταυτοποίησης της κεφαλίδας του πακέτου, το σύστημα ταυτοποίησης του κανόνα, καθώς και ένα πρόγραμμα αυτόματης παραγωγής κώδικα για τις ανάγκες του compiler της Maxeler, συνθέτοντας έτσι ένα ολοκληρωμένο σύστημα ανίχνευσης εισβολών δικτύου, συμβατό με τους κανόνες Snort.
description: Recent years, the Internet is a big part of our everyday life because access to it is very easy, through various devices. The need for effective protection and safety systems is necessary.
Recently, Network Intrusion Detection Systems - NIDS, have been developed, often as an upgrade of firewalls; NID Systems not only check the headers of passing packet, but they also check the payload of the packet for the existence of specific suspicious strings. One of the most popular Network Intrusion Detection systems is \textbf{Snort}, which is a free and open source tool.
We can easily understand that one string search in the data of a packet is not straightforward and can be very demanding in terms of time, and on system resources when we talk about high bit rates. A solution to this can be the use of hardware, as it can provide much higher processing rates than those of the software.
This thesis is focused on the creation of such a system, on a hybrid supercomputer of the Maxeler Technologies Company, having SNORT as a reference system. Maxeler supercomputers, use an architecture that combines a general purpose processor with reconfigurable logic and leads to the construction of systems with excellent potentialities.
In this thesis, we created a system for content matching, header matching, rule matching, as well as an automatic generator of code needed by Maxeler's compiler, thus composing a complete network intrusion detection system, following the principles and syntax of the Snort rules.