Τα τελευταία χρόνια η εξάπλωση του διαδικτύου και των εφαρμογών του αυξάνεται με ραγδαίους ρυθμούς, καταλαμβάνοντας ολοένα και μεγαλύτερο μέρος της καθημερινότητας των ανθρώπων. Πλέον, το διαδίκτυο αποτελεί βασικό και αναγκαίο μέσο επικοινωνίας, ψυχαγωγίας, ενημέρωσης, αγοροπωλησιών και άλλων πολλών λειτουργιών που πια γίνονται μέσω αυτού. Μαζί με την ανάπτυξη αυτών των δυνατοτήτων, δυστυχώς, αυξήθηκαν και οι παράνομες ενέργειες όπως η εξαπάτηση χρηστών, η πρόσβαση σε εμπιστευτικές και απόρρητες πληροφορίες, η προώθηση ορισμένων προϊόντων ακόμα και η διακοπή διάθεσης ιστοσελίδων από το διαδίκτυο, εκμεταλλεύοντας τις αδυναμίες και τα τρωτά σημεία στην ασφάλεια των διαδικτυακών εφαρμογών και συστημάτων. Με τον όρο κυβερνοασφάλεια ορίζουμε την ανάπτυξη συστημάτων και μεθόδων προστασίας με στόχο τον εντοπισμό και την αναγνώριση μίας επικείμενης διαδικτυακής επίθεσης συμβάλλοντας έτσι δραστικά στην προστασία από τις κακόβουλες ενέργειες. Από την άλλη, και ο τομέας της Μηχανικής Μάθησης επιδεικνύει μεγάλη άνθιση. Η Μηχανική Μάθηση ασχολείται με τον προγραμματισμό του υπολογιστή ώστε να μπορεί να «σκέφτεται» και να «αποφασίζει», και όχι μόνο να εκτελεί ρητά εντολές που του έχουν υπαγορευθεί από τον προγραμματιστή. Πλέον τεχνικές Μηχανικής Μάθησης εφαρμόζονται σε μία πλειάδα πεδίων του διαδικτύου, όπως είναι η κυβερνοασφάλεια με την οποία η παρούσα διπλωματική εργασία ασχολείται. Στο πλαίσιο της παρούσας διπλωματικής εργασίας, μοντελοποιήθηκε και αναπτύχθηκε ένα σύστημα το οποίο λαμβάνει απαραίτητες και χρήσιμες πληροφορίες για την συμπεριφορά του χρήστη σε μια διαδικτυακή εφαρμογή ηλεκτρονικού εμπορίου και αφού τις αποθηκεύει και τις επεξεργάζεται με συγκεκριμένο τρόπο, εν τέλει τις τροφοδοτεί σε μοντέλα μηχανικής μάθησης ακολουθιακής ταξινόμησης ώστε να χαρακτηριστεί η συμπεριφορά του χρήστη είτε καλόβουλη είτε κακόβουλη.
3. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Σκοπός
#02
Επικεντρώνεται στη
συμπεριφορά των χρηστών
#01
Διαφορετική προσέγγιση στην
ασφάλεια των διαδικτυακών
εφαρμογών
#03
Μοντελοποίηση της
φυσιολογικής συμπεριφοράς
χρηστών
#04
Εντοπισμός αποκλίνουσας
συμπεριφοράς
2
4. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Διάρθρωση Έργου
Βήμα 1ο
• Υλοποίηση
διαδικτυακής
εφαρμογής
ηλεκτρονικού
εμπορίου (e-shop)
Βήμα 2ο
• Μηχανισμός
καταγραφής της
δραστηριότητας των
χρηστών
Βήμα 3ο
• Παραγωγή
δεδομένων
Βήμα 4ο
• Επεξεργασία
δεδομένων
• Διαχωρισμός
δεδομένων σε
συνόδους
• Κατασκευή
ακολουθιών
Βήμα 5ο
• Μοντέλα μηχανικής
μάθησης
• Ακολουθιακή
ταξινόμηση
3
5. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
MongoDB
ELK
Stack
Sessions
Classifier
Response
Request Rest
API
Client
Browser
Front-End
Web App
Features
Extraction
Back-End
Web App
Puppeteer
User click
Block Διάγραμμα της Διαδικασίας Συλλογής και
Παραγωγής Δεδομένων
4
6. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Τεχνολογίες για τη διαδικτυακή εφαρμογή ηλεκτρονικού εμπορίου
MERN Stack
Η πιο δημοφιλής NoSQL βάση
δεδομένων
Back end βιβλιοθήκη για
Node.js
JavaScript βιβλιοθήκη για τη
δημιουργία user interfaces
Πλατφόρμα ανάπτυξης server
σε περιβάλλον Javascript
MongoDB ExpressJS ReactJS NodeJS
5
7. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Αρχική Σελίδα της Διαδικτυακής Εφαρμογής
Διαδικτυακή Εφαρμογή Ηλεκτρονικού Εμπορίου (e-shop)
6
8. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Καταγραφή Χαρακτηριστικών από την δραστηριότητα του χρήστη
Χαρακτηριστικά
Timestamp
Η χρονική στιγμή που έγινε η κλήση στο API endpoint.
Method
Η μέθοδος HTTP (POST, PUT, GET, DELETE) που χαρακτηρίζει την
ενέργεια που εκτελείται από το API endpoint.
Baseurl
Το url στο οποίο γίνεται η ενέργεια, και ουσιαστικά είναι και το όνομα
του API endpoint.
Path
Είναι η συνέχεια του baseUrl και ουσιαστικά δείχνει πιο συγκεκριμένα
το σημείο όπου καλέστηκε το API endpoint. Η ένωση τους περιέχει τη
μέγιστη πληροφορία.
SessionID
Μοναδικός αριθμός που αποτελείται από 32 ψηφία και χαρακτηρίζει
την κάθε σύνοδο (session). Οι ενέργειες που ανήκουν στην ίδια σύνοδο
έχουν το ίδιο SessionID ενώ κάθε σύνοδος έχει διαφορετικό.
StatusCode
Είναι τριψήφιος HTTP κωδικός που χαρακτηρίζει την απόκριση
(response) του αιτήματος του API.
Paid
Η μεταβλητή paid είναι Boolean (τιμές true ή false) και υποδεικνύει αν η
πληρωμή που επιχείρησε ο χρήστης ήταν επιτυχής ή ανεπιτυχής.
1 5
2 6
3 7
4
7
9. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Σενάρια Καλόβουλης Χρήσης της Διαδικτυακής
Εφαρμογής (1)
Login Item1 CartItem1 Item3 CartItem3 Pay
8
10. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Σενάρια Καλόβουλης Χρήσης της Διαδικτυακής
Εφαρμογής (2)
Login Login Item5 Item4 CartItem4 Item7
Item1 CartItem2 Item2 Item5 Item2
9
11. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Σενάρια Καλόβουλης Χρήσης της Διαδικτυακής
Εφαρμογής (3)
Login Login Item4 Item7 CartItem7 Item1
Pay Pay Pay Item2
10
12. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Σενάρια Κακόβουλης Χρήσης της Διαδικτυακής
Εφαρμογής
Login Login Login … Login Login
11
13. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Σενάρια Κακόβουλης Χρήσης της Διαδικτυακής
Εφαρμογής (2)
Login Item0 CartItem0 Item1 Item4 CartItem4
Pay Pay … Pay Item5
12
14. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Puppeteer
Παραγωγή Συνόλου Δεδομένων
Εργαλείο Αυτοματοποιημένου Ελέγχου
Node Library
Chrome or Chromium
13
15. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Node-cron
Παραγωγή Συνόλου Δεδομένων
Χρονικός προγραμματισμός εργασιών
(cron-jobs)
Node Module
1.713.696 Weekly Downloads
14
16. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Αποστολή δεδομένων από την MongoDB στο ELK
ELK Stack
Αποστολείς δεδομένων
εγκατεστημένοι στους server για
την συλλογή δεδομένων
Αγωγός επεξεργασίας
δεδομένων που λαμβάνει
δεδομένα από πολλές πηγές και
τις αποστέλλει στο Elasticsearch
Αποθήκευση και indexing των
δεδομένων που λαμβάνει από το
Logstash
Πλατφόρμα οπτικοποίησης των
δεδομένων από το Elasticsearch
Beats Logstash Elasticsearch Kibana
15
17. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Block διάγραμμα
Διαδικασία επεξεργασίας των δεδομένων, δημιουργίας των ακολουθιών καταστάσεων-ενεργειών και την εισαγωγή τους στα
μοντέλα μηχανικής μάθησης
Eland Sessions Sequence of Actions
Sessions Classifier
Page
Algorithm Collins
and Daumé
HMM
ELK
Stack
Page, Method, Response
Algorithm Collins
and Daumé
HMM
16
18. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Express-session
Διαχωρισμός Δεδομένων σε Συνόδους (sessions)
Npm Module
Session Management.
978.737 weekly downloads
17
19. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
1η προσέγγιση
Δημιουργία Ακολουθιών Καταστάσεων-Ενεργειών
Μόνο με βάση τη σελίδα
Συγχώνευση baseUrl και path
/api/users/signin
18
20. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
2η προσέγγιση
Δημιουργία Ακολουθιών Καταστάσεων-Ενεργειών
Με βάση τη σελίδα, την ενέργεια και την απόκριση της
Συγχώνευση baseUrl, path, method και statusCode
/api/users/signinPOST200
19
21. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Μοντέλα Μηχανικής Μάθησης Ακολουθιακής
Ταξινόμησης (1)
Αλγόριθμος Collins and Daumé
Hidden Markov Model (HMM)
20
22. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Μοντέλα Μηχανικής Μάθησης Ακολουθιακής
Ταξινόμησης (2)
91%
9%
Σύνολο Εκπαίδευσης Σύνολο Ελέγχου
Σύνολο Εκπαίδευσης
1035
ακολουθίες καταστάσεων-
ενεργειών
Σύνολο Ελέγχου
98
ακολουθίες καταστάσεων-
ενεργειών
21
23. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Αποτελέσματα 1ου συνόλου δεδομένων
1ο σύνολο
δεδομένων
Collins and
Daumé
Hidden Markov
Model
Accuracy 84% 84%
Precision 88% 89%
Recall 92% 89%
22
24. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Αποτελέσματα 2ου συνόλου δεδομένων
2ο σύνολο
δεδομένων
Collins and
Daumé
Hidden Markov
Model
Accuracy 82% 80%
Precision 81% 79%
Recall 100% 100%
23
25. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Για τα σύνολα δεδομένων
Σχολιασμός Αποτελεσμάτων
1. Πρώτο Σύνολο Δεδομένων
Το ίδιο αποδοτικοί οι δύο αλγόριθμοι
2. Δεύτερο Σύνολο Δεδομένων
Πιο αποδοτικός ο αλγόριθμος Collins and Daumé
24
26. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Για τους δύο αλγορίθμους
Σχολιασμός Αποτελεσμάτων
1. Αλγόριθμος Collins and Daumé
Αποδοτικότερος στο 1ο σύνολο δεδομένων.
2. HMM
Αποδοτικότερος στο 1ο σύνολο δεδομένων.
25
27. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Θα ήθελα να ευχαριστήσω θερμά
Ευχαριστίες
Κύριο Ανδρέα Λ. Συμεωνίδη
Για την εμπιστοσύνη και την καθοδήγηση
Τους δικούς μου ανθρώπους
Για τη βοήθεια και την στήριξη κατά τη διάρκεια εκπόνησης της παρούσας
διπλωματικής εργασίας
Όλους εσάς
Για την προσοχή, τις διορθώσεις και τις ερωτήσεις σας
26
28. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Μελλοντικό Έργο
Κώδικας #1
Περαιτέρω βελτιστοποίηση του κώδικα.
Καταστάσεις-Ενέργειες #2
Συμπερίληψη επιπλέον παραμέτρων στη δημιουργία των καταστάσεων-
ενεργειών.
Βαθιά Μηχανική Μάθηση #3
Εφαρμογή μοντέλων βαθιάς μάθησης ακολουθιακής ταξινόμησης όπως
για παράδειγμα το νευρωνικό δίκτυο LSTM.
27
29. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Σύνοψη
04
01
03
02
Ξεχωριστή προσέγγιση στην
ασφάλεια διαδικτυακών
εφαρμογών
Μηχανική Μάθηση
Ακολουθιακής
Ταξινόμησης
Μοντελοποίηση ομαλής
συμπεριφοράς χρήστης
Δημιουργία δύο
προσεγγίσεων για τον
ορισμό των
καταστάσεων
ενεργειών
28
31. Copyright (C) SlideSalad.com All rights reserved.
Free SlideSalad PowerPoint Template
Ευχαριστώ
Ανίχνευση Αποκλίνουσας Συμπεριφοράς Χρηστών
Διαδικτυακής Εφαρμογής με Χρήση Τεχνικών Μηχανικής
Μάθησης Ακολουθιακής Ταξινόμησης
Δημήτρης Δελεμήσης
ΑΕΜ: 8764
Editor's Notes
Σύμφωνα με έρευνα που εκδόθηκε από την Positive Technologies, το 44% των διαδικτυακών εφαρμογών είναι ευάλωτο σε διαρροή δεδομένων και έχει προβλήματα ασφάλειας.
Αλλά το πιο εντυπωσιακό πόρισμα της έρευνας είναι ότι όλες (100%) οι διαδικτυακές εφαρμογές που ελέγχθηκαν είχαν κάποιο είδος ευπάθειας στην ασφάλεια τους.
Για το λόγο αυτό είναι απολύτως σημαντική η εύρεση καινούργιας προσέγγισης στην ασφάλεια των διαδικτυακών εφραμογών.
Το μεγαλύτερο ποσοστό των προσεγγίσεων που αφορούν την ασφάλεια των διαδικτυακών εφαρμογών και τον εντοπισμό αποκλίνουσας συμπεριφοράς επικεντρώνεται στην καθαυτή επίθεση και στις παραβιάσεις που γίνονται στην εφαρμογή.
Οι βασικοί άξονες της παρούσας διπλωματικής εργασίας είναι η ασφάλεια των διαδικτυακών συστημάτων και συγκεκριμένα των διαδικτυακών εφαρμογών (web applications).
Κίνητρο για την παρούσα εργασία είναι μια διαφορετική προσέγγιση με βάση την διαδικτυακή συμπεριφορά των χρηστών βασιζόμενοι στην χρήση αλγορίθμων μηχανικής μάθησης ακολουθιακής ταξινόμησης
Στόχος είναι ο εντοπισμός αποκλίνουσας συμπεριφοράς όταν όλα τα δεδομένα δείχνουν ότι όλα βαίνουν ομαλά και ότι δεν έχει διαπραχθεί καμία παράβαση στη ασφάλεια της διαδικτυακής εφαρμογής, του διακομιστή (server) αλλά και του λογαριασμού του ίδιου του χρήστη. Άρα, η προσέγγιση του παρόντος ερευνητικού έργου, δανειζόμενοι ορολογίες από την επιστήμη του προγραμματισμού, έχει στόχο τον εντοπισμό λογικών λαθών και όχι συντακτικών.
Για την διεκπεραίωση του παρόντος ερευνητικού έργου, η υλοποίηση χωρίζεται σε 5 σημαντικά βήματα.
Αρχικά, ΒΗΜΑ 1ο ώστε είναι δυνατή η προσομοίωση πραγματικών συνθηκών και η παραγωγή των απαραίτητων δεδομένων
Δεύτερον Βήμα 2ο ώστε να είναι δυνατή η συλλογή των απαραίτητων χαρακτηριστικών από την δραστηριότητα των χρηστών
Το 3ο βήμα είναι η παραγωγή των δεδομένων από την εφαρμογή του eshop με την βοήθεια του μηχανισμού καραγραφής που παρουσιάσθηκε στο 2ο βήμα
Εφόσον έχουν παραχθεί και συλλεχθεί τα δεδομένα, ακολουθεί η επεξεργασία αυτών, με κύριο στόχο των διαχωρισμό τους σε συνόδους και την κατασκευή των ακολουθιών που θα σκιαγραφούν την συμπεριφορά του χρήστη
Τέλος, τα δεδομένα εισάγονται στα μοντέλα μηχανικής μάθησης ακολουθιακής ταξινόμησης για την κατηγοριοποίηση τους σε καλόβουλη ή κακόβουλη συμπεριφορά
Εδώ είναι ένα σκρινσοτ της αρχικής σελίδας του eshop.
Βλέπουμε ότι ο χρήστης δεν είναι συνδεδεμένος αλλιώς πάνω δεξιά αντί για το sign in θα υπήρχε το username του χρήστη
Ο μη συνδεδεμένος χρήστης μπορεί να δει τα ρποιοόντα αλλά δεν μπορεί να τα βάλει στο καλάθι του, να τα αγοράσει, να κάνει κάποιο review δηλαδή δεν μπορεί να έχει ενεργητικό ρόλο στο eshop
Το δεύτερο βήμα της υλοποίησης ήταν η δημιουργία του μηχανισμού καταγραφής της δραστηριότητας του χρήστη στο eshop.
Αυτό πραγματοποείται με συναρτήσεις στο back end της εφαρμογής που αποθηκεύουν συγκεκριμένα χαρακτηριστικά, χρήσιμα και απαραίτητα για την μοντελοποίηση της συμπεριφοράς του χρήστη.
Τα χαρακτηριστικά που καταγράφονται και αποθηκεύονται για κάθε κλήση στο API είναι 7 και είναι τα ακόλουθα:
Εφόσον η εφαρμογή και ο μηχανισμός καταγραφής των χαρακτηριστικών της συμπεριφοράς του χρήστη υλοποιήθηκαν, σειρά έχει η παραγωγή των δεδομένων που θα χρειαστούμε για τα μοντέλα μηχανικής μάθησης και την μοντελοποίηση της φυσιολογικής συμπεριφοράς.
Αποφασίστηκε να δημιουργηθούν σενάρια χρήσης (use case scenarios) 12 καλόβουλα σενάρια χρήσης και 4 κακόβουλα.
Για παράδειγμα ένα σενάριο καλόβουλης χρήσης είναι :
Εφόσον έχουν σχεδιαστεί τα σενάρια χρήσης ώστε να προσομοιάζουν με την μεγαλύτερη δυνατή σύγκλιση την πραγματικότητα είτε προσομοιάζοντας καλόβουλη είτε κακόβουλη χρήση πρέπει να εκτελεστούν ώστε να παραχθούν τα απαραίτητα σύνολα δεδομένων.
Στο πλαίσιο του παρόντος έργου, θεωρήθηκε πιο έξυπνο και σωστό τα σενάρια χρήσης να υλοποιηθούν με την βοήθεια ενός εργαλείου αυτοματοποιημένου ελέγχου παρά με τη βοήθεια κανονικών χρηστών όπου το λάθος είναι πιθανό και τα σενάρια ενδέχεται αν μην ακολουθηθούν πιστά.
Για τον λόγο αυτό χρησιμοποιήθηκαν δύο καινοτόμα εργαλεία.
Το πρώτο είναι το Puppeteer το οποίο είναι ένα εργαλείο αυτοματοποιημένου ελέγχου, δηλαδή ένα εργαλείο το οποίο σενάρια σε μία ιστοσελίδα αυτματοποιημένα.
Έτσι με την βοήθεια του Puppeteer γράφτηκαν τα σενάρια χρήσης και εκτελέστηκαν αυτόματα.
Ένα άλλο εργαλείο που βοήθησε στην παραγωγή ήταν το δεδομένων ήταν το node-cron.
Με την βοήθεια του node-cron προγραμματιστηκαν χρονικά τα σενάρια που είχαν υλοποιηθεί προηγουμένων με το Puppeeteer.
Βλέπουμε στην εικόνα ....
Το "ELK" είναι το ακρωνυμίο για τρία έργα ανοιχτού κώδικα: Elasticsearch, Logstash και Kibana.
To ELK δίνει τη δυνατότητα για συγκέντρωση αρχείων καταγραφής από όλα τα συστήματα και τις εφαρμογές, δίνει δυνατότητες ανάλυσης αυτών των αρχεία καταγραφής και τη δημιουργία οπτικοποιήσεις για την παρακολούθηση εφαρμογών και υποδομών, την ταχύτερη αντιμετώπιση προβλημάτων, security analytics και πολλά άλλα.
Η διαδικασία ξεκινάει μέσω του Logstash, το οποίο επιτρέπει τη συλλογή δεδομένων από διάφορες πηγές. Η πηγή στην προκειμένη περίπτωση είναι η βάση δεδομένων MongoDB όπου με πολύ εύκολο τρόπο το Logstash συλλέγει τα δεδομένα, τα μετατρέπει σε κατάλληλη μορφή με στόχο την αποστολή στον επιθυμητό προορισμό ο οποίος είναι το Elasticsearch. To Elasticsearch κάνει indexing στα δεδομένα, δηλαδή αριθμεί και κατηγοριοποιεί τα δεδομένα με τέτοιον τρόπο που κάνει την αναζήτηση πολύ γρήγορη και εύκολη. Επόμενο βήμα για το Elasticsearch είναι η αποστολή των δεδομένων στο τελικό προορισμό, το Kibana, όπου τα δεδομένα αποθηκεύονται και είναι έτοιμα για εποπτεία. Το Kibana είναι ένα dashboard που δείχνει τα δεδομένα με ευπαρουσίαστο τρόπο
Στόχος της παρούσας διπλωματικής εργασίας είναι ο εντοπισμός αποκλίνουσας συμπεριφοράς σε επίπεδο χρήστη, άρα μεμονωμένα τα δεδομένα και οι ενέργειες ενός χρήστη δεν εξυπηρετούν τον σκοπό της εργασίας. Για το λόγο αυτό έπρεπε να βρεθεί ένας τρόπος να διαχωριστούν τα δεδομένα κάθε μεμονωμένου χρήστη. Αυτό υλοποιήθηκε με την βοήθεια των συνόδων (sessions).
Είναι δηλαδή καίριας σημασίας ο διαχωρισμός των δεδομένων σε συνόδους. Θεωρούμε ότι κάθε σύνοδος είναι και ένας διαφορετικό σενάριο χρήσης και κατ επέκταση και ένας διαφορετικός χρήστης. Άρα με την δημιουργία και τον διαχωρισμό των δεδομένων σε συνόδων είναι σαν σαν να δημιουργούμε και αν διαχωρίζουμε τα δεδομένα σε χρήστες. Κάθε υλοποιημένο σενάριο χρήσης που αναφέρθηκε πρωτύτερα είναι και ένας χρήστης.
Αυτό έγινε με την βοήθεια ενός npm module, το express-session που χωρίζει τα δεδομένα σε συνόδους δίνοντας ένα session_id μοναδική τιμή για τα δεδομένα που ανήκουν στην ίδια σύνοδο και διαφορετική τιμή για αυτά που ανήκουν σε διαφορετική σύνοδο. Έτσι, είναι εφτικός ο χωρισμός των δεδομένων σε συνόδους με βάση το session_id.
Εφόσον τα δεδομένα έχουν χωριστεί σε συνόδους θα πρέπει κάθε ενέργεια που ανήκει στην ίδια σύνοδο να ομαδοποιηθεί.
Έτσι θα επιτευχθεί η δημιουργία αλληλουχίας ενεργειών-καταστάσεων για κάθε χρήστη όπως ακριβώς σχεδιάσθηκε στα σενάρια χρήσης.
Δηλαδή μας ενδιαφέρει να δημιουργήσουμε μια αλληλουχία ενεργειών, μια ακολουθία καταστάσεων που να περιγράφουν την συνολική συμπεριφορά του χρήστη στο eshop.
Οι ενέργειες από μόνες τους δεν μπορούν να χαρκτηριστούν καλόβουλες ή κακόβουλες. Το σύνολο των ενεργειών είναι αυτό που μπορεί. Για παράδειγμα...
Για την δημιουργία των ακολουθιών καταστάσεων-ενεργειών για κάθε χρήστη ακολουθήθηκαν δύο προσεγγίσεις.
Η πρώτη είναι η δημιουργία καταστάσεων ενεργειών με βάση μόνο την σελίδα, συγχωνέυοντας τα χαρακτηριστικά baseUrl και path.
Για παράδειγμα, αν ένας χρήστης προσπαθήσει να συνδεθεί στην διαδικτυακή εφαρμογή ηλεκτρονικού εμπορίου, είτε το καταφέρει είτε αποτύχει, η κατάσταση-ενέργεια του θα χαρακτηριστεί αποκλειστικά και μόνο από την σελίδα χωρίς να λαμβάνεται υπόψιν η έκβασή της ενέργειας του
Ένα παράδειγμα είναι :
Η δεύτερη προσέγγιση είναι πιο περίπλοκη και πιο λεπτομερής με αποτέλεσμα να προσεγγίζει θεωρητικά την πραγματικότητα σε μεγαλύτερο βαθμό.
Έτσι η δημιουργία καταστάσεων ενεργειών γίνεται με βάση όχι μόνο την σελίδα αλλά και την ενέργεια που εκτελεί ο χρήστης στην συγκεκριμένη σελίδα και η έκβασή της.
Αυτό επιτυγχάνεται συγχωνεύοντας τα χαρακτηριστικά baseUrl ,path, method & statusCode.
Ένα παράδειγμα είναι :
Η συγκεκριμένη προσέγγιση είναι πιο πολύπλοκη από την πρώτη εφόσον λαμβάνει υπόψιν περισσότερες παραμέτρους για τη δημιουργία των καταστάσεων-ενεργειών και έτσι δημιουργούνται περισσότερες καταστάσεις, προσεγγίζοντας την πραγματικότητα σε μεγαλύτερο βαθμό.
Η προσέγγιση της παρούσας διπλωματικής εργασίας είναι ξεχωριστή εφόσον ασχολείται με ακολουθίες.
Για αυτόν τον λόγο τα μοντέλα μηχανικής μάθησης πρέπει να είναι ακολουθιακής ταξινόμησης (sequential classification) ώστε να χαρακτηρίζεται καλόβουλη ή κακόβουλη όλη η ακολουθία ενεργειών και άρα η δραστηριότητα του χρήστη και όχι μεμονομένες οι ενέργειες του.
Λίγα πράγματα για τους αλγορίθμους :
Ο αλγόριθμος των ... είναι CRF (conditional random field) που υλοποιείται με την βοήθεια ενός μέσου δομημένου αντιλήπτρου. Χρησιμοποεί αποκωδικοποίηση Viterbi.
To HMM είναι ένα μοντέλο Mαrkov με κρυφές καταστάσεις και συγκερκιμενα ένα πρώτης τάξη μοντέλο.
Τα μοντέλα μηχανικής μάθησης ακολουθιακής ταξινόμησης εκπαιδεύτηκαν σε ένα σύνολο που αποτελείται από 1035 ακολουθίες και ελέγχθηκε σε 98 ακολουθίες.
Το κρυφό μοντέλο Markov (HMM) είναι ένα στατιστικό μοντέλο Markov στο οποίο το σύστημα που μοντελοποιείται θεωρείται μια διαδικασία Markov με μη παρατηρούμενες καταστάσεις δηλαδή κρυφές καταστάσεις.
Το μοντέλο που χρησιμοποιείται στην παρούσα διπλωματική εργασία είναι ένα μοντέλο Markov πρώτης τάξης όπου αυτό σημαίνει ότι το μοντέλο προβλέπει την κατάσταση μιας οντότητας μιας συγκεκριμένης θέσης σε μια ακολουθία λαμβάνοντας υπόψιν μονάχα την κατάσταση μιας οντότητας στην προηγούμενη θέση διότι ο αριθμός της τάξης του μοντέλου είναι ένα.
Ο σχολιασμός των δεδομένων θα γίνει σε δύο άξονες με πρώτο αυτόν των συνόλων δεδομένων.
Για τον πρώτο σύνολο δεδομένων και οι δύο αλγόριθμοι ήταν το ίδιο αποδοτικοί ενώ στο δεύτερο σύνολο δεδομένων πιο αποδοτικός αλγόριθμος απεδείχθη αυτός των Collis & Daume
Ο δεύτερος άξονας είναι αυτός των αλγορίθμων.
Και οι δύο αλγόριθμοι ήταν αποδοτικότεροι στο πρώτο σύνολο δεδομένων έναντι του δευτέρου.
Για το πρώτο σύνολο δεδομένων ακολουθήθηκε απλούστερη προσέγγιση από ότι για το δεύτερο αφού λύφθηκαν υπόψην μόνο 2 χαρακτηριστικά έναντι 4 για την δημιουργία των καταστάσεων.