Evaluating Taint Analysis Tools for JavaScript

Πτυχιακή Εργασία uoadl:2879782 95 Αναγνώσεις

Μονάδα:
Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Πληροφορική
Ημερομηνία κατάθεσης:
2019-07-25
Έτος εκπόνησης:
2019
Συγγραφέας:
ΠΑΠΑΜΙΧΑΛΟΠΟΥΛΟΣ ΜΑΡΙΟΣ
Στοιχεία επιβλεπόντων καθηγητών:
Δημήτρης Μητρόπουλος, Επισκέπτης Καθηγητής, Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Αλέξης Δελής, Καθηγητής, Τμήμα Πληροφορικής & Τηλεπικοινωνιών
Πρωτότυπος Τίτλος:
Evaluating Taint Analysis Tools for JavaScript
Γλώσσες εργασίας:
Αγγλικά
Μεταφρασμένος τίτλος:
Αξιολογώντας Εργαλεία Ανάλυσης JavaScript Προγραμμάτων
Περίληψη:
Η παρούσα μελέτη που διεξήχθη μέσα στα πλαίσια Πτυχιακής Εργασίας περιλαμβάνει
την καταγραφή επιστημονικών εργαλείων που πραγματοποιούν taint analysis στην
προγραμματιστική γλώσσα JavaScript.

Το taint analysis ορίζεται ως ένα είδος ανάλυσης, το οποίο συμπεραίνει αν τα σημεία
του προγράμματος που ενεργούν ως σημεία εισαγωγής ευαίσθητων δεδομένων
αποτελούν κίνδυνο για την εφαρμογή, παρατηρώντας τη ροή τέτοιων δεδομένων μέσα
στο πρόγραμμα. Τέτοια σημεία ονομάζονται πηγές (taint sources).

Συγκεκριμένα, ένα taint analysis χαρακτηρίζει ως «στιγματισμένες» (tainted) τις
μεταβλητές που έχουν επηρεαστεί από δεδομένα που εισάγει ο χρήστης και τις
ιχνηλατεί μέχρι να δει αν φτάνουν σε κάποια ευπαθή μέθοδο, που ονομάζεται
καταβόθρα (sink). Αν μία αμαυρωμένη μεταβλητή εισέλθει σε ένα τέτοιο σημείο, χωρίς
να έχει εξαγνιστεί (sanitize) πρώτα, τότε χαρακτηρίζεται ως ευπαθής. Ο στιγματισμός
(tainting) είναι η συσχέτιση κάποιου είδους σημαδιού ή ετικέτας στα ευαίσθητα
δεδομένα που επιτρέπει την ανίχνευση της ροής τους μέσα στο πρόγραμμα καθώς και
την διάδοση της μόλυνσης (taint) σε μεταβλητές που συναντούν.

Ο σκοπός αυτής της έρευνας είναι η διεξοδική έρευνα επιστημονικών εργαλείων που
εκτελούν τέτοιου είδους αναλύσεις σε προγράμματα γραμμένα σε JavaScript.
Παρουσιάζουμε μία συλλογή εργαλείων και προσεγγίσεων, που προγραμματιστές ή
οργανισμοί μπορούν να ενσωματώσουν στο αμυντικό οπλοστάσιο τους για την
επιθεώρηση του κώδικα της πλευράς πελάτη των διαδικτυακών εφαρμογών τους,
αντικρούοντας, έτσι, πιθανές διαδικτυακές επιθέσεις.
Κύρια θεματική κατηγορία:
Τεχνολογία – Πληροφορική
Λέξεις-κλειδιά:
Taint Analysis, JavaScript, Ευπάθειες πλευράς πελάτη, Static Taint Analysis, Dynamic Taint Analysis
Ευρετήριο:
Ναι
Αρ. σελίδων ευρετηρίου:
5
Εικονογραφημένη:
Ναι
Αρ. βιβλιογραφικών αναφορών:
24
Αριθμός σελίδων:
67