The increasing use of web applications and the popularity of Software-As-A-Service has created room for major vulnerability issues in systems which up until recently were “running” in restricted networks: information (sensitive or not) is now available on the internet. As a consequence, using appropriate software security procedures is the only way to protect it. Security checks must be performed in many and different layers, like the network layer, the OS layer, and also the application layer. In light of this, the objective of this diploma thesis is the design and development of a system that detects possible security attacks using machine learning algorithms. The goal is the use of machine learning algorithms to detect “good” and “bad” behaviors at the application layer. The analysis will be dynamic (at runtime) and a decision mechanism will be developed.
ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΠΤΥΞΗ ΜΗΧΑΝΙΣΜΟΥ ΑΥΤΟΜΑΤΟΠΟΙΗΣΗΣ ΤΗΣ ΑΝΑΠΤΥΞΗΣ ΓΡΑΦΙΚΩΝ ΕΝΤΟΛ...
Design and development of a Machine Learning based attack detection system for web applications
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