Στατική και δυναμική ανίχνευση εισόδου JavaScript για τρωτότητες
Στην παρούσα διπλωματική εργασία εξετάστηκε μέσω του Js-fuzz η ύπαρξή εισόδων για τις οποίες μπορεί μια function-script να προκαλέσει errors τα οποία έχει ορίσει ο δημιουργός της .Τα προγράμματα – scripts πολλές φορές είναι περίπλοκα και δύσκολα να ελεγχθούν χειροκίνητα από τον προγραμματιστή. Ένας...
Κύριος συγγραφέας: | |
---|---|
Άλλοι συγγραφείς: | |
Γλώσσα: | 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 |