Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες

Στην παρούσα διπλωματική εργασία εξετάστηκε μέσω του Js-fuzz η ύπαρξή εισόδων για τις οποίες μπορεί μια function-script να προκαλέσει errors τα οποία έχει ορίσει ο δημιουργός της .Τα προγράμματα – scripts πολλές φορές είναι περίπλοκα και δύσκολα να ελεγχθούν χειροκίνητα από τον προγραμματιστή. Ένας...

Πλήρης περιγραφή

Λεπτομέρειες βιβλιογραφικής εγγραφής
Κύριος συγγραφέας: Γεωργίου, Νίκη
Άλλοι συγγραφείς: Georgiou, Niki
Γλώσσα:Greek
Έκδοση: 2022
Θέματα:
Διαθέσιμο Online:http://hdl.handle.net/10889/16178
id nemertes-10889-16178
record_format dspace
spelling nemertes-10889-161782022-09-05T05:38:26Z Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες Static and dynamic JavaScript input detection for vulnerabilities Γεωργίου, Νίκη Georgiou, Niki Ασφάλεια Δυναμική ανάλυση Στατική ανάλυση Security JavaScript Fuzzing Static analysis Dynamic analysis Στην παρούσα διπλωματική εργασία εξετάστηκε μέσω του Js-fuzz η ύπαρξή εισόδων για τις οποίες μπορεί μια function-script να προκαλέσει errors τα οποία έχει ορίσει ο δημιουργός της .Τα προγράμματα – scripts πολλές φορές είναι περίπλοκα και δύσκολα να ελεγχθούν χειροκίνητα από τον προγραμματιστή. Ένας παραμετροποιημένος fuzzer σύμφωνα με τις ανάγκες του προγραμματιστή μπορεί να ελέγξει, με είσοδο πολύ μεγάλο αριθμό διαφορετικών εισόδων, ποιες εισόδους πρέπει να αποφύγουμε ώστε το πρόγραμμα να μην επιστρέψει μη αποδεκτό αποτέλεσμα. Αυτό θα έχει ως αποτέλεσμα γρήγορα ο προγραμματιστής να διορθώσει το πρόγραμμα του ,μην επιτρέποντας σε κακόβουλο χρήστη να εκμεταλλευτεί αυτό το κενό ασφαλείας με σκοπό να βλάψει ένα κομμάτι μιας εφαρμογής για παράδειγμα. Τέτοια προβλήματα θα μπορούσαν να είναι εξάντληση της μνήμης μέσω μιας εισόδου, λανθασμένος τύπος εισόδου, χρονοβόρα απόκριση του προγράμματος για μια συγκεκριμένη είσοδο και τιμές για τις οποίες δεν θα δεχόμασταν ως αποτέλεσμα. Τα παραπάνω errors ελέγχθηκαν και παρουσιάζονται στο κεφάλαιο της υλοποίησης . Η εργασία χωρίζεται σε δύο μέρη. Στο βιβλιογραφικό μέρος γίνεται μια γενική επισκόπηση των κύριων τεχνικών ανάλυσης κακόβουλου λογισμικού αλλά και των τρόπων ανίχνευσης τρωτών σημείων ασφάλειας στο λογισμικό και με μεγαλύτερη έμφαση σε αυτή του fuzz testing .Όλα τα παραπάνω μελετήθηκαν για την συγγραφή της παρούσας εργασίας. Το πειραματικό τμήμα επιχειρεί στηριζόμενο σε έναν ήδη γνωστό fuzzer ,εργαλείο εύρεσης κακόβολου λογισμικού και πιο συγκεκριμένα σε κώδικα JavaScript . For this thesis ,the existence of inputs for which a function-script can cause errors defined by its creator was examined through Js-fuzz. Scripts are often complex and difficult to be controlled manually by the programmer. A configurable fuzzer according to the needs of the programmer can control, by entering a very large number of various inputs, which inputs we must avoid so that the script does not return an unacceptable result. This will cause the developer to quickly fix his program, not allowing a malicious user to exploit this security vulnerability to harm a piece of an application for example. Such problems could be memory depletion through an input, incorrect inputs type, time-consuming program response for a particular input, and values that we would not accept as a result. The above errors were checked and are presented in the implementation chapter. The work is divided into two parts. The bibliographical section presents the theoretical documentation of the main malware analysis techniques but also the ways of detecting vulnerabilities in the software and with more emphasis on fuzz testing. All the above were studied for the writing of this thesis. The experimental part is based on an already known fuzzer, jsFuzz, a tool for finding malware and more specifically in JavaScript code. 2022-04-18T08:43:04Z 2022-04-18T08:43:04Z 2021-03-25 http://hdl.handle.net/10889/16178 gr application/pdf
institution UPatras
collection Nemertes
language Greek
topic Ασφάλεια
Δυναμική ανάλυση
Στατική ανάλυση
Security
JavaScript
Fuzzing
Static analysis
Dynamic analysis
spellingShingle Ασφάλεια
Δυναμική ανάλυση
Στατική ανάλυση
Security
JavaScript
Fuzzing
Static analysis
Dynamic analysis
Γεωργίου, Νίκη
Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες
description Στην παρούσα διπλωματική εργασία εξετάστηκε μέσω του Js-fuzz η ύπαρξή εισόδων για τις οποίες μπορεί μια function-script να προκαλέσει errors τα οποία έχει ορίσει ο δημιουργός της .Τα προγράμματα – scripts πολλές φορές είναι περίπλοκα και δύσκολα να ελεγχθούν χειροκίνητα από τον προγραμματιστή. Ένας παραμετροποιημένος fuzzer σύμφωνα με τις ανάγκες του προγραμματιστή μπορεί να ελέγξει, με είσοδο πολύ μεγάλο αριθμό διαφορετικών εισόδων, ποιες εισόδους πρέπει να αποφύγουμε ώστε το πρόγραμμα να μην επιστρέψει μη αποδεκτό αποτέλεσμα. Αυτό θα έχει ως αποτέλεσμα γρήγορα ο προγραμματιστής να διορθώσει το πρόγραμμα του ,μην επιτρέποντας σε κακόβουλο χρήστη να εκμεταλλευτεί αυτό το κενό ασφαλείας με σκοπό να βλάψει ένα κομμάτι μιας εφαρμογής για παράδειγμα. Τέτοια προβλήματα θα μπορούσαν να είναι εξάντληση της μνήμης μέσω μιας εισόδου, λανθασμένος τύπος εισόδου, χρονοβόρα απόκριση του προγράμματος για μια συγκεκριμένη είσοδο και τιμές για τις οποίες δεν θα δεχόμασταν ως αποτέλεσμα. Τα παραπάνω errors ελέγχθηκαν και παρουσιάζονται στο κεφάλαιο της υλοποίησης . Η εργασία χωρίζεται σε δύο μέρη. Στο βιβλιογραφικό μέρος γίνεται μια γενική επισκόπηση των κύριων τεχνικών ανάλυσης κακόβουλου λογισμικού αλλά και των τρόπων ανίχνευσης τρωτών σημείων ασφάλειας στο λογισμικό και με μεγαλύτερη έμφαση σε αυτή του fuzz testing .Όλα τα παραπάνω μελετήθηκαν για την συγγραφή της παρούσας εργασίας. Το πειραματικό τμήμα επιχειρεί στηριζόμενο σε έναν ήδη γνωστό fuzzer ,εργαλείο εύρεσης κακόβολου λογισμικού και πιο συγκεκριμένα σε κώδικα JavaScript .
author2 Georgiou, Niki
author_facet Georgiou, Niki
Γεωργίου, Νίκη
author Γεωργίου, Νίκη
author_sort Γεωργίου, Νίκη
title Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες
title_short Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες
title_full Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες
title_fullStr Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες
title_full_unstemmed Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες
title_sort στατική και δυναμική ανίχνευση εισόδου javascript για τρωτότητες
publishDate 2022
url http://hdl.handle.net/10889/16178
work_keys_str_mv AT geōrgiounikē statikēkaidynamikēanichneusēeisodoujavascriptgiatrōtotētes
AT geōrgiounikē staticanddynamicjavascriptinputdetectionforvulnerabilities
_version_ 1771297151235653632