Περίληψη: | Στην παρούσα διπλωματική εργασία εξετάστηκε μέσω του Js-fuzz η ύπαρξή εισόδων για τις οποίες μπορεί μια function-script να προκαλέσει errors τα οποία έχει ορίσει ο δημιουργός της .Τα προγράμματα – scripts πολλές φορές είναι περίπλοκα και δύσκολα να ελεγχθούν χειροκίνητα από τον προγραμματιστή. Ένας παραμετροποιημένος fuzzer σύμφωνα με τις ανάγκες του προγραμματιστή μπορεί να ελέγξει, με είσοδο πολύ μεγάλο αριθμό διαφορετικών εισόδων, ποιες εισόδους πρέπει να αποφύγουμε ώστε το πρόγραμμα να μην επιστρέψει μη αποδεκτό αποτέλεσμα. Αυτό θα έχει ως αποτέλεσμα γρήγορα ο προγραμματιστής να διορθώσει το πρόγραμμα του ,μην επιτρέποντας σε κακόβουλο χρήστη να εκμεταλλευτεί αυτό το κενό ασφαλείας με σκοπό να βλάψει ένα κομμάτι μιας εφαρμογής για παράδειγμα. Τέτοια προβλήματα θα μπορούσαν να είναι εξάντληση της μνήμης μέσω μιας εισόδου, λανθασμένος τύπος εισόδου, χρονοβόρα απόκριση του προγράμματος για μια συγκεκριμένη είσοδο και τιμές για τις οποίες δεν θα δεχόμασταν ως αποτέλεσμα. Τα παραπάνω errors ελέγχθηκαν και παρουσιάζονται στο κεφάλαιο της υλοποίησης .
Η εργασία χωρίζεται σε δύο μέρη. Στο βιβλιογραφικό μέρος γίνεται μια γενική επισκόπηση των κύριων τεχνικών ανάλυσης κακόβουλου λογισμικού αλλά και των τρόπων ανίχνευσης τρωτών σημείων ασφάλειας στο λογισμικό και με μεγαλύτερη έμφαση σε αυτή του fuzz testing .Όλα τα παραπάνω μελετήθηκαν για την συγγραφή της παρούσας εργασίας. Το πειραματικό τμήμα επιχειρεί στηριζόμενο σε έναν ήδη γνωστό fuzzer ,εργαλείο εύρεσης κακόβολου λογισμικού και πιο συγκεκριμένα σε κώδικα JavaScript .
|