Ανάπτυξη μηχανισμού εντοπισμού κακόβουλου λογισμικού σε εφαρμογές διαδικτύου με χρήση αλγορίθμου μηχανικής μάθησης
Development of a mechanism that detects malicious software on web applications using machine learning algorithm
Master Thesis
Συγγραφέας
Τριανταφύλλου, Γεώργιος
Ημερομηνία
2017-04Επιβλέπων
Νταντογιάν, ΧριστόφοροςΠροβολή/ Άνοιγμα
Λέξεις κλειδιά
Μηχανική μάθηση ; Naïve Bayes ; Python ; Μηχανισμός ανίχνευσης ; Κακόβουλο λογισμικό ; Machine learning ; Anti-malware mechanism ; Malicious softwareΠερίληψη
Η παρούσα διατριβή επιχειρεί να δώσει λύση σε μία από τις σημαντικότερες
απειλές που καλείται να αντιμετωπίσει ένας διαχειριστής ιστοτόπου, αυτό του
εντοπισμού αγνώστου κακόβουλου λογισμικού, όταν αυτό προσβάλει τα συστήματα
τους, καθώς οι περισσότεροι μηχανισμοί anti-malware αδυνατούν να εντοπίσουν
έγκαιρα τέτοιου είδους λογισμικά, με αποτέλεσμα την έκθεση σε κίνδυνο αυτών των
συστημάτων να είναι σχεδόν βεβαία.
Σε αντίθεση με τα υφιστάμενα αντιμέτρα, ο παρόν μηχανισμός εντοπισμού
κακόβουλου λογισμικού σχεδιάστηκε και υλοποιήθηκε με την εφαρμογή εργαλείων
ανοιχτού κώδικα και είναι σε θέση να εντοπίζει κακόβουλο λογισμικό με χρήση
μηχανισμών μηχανικής μάθησης και συγκεκριμένα με τον αλγόριθμο Naïve Bayes. Ο
Naïve Bayes μετά από την απαραίτητη εκπαίδευση, έχει την δυνατότητα να είναι σε
θέση να εντοπίζει με μεγάλο ποσοστό επιτυχίας άγνωστο κυρίως κακόβουλο
λογισμικό.
Στην συνέχεια σχεδιάστηκαν δύο δοκιμασίες έτσι ώστε να γίνει όσο το
δυνατόν ακριβέστερη η μέτρηση της απόδοσης του μηχανισμού, ενώ οι αξιολογήσεις
έγιναν βασιζόμενες στις αρχές της αποτίμησης της αποτελεσματικότητας. Στις
δοκιμασίες αυτές έγινε σύγκριση των αποτελεσμάτων με επιπλέον τρεις αντίστοιχους
μηχανισμούς οι οποίοι είναι ανοιχτού κώδικα και χρησιμοποιούνται ευρέως για τον
εντοπισμό κακόβουλου λογισμικού από τους διαχειριστές εξυπηρετητών διαδικτύου.
Τα αποτελέσματα τα οποία εμφανίζει ο μηχανισμός κρίνονται ιδιαιτέρως
ικανοποιητικά καθώς αυτός καθίσταται ικανός σύμφωνα με το επίπεδο της
εκπαίδευσης του να εντοπίσει το σύνολο του γνωστού αλλά και αγνώστου
κακόβουλου λογισμικού και ταυτόχρονα να ελαχιστοποιήσει τα σφάλματα τύπου
false positive