Εξέλιξη Κομματιού
A01:2025 – Κατάσταση Ασφαλούς Πρόσβασης (Broken Access Control)
Ο έλεγχος πρόσβασης επιβάλλει πολιτική ώστε οι χρήστες να μην μπορούν να ενεργούν εκτός των προβλεπόμενων δικαιωμάτων τους. Οι αποτυχίες οδηγούν συνήθως σε μη εξουσιοδοτημένη αποκάλυψη, τροποποίηση ή καταστροφή δεδομένων, ή στην εκτέλεση επιχειρηματικών λειτουργιών εκτός των ορίων του χρήστη.
Πρακτικά Στοιχεία
-
Πρακτικά παραδείγματα κατάστασης ασφαλούς πρόσβασης
-
Ασφαλής έλεγχος πρόσβασης και καλές πρακτικές
A02:2025 – Εσφαλμένη Διαμόρφωση Ασφαλείας
Η εσφαλμένη διαμόρφωση ασφαλείας συμβαίνει όταν ένα σύστημα, εφαρμογή ή υπηρεσία cloud ρυθμίζεται λανθασμένα από την οπτική γωνία της ασφαλείας, δημιουργώντας ευρωστειές.
Πρακτικά Στοιχεία
-
Παραδείγματα από τον πραγματικό κόσμο εσφαλμένων διαμορφώσεων
-
Βήματα για την πρόληψη εσφαλμένων διαμορφώσεων, συμπεριλαμβανομένης της διαχείρισης διαμορφώσεων και των εργαλείων αυτοματοποίησης
A03:2025 – Αποτυχίες στην Αλυσίδα Προμηθειών Λογισμικού
Οι αποτυχίες στην αλυσίδα προμηθειών λογισμικού είναι διακοπές ή άλλες παραβιάσεις στην διαδικασία οικοδόμησης, διανομής ή ενημέρωσης λογισμικού. Συχνά προκαλούνται από ευρωστειές ή κακόβουλες αλλαγές σε κώδικα, εργαλεία ή άλλες εξαρτήσεις τρίτων μερών στις οποίες βασίζεται το σύστημα.
A04:2025 – Αποτυχίες Κρυπτογράφησης
Γενικά, όλα τα δεδομένα που μεταφέρονται πρέπει να κρυπτογραφούνται στο επίπεδο μεταφοράς (επίπεδο OSI 4). Προηγούμενα εμπόδια, όπως η απόδοση της επεξεργασίας CPU και η διαχείριση ιδιωτικού κλειδιού/πιστοποιητικού, διαχειρίζονται πλέον από επεξεργαστές με εντολές σχεδιασμένες για την επιτάχυνση της κρυπτογράφησης (π.χ. υποστήριξη AES) και η διαχείριση ιδιωτικού κλειδιού και πιστοποιητικού απλοποιείται από υπηρεσίες όπως η LetsEncrypt.org, ενώ οι κύριοι πάροχοι cloud παρέχουν aún πιο ενσωματωμένες υπηρεσίες διαχείρισης πιστοποιητικών για τις συγκεκριμένες πλατφόρμες τους.
Πέρα από την ασφάλεια του επιπέδου μεταφοράς, είναι σημαντικό να καθοριστεί ποια δεδομένα απαιτούν κρυπτογράφηση σε κατάσταση ηρεμίας (at rest) και ποια δεδομένα απαιτούν επιπλέον κρυπτογράφηση κατά τη μεταφορά (στο επίπεδο εφαρμογής, επίπεδο OSI 7).
Για παράδειγμα, οι κωδικοί πρόσβασης, οι αριθμοί κάρτας, τα ιατρικά δεδομένα, οι προσωπικές πληροφορίες και τα εμπιστευτικά επιχειρηματικά δεδομένα απαιτούν επιπλέον προστασία, ειδικά εάν τα δεδομένα αυτά υπάγονται σε νόμους προστασίας δεδομένων, π.χ. τον Γενικό Κανονισμό Προστασίας Δεδομένων (GDPR) της ΕΕ, ή σε κανονισμούς όπως το Πρότυπο Ασφάλειας Δεδομένων PCI (PCI DSS).
Πρακτικά Στοιχεία
-
Λεπτομερής ανάλυση αποτυχιών κρυπτογράφησης, όπως αλγόριθμοι ασθενούς κρυπτογράφησης ή εσφαλμένη διαχείριση κλειδιών
-
Σημασία των ισχυρών μηχανισμών κρυπτογράφησης, των ασφαλών πρωτοκόλλων (SSL/TLS) και παραδείγματα σύγχρονης κρυπτογράφησης στην ασφάλεια web
A05:2025 – Ενεγρση (Injection)
Μια ευρωστία ενεγρσης (injection) είναι ένα ελάττωμα συστήματος που επιτρέπει σε έναν εφιστάμενο να εισάγει κακόβουλο κώδικα ή εντολές (όπως SQL ή shell code) στα πεδία εισόδου ενός προγράμματος, εξαπατώντας το σύστημα ώστε να εκτελέσει τον κώδικα ή τις εντολές ως αν ήταν μέρος του συστήματος. Αυτό μπορεί να οδηγήσει σε πραγματικά σοβαρές συνέπειες.
Πρακτικά Στοιχεία
-
Λεπτομερής ανάλυση της ενεγρσης SQL, NoSQL, OS και LDAP
-
Τεχνικές μετριασμού χρησιμοποιώντας προετοιμασμένες δηλώσεις, παραμετροποιημένες ερωτήματα και αποφυγή ειδικών χαρακτήρων στις εισόδους
A06:2025 – Μη Ασφαλής Σχεδίαση
Η μη ασφαλής σχεδίαση είναι μια ευρεία κατηγορία που αντιπροσωπεύει διαφορετικά ελλείματα, εκφραζόμενα ως «ελλιπής ή ανεπάρκεια σχεδιασμού ελέγχου».
Η μη ασφαλής σχεδίαση δεν είναι η πηγή για όλες τις άλλες κατηγορίες κινδύνου Top Ten. Σημειώστε ότι υπάρχει διαφορά μεταξύ μη ασφαλείας σχεδίασης και μη ασφαλείας υλοποίησης. Διακρίνουμε μεταξύ ελλείψεων σχεδίασης και ελλείψεων υλοποίησης για έναν λόγο: έχουν διαφορετικές ριζικές αιτίες, συμβαίνουν σε διαφορετικές φάσεις της διαδικασίας ανάπτυξης και έχουν διαφορετικές διορθώσεις.
Μια ασφαλής σχεδίαση μπορεί να έχει ελλείψεις υλοποίησης που οδηγούν σε ευρωστειές οι οποίες μπορεί να εκμεταλλευτούν. Μια μη ασφαλής σχεδίαση δεν μπορεί να διορθωθεί με μια τέλεια υλοποίηση, καθώς τα απαραίτητα μέτρα ασφαλείας δεν δημιουργήθηκαν ποτέ για να προστατεύσουν από συγκεκριμένες επιθέσεις.
Ένας από τους παράγοντες που συμβάλλουν στη μη ασφαλή σχεδίαση είναι η έλλειψη προφίλ επιχειρηματικού κινδύνου εγγενές στο λογισμικό ή σύστημα που αναπτύσσεται, και συνεπώς η αποτυχία καθορισμού του επιπέδου σχεδίασης ασφαλείας που απαιτείται.
Πρακτικά Στοιχεία
-
Θα εξερευνήσουμε ελλείψεις σχεδίασης που μπορούν να οδηγήσουν σε ευρωστειές, όπως μη κατάλληλη έλεγχος εισόδου
-
Θα μελετήσουμε στρατηγικές για ασφαλή αρχιτεκτονική και αρχές ασφαλείας σχεδίασης
A07:2025 – Αποτυχίες Πιστοποίησης
Όταν ένας εφιστάμενος είναι σε θέση να εξαπατήσει ένα σύστημα ώστε να αναγνωρίζει έναν άκυρο ή εσφαλμένο χρήστη ως έγκυρο, αυτή η ευρωστία υπάρχει.
Πρακτικά Στοιχεία
-
Συνηθισμένα ζητήματα πιστοποίησης
-
Ασφαλείς στρατηγικές πιστοποίησης, όπως η πολύπλευρη πιστοποίηση και η σωστή διαχείριση συνεδριών
A08:2025 – Αποτυχίες Ακεραιότητας Λογισμικού ή Δεδομένων
Οι αποτυχίες ακεραιότητας λογισμικού και δεδομένων σχετίζονται με κώδικα και υποδομή που δεν προστατεύουν από μη έγκυρο ή μη αξιόπιστο κώδικα ή δεδομένα να θεωρούνται αξιόπιστα και έγκυρα.
Ένα παράδειγμα αυτού είναι όταν μια εφαρμογή βασίζεται σε πρόσθετα (plugins), βιβλιοθήκες ή modules από μη αξιόπιστες πηγές, αποθετήρια και δικτυακούς κόμβους διανομής περιεχομένου (CDNs).
Μια μη ασφαλής γραμμή CI/CD χωρίς την κατανάλωση και παροχή ελέγχων ακεραιότητας λογισμικού μπορεί να εισαγάγει τον κίνδυνο μη εξουσιοδοτημένης πρόσβασης, μη ασφαλών ή κακόβουλων κώδικα, ή παραβίασης συστήματος.
Ένα άλλο παράδειγμα για αυτό είναι μια CI/CD που τραβάει κώδικα ή εκφράσεις από μη αξιόπιστες τοποθεσίες και/ή δεν τις επαληθεύει πριν από τη χρήση (ελέγχοντας την υπογραφή ή παρόμοιο μηχανισμό).
Πρακτικά Στοιχεία
-
Εστιάστε σε ζητήματα όπως μη αξιόπιστες ενημερώσεις λογισμικού και διαφθορά δεδομένων
-
Ασφαλείς μηχανισμοί ενημέρωσης και έλεγχοι ακεραιότητας δεδομένων
A09:2025 – Αποτυχίες Ημερολογισμού και Ειδοποιήσεων Ασφαλείας
Χωρίς ημερολόγηση και παρακολούθηση, οι επιθέσεις και οι παραβιάσεις δεν μπορούν να ανιχνευτούν, και χωρίς ειδοποιήσεις είναι πολύ δύσκολο να αντιδράσει κανείς γρήγορα και αποτελεσματικά κατά τη διάρκεια ενός περιστατικού ασφαλείας.
Η ανεπαρκής ημερολόγηση, συνεχής παρακολούθηση, ανίχνευση και ειδοποίηση για την έναρξη ενεργών αποκρίσεων συμβαίνει πάντα.
Πρακτικά Στοιχεία
-
Σημασία της ημερολόγησης πληροφοριών σχετικών με την ασφάλεια και της παρακολούθησης για ύποπτες δραστηριότητες
-
Εργαλεία και πρακτικές για κατάλληλη ημερολόγηση και παρακολούθηση σε πραγματικό χρόνο για την ανίχνευση παραβιάσεων νωρίς
A10:2025 – Λανθασμένη Διαχείριση Ειδικών Προσθηκών
Η λανθασμένη διαχείριση ειδικών προσθηκών στο λογισμικό συμβαίνει όταν τα προγράμματα αποτυγχάνουν να προλάβουν, ανιχνεύσουν και να ανταποκριθούν σε ασυνήθεις και απρόβλεπτες καταστάσεις, οι οποίες οδηγούν σε συντρίμμια, μη αναμενόμενη συμπεριφορά και μερικές φορές σε ευρωστειές.
Αυτό μπορεί να περιλαμβάνει μία ή περισσότερες από τις ακόλουθες 3 αποτυχίες:
-
Η εφαρμογή δεν αποτρέπει την επερχόμενη ασυνήθιστη κατάσταση
-
Δεν εντοπίζει την κατάσταση καθώς συμβαίνει
-
Ανταποκρίνεται κακώς ή καθόλου στην κατάσταση μετά από αυτήν
SAST – Δοκιμές Στατικής Ασφαλείας Εφαρμογών
-
Τι είναι η στατική ανάλυση και πότε να την εκτελέσετε στον SDLC (shift left)
-
Τύποι ευρωστειών που ανιχνεύονται μέσω SAST, ευραστός κώδικας έναντι ασφαλή κώδικα
-
Επισκόπηση εργαλείων SAST (π.χ. Semgrep, SonarQube, Checkmarx, ανάλογα με τη στοίβα του πελάτη)
-
Πρακτική άσκηση: εκτέλεση σάρωσης SAST σε ένα αποθετήριο με προμετωποθετημένες ευρωστειές, ερμηνεία αποτελεσμάτων, διαχωρισμός ψευδών θετικών από πραγματικές ευρωστειές
DAST – Δοκιμές Δυναμικής Ασφαλείας Εφαρμογών
-
Διαφορά μεταξύ SAST και DAST, δοκιμή μαύρου κουτιού στην επιβεβαίωση εφαρμογής
-
Ροή σάρωσης DAST, αναζήτηση (crawling), fuzzing, ανάλυση απάντησης
-
Επισκόπηση εργαλείων DAST (π.χ. OWASP ZAP, Burp Suite)
-
Πρακτική άσκηση: εκτέλεση σάρωσης DAST σε μια ευραστή εφαρμογή δοκιμών (π.χ. OWASP Juice Shop), εντοπισμός και επαλήθευση ευρημάτων
SCA – Ανάλυση Συστατικών Λογισμικού
-
Κίνδυνος τρίτων μερών εξαρτήσεων και βιβλιοθηκών, κληρονομημένες ευρωστειές
-
SBOM, Πίνακας Υλικού Λογισμικού, τι είναι και γιατί έχει σημασία
-
Επισκόπηση εργαλείων SCA (π.χ. Dependency Check, Snyk, GitHub Dependabot)
-
Πρακτική άσκηση: εκτέλεση σάρωσης SCA σε ένα πραγματικό έργο, εντοπισμός ευρωστών εξαρτήσεων και δημιουργία σχεδίου διόρθωσης (ενημέρωση, πατς, μετριασμός)
Απαιτήσεις
Οι συμμετέχοντες πρέπει να έχουν:
- Βασικές γνώσεις για έννοιες ανάπτυξης λογισμικού
- Βασική κατανόηση των web εφαρμογών και των συνηθισμένων web τεχνολογιών
- Οικειότητα με τον Κύκλο Ζωής Ανάπτυξης Λογισμικού (SDLC)
- Βασική κατανόηση του κώδικα πηγής και των εξαρτήσεων λογισμικού
- Βασικές γνώσεις για έννοιες ασφαλείας είναι επιθυμητές, αλλά όχι υποχρεωτικές
Στόχος Ακροατόριο
- Αναπτύκτες Λογισμικού
- Μηχανικοί Λογισμικού
- QA και Μηχανικοί Δοκιμών Λογισμικού
- Mηχανικοί DevOps και DevSecOps
- Επαγγελματίες Ασφαλείας Εφαρμογών
- Μηχανικοί Ασφαλείας
- Λογισμικοί Αρχιτέκτονες
- Τεχνικοί Υπεύθυνοι
- Επαγγελματίες εμπλεκόμενοι στην ασφαλή ανάπτυξη λογισμικού και στις δοκιμές ασφαλείας εφαρμογών
Σχόλια (3)
Η εμπειρία κοινής χρήσης, το γνωστό του δασκάλου και η αξιόλογη γνώση είναι απολύτως αξιόλογες.
Carey Fan - Logitech
Κομμάτι - C/C++ Secure Coding
Μηχανική Μετάφραση
να καταλάβετε περισσότερα για το προϊόν και μερικές ουσιώδεις διαφορές μεταξύ RHDS και open source OpenLDAP.
Jackie Xie - Westpac Banking Corporation
Κομμάτι - 389 Directory Server for Administrators
Μηχανική Μετάφραση
η γνώση του εκπαιδευτή ήταν πολύ υψηλή - κατέλαβε σε τι μιλούσε και γνώριζε τις απαντήσεις στις ερωτήσεις μας
Adam - Fireup.PRO
Κομμάτι - Advanced Java Security
Μηχανική Μετάφραση