Ανάπτυξη πολυεργαλείου αναγνώρισης και επίβλεψης δικτύων σε Python
Abstract
Η παρούσα διπλωματική εργασία θα μελετήσει τις αρχές πίσω από τη λειτουργία των σύγχρονων δικτύων TCP/IP, θα αναφερθεί σε κενά ασφαλείας, καθώς και τεχνικές και επιθέσεις που τις εκμεταλλεύονται, ενώ στο τέλος της θα μελετήσει την ανάπτυξη μιας εφαρμογής που θα τις υλοποιεί. Στόχοι της εργασίας αυτής είναι:
- Η μελέτη των αρχών και προτύπων που απαντούν στα σύγχρονα δίκτυα υπολογιστών.
- Η μελέτη τρόπων εκμετάλλευσης των αρχών αυτών για την απόκτηση πληροφοριών σχετικά με τους κόμβους ενός τέτοιου δικτύου.
- Η ανάπτυξη μιας εφαρμογής που χρησιμοποιεί τους τρόπους αυτούς για να υλοποιήσει δικτυακές επιθέσεις και να ενημερώσει το χρήστη σχετικά με τις ιδιότητες ενός κόμβου του δικτύου.
- Αποτίμηση της εφαρμογής με έλεγχο της λειτουργίας της σε πραγματικό δικτυακό περιβάλλον.
- Συγκριτικά συμπεράσματα και προτάσεις.
Η υλοποίηση της εφαρμογής έγινε με τη χρήση της γλώσσας προγραμματισμού Python και τη βοήθεια της βιβλιοθήκης δικτυακών εργαλείων Scapy. Η ανάπτυξη της έγινε σε περιβάλλον Linux και η αποτίμηση απόδοσης λειτουργίας της σε πραγματικό περιβάλλον τοπικού δικτύου TCP/IP.
Η εργασία περιλαμβάνει συνολικά 6 κεφάλαια: το πρώτο περιγράφει τις βασικές αρχές και τα πρωτόκολλα στα οποία βασίζεται η λειτουργία των σύγχρονων δικτύων TCP/IP, το δεύτερο τις τεχνικές ανάλυσης και ελέγχου των δικτύων αυτών καθώς και ορισμένες δικτυακές «επιθέσεις» που βασίζονται σε ιδιότητες των πρωτοκόλλων που αναφέρθηκαν, το τρίτο κεφάλαιο αφορά τον αρχικό σχεδιασμό της εφαρμογής, το τέταρτο την ανάπτυξή της με τη χρήση της γλώσσας προγραμματισμού Python, το πέμπτο την εκτέλεση της σε ένα σενάριο πραγματικού περιβάλλοντος δικτύου και, τέλος, το έκτο κεφάλαιο το οποίο παραθέτει τα συμπεράσματα που εξήχθησαν καθώς και πιθανές μελλοντικές επεκτάσεις.
This thesis is going to study the principles behind the function of modern TCP/IP networks, mention security holes in their implementations, as well as techniques and attacks that exploit them, and, at last, study the development of an application that implements them. The targets of this thesis are:
- The study of the network principles and standards that are used in modern local network implementations.
- The study of exploit methods that appear, for the purpose of retrieving information about the nodes of these networks.
- The development of an application that uses these methods to implement network attacks and inform the user about attributes of this network’s nodes.
- Evaluation of the application by running it in a real network environment.
- Conclusions and proposals.
The application was implemented in the Python Programming Language, using the Scapy Network Tool Library. Development took place in a Linux environment and evaluation in a real TCP/IP network environment.
The thesis is divided in 6 chapters: the first describes the basic principles and protocols of modern TCP/IP networks, the second the control and analysis techniques used in these networks, as well as some network «attacks» that exploit these protocols’ attributes, the third chapter concerns the application’s initial design, the fourth its development in the Python Programming Language, the fifth its execution in a real network environment scenario, and, lastly, the sigth chapter lists the conclusions that were drawn, as well as possible future extensions.