Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Διπλωματική Εργασία
Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και
εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την
πλατφόρμα WABLI
Εκπόνηση:
Θεόδωρος Τσαμπούρης
ΑΕΜ: 9784
Επιβλέπων Καθηγητής:
Ανδρέας Λ. Συμεωνίδης
Καθηγητής ΑΠΘ
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Περιεχόμενα
01 03
02
04 05
Εισαγωγή &
Θεωρητικό
Υπόβαθρο
Στόχος της
Διπλωματικής
Εργασίας
Σχεδίαση &
Υλοποίηση
Παραδείγματα
Χρήσης
Συμπεράσματα
& Μελλοντική
εργασία
2
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Εισαγωγή & Θεωρητικό
Υπόβαθρο
01
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Low-Code / No-Code πλατφόρμες
Οι Low-Code και No-Code πλατφόρμες είναι εργαλεία ανάπτυξης εφαρμογών που χρησιμοποιούν
οπτικά περιβάλλοντα για να μειώσουν ή να εξαλείψουν την ανάγκη για κώδικα.
Τι είναι;
4
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Low-Code / No-Code πλατφόρμες
Οι Low-Code και No-Code πλατφόρμες είναι εργαλεία ανάπτυξης εφαρμογών που χρησιμοποιούν
οπτικά περιβάλλοντα για να μειώσουν ή να εξαλείψουν την ανάγκη για κώδικα.
Τι είναι;
• Γρήγορη και Απλοποιημένη Ανάπτυξη: Μέσω drag-n-drop εργαλείων και προ-σχεδιασμένων στοιχείων
• Ιδανικά για μη τεχνικά καταρτισμένους χρήστες: Απαιτείται ελάχιστη ή και καθόλου γνώση προγραμματισμού
• Μείωση κόστους: Απαιτούνται λιγότεροι πόροι για την ανάπτυξη και συντήρηση του λογισμικού
• Συνδεσιμότητα: Δυνατότητα σύνδεσης με άλλα συστήματα
Χαρακτηριστικά
5
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Low-Code / No-Code πλατφόρμες
Οι Low-Code και No-Code πλατφόρμες είναι εργαλεία ανάπτυξης εφαρμογών που χρησιμοποιούν
οπτικά περιβάλλοντα για να μειώσουν ή να εξαλείψουν την ανάγκη για κώδικα.
Τι είναι;
• Γρήγορη και Απλοποιημένη Ανάπτυξη: Μέσω drag-n-drop εργαλείων και προ-σχεδιασμένων στοιχείων
• Ιδανικά για μη τεχνικά καταρτισμένους χρήστες: Απαιτείται ελάχιστη ή και καθόλου γνώση προγραμματισμού
• Μείωση κόστους: Απαιτούνται λιγότεροι πόροι για την ανάπτυξη και συντήρηση του λογισμικού
• Συνδεσιμότητα: Δυνατότητα σύνδεσης με άλλα συστήματα
Χαρακτηριστικά
➢ Low-Code:
• Απαιτούν ελάχιστο κώδικα
• Παρέχουν ευελιξία για πιο σύνθετες εφαρμογές
➢ No-Code:
• Δεν απαιτούν καθόλου κώδικα
• Ιδανικές για απλές εφαρμογές που αναπτύσσονται από μη τεχνικά καταρτισμένους χρήστες
Διαφορές
6
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Low-Code / No-Code πλατφόρμες
• Ευρεία χρήση low-code και no-code πλατφορμών και εργαλείων
• Εκτίμηση έρευνας του Gartner το 2019 έδειξε ότι από το 2024 το 65% των εφαρμογών θα
έχουν αναπτυχθεί με low-code πλατφόρμες
• Εκτίμηση έρευνας από την Markets & Trends το 2020:
- 2020: $13.2 billion 2025: $45.5 billion market share
• Προγραμματιστές
• Νεοφυείς επιχειρήσεις
• Μικρομεσαίες επιχειρήσεις
Τελικοί χρήστες
Δεδομένα
7
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Authentication & Authorization
• Είναι η διαδικασία επαλήθευσης της ταυτότητας ενός χρήστη ή συστήματος
• Παρέχονται τα κατάλληλα διαπιστευτήρια από τον χρήστη
• Στόχος του Authentication είναι η επιβεβαίωση ότι ο χρήστης είναι αυτός που ισχυρίζεται ότι
είναι
Authentication
• Η διαδικασία καθορισμού των δικαιωμάτων και των προσβάσεων που έχει ένας χρήστης
• Το σύστημα ελέγχει τα δικαιώματα του πιστοποιημένου χρήστη και αποφασίζει ποιες ενέργειες ή πόρους
μπορεί να χρησιμοποιήσει
• Στόχος του Authorization είναι ο καθορισμός των δικαιωμάτων που έχει ένας χρήστης
Authorization
8
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Attribute-Based Access Control (ABAC)
είναι μια μέθοδος ελέγχου πρόσβασης που
βασίζεται σε χαρακτηριστικά (attributes)
των χρηστών, των πόρων και του
περιβάλλοντος.
Τι είναι η ABAC τεχνική;
Attribute – Based Access Control (ABAC)
9
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Κύρια Στοιχεία της ABAC
Attribute-Based Access Control (ABAC)
είναι μια μέθοδος ελέγχου πρόσβασης που
βασίζεται σε χαρακτηριστικά (attributes)
των χρηστών, των πόρων και του
περιβάλλοντος.
- Χαρακτηριστικά υποκειμένου: Ρόλος,
τμήμα, επίπεδο ασφαλείας
- Χαρακτηριστικά πόρου
(Αντικειμένου): Τύπος δεδομένου,
επίπεδο εμπιστευτικότητας
- Χαρακτηριστικά περιβάλλοντος:
Χρόνος, τοποθεσία
Τι είναι η ABAC τεχνική;
Attribute – Based Access Control (ABAC)
10
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Κύρια Στοιχεία της ABAC
Attribute-Based Access Control (ABAC)
είναι μια μέθοδος ελέγχου πρόσβασης που
βασίζεται σε χαρακτηριστικά (attributes)
των χρηστών, των πόρων και του
περιβάλλοντος.
- Χαρακτηριστικά υποκειμένου: Ρόλος,
τμήμα, επίπεδο ασφαλείας
- Χαρακτηριστικά πόρου
(Αντικειμένου): Τύπος δεδομένου,
επίπεδο εμπιστευτικότητας
- Χαρακτηριστικά περιβάλλοντος:
Χρόνος, τοποθεσία
Τι είναι η ABAC τεχνική; Policies (Πολιτικές)
Attribute – Based Access Control (ABAC)
- Κανόνες Πρόσβασης: Βασίζονται σε
συνδυασμούς και σχέσεις μεταξύ των
χαρακτηριστικών
- Σύνθεση πολιτικών και κανόνων: Οι
πολιτικές και οι κανόνες μπορούν να
συνδέονται μεταξύ τους με τη χρήση
λογικών συντελεστών (AND, OR, XOR)
11
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Κύρια Στοιχεία της ABAC
Attribute-Based Access Control (ABAC)
είναι μια μέθοδος ελέγχου πρόσβασης που
βασίζεται σε χαρακτηριστικά (attributes)
των χρηστών, των πόρων και του
περιβάλλοντος.
- Κανόνες Πρόσβασης: Βασίζονται σε
συνδυασμούς και σχέσεις μεταξύ των
χαρακτηριστικών
- Σύνθεση πολιτικών και κανόνων: Οι
πολιτικές και οι κανόνες μπορούν να
συνδέονται μεταξύ τους με τη χρήση
λογικών συντελεστών (AND, OR, XOR)
- Χαρακτηριστικά υποκειμένου: Ρόλος,
τμήμα, επίπεδο ασφαλείας
- Χαρακτηριστικά πόρου
(Αντικειμένου): Τύπος δεδομένου,
επίπεδο εμπιστευτικότητας
- Χαρακτηριστικά περιβάλλοντος:
Χρόνος, τοποθεσία
- Αίτημα πρόσβασης: Ένας χρήστης
υποβάλλει ένα αίτημα για πρόσβαση σε
έναν πόρο
- Αξιολόγηση Πολιτικής: Το σύστημα
αξιολογεί το αίτημα πρόσβασης με βάση
τις πολιτικές που έχουν οριστεί
- Απόφαση Πρόσβασης: Έλεγχος
πληρότητας της πολιτικής με βάση το
αίτημα
Τι είναι η ABAC τεχνική; Policies (Πολιτικές)
Στάδια αξιολόγησης
Attribute – Based Access Control (ABAC)
12
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
WABLI Platform
To WABLI είναι μία Low-Code πλατφόρμα που έχει στόχο
την ταχεία σχεδίαση και ανάπτυξη εφαρμογών λογισμικού
Μέσω του WABLI οι χρήστες μπορούν:
1) Να σχεδιάσουν τις σελίδες της εφαρμογής τους με έτοιμα
γραφικά στοιχεία τα οποία προσφέρει η πλατφόρμα
2) Να σχεδιάσουν το μοντέλο δεδομένων και τη
λειτουργικότητα της εφαρμογής τους
3) Να εξάγουν τον πηγαίο κώδικα της εφαρμογής τους και
να την αναπτύξουν στο νέφος
13
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Στόχος της
Διπλωματικής Εργασίας
02
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Στόχος της Διπλωματικής
Εργασίας
Για να θεωρούνται οι εφαρμογές που παράγονται από το
WABLI ολοκληρωμένες θα πρέπει:
1) Να διασφαλίζουν την ακεραιότητα των δεδομένων και της
λειτουργικότητάς τους
2) Να έχουν σαφώς καθορισμένα τα επίπεδα πρόσβασης
για κάθε χρήστη
3) Να μπορούν οι χρήστες του WABLI να ορίζουν τις
πολιτικές ασφαλείας που θα διέπουν τις εφαρμογές τους
Υλοποίηση του μηχανισμού που θα παρέχει αυτή τη
λειτουργικότητα
15
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Βήματα
Υλοποίηση
Authentication
μηχανισμού
16
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Βήματα
Υλοποίηση
Authentication
μηχανισμού
Αλλαγές στον κώδικα
που παράγεται από το
WABLI
17
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Βήματα
Υλοποίηση
Authentication
μηχανισμού
Αλλαγές στον κώδικα
που παράγεται από το
WABLI
Υλοποίηση μηχανισμού
σχεδιασμού των
πολιτικών
18
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Βήματα
Υλοποίηση
Authentication
μηχανισμού
Αλλαγές στον κώδικα
που παράγεται από το
WABLI
Υλοποίηση μηχανισμού
σχεδιασμού των
πολιτικών
Υλοποίηση μηχανισμού
αξιολόγησης των
αιτημάτων πρόσβασης
19
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Βήματα
Υλοποίηση
Authentication
μηχανισμού
Αλλαγές στον κώδικα
που παράγεται από το
WABLI
Εφαρμογή και δοκιμή
του μηχανισμού σε μία
εφαρμογή η οποία έχει
παραχθεί με το WABLI
Υλοποίηση μηχανισμού
σχεδιασμού των
πολιτικών
Υλοποίηση μηχανισμού
αξιολόγησης των
αιτημάτων πρόσβασης
20
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Σχεδίαση & Υλοποίηση
03
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Αρχιτεκτονική Μηχανισμού (1/2)
22
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Αρχιτεκτονική Μηχανισμού (2/2)
23
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Αρχιτεκτονική του Policy Server Service
Policy Server Service
24
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Policy Server Service
Policy Decision Point (PDP): Το σημείο στο
οποίο γίνεται η αξιολόγηση του αιτήματος
πρόσβασης
25
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Policy Server Service
Policy Decision Point (PDP): Το σημείο στο
οποίο γίνεται η αξιολόγηση του αιτήματος
πρόσβασης
Policy Information Point (PIP): Το σημείο
το οποίο συγκεντρώνει όλες τις απαραίτητες
πληροφορίες για την αξιολόγηση του
αιτήματος
26
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Policy Server Service
Policy (Evaluation Function): Η μέθοδος
που καλεί το PDP για την αξιολόγηση του
αιτήματος
Policy Decision Point (PDP): Το σημείο στο
οποίο γίνεται η αξιολόγηση του αιτήματος
πρόσβασης
Policy Information Point (PIP): Το σημείο
το οποίο συγκεντρώνει όλες τις απαραίτητες
πληροφορίες για την αξιολόγηση του
αιτήματος
27
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Policy Server Service
PolicyBuilder: Η μέθοδος η οποία
μετατρέπει τις πολιτικές που έχουν οριστεί
στον PolicyPilot σε μορφή αναγνωρίσιμη από
τον κώδικα. Ζευγάρια Σχέσης-Απόφασης.
Policy (Evaluation Function): Η μέθοδος
που καλεί το PDP για την αξιολόγηση του
αιτήματος
Policy Decision Point (PDP): Το σημείο στο
οποίο γίνεται η αξιολόγηση του αιτήματος
πρόσβασης
Policy Information Point (PIP): Το σημείο
το οποίο συγκεντρώνει όλες τις απαραίτητες
πληροφορίες για την αξιολόγηση του
αιτήματος
28
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Policy Server Service
Operator Transform / Logical Operator
Transform: Βοηθητικές συναρτήσεις της
μεθόδου PolicyBuilder
PolicyBuilder: Η μέθοδος η οποία
μετατρέπει τις πολιτικές που έχουν οριστεί
στον PolicyPilot σε μορφή αναγνωρίσιμη από
τον κώδικα. Ζευγάρια Σχέσης-Απόφασης.
Policy (Evaluation Function): Η μέθοδος
που καλεί το PDP για την αξιολόγηση του
αιτήματος
Policy Decision Point (PDP): Το σημείο στο
οποίο γίνεται η αξιολόγηση του αιτήματος
πρόσβασης
Policy Information Point (PIP): Το σημείο
το οποίο συγκεντρώνει όλες τις απαραίτητες
πληροφορίες για την αξιολόγηση του
αιτήματος
29
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Αρχιτεκτονική του PolicyPilot Service.
PolicyPilot Service
30
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
PolicyPilot Service
Οι χρήστες εισέρχονται στην υπηρεσία με
το GitHub λογαριασμό τους. Με αυτόν τον
τρόπο μπορούν να αντιστοιχηθούν στο
χρήστη τα WABLI projects τα οποία του
ανήκουν
31
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
PolicyPilot Service
Στο Dashboard Page βλέπουν
συγκεντρωμένα όλα τα WABLI projects
στα οποία έχουν δικαίωμα να σχεδιάσουν
και να επεξεργαστούν τις πολιτικές τους.
32
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
PolicyPilot Service
Στο Project Page οι χρήστες σχεδιάζουν
τις πολιτικές που θα διέπουν τις
εφαρμογές τους μέσω του Policy Builder.
O Policy Builder ακολουθεί το πρότυπο
της ABAC μεθόδου.
33
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
PolicyPilot Service
Οι πολιτικές αποτελούνται από:
• Το Resource
• To Action
• Τα conditions
34
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
PolicyPilot Service
Οι πολιτικές αποτελούνται από:
• Το Resource
• To Action
• Τα conditions
Τα conditions αποτελούνται από σχέσεις
οι οποίες συνδέονται με λογικούς
συντελεστές. Οι σχέσεις ενός condition
αποτελούνται από:
• To subject field (Μόνο η κύρια σχέση)
• Το subject’s attribute field
• Το operator field
• Το compare value type field
• Το compare value field
• Το decision field
35
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
PolicyPilot Service
Οι πολιτικές αποτελούνται από:
• Το Resource
• To Action
• Τα conditions
Τα conditions αποτελούνται από σχέσεις
οι οποίες συνδέονται με λογικούς
συντελεστές. Οι σχέσεις ενός condition
αποτελούνται από:
• To subject field (Μόνο η κύρια σχέση)
• Το subject’s attribute field
• Το operator field
• Το compare value type field
• Το compare value field
• Το decision field
Ο Policy Builder περιέχει και τα πεδία:
• Default Policy Decision (Permit /
Deny)
• Binding Algorithm (Permit unless Deny
/ Deny unless Permit)
36
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
PolicyPilot Service
Η λειτουργικότητα παρέχεται χωρίς να
απαιτείται καθόλου συγγραφή κώδικα
37
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Για να μπορέσει να προστεθεί η λειτουργικότητα ελέγχου πρόσβασης
στις εφαρμογές, χρειάστηκαν ορισμένες αλλαγές στον κώδικα τους.
1. Προσθήκη του Cookie που παράγεται από το Authentication
Service στους headers των requests
2. Ανάπτυξη δύο νέων συναρτήσεων οι οποίες λειτουργούν ως
middleware και προστέθηκαν:
• Στο σημείο που η εφαρμογή σερβίρει τις σελίδες στο χρήστη
• Στο σημείο που η εφαρμογή καλεί τους controllers για να
ενεργήσουν πάνω σε έναν πόρο
Αλλαγές στον κώδικα
που παράγεται από το WABLI
38
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Αλλαγές στον κώδικα
που παράγεται από το WABLI
Ρόλος των middleware
Ο ρόλος των δύο αυτών middleware συναρτήσεων είναι να συλλέξουν
τα δεδομένα:
• «Ποιος ενεργεί» (Subject)
• «Τι ενέργεια επιχειρεί» (Action)
• «Σε ποιο entity επιχειρεί την ενέργεια» (Target)
• «Σε ποιο object του entity επιχειρεί την ενέργεια» (Resource)
Αφού συλλέξουν αυτά τα δεδομένα, επικοινωνούν με τον Policy Server
ο οποίος είναι υπεύθυνος για την αξιολόγηση της ενέργειας.
Οι middleware δρουν με βάση την απόφαση του Policy Server.
39
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Activity Diagrams της λειτουργικότητας των εφαρμογών πριν και μετά την
υλοποίηση του μηχανισμού
40
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
To Authentication Service είναι μία
κλασσική Login / Sign Up υπηρεσία
η οποία αποτελείται από δύο
σελίδες:
1) Την Login σελίδα
2) Την Sign Up σέλίδα
Authentication Service
41
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Παραδείγματα Χρήσης
04
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Παράδειγμα 1 – Permit / Deny case για πρόσβαση σε entity action
43
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Παράδειγμα 2 – Χρήση Logical Operator σε Πολιτική (Deny unless Permit Binding Algorithm)
44
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Παράδειγμα 3 – Permit / Deny case για πρόσβαση σε σελίδα (Permit unless Deny Binding Algorithm)
45
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Συμπεράσματα &
Μελλοντική εργασία
05
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Με την περάτωση της Διπλωματικής
Εργασίας επιτυγχάνονται:
• Η σχεδίαση και εφαρμογή πολιτικών προστασίας στις εφαρμογές που παράγονται από το
WABLI χωρίς να απαιτείται η συγγραφή κώδικα
• Μεγάλο εύρος πολιτικών που μπορούν να εφαρμοστούν με τη χρήση του μηχανισμού
• Η ενημέρωση των πολιτικών γίνεται εύκολα και γρήγορα χωρίς να επηρεάζεται η
λειτουργικότητα της εφαρμογής
• Σχεδιάστηκε και υλοποιήθηκε η υπηρεσία PolicyPilot, υπεύθυνη για το σχεδιασμό των
πολιτικών για τις εφαρμογές χωρίς να χρειάζεται αλλαγή και διαμόρφωση για κάποια από
αυτές
• Σχεδιάστηκε και υλοποιήθηκε η υπηρεσία Policy Server, υπεύθυνη για την αξιολόγηση όλων
των αιτημάτων πρόσβασης που συμβαίνουν στις εφαρμογές χωρίς να χρειάζεται αλλαγή και
διαμόρφωση για κάποια από αυτές
47
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Μελλοντικές επεκτάσεις:
• Εισαγωγή των χαρακτηριστικών περιβάλλοντος στη σχεδίαση των πολιτικών.
Για παράδειγμα:
- Η ώρα κατά την οποία συμβαίνει μία ενέργεια
- Η συσκευή από την οποία επιχειρεί ο χρήστης την ενέργεια
- Η IP από την οποία επιχειρεί ο χρήστης την ενέργεια
• Υλοποίηση μηχανισμού για την αναγνώριση των πολιτικών και ενημέρωση του χρήστη για
τυχόν σχεδιαστικά λάθη.
• Ανάπτυξη και προσθήκη μοντέλου Μηχανικής Μάθησης, το οποίο θα αναγνωρίζει με βάση
το Application Configuration το είδος της εφαρμογής και θα προτείνει στο χρήστη
σημαντικές πολιτικές που θα πρέπει να συμπεριλάβει στο σχεδιασμό του.
48
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Ευχαριστίες
Θα ήθελα να ευχαριστήσω θερμά τους:
➢ κ. Ανδρέα Συμεωνίδη
➢ Συγγενείς και φίλους
για την πολύτιμη στήριξη και καθοδήγησή τους.
49
Ιούλιος 2024 Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή
πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI
Θεόδωρος Τσαμπούρης
Ευχαριστώ πολύ για την προσοχή σας!
Ερωτήσεις;

Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI

  • 1.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Διπλωματική Εργασία Σχεδιασμός και υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Εκπόνηση: Θεόδωρος Τσαμπούρης ΑΕΜ: 9784 Επιβλέπων Καθηγητής: Ανδρέας Λ. Συμεωνίδης Καθηγητής ΑΠΘ
  • 2.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Περιεχόμενα 01 03 02 04 05 Εισαγωγή & Θεωρητικό Υπόβαθρο Στόχος της Διπλωματικής Εργασίας Σχεδίαση & Υλοποίηση Παραδείγματα Χρήσης Συμπεράσματα & Μελλοντική εργασία 2
  • 3.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Εισαγωγή & Θεωρητικό Υπόβαθρο 01
  • 4.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Low-Code / No-Code πλατφόρμες Οι Low-Code και No-Code πλατφόρμες είναι εργαλεία ανάπτυξης εφαρμογών που χρησιμοποιούν οπτικά περιβάλλοντα για να μειώσουν ή να εξαλείψουν την ανάγκη για κώδικα. Τι είναι; 4
  • 5.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Low-Code / No-Code πλατφόρμες Οι Low-Code και No-Code πλατφόρμες είναι εργαλεία ανάπτυξης εφαρμογών που χρησιμοποιούν οπτικά περιβάλλοντα για να μειώσουν ή να εξαλείψουν την ανάγκη για κώδικα. Τι είναι; • Γρήγορη και Απλοποιημένη Ανάπτυξη: Μέσω drag-n-drop εργαλείων και προ-σχεδιασμένων στοιχείων • Ιδανικά για μη τεχνικά καταρτισμένους χρήστες: Απαιτείται ελάχιστη ή και καθόλου γνώση προγραμματισμού • Μείωση κόστους: Απαιτούνται λιγότεροι πόροι για την ανάπτυξη και συντήρηση του λογισμικού • Συνδεσιμότητα: Δυνατότητα σύνδεσης με άλλα συστήματα Χαρακτηριστικά 5
  • 6.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Low-Code / No-Code πλατφόρμες Οι Low-Code και No-Code πλατφόρμες είναι εργαλεία ανάπτυξης εφαρμογών που χρησιμοποιούν οπτικά περιβάλλοντα για να μειώσουν ή να εξαλείψουν την ανάγκη για κώδικα. Τι είναι; • Γρήγορη και Απλοποιημένη Ανάπτυξη: Μέσω drag-n-drop εργαλείων και προ-σχεδιασμένων στοιχείων • Ιδανικά για μη τεχνικά καταρτισμένους χρήστες: Απαιτείται ελάχιστη ή και καθόλου γνώση προγραμματισμού • Μείωση κόστους: Απαιτούνται λιγότεροι πόροι για την ανάπτυξη και συντήρηση του λογισμικού • Συνδεσιμότητα: Δυνατότητα σύνδεσης με άλλα συστήματα Χαρακτηριστικά ➢ Low-Code: • Απαιτούν ελάχιστο κώδικα • Παρέχουν ευελιξία για πιο σύνθετες εφαρμογές ➢ No-Code: • Δεν απαιτούν καθόλου κώδικα • Ιδανικές για απλές εφαρμογές που αναπτύσσονται από μη τεχνικά καταρτισμένους χρήστες Διαφορές 6
  • 7.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Low-Code / No-Code πλατφόρμες • Ευρεία χρήση low-code και no-code πλατφορμών και εργαλείων • Εκτίμηση έρευνας του Gartner το 2019 έδειξε ότι από το 2024 το 65% των εφαρμογών θα έχουν αναπτυχθεί με low-code πλατφόρμες • Εκτίμηση έρευνας από την Markets & Trends το 2020: - 2020: $13.2 billion 2025: $45.5 billion market share • Προγραμματιστές • Νεοφυείς επιχειρήσεις • Μικρομεσαίες επιχειρήσεις Τελικοί χρήστες Δεδομένα 7
  • 8.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Authentication & Authorization • Είναι η διαδικασία επαλήθευσης της ταυτότητας ενός χρήστη ή συστήματος • Παρέχονται τα κατάλληλα διαπιστευτήρια από τον χρήστη • Στόχος του Authentication είναι η επιβεβαίωση ότι ο χρήστης είναι αυτός που ισχυρίζεται ότι είναι Authentication • Η διαδικασία καθορισμού των δικαιωμάτων και των προσβάσεων που έχει ένας χρήστης • Το σύστημα ελέγχει τα δικαιώματα του πιστοποιημένου χρήστη και αποφασίζει ποιες ενέργειες ή πόρους μπορεί να χρησιμοποιήσει • Στόχος του Authorization είναι ο καθορισμός των δικαιωμάτων που έχει ένας χρήστης Authorization 8
  • 9.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Attribute-Based Access Control (ABAC) είναι μια μέθοδος ελέγχου πρόσβασης που βασίζεται σε χαρακτηριστικά (attributes) των χρηστών, των πόρων και του περιβάλλοντος. Τι είναι η ABAC τεχνική; Attribute – Based Access Control (ABAC) 9
  • 10.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Κύρια Στοιχεία της ABAC Attribute-Based Access Control (ABAC) είναι μια μέθοδος ελέγχου πρόσβασης που βασίζεται σε χαρακτηριστικά (attributes) των χρηστών, των πόρων και του περιβάλλοντος. - Χαρακτηριστικά υποκειμένου: Ρόλος, τμήμα, επίπεδο ασφαλείας - Χαρακτηριστικά πόρου (Αντικειμένου): Τύπος δεδομένου, επίπεδο εμπιστευτικότητας - Χαρακτηριστικά περιβάλλοντος: Χρόνος, τοποθεσία Τι είναι η ABAC τεχνική; Attribute – Based Access Control (ABAC) 10
  • 11.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Κύρια Στοιχεία της ABAC Attribute-Based Access Control (ABAC) είναι μια μέθοδος ελέγχου πρόσβασης που βασίζεται σε χαρακτηριστικά (attributes) των χρηστών, των πόρων και του περιβάλλοντος. - Χαρακτηριστικά υποκειμένου: Ρόλος, τμήμα, επίπεδο ασφαλείας - Χαρακτηριστικά πόρου (Αντικειμένου): Τύπος δεδομένου, επίπεδο εμπιστευτικότητας - Χαρακτηριστικά περιβάλλοντος: Χρόνος, τοποθεσία Τι είναι η ABAC τεχνική; Policies (Πολιτικές) Attribute – Based Access Control (ABAC) - Κανόνες Πρόσβασης: Βασίζονται σε συνδυασμούς και σχέσεις μεταξύ των χαρακτηριστικών - Σύνθεση πολιτικών και κανόνων: Οι πολιτικές και οι κανόνες μπορούν να συνδέονται μεταξύ τους με τη χρήση λογικών συντελεστών (AND, OR, XOR) 11
  • 12.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Κύρια Στοιχεία της ABAC Attribute-Based Access Control (ABAC) είναι μια μέθοδος ελέγχου πρόσβασης που βασίζεται σε χαρακτηριστικά (attributes) των χρηστών, των πόρων και του περιβάλλοντος. - Κανόνες Πρόσβασης: Βασίζονται σε συνδυασμούς και σχέσεις μεταξύ των χαρακτηριστικών - Σύνθεση πολιτικών και κανόνων: Οι πολιτικές και οι κανόνες μπορούν να συνδέονται μεταξύ τους με τη χρήση λογικών συντελεστών (AND, OR, XOR) - Χαρακτηριστικά υποκειμένου: Ρόλος, τμήμα, επίπεδο ασφαλείας - Χαρακτηριστικά πόρου (Αντικειμένου): Τύπος δεδομένου, επίπεδο εμπιστευτικότητας - Χαρακτηριστικά περιβάλλοντος: Χρόνος, τοποθεσία - Αίτημα πρόσβασης: Ένας χρήστης υποβάλλει ένα αίτημα για πρόσβαση σε έναν πόρο - Αξιολόγηση Πολιτικής: Το σύστημα αξιολογεί το αίτημα πρόσβασης με βάση τις πολιτικές που έχουν οριστεί - Απόφαση Πρόσβασης: Έλεγχος πληρότητας της πολιτικής με βάση το αίτημα Τι είναι η ABAC τεχνική; Policies (Πολιτικές) Στάδια αξιολόγησης Attribute – Based Access Control (ABAC) 12
  • 13.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης WABLI Platform To WABLI είναι μία Low-Code πλατφόρμα που έχει στόχο την ταχεία σχεδίαση και ανάπτυξη εφαρμογών λογισμικού Μέσω του WABLI οι χρήστες μπορούν: 1) Να σχεδιάσουν τις σελίδες της εφαρμογής τους με έτοιμα γραφικά στοιχεία τα οποία προσφέρει η πλατφόρμα 2) Να σχεδιάσουν το μοντέλο δεδομένων και τη λειτουργικότητα της εφαρμογής τους 3) Να εξάγουν τον πηγαίο κώδικα της εφαρμογής τους και να την αναπτύξουν στο νέφος 13
  • 14.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Στόχος της Διπλωματικής Εργασίας 02
  • 15.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Στόχος της Διπλωματικής Εργασίας Για να θεωρούνται οι εφαρμογές που παράγονται από το WABLI ολοκληρωμένες θα πρέπει: 1) Να διασφαλίζουν την ακεραιότητα των δεδομένων και της λειτουργικότητάς τους 2) Να έχουν σαφώς καθορισμένα τα επίπεδα πρόσβασης για κάθε χρήστη 3) Να μπορούν οι χρήστες του WABLI να ορίζουν τις πολιτικές ασφαλείας που θα διέπουν τις εφαρμογές τους Υλοποίηση του μηχανισμού που θα παρέχει αυτή τη λειτουργικότητα 15
  • 16.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Βήματα Υλοποίηση Authentication μηχανισμού 16
  • 17.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Βήματα Υλοποίηση Authentication μηχανισμού Αλλαγές στον κώδικα που παράγεται από το WABLI 17
  • 18.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Βήματα Υλοποίηση Authentication μηχανισμού Αλλαγές στον κώδικα που παράγεται από το WABLI Υλοποίηση μηχανισμού σχεδιασμού των πολιτικών 18
  • 19.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Βήματα Υλοποίηση Authentication μηχανισμού Αλλαγές στον κώδικα που παράγεται από το WABLI Υλοποίηση μηχανισμού σχεδιασμού των πολιτικών Υλοποίηση μηχανισμού αξιολόγησης των αιτημάτων πρόσβασης 19
  • 20.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Βήματα Υλοποίηση Authentication μηχανισμού Αλλαγές στον κώδικα που παράγεται από το WABLI Εφαρμογή και δοκιμή του μηχανισμού σε μία εφαρμογή η οποία έχει παραχθεί με το WABLI Υλοποίηση μηχανισμού σχεδιασμού των πολιτικών Υλοποίηση μηχανισμού αξιολόγησης των αιτημάτων πρόσβασης 20
  • 21.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Σχεδίαση & Υλοποίηση 03
  • 22.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Αρχιτεκτονική Μηχανισμού (1/2) 22
  • 23.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Αρχιτεκτονική Μηχανισμού (2/2) 23
  • 24.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Αρχιτεκτονική του Policy Server Service Policy Server Service 24
  • 25.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Policy Server Service Policy Decision Point (PDP): Το σημείο στο οποίο γίνεται η αξιολόγηση του αιτήματος πρόσβασης 25
  • 26.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Policy Server Service Policy Decision Point (PDP): Το σημείο στο οποίο γίνεται η αξιολόγηση του αιτήματος πρόσβασης Policy Information Point (PIP): Το σημείο το οποίο συγκεντρώνει όλες τις απαραίτητες πληροφορίες για την αξιολόγηση του αιτήματος 26
  • 27.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Policy Server Service Policy (Evaluation Function): Η μέθοδος που καλεί το PDP για την αξιολόγηση του αιτήματος Policy Decision Point (PDP): Το σημείο στο οποίο γίνεται η αξιολόγηση του αιτήματος πρόσβασης Policy Information Point (PIP): Το σημείο το οποίο συγκεντρώνει όλες τις απαραίτητες πληροφορίες για την αξιολόγηση του αιτήματος 27
  • 28.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Policy Server Service PolicyBuilder: Η μέθοδος η οποία μετατρέπει τις πολιτικές που έχουν οριστεί στον PolicyPilot σε μορφή αναγνωρίσιμη από τον κώδικα. Ζευγάρια Σχέσης-Απόφασης. Policy (Evaluation Function): Η μέθοδος που καλεί το PDP για την αξιολόγηση του αιτήματος Policy Decision Point (PDP): Το σημείο στο οποίο γίνεται η αξιολόγηση του αιτήματος πρόσβασης Policy Information Point (PIP): Το σημείο το οποίο συγκεντρώνει όλες τις απαραίτητες πληροφορίες για την αξιολόγηση του αιτήματος 28
  • 29.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Policy Server Service Operator Transform / Logical Operator Transform: Βοηθητικές συναρτήσεις της μεθόδου PolicyBuilder PolicyBuilder: Η μέθοδος η οποία μετατρέπει τις πολιτικές που έχουν οριστεί στον PolicyPilot σε μορφή αναγνωρίσιμη από τον κώδικα. Ζευγάρια Σχέσης-Απόφασης. Policy (Evaluation Function): Η μέθοδος που καλεί το PDP για την αξιολόγηση του αιτήματος Policy Decision Point (PDP): Το σημείο στο οποίο γίνεται η αξιολόγηση του αιτήματος πρόσβασης Policy Information Point (PIP): Το σημείο το οποίο συγκεντρώνει όλες τις απαραίτητες πληροφορίες για την αξιολόγηση του αιτήματος 29
  • 30.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Αρχιτεκτονική του PolicyPilot Service. PolicyPilot Service 30
  • 31.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης PolicyPilot Service Οι χρήστες εισέρχονται στην υπηρεσία με το GitHub λογαριασμό τους. Με αυτόν τον τρόπο μπορούν να αντιστοιχηθούν στο χρήστη τα WABLI projects τα οποία του ανήκουν 31
  • 32.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης PolicyPilot Service Στο Dashboard Page βλέπουν συγκεντρωμένα όλα τα WABLI projects στα οποία έχουν δικαίωμα να σχεδιάσουν και να επεξεργαστούν τις πολιτικές τους. 32
  • 33.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης PolicyPilot Service Στο Project Page οι χρήστες σχεδιάζουν τις πολιτικές που θα διέπουν τις εφαρμογές τους μέσω του Policy Builder. O Policy Builder ακολουθεί το πρότυπο της ABAC μεθόδου. 33
  • 34.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης PolicyPilot Service Οι πολιτικές αποτελούνται από: • Το Resource • To Action • Τα conditions 34
  • 35.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης PolicyPilot Service Οι πολιτικές αποτελούνται από: • Το Resource • To Action • Τα conditions Τα conditions αποτελούνται από σχέσεις οι οποίες συνδέονται με λογικούς συντελεστές. Οι σχέσεις ενός condition αποτελούνται από: • To subject field (Μόνο η κύρια σχέση) • Το subject’s attribute field • Το operator field • Το compare value type field • Το compare value field • Το decision field 35
  • 36.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης PolicyPilot Service Οι πολιτικές αποτελούνται από: • Το Resource • To Action • Τα conditions Τα conditions αποτελούνται από σχέσεις οι οποίες συνδέονται με λογικούς συντελεστές. Οι σχέσεις ενός condition αποτελούνται από: • To subject field (Μόνο η κύρια σχέση) • Το subject’s attribute field • Το operator field • Το compare value type field • Το compare value field • Το decision field Ο Policy Builder περιέχει και τα πεδία: • Default Policy Decision (Permit / Deny) • Binding Algorithm (Permit unless Deny / Deny unless Permit) 36
  • 37.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης PolicyPilot Service Η λειτουργικότητα παρέχεται χωρίς να απαιτείται καθόλου συγγραφή κώδικα 37
  • 38.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Για να μπορέσει να προστεθεί η λειτουργικότητα ελέγχου πρόσβασης στις εφαρμογές, χρειάστηκαν ορισμένες αλλαγές στον κώδικα τους. 1. Προσθήκη του Cookie που παράγεται από το Authentication Service στους headers των requests 2. Ανάπτυξη δύο νέων συναρτήσεων οι οποίες λειτουργούν ως middleware και προστέθηκαν: • Στο σημείο που η εφαρμογή σερβίρει τις σελίδες στο χρήστη • Στο σημείο που η εφαρμογή καλεί τους controllers για να ενεργήσουν πάνω σε έναν πόρο Αλλαγές στον κώδικα που παράγεται από το WABLI 38
  • 39.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Αλλαγές στον κώδικα που παράγεται από το WABLI Ρόλος των middleware Ο ρόλος των δύο αυτών middleware συναρτήσεων είναι να συλλέξουν τα δεδομένα: • «Ποιος ενεργεί» (Subject) • «Τι ενέργεια επιχειρεί» (Action) • «Σε ποιο entity επιχειρεί την ενέργεια» (Target) • «Σε ποιο object του entity επιχειρεί την ενέργεια» (Resource) Αφού συλλέξουν αυτά τα δεδομένα, επικοινωνούν με τον Policy Server ο οποίος είναι υπεύθυνος για την αξιολόγηση της ενέργειας. Οι middleware δρουν με βάση την απόφαση του Policy Server. 39
  • 40.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Activity Diagrams της λειτουργικότητας των εφαρμογών πριν και μετά την υλοποίηση του μηχανισμού 40
  • 41.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης To Authentication Service είναι μία κλασσική Login / Sign Up υπηρεσία η οποία αποτελείται από δύο σελίδες: 1) Την Login σελίδα 2) Την Sign Up σέλίδα Authentication Service 41
  • 42.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Παραδείγματα Χρήσης 04
  • 43.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Παράδειγμα 1 – Permit / Deny case για πρόσβαση σε entity action 43
  • 44.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Παράδειγμα 2 – Χρήση Logical Operator σε Πολιτική (Deny unless Permit Binding Algorithm) 44
  • 45.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Παράδειγμα 3 – Permit / Deny case για πρόσβαση σε σελίδα (Permit unless Deny Binding Algorithm) 45
  • 46.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Συμπεράσματα & Μελλοντική εργασία 05
  • 47.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Με την περάτωση της Διπλωματικής Εργασίας επιτυγχάνονται: • Η σχεδίαση και εφαρμογή πολιτικών προστασίας στις εφαρμογές που παράγονται από το WABLI χωρίς να απαιτείται η συγγραφή κώδικα • Μεγάλο εύρος πολιτικών που μπορούν να εφαρμοστούν με τη χρήση του μηχανισμού • Η ενημέρωση των πολιτικών γίνεται εύκολα και γρήγορα χωρίς να επηρεάζεται η λειτουργικότητα της εφαρμογής • Σχεδιάστηκε και υλοποιήθηκε η υπηρεσία PolicyPilot, υπεύθυνη για το σχεδιασμό των πολιτικών για τις εφαρμογές χωρίς να χρειάζεται αλλαγή και διαμόρφωση για κάποια από αυτές • Σχεδιάστηκε και υλοποιήθηκε η υπηρεσία Policy Server, υπεύθυνη για την αξιολόγηση όλων των αιτημάτων πρόσβασης που συμβαίνουν στις εφαρμογές χωρίς να χρειάζεται αλλαγή και διαμόρφωση για κάποια από αυτές 47
  • 48.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Μελλοντικές επεκτάσεις: • Εισαγωγή των χαρακτηριστικών περιβάλλοντος στη σχεδίαση των πολιτικών. Για παράδειγμα: - Η ώρα κατά την οποία συμβαίνει μία ενέργεια - Η συσκευή από την οποία επιχειρεί ο χρήστης την ενέργεια - Η IP από την οποία επιχειρεί ο χρήστης την ενέργεια • Υλοποίηση μηχανισμού για την αναγνώριση των πολιτικών και ενημέρωση του χρήστη για τυχόν σχεδιαστικά λάθη. • Ανάπτυξη και προσθήκη μοντέλου Μηχανικής Μάθησης, το οποίο θα αναγνωρίζει με βάση το Application Configuration το είδος της εφαρμογής και θα προτείνει στο χρήστη σημαντικές πολιτικές που θα πρέπει να συμπεριλάβει στο σχεδιασμό του. 48
  • 49.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Ευχαριστίες Θα ήθελα να ευχαριστήσω θερμά τους: ➢ κ. Ανδρέα Συμεωνίδη ➢ Συγγενείς και φίλους για την πολύτιμη στήριξη και καθοδήγησή τους. 49
  • 50.
    Ιούλιος 2024 Σχεδιασμόςκαι υλοποίηση No-Code μηχανισμού για τη δημιουργία και εφαρμογή πολιτικών ασφαλείας σε εφαρμογές παραγόμενες από την πλατφόρμα WABLI Θεόδωρος Τσαμπούρης Ευχαριστώ πολύ για την προσοχή σας! Ερωτήσεις;