Η αυξανόμενη χρήση του διαδικτυακού λογισμικού και η δημοφιλία του λογισμικού-ως-υπηρεσία έχει δημιουργήσει ένα μεγάλο κενό ασφαλείας στα συστήματα που μέχρι πριν από λίγα χρόνια "έτρεχαν" σε κλειστά δίκτυα: η πληροφορία (ευαίσθητη και μη) είναι πλέον διαθέσιμη στο διαδίκτυο. Κατά συνέπεια, η εφαρμογή κατάλληλων τεχνικών ασφάλειας του λογισμικού είναι μονόδρομος για τη θωράκισή της. Ο έλεγχος ασφάλειας πρέπει πλέον να γίνεται σε διάφορα και διαφορετικά επίπεδα, όπως στο επίπεδο δικτύου, στο επίπεδο του λειτουργικού, αλλά και στο επίπεδο της εφαρμογής. Στο πλαίσιο αυτό η παρούσα διπλωματική αποσκοπεί στη σχεδίαση και ανάπτυξη ενός μηχανισμού για την αναγνώριση πιθανών επιθέσεων ασφαλείας με τη χρήση τεχνικών μηχανικής μάθησης. Στόχος είναι η εφαρμογή τεχνικών μηχανικής μάθησης για την αναγνώριση "καλών" και “κακών” προτύπων συμπεριφοράς στο επίπεδο χρήστη (application-level). Ανάλυση θα γίνει σε δυναμικό επίπεδο (κατά τη λειτουργία των εφαρμογών) και θα αναπτυχθεί ένας μηχανισμός λήψης αποφάσεων.
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
1. Σχεδίαση και ανάπτυξη μηχανισμού
αναγνώρισης επιθέσεων ασφαλείας σε
διαδικτυακό λογισμικό με τη χρήση
τεχνικών Μηχανικής Μάθησης
Αριστοτέλειο Πανεπιστήμιο Θεσσαλονίκης
Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών
Αντώνιος Ελευθεριάδης (8398)
Επιβλέποντας: Ανδρέας Συμεωνίδης (Αναπληρωτής Καθηγητής ΑΠΘ)
2021-03-16
2. Σκοπός της διπλωματικής
εργασίας
Μεγάλη επιρροή του Διαδικτύου στην
καθημερινή ζωή
Τα web applications αποτελούν σιλό προσωπικών
δεδομένων και συστήματα ελέγχου κρίσιμων
υποδομών
Οι προγραμματιστές και οι επιχειρήσεις
διαθέτουν ανεπαρκείς πολιτικές ασφάλειας
Ανάγκη προστασίας των πολιτών μέσω της
προστασίας των διαδικτυακών εφαρμογών
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
2/12
3. Γνώσεις που αποκτήθηκαν
Μοντέλο OSI
Ταξινόμηση επιθέσεων με βάση το OSI επίπεδο
Πρωτόκολλο HTTP
Συστήματα ανίχνευσης επιθέσεων (IDS)
Common Intrusion Detection Framework
Τείχη προστασίας
Στάδια μιας επίθεσης (recon/scan/exploit/post)
Μηχανική μάθηση
Ruby on Rails/log facilities/R/ZAP/MongoDB
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
3/12
4. Μεθοδολογία (1/2)
1. Επιλογή εφαρμογής στόχου
2. Συλλογή δεδομένων αιτημάτων σε
προσομοιωμένη κατάσταση καλής λειτουργίας
(test suite) και επίθεσης (ZAP σε DEV)
3. Διαχωρισμός δεδομένων σε σύνολα εκπαίδευσης
και επαλήθευσης
4. Εξαγωγή χαρακτηριστικών από τα δεδομένα
5. Εκπαίδευση και επαλήθευση μοντέλου τυχαίου
δάσους
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
4/12
5. Μεθοδολογία (2/2)
6. Εξαγωγή συμπερασμάτων για συνεδρίες με
χρήση κυλιόμενου παραθύρου με κατώφλι
1. Αξιολόγηση συμπερασμάτων
2. Συλλογή δεδομένων αιτημάτων σε κατάσταση
επίθεσης σε πραγματικές συνθήκες
3. Επεξεργασία των νέων δεδομένων
4. Σύγκριση των αποτελεσμάτων της μηχανής έναντι
ανθρώπου
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
5/12
6. Αποτελέσματα (1/2)
(Αιτήματα) Precision Recall F1 TP TN FP FN
Min 85.7% 97.3% 91% 3818 1762 614 101
Avg 85.9% 97.3% 91% 3818.8 1776.4 624.6 104.2
Max 86.1% 97.4% 91% 3822 1787 639 105
Median 86% 97.3% 91% 3818 1779 622 105
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
6/12
(Συνεδρίες) Precision Recall F1 TP TN FP FN
Min 95.1% 97.5% 96.3% 272 407 10 7
Avg 95.2% 97.5% 96.4% 272 407.4 13.6 7
Max 96.5% 97.5% 97% 272 411 14 7
Median 95.1% 97.5% 96.3% 272 407 14 7
7. Αποτελέσματα (2/2)
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
7/12
Χαρακτήρας υψηλού ρίσκου σε όνομα παραμέτρου
σφαλείς χαρακτήρες στα ονόματα των παραμέτρων
ά ασφαλείς χαρακτήρες στις τιμές των παραμέτρων
Μορφή απάντησης
Χαρακτήρας υψηλού ρίσκου στο path
Μέθοδος αιτήματος
Μέγιστο μήκος τμήματος path
Κωδικός κατάστασης
ειστικά ασφαλείς χαρακτήρες στα τμήματα του path
Πρόκληση εξαίρεση
Χαρακτήρας υψηλού ρίσκου σε τιμή παραμέτρου
0 10 20 30 40 50 60
Μέση μείωση ακρίβειας (accuracy)
Χαρακτήρας υψηλού ρίσκου σε όνομα παραμέτρου
Αποκλειστικά ασφαλείς χαρακτήρες στα ονόματα των παραμέτρων
Μορφή απάντησης
Μέγιστο μήκος τμήματος path
Χαρακτήρας υψηλού ρίσκου στο path
Αποκλειστικά ασφαλείς χαρακτήρες στις τιμές των παραμέτρων
Αποκλειστικά ασφαλείς χαρακτήρες στα τμήματα του path
Μέθοδος αιτήματος
Κωδικός κατάστασης
Πρόκληση εξαίρεση
Χαρακτήρας υψηλού ρίσκου σε τιμή παραμέτρου
0 100 200 300 400 500
Μέση μείωση δείκτη Gini
8. Συμπεράσματα
• Το πιο σημαντικό χαρακτηριστικό είναι ο
εντοπισμός χαρακτήρων υψηλού ρίσκου
[=’”;*<>./!()&%] στις τιμές των παραμέτρων
• Τα χαρακτηριστικά που αναφέρονται στα ονόματα
των παραμέτρων έχουν μικρή αξία
• Πολύ καλή απόδοση του IDS στα πραγματικά
δεδομένα και μεγάλη ικανότητα ανίχνευσης
κακόβουλης δραστηριότητας
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
8/12
9. Καινοτομίες
• Bootstrapping εκπαίδευσης σε δοκιμαστικό
περιβάλλον που αποκρίνεται στις πραγματικές
συνθήκες
• Άντληση δεδομένων μέσα από την εφαρμογή
• Επιλογή απλών αλλά ισχυρών χαρακτηριστικών,
ικανών να περιγράψουν το πρόβλημα
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
9/12
10. Μελλοντική Εργασία
• Βελτιστοποίηση παραμέτρων συστήματος
• Εκμετάλλευση των SQL statement με ανάλυση σε
συντακτικά δέντρα
• Εξαγωγή επιπλέον και πιο σύνθετων
χαρακτηριστικών με περαιτέρω εκμετάλλευση
χρονικής ακολουθίας αιτημάτων
• Αξιοποίηση πληροφοριών για ομαδοποίηση
δεδομένων και βαθύτερη αντίληψη εφαρμογής
• Λειτουργία σε real-time με μηχανισμό απόκρισης
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
10/12
11. Σας ευχαριστώ για τον χρόνο και
την προσοχή σας
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
11/12
12. Ερωτήσεις
???
03 2021
Σχεδίαση και ανάπτυξη μηχανισμού αναγνώρισης επιθέσεων ασφαλείας σε διαδικτυακό
λογισμικό με τη χρήση τεχνικών Μηχανικής Μάθησης
12/12