Ανάπτυξη επέκτασης Chrome για την ανίχνευση κακόβουλης JavaScript
Chrome extension development for malicious JavaScript detection
Master Thesis
Συγγραφέας
Μπαρκούζου, Δήμητρα - Ανδρομάχη Ε.
Ημερομηνία
2017-05Επιβλέπων
Πατσάκης, ΚωνσταντίνοςΠροβολή/ Άνοιγμα
Λέξεις κλειδιά
Διαδίκτυο ; Ασφάλεια διαδικτύου ; Κακόβουλο λογισμικό ; Επιθέσεις διαδικτύου ; Chrome ; Malicious JavaScript ; Chrome extensionsΠερίληψη
Στην παρούσα εργασία παρουσιάζεται η μελέτη και η έρευνα εργαλείων στατικής και δυναμικής ανάλυσης για τον εντοπισμό κακόβουλης JavaScript σε σελίδες του διαδικτύου. Στα πλαίσια αυτής της έρευνας υλοποιήθηκε μια επέκταση για τον φυλλομετρητή Chrome, η οποία ενσωματώνει τις λειτουργίες αυτών των εργαλείων ως μια προσπάθεια εντοπισμού των κρίσιμων επιθέσεων που βασίζονται στην γλώσσα σεναρίων JavaScript. Πιο συγκεκριμένα χρησιμοποιήθηκαν δύο εργαλεία, το JSDetox το οποίο πραγματοποιεί στατική ανάλυση και το jsunpack-n από την άλλη πλευρά που είναι εργαλείο δυναμικής ανάλυσης. Ο συνδυασμός των λειτουργιών και των δύο έχει ως αποτέλεσμα την εκμετάλλευση των πλεονεκτημάτων του καθενός, με απώτερο σκοπό την αποτελεσματικότερη ανίχνευση κακόβουλου κώδικα στις σελίδες που επισκέπτεται ο χρήστης. Στη συγκεκριμένη επέκταση περιλαμβάνεται και μια βασική συνάρτηση, η οποία ελέγχει το εάν ο εξεταζόμενος κώδικας είναι obfuscated ή όχι. Για να γίνει αυτό υπολογίζονται η εντροπία, το n-gram και το μέγεθος λέξης (wordsize), τα οποία μέσω μιας γραμμικής συνάρτησης δίνουν το κατώφλι, με βάση το οποίο γίνεται η ταξινόμηση το αν ο κώδικας είναι obfuscated ή όχι. Όλα τα παραπάνω έχουν υλοποιηθεί με τις βασικές Web τεχνολογίες JavaScript, HTML, AJAX και JQuery.
Στα επόμενα κεφάλαια θα γίνει αναφορά στις τεχνολογίες αυτές, καθώς επίσης και σε βασικά θέματα ασφάλειας της JavaScript, όπως ο τρόπος που οι επιτιθέμενοι την χρησιμοποιούν για να εκμεταλλευτούν το σύστημα του τελικού χρήστη και ο τρόπος που ένας κώδικας μπορεί να μετατραπεί σε obfuscated.
Τέλος, θα γίνει περιγραφή του τρόπου με τον οποίο σχεδιάστηκε η επέκταση, οι τροποποιήσεις που χρειάστηκαν να γίνουν στην εικονική μηχανή που φιλοξενεί τα εργαλεία με τα οποία συνεργάζεται και ο τρόπος λειτουργίας της.