Εύρεση ευπαθειών σε μεταγλωττισμένες βιβλιοθήκες λογισμικού
Finding vulnerabilities in compiled software libraries
Master Thesis
Συγγραφέας
Γρηγορίου, Ευάγγελος
Ημερομηνία
2017-09Επιβλέπων
Κοτζανικολάου, ΠαναγιώτηςΓλυνός, Δημήτρης
Προβολή/ Άνοιγμα
Λέξεις κλειδιά
Ασφάλεια δικτύων και συστημάτων ; Λογισμικό ; Ασφάλεια διαδικτύουΠερίληψη
Οι ευπάθειες ασφαλείας ενός λογισμικού μπορούν να προκαλέσουν την δυσλειτουργία μιας εφαρμογής, εκτέλεση μη εγκεκριμένου κώδικα, μη εγκεκριμένη πρόσβαση σε κακόβουλο λογισμικό ή άλλο χρήστη και άλλες κακόβουλες ενέργειες για τις οποίες ο χρήστης μιας συσκευής δεν έχει εγκρίνει. Αυτά με την σειρά τους μπορούν να προκαλέσουν διαρροή ευαίσθητων πληροφοριών, όπως στοιχεία τραπεζικού λογαριασμού, μη εγκεκριμένο έλεγχο της συσκευής και κατά συνέπεια την εκτέλεση μη εγκεκριμένων ενεργειών, όπου εμφανίζονται ως ενέργειες του χρήστη. Στο πλαίσιο της παρούσας διπλωματικής εξετάστηκαν μεθόδοι για τον εντοπισμό ευπαθειών σε μεταγλωττισμένες βιβλιοθήκες και αναπτύχθηκε σχετική εφαρμογή. Η εφαρμογή σχεδιάστηκε να ελέγχει απλές περιπτώσεις ευπαθειών ασφαλείας που οφείλονται στη χρήση βασικών συναρτήσεων της βιβλιοθήκης Libc. Αποτελεί εργαλείο στατικής ανάλυσης δυαδικών αρχείων, όπου αναλύει και ελέγχει μεταγλωττισμένο κώδικα αρχιτεκτονικών x86, x86_64, arm32 και arm64. Η πειραματική αξιολόγηση του λογισμικού έγινε με πραγματικές βιβλιοθήκες συστημάτων Ubuntu και Android, όπου με την χρήση του πηγαίου κώδικα, όπου αυτός ήταν διαθέσιμος, ελέγχθηκε η ορθότητα των αποτελεσμάτων και διαπιστώθηκε ότι αποτελεί ένα χρήσιμο εργαλείο κατά τη διάρκεια ανάπτυξης ή διερεύνησης λογισμικού.