Η χρήση της στατικής ανάλυσης στην παραγωγή ασφαλούς λογισμικού
Master Thesis
Συγγραφέας
Ζαρογιάννης, Γεώργιος Π.
Ημερομηνία
2013Επιβλέπων
Λαμπρινουδάκης, ΚωνσταντίνοςΠροβολή/ Άνοιγμα
Θεματική επικεφαλίδα
Πληροφοριακά συστήματα -- ΑσφάλειαΛέξεις κλειδιά
Κακόβουλο λογισμικόΠερίληψη
Τα περισσότερα περιστατικά ασφάλειας έχουν κάποια σχέση με το
λογισμικό. Τα περιβόητα buffer overflows, SQL injections και άλλα
αντίστοιχα προβλήματα που συχνά εκμεταλλεύονται οι κακόβουλοι
χρήστες, είναι ευπάθειες του λογισμικού. Για την παραγωγή
ασφαλούς λογισμικού, ένας οργανισμός χρειάζεται να υιοθετήσει
μεθόδους και πρακτικές σε όλο τον κύκλο ζωής του λογισμικού. Μία
από τις πρώτες μεθόδους που πρέπει να υιοθετηθούν και μια από
τις πιο σημαντικές γενικά, είναι η στατική ανάλυση πηγαίου
κώδικα. Σε αυτήν την εργασία παρουσιάζουμε συνοπτικά τις
κρισιμότερες ευπάθειες του λογισμικού και περιγράφουμε τον
τρόπο λειτουργίας των εργαλείων στατικής ανάλυσης. Κατόπιν
χρησιμοποιούμε τρία ελεύθερα/ανοιχτού κώδικα τέτοια εργαλεία,
για να αναλύσουμε καταρχήν μια δοκιμαστική εφαρμογή και έπειτα
δύο πραγματικά έργα λογισμικού. Ένα ελεύθερο/ανοιχτού κώδικα
και μία ιδιόκτητη επιχειρηματική εφαρμογή. Οι δοκιμαστικές αυτές
εφαρμογές των εργαλείων στατικής ανάλυσης, έδειξαν ότι τα
συγκεκριμένα εργαλεία έχουν περιορισμένες δυνατότητες και σε
κάποιες περιπτώσεις παράγουν ένα μεγάλο πλήθος ψευδώς θετικών.
Παρά τα όποια μειονεκτήματα, τα εργαλεία που δοκιμάστηκαν
κατάφεραν να βρουν σοβαρά προβλήματα. Επίσης τα πολλά
ψευδώς θετικά, κατέδειξαν τη χρήση κακών πρακτικών στον
κώδικα. Σύμφωνα με αυτά τα ευρήματα και δεδομένου ότι κάποια
εργαλεία εκτός από τα σφάλματα ασφάλειας, ψάχνουν και για
λογικά, απόδοσης και άλλων ειδών σφάλματα, κρίνονται τελικά ως
πολύ χρήσιμα σε κάθε προγραμματιστή.