dc.description.abstract | Ο εντοπισμός και η αξιολόγηση των αδυναμιών ασφαλείας, καθώς και η σύνδεσή τους με πιθανές απειλές
και επιθέσεις ασφάλειας αποτελεί ιδιαίτερα δύσκολο έργο. Στο παρελθόν, τα ζητήματα αδυναμιών
ασφαλείας λογισμικού αντιμετωπίζονταν αποκλειστικά από τις εταιρίες που παρείχαν το λογισμικό. Λόγω
της συνεχώς αυξανόμενης πολυπλοκότητας και διασύνδεσης των συστημάτων ICT παρουσιάστηκε η
ανάγκη για ενιαία ταξινόμηση και βαθμολόγηση των αδυναμιών ασφαλείας. Η πρωτοβουλία πάνω σε αυτό
το θέμα, πάρθηκε από τη MITRE το 1999 μέσω της λίστας κοινών ευπαθειών και εκθέσεων (Common
Vulnerabilities and Exposures-CVE), η οποία στη συνέχεια επεκτάθηκε με την απαρίθμηση κοινών
αδυναμιών (CWE) και την κοινή απαρίθμηση και ταξινόμηση μοντέλων επιθέσεων (Common Attack Pattern
Enumeration and Classification-CAPEC). Επιπλέον, η εθνική βάση δεδομένων National Vulnerability
Database (NVD) του NIST είναι πλήρως συγχρονισμένη με τη λίστα CVE. Σε συνδυασμό με τον κατάλογο
ευπαθειών, ο NIST χρησιμοποιεί το κοινό σύστημα αξιολόγησης ευπαθειών(Common Vulnerability Scoring
System-CVSS), το οποίο παρέχει μια σταθερή μέθοδο υπολογισμού της επικινδυνότητας των ευάλωτων
σημείων, εμπλουτίζοντας έτσι τις υπάρχουσες καταχωρήσεις. Αυτές οι πληροφορίες χρησιμοποιούνται και
ενημερώνονται συνεχώς, προκειμένου να παραμείνουν σχετικές με τα τρέχοντα θέματα. Άλλες
αξιοσημείωτες βάσεις δεδομένων ευπαθειών είναι:
ISS X-Force database
Symantec / SecurityFocus BID database
Open Source Vulnerability Database (OSVDB)
NVD by NIST
Chinese National Vulnerability Database(CNNVD)
Federal Service for Technical and Export Control of Russia (FSTEC) Vulnerability Database
Παρόλο που υπάρχουν συνδέσεις μεταξύ των CVE και των CWE στη βάση δεδομένων NVD του NIST,
δεν υπάρχουν υπάρχουσες συνδέσεις μεταξύ CVE και CAPEC. Τα παραπάνω πρότυπα χρησιμοποιούνται
ευρέως στις διαδικασίες μοντελοποίησης απειλών. Σε ένα μοντέλο απειλής, όλες οι πληροφορίες που
επηρεάζουν την ασφάλεια μιας εφαρμογής, οργανώνονται και παρουσιάζονται σε δομημένη μορφή. Η
διαδικασία μοντελοποίησης απειλών συμπεριλαμβάνει την αποτύπωση, τη διαλογή και την εκτέλεση
αναλύσεων στις παραπάνω πληροφορίες. Επιπλέον οι κίνδυνοι που διατρέχει μια εφαρμογή
αντιμετωπίζονται πλέον μέσω τεκμηριωμένης λήψης αποφάσεων, που αποτελεί ιδιαίτερο προτέρημα. Αυτή
η διαδικασία όχι μόνο παρέχει ένα μοντέλο διαδικασιών, παράγει επίσης μια λίστα με πιθανές βελτιώσεις
ασφαλείας ταξινομημένες βάση της βαρύτητάς τους.
Κατά την εξέταση μεθοδολογιών και διαδικασιών μοντελοποίησης απειλών, γίνεται εμφανές πως η
αναγνώριση των απειλών και εκθέσεων που οδηγούν σε ευπάθειες είναι ένα τυπικό καθήκον όλων των
εταιριών, προκειμένου να αξιολογήσουν επιτυχώς την ασφάλεια προϊόντων λογισμικού. Προκειμένου η
διαδικασία να είναι σύντομη και έγκυρη, ειδικά σε περιπτώσεις όπου η επιφάνεια επίθεσης είναι μεγάλη, οι
ερευνητές ασφαλείας χρησιμοποιούν τις βάσεις δεδομένων ευπαθειών για την αναγνώριση και την
εκκαθάριση των απειλών που παρουσιάζονται. Η διαδικασία αυτή πραγματοποιείται με τη βοήθεια ποικίλων
εργαλείων που διευκολύνουν την ανίχνευση αδυναμιών, και συνεπώς τον εντοπισμό πιθανών εκθέσεων.
Αυτό επιτυγχάνεται με τη χρήση των εγγραφών CPE που συσχετίζονται άμεσα με τις εγγραφές CVE.
Στο πλαίσιο της παρούσας διατριβής εξετάζονται και αξιοποιούνται οι λίστες που παρέχονται από τον
NIST και τον MITRE, με στόχο το σχεδιασμό και την υλοποίηση μιας λειτουργικής σχεσιακής βάσης
δεδομένων. Η βάση δεδομένων αναπτύχθηκε ώστε να υποστηρίζει μια εφαρμογή (CVE-Pathfinder) που
επιτρέπει στους χρήστες είτε να διεξάγουν έρευνα σχετικά με μεμονωμένες εγγραφές CVE, είτε να
ταξινομούν τις εγγραφές που απαριθμεί το Nmap παρέχοντας παράλληλα συνδέσεις με πρότυπα
επίθεσης. Ο κύριος στόχος είναι να δημιουργηθεί μια ισχυρή μηχανή αναζήτησης, η οποία στη συνέχεια
δύναται να βρει εφαρμογή στη φάση αναζήτησης ευπαθειών της διαδικασίας μοντελοποίησης απειλών,
ώστε να επιτυγχάνεται μεγαλύτερη εξοικονόμηση χρόνου και άλλων πόρων. Επίσης παρέχει μια
ταξινομημένη λίστα αναγνωρισμένων ευπαθειών ασφαλείας. Τέλος, ο σχεδιασμός της βάσης δεδομένων
διεξάχθηκε με τρόπο που παρέχει δυνατότητες επέκτασης, ώστε σε μελλοντικές εκδόσεις να
συμπεριληφθούν και βάσεις δεδομένων με μεθόδους εκμετάλλευσης αδυναμιών, γεγονός που θα ενισχύσει
την εγκυρότητα των συνόλων δεδομένων που προκύπτουν. Μέσω της εφαρμογής τεχνικών μηχανικής
μάθησης, τα παραπάνω σύνολα δεδομένων έχουν τη δυνατότητα να συνεισφέρουν στην εύρεση περαιτέρω
συσχετίσεων και στην αυτοματοποίηση επιθέσεων.
Εξετάζοντας τις εκτενείς λίστες σχετικά με τις ευπάθειες ασφαλείας, τις αδυναμίες και τα πρότυπα
επίθεσης του MITRE, μία από τις βασικές ανησυχίες ήταν να σχεδιαστεί μια δομή που αξιοποιεί τα
υπάρχοντα δεδομένα πλήρως. Προκειμένου να επιτευχθεί αυτό, επιλέχθηκε η ανάπτυξη σχεσιακής βάσης
δεδομένων, ειδικότερα χρησιμοποιήθηκε η γλώσσα mySQL. Με αυτόν τον τρόπο τα επιλεγμένα σύνολα
δεδομένων χωρίζονται σε πολλές ομάδες μεταβλητών(πίνακες) που συνοδεύουν κάθε καταγεγραμμένη
καταχώρηση. Σε μια σχεσιακή βάση δεδομένων, οι πίνακες αυτοί δύναται να απομονωθούν και να
διασυνδεθούν μέσω ξένων κλειδιών, επιτρέποντας έτσι στον ερευνητή να χειρίζεται και να αναλύει τις
πληροφορίες που περιέχονται σε κάθε πίνακα, είτε ξεχωριστά είτε ως μέρος μιας ομάδας.
Για να δημιουργήσουμε την σχεσιακή βάση δεδομένων στην οποία μπορούν να καταχωρηθούν οι
πληροφορίες σχετικά με τις ευπάθειες, τις αδυναμίες, και τα πρότυπα επίθεσης που παρέχονται από τους
τον MITRE και τον NIST, έπρεπε να εξετάσουμε τα διαθέσιμα αρχεία XML, XSD και JSON. Το πρώτο βήμα
που ελήφθη κατά το χειρισμό των αρχείων από τον MITRE ήταν να εξάγουμε ένα σχήμα από κάθε αρχείο
XSD. Tο σχήμα που παράγεται παρέχει μια ολιστική εικόνα για τη δομή των αρχείων xml, η οποία είναι
αναγκαία ως πρώτο βήμα για τον επιτυχή σχεδιασμό και υλοποίηση της βάσης δεδομένων. Το επόμενο
βήμα είναι η υλοποίηση ενός προγράμματος που διαβάζει τα δεδομένα από τα παρεχόμενα αρχεία, τους
δίνει την επιθυμητή μορφή και τέλος τα προωθεί στη βάση δεδομένων.
Ο σκοπός αυτής της διαδικτυακής εφαρμογής είναι η αξιοποίηση των πληροφοριών που παρέχονται
από το xml αρχείο που παράγεται από το Nmap. Με βάση τις αναφορές καταγεγραμμένων CVE που
εμφανίζονται σε αυτό το αρχείο, ο χρήστης λαμβάνει πληροφορίες για συσχετισμένες αδυναμίες και μοτίβα
επιθέσεων, απλά εισάγοντας ένα CVE ID στην αναζήτηση. Ουσιαστικά ο σκοπός αυτού του εργαλείου είναι
να δημιουργήσει συνδέσεις μεταξύ των καταλόγων CPE, CVE, CWE και CAPEC, προκειμένου να βοηθήσει
τους χρήστες να κατανοήσουν περαιτέρω τους κινδύνους που διατρέχουν οι πληροφοριακοί τους πόροι και
το επίπεδο στο οποίο θα επηρεαστούν σε περίπτωση εκμετάλλευσης της αδυναμίας από κακόβουλους
χρήστες.
Οι συνεισφορές της παρούσας εργασίας είναι οι εξής:
1) Σχεδιασμός Δομής Δεδομένων: Μέσω της ανάπτυξης σχεσιακής βάσης δεδομένων, σε
προηγουμένως μη δομημένα δεδομένα, προκύπτει ένας καινούργιος τρόπος οργάνωσης και
προσπέλασης. Τα δεδομένα έτσι μπορούν να αποδομηθούν σε πολλαπλούς πίνακες, γεγονός που κάνει
δυνατή την περαιτέρω ανάλυση, ενώ παράλληλα δημιουργεί τη δυνατότητα δημιουργίας περαιτέρω
συσχετίσεων μεταξύ των εγγραφών CVE, CWE και CAPEC. Τέλος ο σχεδιασμός υλοποιήθηκε με στόχο
την υποστήριξη μιας μηχανής αναζήτησης.
2) Ταξινόμηση Βάση CVSS: Μέσω των δεδομένων που περιέχονται στη βάση και με τη βοήθεια του
εργαλείου Nmap, το CVE-Pathfinder, έχει τη δυνατότητα να ταξινομεί τα CVE που αναγνωρίζονται και να
παρέχει μια ταξινομημένη λίστα με φθίνουσα βαθμολογία. Επιπλέον, για κάθε CVE που περιέχεται στους
εμφανιζόμενους πίνακες παρέχεται ένας σύνδεσμος που οδηγεί σε πληροφορίες σχετικά με συνδεδεμένες
αδυναμίες και μοτίβα επιθέσεων, και μια βασική περιγραφή τους.
3) Επανεμφανιζόμενα μοτίβα επιθέσεων: Μέσω της παραγωγής ενός πίνακα που εμπεριέχει τα 5
μοτίβα επιθέσεων που συνδέονται με τις περισσότερες ευπάθειες από τη λίστα που παράγει το Nmap
παρέχεται η δυνατότητα επιβεβαίωσης των ευπαθειών που πρέπει να ελεγχθούν.
4) Μελέτη Περίπτωσης: Στη μελέτη που διεξάγεται στο κεφάλαιο 7, οι δυνατότητες του CVE-Pathfinder
παρουσιάζονται μέσω ενός ειδικά σχεδιασμένου σεναρίου. Η εφαρμογή μπορεί να αξιοποιηθεί από
ερευνητές ασφαλείας, ώστε να συνδέσουν, να ταξινομήσουν και να αξιολογήσουν απειλές και ευπάθειες. | el |
dc.description.abstractEN | The identification and assessment of security vulnerabilities, as well as their linkage with potential
security threats and attacks is a challenging task. Although the identification and assessment of software
vulnerabilities used to depend only on the vendor side, the continuously increased complexity and
interconnectivity of ICT systems has created the need for a unified classification and scoring of security
vulnerabilities. Initiative on the matter was taken by the MITRE corporation as early as 1999 with the
Common Vulnerabilities and Exposures (CVE), which was later on extended by the Common Weakness
Enumeration (CWE) and the Common Attack Pattern Enumeration and Classification (CAPEC).
Furthermore, NIST’s NVD is currently synchronized with the CVE list. Along with the entry list, NIST is using
the Common Vulnerability Scoring System which provides a consistent way of calculating the severity of
vulnerabilities based on certain key characteristics, thus enriching the existing entries. This information is
being constantly used and updated, in order to remain relevant with current issues. Although there are
existing links between CVEs and CWEs in NIST’s NVD database, there are no existing connections
between CVEs and CAPEC. The main goal of this thesis is to develop a search engine in order to link
specific security vulnerabilities (i.e. CVEs) with related attack patterns (i.e. CAPEC), using the abstract
weaknesses enumerations (CWE) as a connecting dot. Such a search engine will assist security experts
and system administrators to further understand threats that could compromise their IT assets and
effectively mitigate the specific vulnerabilities that may trigger threats of high risk. Furthermore, an attempt
is made to classify and present the CVE’s identified by a port scanning tool called Nmap, based on their
CVSS scores on the mentioned lists. | el |