Linux Inside
14
T
ον περασμένο Ιανουάριο συμπληρώθηκαν δέκα χρόνια
από το περίφημο e-mail [1] που έστειλε ο Bill Gates σε
όλους τους εργαζόμενους στη Microsoft, στο οποίο
αναφερόταν στην επιτακτική πλέον ανάγκη να υιοθετήσει η
Microsoft πρακτικές ασφαλούς ανάπτυξης λογισμικού. Με
αφορμή αυτό το e-mail άλλαξαν πολλά, όχι μόνο στη
Microsoft, αλλά γενικότερα στον κόσμο της ανάπτυξης λογι-
σμικού. Συγκεκριμένα, η Microsoft ανέπτυξε μία ολόκληρη
μεθοδολογία, γνωστή ως Microsoft SDL [2], την οποία δια-
θέτει ελεύθερα στο Ιnternet. Πρόκειται για μία πολύ αναλυτι-
κή μεθοδολογία που καλύπτει από την πλευρά της ασφάλει-
ας όλο τον κύκλο ζωής ανάπτυξης λογισμικού. Πολύ γρήγο-
ρα το Microsoft SDL έγινε de facto πρότυπο. Παρ’ όλα αυτά,
έχει ένα βασικό μειονέκτημα: είναι σχεδιασμένο κυρίως για
κολοσσούς, όπως η Microsoft. Δύσκολα μπορεί να υιοθετή-
σει αυτήν τη μεθοδολογία μία startup εταιρεία.
Το OWASP προσπάθησε από την πρώτη στιγμή να προτεί-
νει εναλλακτικές μεθοδολογίες. Αποτέλεσμα ήταν το πρότυ-
πο CLASP [3] το οποίο αφορά κυρίως σε Web εφαρμογές
ενώ παράλληλα αναπτύχθηκαν και άλλα παρόμοια πλαίσια.
Στην πράξη όμως, και αυτές οι μεθοδολογίες αποδείχθηκαν
δυσκίνητες και «μονολιθικές».
Το OpenSAMM [6] δεν είναι άλλο ένα πρότυπο για ασφα-
λή κύκλο ανάπτυξης λογισμικού. Πρόκειται για ένα ανοικτό
πλαίσιο διασφάλισης, που ως στόχο έχει να βοηθήσει τους
οργανισμούς να αναπτύξουν μία ρεαλιστική στρατηγική για
τη διασφάλιση εφαρμογών ανάλογα με τις ανάγκες τους και
τους κινδύνους που αντιμετωπίζουν. Ο πυρήνας του συγκε-
κριμένου μοντέλου βασίζεται στις κύριες επιχειρησιακές
διαδικασίες που σχετίζονται με την ανάπτυξη λογισμικού:
διακυβέρνηση (governance), κατασκευή (construction), έλεγ-
χος (verification) και παραγωγή (deployment). Με κάθε δια-
δικασία συσχετίζονται τρεις πρακτικές ασφαλείας, στις οποί-
ες αντιστοιχούν τρία επίπεδα ωριμότητας. Στη συνέχεια, για
κάθε πρακτική ορίζονται μία σειρά από δραστηριότητες, που
μπορούν να χρησιμοποιηθούν για να ελαττώσουν το ρίσκο
που σχετίζεται με αυτήν την πρακτική. Για παράδειγμα, στη
διαδικασία του ελέγχου εντάσσεται η πρακτική του ελέγχου
ασφαλείας (security test), η οποία προσδιορίζεται από τρία
επίπεδα ωριμότητας: βασικοί έλεγχοι ασφαλείας, ενδελε-
χείς, αυτοματοποιημένοι έλεγχοι και, τέλος, απαίτηση υπο-
χρεωτικού ελέγχου πριν από την παραγωγή. Για καθένα
από αυτά τα επίπεδα ορίζονται δραστηριότητες που οδη-
γούν στο επιθυμητό επίπεδο ωριμότητας, ερωτήσεις που
βοηθούν στον προσδιορισμό της ωριμότητας, καθώς και τα
αναμενόμενα οφέλη.
Το OpenSAMM μπορεί λοιπόν να χρησιμοποιηθεί για να
αποτυπωθεί κατ’ αρχάς το επίπεδο ωριμότητας του οργανι-
σμού όσον αφορά ατην ασφάλεια κατά την ανάπτυξη εφαρ-
μογών. Στη συνέχεια, ο οργανισμός μπορεί να βασιστεί σε
αυτό το μοντέλο για να αναπτύξει ένα συγκεκριμένο πλάνο
στρατηγικής για τη διασφάλιση των εφαρμογών του, βασιζό-
μενος σε συγκεκριμένα βήματα που προσφέρουν μετρήσιμα
αποτελέσματα. Ένας οργανισμός, για παράδειγμα, μπορεί
να διαπιστώσει ότι έχει αυξημένη ωριμότητα στα θέματα
ελέγχου, ενώ αν βελτιώσει και τις διαδικασίες παραγωγής,
θα καταφέρει να μειώσει σημαντικά τους κινδύνους.
Με αυτόν τον τρόπο, μπορεί να επιδείξει σαφείς και συ-
γκεκριμένες βελτιώσεις στη διασφάλιση των εφαρμογών
που αναπτύσσει αλλά και να ορίσει συγκεκριμένες, μετρήσι-
μες δραστηριότητες ασφαλείας που επιφέρουν αυτές τις
βελτιώσεις. Άλλωστε, όλοι γνωρίζουμε ότι ασφαλής κώδικας
σημαίνει και ποιοτικός κώδικας.
•
Του Κωνσταντίνου Παπαπαναγιώτου/konstantinos@owasp.org
Στήλες - OWASP
OpenSAMM: Σωστή στρατηγική
για την ασφάλεια εφαρμογών
Οι περισσότεροι τρομάζουν στο άκουσμα των λέξεων Secure Development Lifecycle. Το OWASP αναλαμβάνει να
απλοποιήσει τις διαδικασίες διασφάλισης λογισμικού με το OpenSAMM.
www.
owasp.org
Ο Κωνσταντίνος είναι συντονιστής της ελληνικής ομάδας εργασίας του OWASP.
Σύνδεσμοι:
[1] http://goo.gl/V4XrE
[2] http://goo.gl/L6iO0
[3] http://goo.gl/Sjmeu
[4]http://goo.gl/Rom6B
[5] http://bsimm.com/
[6] http://www.opensamm.org