Μέθοδοι αύξησης επιπέδου ασφάλειας σε εταιρικά δίκτυα
Organizations around the world provide a variety of services to their members, associates as well as their clients. In the core of this process stand the Information Systems. They preserve crucial intellectual assets that add important value to the company especially against competition. As global networks expand, Information Systems interconnectivity follow offering new services and great potential. It’s vital for the systems to operate smoothly. An Information System must comply with the 3 principles of security hence Confidentiality, Integrity and Availability. Administrators often face threats that their main target is to gain unauthorized access, to reveal, steal or manipulate information and to set off crucial system services. Malicious users tend to exploit known or unknow vulnerabilities in order to perform various attacks like malware, phishing and Denial of Service. From their part, administrators can use a collection of tools in order to secure their systems against such attempts or at least try to manage the damage. Firewalls play crucial part in this effort. Depending on the type or the selected topology, they can protect the entire system as well as specific sectors which demand strict access policy. Remote users can access services of the Information System using Virtual Private network. which provide secure connection. Concerning detection of incoming attacks, Intrusion Detection Systems are capable of detecting possible intrusions relatively fast, with accuracy, providing the network traffic data in an understandable way. Taking a step further, Intrusion Prevention Systems add the ability to stop or isolate an ongoing attack. Honey pots are a useful tool to detect attacks. They attract the intruder away from the vital parts of the system while at the same time by logging his actions, the administrator can study their techniques. Cryptographic algorithms keep the integrity and the source of the information intact. Snort is an open-source software that its main goal is to alert accurately and on time for an incoming attack. Among its main characteristics are: easy installation on the majority of the network’s nodes, low demands for memory and cpu and the simplicity of the configuration process. Snort’s architecture is consisted by four elements. The packet decoder, the detection engine, the logger and the alerter. Also, it uses a simple language in order to create the rules that the detection engine uses. In the framework of this essay a preliminary application was developed with the aimed purpose to work in parallel with Snort. The chosen programming language is Python 3, a powerful and popular language among both novice and experienced programmers. It provides an extensive library the use of which reduces the size of code. This preliminary application allows the administrator to deactivate specific system services based on the data that are provided by Snort.
Thesis
Για τους οργανισμούς τα Πληροφοριακά Συστήματα αποτελούν τον πυρήνα των παρεχόμενων υπηρεσιών που προσφέρονται στα μέλη, στους εξωτερικούς συνεργάτες και στους πελάτες. Ταυτόχρονα διατηρούν σημαντικά πνευματικά περιουσιακά στοιχεία που αποφέρουν το στρατηγικό πλεονέκτημα απέναντι στον ανταγωνισμό. Καθώς τα παγκόσμια δίκτυα αναπτύσσουν τη διασύνδεση των πληροφοριακών συστημάτων η απρόσκοπτη λειτουργία των υπηρεσιών επικοινωνίας και πληροφορικής αποτελεί ζωτικό παράγοντα. Ένα Πληροφοριακό Σύστημα για να λειτουργεί με ασφάλεια πρέπει να ικανοποιεί τις αρχές του τρίπτυχου Εμπιστευτικότητα, Ακεραιότητα και Διαθεσιμότητα. Οι διαχειριστές τους συχνά βρίσκονται αντιμέτωποι με απειλές οι οποίες έχουν σαν στόχο να αποκτήσουν μη εξουσιοδοτημένη πρόσβαση στις πληροφορίες, να τις αποκαλύψουν ή να τις αλλοιώσουν και να τεθούν οι παρεχόμενες υπηρεσίες εκτός λειτουργίας. Οι κακόβουλοι χρήστες εκμεταλλεύονται γνωστές ή και άγνωστες ευπάθειες των συστημάτων για να εκτελέσουν μεταξύ άλλων επιθέσεις malware, phishing και Denial of Service. Από την πλευρά τους οι διαχειριστές διαθέτουν μία παλέτα εργαλείων για να ασφαλίσουν το Πληροφοριακό Σύστημα, να αποτρέψουν μία επίθεση ή να περιορίσουν την έκτασής της και τη ζημιά που θα επιφέρει. Ακρογωνιαίος λίθος της ασφάλειας είναι τα τείχη προστασίας τα οποία ανάλογα με τον τύπο και την τοπολογία που θα επιλεγεί είναι σε θέση να προστατεύσουν ολόκληρο το σύστημα καθώς και επιμέρους μέρη του που απαιτούν αυστηρότερους κανόνες πρόσβασης. Για την παροχή υπηρεσιών σε απομακρυσμένους χρήστες αναπτύσσονται τα ιδιωτικά εικονικά δίκτυα που προσφέρουν ασφαλή σύνδεση. Στον τομέα της ανίχνευσης και του εντοπισμού επιθέσεων κομβικό ρόλο παίζουν τα Συστήματα ανίχνευσης εισβολών (IDS) τα οποία είναι σε θέση να εντοπίζουν πληθώρα εισβολών σε εύλογο χρονικό διάστημα με ακρίβεια και να παρουσιάζουν με κατανοητό τρόπο την ανάλυση της κίνησης του δικτύου. Τα συστήματα πρόληψης εισβολών προχωρούν ένα βήμα παραπέρα προσφέροντας και τη δυνατότητα αποτροπής ή περιορισμού της κακόβουλης δραστηριότητας. Για την ανίχνευση εισβολών χρήσιμο εργαλείο είναι τα honey pots τα οποία όχι μόνο μπορούν να προσελκύσουν έναν εισβολέα απομακρύνοντάς τον από τα κρίσιμα μέρη του συστήματος αλλά χάρη στους καταγραφείς συμβάντων που διαθέτουν προσφέρονται για την ανάλυση των μεθόδων επιθέσεων που λαμβάνουν χώρα. Οι αλγόριθμοι κρυπτογράφησης διατηρούν τη μυστικότητα των κρυπτογραφημένων πληροφοριών με τη βοήθεια των αλγόριθμων κρυπτογράφησης την ακεραιότητα και την προέλευσή τους. Για τον όσο το δυνατό έγκαιρο εντοπισμό των επερχόμενων επιθέσεων έχει αναπτυχθεί τον λογισμικό ανοιχτού κώδικα Snort. Ανάμεσα στα χαρακτηριστικά του είναι η εύκολη εγκατάσταση στους κόμβους του δικτύου, οι χαμηλές απαιτήσεις σε μνήμη και επεξεργαστική ισχύ και η απλή διαμόρφωσή του. Η αρχιτεκτονική του Snort περιλαμβάνει την αποκωδικοποίηση των πακέτων, τη μηχανή ανίχνευσης εισβολών, τον καταγραφέα των συμβάντων και την παραγωγή των ειδοποιήσεων. Τέλος χρησιμοποιεί μια απλή και ευέλικτη γλώσσα για τη δημιουργία των κανόνων που χρησιμοποιεί η μηχανή ανίχνευσης. Στα πλαίσια της παρούσας διατριβής ζητήθηκε η συγγραφή μίας πρώιμης εφαρμογής που θα χρησιμοποιείται παράλληλα με το Snort. Η γλώσσα προγραμματισμού που επιλέχθηκε είναι η Python 3 η οποία μία ισχυρή γλώσσα που είναι δημοφιλής τόσο στους αρχάριους όσο και στους προχωρημένους προγραμματιστές. Επίσης παρέχει μια μεγάλη βιβλιοθήκη που περιλαμβάνει πολλούς τομείς μειώνοντας σημαντικά το μέγεθος του κώδικα που πρέπει να γραφθεί. Λειτουργία της πρώιμης εφαρμογής είναι να απενεργοποιεί συγκεκριμένες υπηρεσίες του συστήματος εφόσον το κρίνει απαραίτητο ο διαχειριστής αξιολογώντας τα ευρήματα που του παρουσιάζει το Snort.