Η Microsoft ανακοίνωσε την κυκλοφορία του πηγαίου κώδικα για το εργαλείο ανάλυσης πηγαίου κώδικα, Microsoft Application Inspector , για να βοηθήσει τους προγραμματιστές που βασίζονται σε στοιχεία λογισμικού τρίτων. Το Microsoft Application Inspector είναι ένας αναλυτής πηγαίου κώδικα που έχει σχεδιαστεί για να αποκαλύπτει σημαντικά και άλλα χαρακτηριστικά των στοιχείων λογισμικού, χρησιμοποιώντας στατική ανάλυση με μια μηχανή κανόνων που βασίζεται σε JSON.
Αυτός ο αναλυτής κώδικα διαφέρει από άλλα εργαλεία του ίδιου τύπου επειδή δεν περιορίζεται στην ανίχνευση μόνο πρακτικών προγραμματισμού , καθώς έχει σχεδιαστεί με τέτοιο τρόπο ώστε , κατά τον έλεγχο κώδικα, να εντοπίζει και να επισημαίνει εκείνα τα χαρακτηριστικά που γενικά απαιτούν προσεκτική χειροκίνητη ανάλυση.
Σύμφωνα με τις εξηγήσεις που παρέχει η Microsoft σχετικά με το εργαλείο:
Το Microsoft Application Inspector δεν επιχειρεί να εντοπίσει "καλά" ή "κακά" μοντέλα. Είναι ικανοποιημένο να αναφέρετε τι βρίσκει αναφερόμενος σε ένα σύνολο περισσότερων από 400 προτύπων κανόνων για την ανίχνευση χαρακτηριστικών. Σύμφωνα με τη Microsoft, αυτό περιλαμβάνει επίσης λειτουργίες που έχουν αντίκτυπο στην ασφάλεια, όπως η χρήση κρυπτογράφησης και άλλα.
Το εργαλείο λειτουργεί από τη γραμμή εντολών και είναι πολλαπλής πλατφόρμας . Έχει σχεδιαστεί για να σαρώνει στοιχεία πριν από τη χρήση, ώστε να βοηθά στον προσδιορισμό του λογισμικού ή των λειτουργιών του.
Τα δεδομένα που παρέχετε μπορούν να βοηθήσουν στη μείωση του χρόνου που απαιτείται για τον προσδιορισμό των στοιχείων του λογισμικού, εξετάζοντας απευθείας τον πηγαίο κώδικα, αντί να βασίζονται σε περιορισμένη τεκμηρίωση ή προτάσεις.
Το Microsoft Application Inspector υποστηρίζει την ανάλυση διαφόρων γλωσσών προγραμματισμού , όπως: C, C++, C#, Java, JavaScript, HTML, Go, PowerShell, κ.λπ., καθώς και την ενσωμάτωση μορφών εξόδου σε HTML, JSON και κείμενο.
Οι προγραμματιστές του Microsoft Application Inspector λένε ότι έχει σχεδιαστεί για ατομική ή μεγάλης κλίμακας χρήση και μπορεί να αναλύσει εκατομμύρια γραμμές πηγαίου κώδικα από στοιχεία που έχουν κατασκευαστεί χρησιμοποιώντας πολλές διαφορετικές γλώσσες προγραμματισμού.
Η Microsoft χρησιμοποιεί το Application Inspector για να εντοπίσει τις βασικές αλλαγές στο σύνολο λειτουργιών ενός στοιχείου με την πάροδο του χρόνου (έκδοση ανά έκδοση), καθώς μπορούν να υποδείξουν οτιδήποτε, από μια αυξημένη επιφάνεια επίθεσης έως μια κακόβουλη πίσω πόρτα.
Χρησιμοποιούν επίσης το εργαλείο για τον εντοπισμό στοιχείων υψηλού κινδύνου και εκείνων με απροσδόκητα χαρακτηριστικά που απαιτούν περαιτέρω έλεγχο. Τα στοιχεία υψηλού κινδύνου περιλαμβάνουν εκείνα που εμπλέκονται σε τομείς όπως η κρυπτογραφία, ο έλεγχος ταυτότητας ή η αποσειριοποίηση, όπου μια ευπάθεια είναι πιθανό να προκαλέσει περισσότερα προβλήματα.
Ο στόχος είναι ο γρήγορος εντοπισμός στοιχείων λογισμικού τρίτων που διατρέχουν κίνδυνο με βάση τα συγκεκριμένα χαρακτηριστικά τους, αλλά το εργαλείο είναι επίσης χρήσιμο σε πολλά μη ασφαλή περιβάλλοντα.
Βασικά, αυτά είναι τα πιο σημαντικά χαρακτηριστικά του Microsoft Application Inspector:
- Μια μηχανή κανόνων που βασίζεται σε JSON και εκτελεί στατική ανάλυση.
- Η ικανότητα ανάλυσης εκατομμυρίων γραμμών πηγαίου κώδικα από στοιχεία που έχουν δημιουργηθεί με πολλές γλώσσες.
- Η ικανότητα αναγνώρισης συστατικών υψηλού κινδύνου και εκείνων με απροσδόκητα χαρακτηριστικά.
- Η δυνατότητα εντοπισμού αλλαγών στο σύνολο λειτουργιών ενός στοιχείου, έκδοση κατά έκδοση, που μπορεί να υποδηλώνει οτιδήποτε από κακόβουλο backdoor σε μεγαλύτερη επιφάνεια επίθεσης.
- Η δυνατότητα δημιουργίας αποτελεσμάτων σε πολλές μορφές, συμπεριλαμβανομένων των JSON και HTML.
- Η δυνατότητα εύρεσης δυνατοτήτων που καλύπτουν τα Microsoft Azure, Amazon Web Services και API υπηρεσίας Cloud Google και λειτουργίες λειτουργικού συστήματος, όπως σύστημα αρχείων, λειτουργίες ασφαλείας και πλαίσια εφαρμογών.
Όπως αναμενόταν, η πλατφόρμα και η κρυπτογραφία καλύπτονται επαρκώς , με υποστήριξη για συμμετρική, ασύμμετρη, hash και TLS.
Οι τύποι δεδομένων μπορούν να ελεγχθούν για κινδύνους, συμπεριλαμβανομένων ευαίσθητων και προσωπικά αναγνωρίσιμων πληροφοριών.
Άλλοι έλεγχοι περιλαμβάνουν λειτουργίες λειτουργικού συστήματος, όπως αναγνώριση πλατφόρμας, σύστημα αρχείων, μητρώο και λογαριασμούς χρηστών, καθώς και λειτουργίες ασφαλείας όπως έλεγχος ταυτότητας και εξουσιοδότηση.
Τέλος, για όσους ενδιαφέρονται να δοκιμάσουν το Microsoft Application Inspector, είναι πλέον διαθέσιμο στο GitHub.