Τεχνική Περιγραφή
Βασικό αντικείμενο του παρόντος έργου VM4SEC αποτελεί η έρευνα, η ανάπτυξη και η παροχή καινοτόμων εργαλείων για την υποβοήθηση της ανάπτυξης ευαίσθητων, ως προς την ιδιότητα της ασφάλειας, προϊόντων λογισμικού. Τα παρεχόμενα εργαλεία θα παραχθούν από την εργαλειοθήκη του έργου VM4SEC και θα στοχεύσουν στην υποστήριξη της ανάπτυξης ενός ασφαλούς λογισμικού, ελαχιστοποιώντας παράλληλα, τόσο το χρόνο, όσο και το συναφές κόστος της διαδικασίας ανάπτυξης του ασφαλούς λογισμικού. Η αρχιτεκτονική της πλατφόρμας VM4SEC, όπως απεικονίζεται και στην Εικόνα 1, βασίζεται κυρίως σε δύο στοιχεία: (α) στο μοντέλο αξιολόγησης της ασφάλειας που επιτρέπει την αξιολόγηση του επιπέδου ασφαλείας του υπό ανάπτυξη προϊόντος λογισμικού με βάση τα αποτελέσματα των Ε&Ε εργαλείων και της γνώσης που αντλείται από υπάρχοντα έργα λογισμικού, και (β) στο μοντέλο πρόβλεψης ευπαθειών που επιτρέπει τον εντοπισμό πιθανών ευπαθειών σε τμήματα του υπό ανάπτυξη λογισμικού, και κυρίως, σε τμήματα που απαιτούν πιο ενδελεχή έλεγχο ασφαλείας. Τέλος, ύψιστης σημασίας θα αποτελέσει και η ανάπτυξη μιας διεπαφής οπτικοποίησης και παροχής συστάσεων η οποία, όπως δηλώνει και το όνομά της, θα οπτικοποιεί τα αποτελέσματα των δυο προαναφερθέντων θεμελιωδών στοιχείων και θα παρέχει συστάσεις που θα αποσκοπούν στην βελτίωση της ασφάλειας του υπό ανάπτυξη λογισμικού.
Η υλοποίηση του έργου θα βασιστεί στο μοντέλο της Ευέλικτης (agile) Μεθοδολογίας. Αυτή θα οδηγήσει σε ένα ποιοτικό σύστημα που θα εξυπηρετεί τις ανάγκες των χρηστών, ακόμα και αν αυτές αλλάξουν μέχρι την παράδοση του τελικού συστήματος.
Πιο συγκεκριμένα, θα χρησιμοποιηθεί η μέθοδος SCRUM, στην οποία υπάρχουν πέντε ρόλοι στην ομάδα εργασίας: α) ο ιδιοκτήτης του προϊόντος (Product Owner), β) ο αρχηγός του scrum (Scrum Master), γ) η ομάδα ανάπτυξης (Development Team), δ) οι εσωτερικοί ενδιαφερόμενοι (internal stakeholders) και ε) οι εξωτερικοί ενδιαφερόμενοι (external stakeholders).
Ο ιδιοκτήτης του προϊόντος είναι ο Επιστημονικός Υπεύθυνος του έργου ο οποίος έχει σαφή εικόνα για το συνολικό επιδιωκόμενο αποτέλεσμα και θα επικοινωνεί με τις δύο ομάδες ενδιαφερόμενων (εσωτερικούς και εξωτερικούς), με την ομάδα υλοποίησης, καθώς και με τον αρχηγό του scrum. Ο αρχηγός κατέχει τις τεχνικές γνώσεις υλοποίησης και διαχείρισης αντίστοιχων έργων που υλοποιήθηκαν στο παρελθόν και ο ρόλος του είναι να δίνει κίνητρο στα μέλη της ομάδας ανάπτυξης, να τους καθοδηγεί και να τους προστατεύει από εξωτερικές παρεμβολές.
Η ομάδα ανάπτυξης εργάζεται σε κύκλους επανάληψης (sprints), στους οποίους μαζί με τον αρχηγό του scrum ανανεώνουν το ανεκτέλεστο υπόλοιπο προϊόν (Product Backlog) και ορίζουν τις εργασίες που πρέπει να υλοποιηθούν στον τρέχοντα κύκλο. Η ομάδα ανάπτυξης αποτελείται από 2-6 μέλη και η σύνθεσή της καθορίζεται από το είδος του έργου. Στο πλαίσιο του προτεινόμενου συστήματος, λόγω της διαφορετικής φύσης των διάφορων υποδιεργασιών, θα δημιουργηθεί μια μικτή ομάδα των 3 ατόμων, αποτελούμενη από μηχανικούς λογισμικού και ερευνητές, οι οποίοι θα εστιάσουν στην περιοχή της ποιότητας και ειδικότερα της ασφάλειας λογισμικού.
Οι εσωτερικοί ενδιαφερόμενοι είναι μια επιτροπή υψηλά ιστάμενων στελεχών, οι οποίοι συνεργάζονται με τον ιδιοκτήτη του προϊόντος κυρίως, σε διοικητικά θέματα. Στο έργο θα δημιουργηθεί μια επιτροπή, που θα αποτελείται από τον Επιστημονικό Υπεύθυνο και από έναν εκπρόσωπο κάθε φορέα της σύμπραξης. Στις πιλοτικές εγκαταστάσεις θα δημιουργηθούν ομάδες χρηστών (εξωτερικοί ενδιαφερόμενοι του μοντέλου SCRUM), οι οποίοι στα κρίσιμα sprints θα λαμβάνουν νέες εκδόσεις του συστήματος και θα ανατροφοδοτούν τον ιδιοκτήτη του προϊόντος με σχόλια, παρατηρήσεις και πρόσθετες λειτουργίες που θα επιθυμούσαν να υποστηρίζει το προς υλοποίηση σύστημα.