Hurricane: Ένα σύστημα για την κατανεμημένη ανάλυση δικτυακής κίνησης:
Creators: name: Κυριακόπουλος, Σταύρος Γεωργίου
Publisher: name: Aristotle University of Thessaloniki
Year: 2014
Subjects: Κατανεμημένα
Δίκτυα
Σύννεφο
Distributed
Network
Cloud

description: Αντικείμενο της παρούσας μεταπτυχιακής διατριβής ήταν η δημιουργία του Hurricane, ενός πλήρως αποκεντρωμένου συστήματος για κατανεμημένη ανάλυση δικτυακής κίνησης με σκοπό την ανίχνευση πληθώρας επιθέσεων που εξαπολύονται καθημερινά στο διαδίκτυο. Το σύστημα Hurricane παρουσιάζει πολύ μεγάλη ευελιξία, αφού μπορεί να εγκατασταθεί σε οποιοδήποτε cluster υπολογιστών στο cloud, στο grid ή και στο εσωτερικό μας δίκτυο, ενώ ακόμη και οι υπολογιστές που προστατεύει μπορούν να βρίσκονται οπουδήποτε. Για να υλοποιηθεί ένα τέτοιο σύστημα μελετήσαμε σε πρώτη φάση μια σειρά επιθέσεων, όπως επιθέσεις άρνησης παροχής υπηρεσίας, τεχνικές ανίχνευσης ανοιχτών δικτυακών θυρών αλλά και τρόπους μετάδοσης σκουληκιών. Εστιάσαμε κυρίως στον σκοπό τους, τον τρόπο με τον οποίο εξαπολύονται, τις αδυναμίες πρωτοκόλλων που εκμεταλλεύονται για να βλάψουν ένα πληροφοριακό σύστημα αλλά και τους τρόπους αντιμετώπισης τους. Στη συνέχεια ασχοληθήκαμε με το πεδίο της κατανεμημένης επεξεργασίας ροών δεδομένων και αξιολογήσαμε τα διάφορα συστήματα που υπάρχουν στην βιβλιογραφία, ώστε να επιλέξουμε την πλέον κατάλληλη λύση για το Hurricane. Τελικώς επιλέξαμε να προχωρήσουμε στην υλοποίηση μας χρησιμοποιώντας το Storm, ένα ανοιχτού κώδικα σύστημα για κατανεμημένη επεξεργασία ροών δεδομένων, κύρια χαρακτηριστικά του οποίου είναι η κλιμάκωση (scalability), η ανεκτικότητα σε λάθη (fault tolerance) και η εγγύηση ότι όλα τα δεδομένα που θα εισαχθούν στο σύστημα θα επεξεργαστούν στο ακέραιο (data processing guarantee). Όλα τα συστήματα αυτού του τύπου λειτουργούν με την βοήθεια κατανεμημένων συστημάτων διαχείρισης μηνυμάτων (Messaging Systems) τα οποία λαμβάνουν πληροφορία από πολλές πηγές και την διοχετεύουν με κατανεμημένο τρόπο στα συστήματα κατανεμημένης επεξεργασίας ροών δεδομένων. Μελετώντας τα διάφορα συστήματα που έχουν προταθεί επιλέξαμε τελικά το Kafka, ένα ανοιχτού κώδικα κατανεμημένο σύστημα διαχείρισης μηνυμάτων σχεδιασμένο να μπορεί να επεξεργάζεται πάρα πολύ μεγάλο όγκο δεδομένων. Στο τελευταίο στάδιο μας ενδιέφερε να αποθηκεύουμε τα δεδομένα μας σε μια βάση δεδομένων και για αυτό το λόγο ασχοληθήκαμε με NoSQL βάσεις δεδομένων, οι οποίες αποτελούν την πλέον ενδεδειγμένη λύση για αποθήκευση/ανάκτηση δεδομένων με κατανεμημένο τρόπο. Μέσα από τις διάφορες βάσεις δεδομένων αυτού του τύπου επιλέξαμε τελικώς το σύστημα Cassandra. Στην εργασία μας το Hurricane εγκαταστάθηκε σε ένα cluster 5 υπολογιστών στο cloud του okeanos, μια υπηρεσία που δημιουργήθηκε για τις ανάγκες της Ελληνικής ερευνητικής και ακαδημαϊκής κοινότητας.
description: Subject of this work was the creation of the Hurricane, a completely decentralized system for distributed analysis of network traffic, main task of which is the detection of various attacks that are launched everyday on the Internet. The Hurricane presents great flexibility as it can be installed on any cluster of machines on cloud, grid or within our network, while at the same time all computers that are being protected can reside anywhere. To implement such a system we studied a series of attacks, like Denial Of Service (DOS) Attacks, Port Scanning techniques and ways to transmit worms. We mainly focused on their purpose, how they are launched, the protocol vulnerabilities they exploit to harm an information system and ways to tackle them. Then we studied the literature of distributed stream processing field and we assessed the existing state of the art systems, in order to choose the most appropriate solution for the Hurricane. We finally chose to proceed with our implementation using Storm, an open source system for distributed processing of data streams, the main characteristics of which are scalability, fault tolerance and data processing guarantee. All systems of this type work using distributed messaging systems, which receive information from many sources and pass it to the distributed stream processing systems, in a distributed manner. Studying the various systems that have been proposed, we finally chose Kafka, an open source distributed messaging system designed to process very large volumes of data. In the last step we were interested to store our data in a database and for that reason we dealt with NoSQL databases which are the most appropriate solution for storing / retrieving data in a distributed way. From various database systems of this type we finally chose to use Cassandra. In this work, the Hurricane was installed in a cluster of 5 computers in okeanos cloud, a service created for the needs of the Greek research and academic community.