Πώς να αναγνωρίσετε σωστά το ευάλωτο λογισμικό. Εντοπισμός ευάλωτου λογισμικού σε υπολογιστές-πελάτες. Κίνδυνοι από τη χρήση ευάλωτων προγραμμάτων

Σε ορισμένες περιπτώσεις, προκύπτουν τρωτά σημεία λόγω της χρήσης εργαλείων ανάπτυξης διαφόρων προελεύσεων, τα οποία αυξάνουν τον κίνδυνο εμφάνισης ελαττωμάτων τύπου δολιοφθοράς στον κώδικα του προγράμματος.

Τα τρωτά σημεία εμφανίζονται λόγω της προσθήκης στοιχείων τρίτων ή ελεύθερα διανεμημένου κώδικα (ανοιχτού κώδικα) στο λογισμικό. Ο κώδικας κάποιου άλλου χρησιμοποιείται συχνά «ως έχει» χωρίς ενδελεχή ανάλυση και έλεγχο ασφαλείας.

Δεν θα πρέπει να αποκλείεται η παρουσία προγραμματιστών εμπιστευτικών πληροφοριών στην ομάδα που εισάγουν σκόπιμα επιπλέον μη τεκμηριωμένες λειτουργίες ή στοιχεία στο προϊόν που δημιουργείται.

Ταξινόμηση των τρωτών σημείων του προγράμματος

Τα τρωτά σημεία προκύπτουν ως αποτέλεσμα σφαλμάτων που συμβαίνουν κατά το στάδιο του σχεδιασμού ή της κωδικοποίησης.

Ανάλογα με το στάδιο εμφάνισης, αυτός ο τύπος απειλής χωρίζεται σε ευπάθειες σχεδιασμού, υλοποίησης και διαμόρφωσης.

  1. Τα σφάλματα που γίνονται κατά τον σχεδιασμό είναι τα πιο δύσκολα να εντοπιστούν και να εξαλειφθούν. Πρόκειται για ανακρίβειες σε αλγόριθμους, σελιδοδείκτες, ασυνέπειες στη διεπαφή μεταξύ διαφορετικών λειτουργικών μονάδων ή σε πρωτόκολλα για αλληλεπίδραση με το υλικό και την εισαγωγή τεχνολογιών που δεν είναι βέλτιστες. Η εξάλειψή τους είναι μια διαδικασία μεγάλης έντασης εργασίας, μεταξύ άλλων επειδή μπορεί να εμφανιστούν σε μη προφανείς περιπτώσεις - για παράδειγμα, όταν γίνεται υπέρβαση του προβλεπόμενου όγκου κυκλοφορίας ή όταν συνδέεται μεγάλος αριθμός πρόσθετου εξοπλισμού, γεγονός που περιπλέκει την παροχή του απαιτούμενου επίπεδο ασφάλειας και οδηγεί στην εμφάνιση τρόπων παράκαμψης του τείχους προστασίας.
  2. Τα τρωτά σημεία υλοποίησης εμφανίζονται στο στάδιο της σύνταξης ενός προγράμματος ή της εφαρμογής αλγορίθμων ασφαλείας σε αυτό. Πρόκειται για λανθασμένη οργάνωση της υπολογιστικής διαδικασίας, συντακτικά και λογικά ελαττώματα. Υπάρχει κίνδυνος το ελάττωμα να οδηγήσει σε υπερχείλιση buffer ή άλλα προβλήματα. Η ανίχνευσή τους απαιτεί πολύ χρόνο και η εξάλειψή τους περιλαμβάνει τη διόρθωση ορισμένων τμημάτων του κώδικα του μηχανήματος.
  3. Τα σφάλματα διαμόρφωσης υλικού και λογισμικού είναι αρκετά συνηθισμένα. Οι συνήθεις λόγοι τους είναι η ανεπαρκής ποιοτική ανάπτυξη και η έλλειψη δοκιμών για τη σωστή λειτουργία πρόσθετων λειτουργιών. Οι κωδικοί πρόσβασης που είναι πολύ απλοί και οι προεπιλεγμένοι λογαριασμοί παραμένουν αμετάβλητοι ενδέχεται επίσης να εμπίπτουν σε αυτήν την κατηγορία.

Σύμφωνα με στατιστικά στοιχεία, τα τρωτά σημεία ανακαλύπτονται ιδιαίτερα συχνά σε δημοφιλή και ευρέως διαδεδομένα προϊόντα - λειτουργικά συστήματα επιτραπέζιων υπολογιστών και κινητών, προγράμματα περιήγησης.

Κίνδυνοι από τη χρήση ευάλωτων προγραμμάτων

Τα προγράμματα που περιέχουν τον μεγαλύτερο αριθμό ευπαθειών είναι εγκατεστημένα σε όλους σχεδόν τους υπολογιστές. Από την πλευρά των εγκληματιών του κυβερνοχώρου, υπάρχει άμεσο ενδιαφέρον να βρουν τέτοια ελαττώματα και να γράψουν γι' αυτούς.

Δεδομένου ότι περνά πολύς χρόνος από τη στιγμή που ανακαλύπτεται μια ευπάθεια έως τη δημοσίευση μιας επιδιόρθωσης (patch), υπάρχει ένας μεγάλος αριθμός ευκαιριών για μόλυνση των συστημάτων υπολογιστών μέσω κενών στην ασφάλεια του κώδικα προγράμματος. Σε αυτήν την περίπτωση, ο χρήστης χρειάζεται μόνο να ανοίξει, για παράδειγμα, ένα κακόβουλο αρχείο PDF με ένα exploit μία φορά, μετά την οποία οι εισβολείς θα αποκτήσουν πρόσβαση στα δεδομένα.

Στην τελευταία περίπτωση, η μόλυνση εμφανίζεται σύμφωνα με τον ακόλουθο αλγόριθμο:

  • Ένας χρήστης λαμβάνει ένα email ηλεκτρονικού ψαρέματος από έναν αξιόπιστο αποστολέα.
  • Ένα αρχείο με exploit επισυνάπτεται στην επιστολή.
  • Εάν ένας χρήστης επιχειρήσει να ανοίξει ένα αρχείο, ο υπολογιστής μολύνεται από ιό, Trojan (κρυπτογράφηση) ή άλλο κακόβουλο πρόγραμμα.
  • Οι εγκληματίες του κυβερνοχώρου αποκτούν μη εξουσιοδοτημένη πρόσβαση στο σύστημα.
  • Πολύτιμα δεδομένα κλέβονται.

Έρευνα που διεξήχθη από διάφορες εταιρείες (Kaspersky Lab, Positive Technologies) δείχνει ότι υπάρχουν τρωτά σημεία σχεδόν σε κάθε εφαρμογή, συμπεριλαμβανομένων των antivirus. Επομένως, η πιθανότητα εγκατάστασης ενός προϊόντος λογισμικού που περιέχει ελαττώματα διαφορετικού βαθμού κρισιμότητας είναι πολύ υψηλή.

Για να ελαχιστοποιήσετε τον αριθμό των κενών στο λογισμικό, είναι απαραίτητο να χρησιμοποιήσετε SDL (Security Development Lifecycle, safe development life cycle). Η τεχνολογία SDL χρησιμοποιείται για τη μείωση του αριθμού των σφαλμάτων σε εφαρμογές σε όλα τα στάδια της δημιουργίας και της υποστήριξής τους. Έτσι, όταν σχεδιάζουν λογισμικό, ειδικοί στην ασφάλεια πληροφοριών και προγραμματιστές μοντελοποιούν απειλές στον κυβερνοχώρο προκειμένου να βρουν τρωτά σημεία. Κατά τη διάρκεια του προγραμματισμού, περιλαμβάνονται αυτόματα εργαλεία στη διαδικασία για την άμεση αναφορά πιθανών ελαττωμάτων. Οι προγραμματιστές προσπαθούν να περιορίσουν σημαντικά τη λειτουργικότητα που είναι διαθέσιμη σε μη αξιόπιστους χρήστες, γεγονός που συμβάλλει στη μείωση της επιφάνειας επίθεσης.

Για να ελαχιστοποιήσετε τον αντίκτυπο των τρωτών σημείων και τη ζημιά που προκαλούνται από αυτά, πρέπει να ακολουθήσετε ορισμένους κανόνες:

  • Εγκαταστήστε εγκαίρως διορθώσεις (patch) που κυκλοφόρησαν από προγραμματιστές για εφαρμογές ή (κατά προτίμηση) ενεργοποιήστε τη λειτουργία αυτόματης ενημέρωσης.
  • Εάν είναι δυνατόν, μην εγκαθιστάτε αμφίβολα προγράμματα των οποίων η ποιότητα και η τεχνική υποστήριξη εγείρουν ερωτήματα.
  • Χρησιμοποιήστε ειδικούς σαρωτές ευπάθειας ή εξειδικευμένες λειτουργίες προϊόντων προστασίας από ιούς που σας επιτρέπουν να αναζητήσετε σφάλματα ασφαλείας και, εάν είναι απαραίτητο, να ενημερώσετε το λογισμικό.

Κατά την εκκίνηση έξυπνη σάρωσηΗ Avast θα ελέγξει τον υπολογιστή σας για τους ακόλουθους τύπους προβλημάτων και στη συνέχεια θα προτείνει λύσεις για αυτά.

  • Ιούς: Αρχεία που περιέχουν κακόβουλο κώδικα που μπορεί να επηρεάσει την ασφάλεια και την απόδοση του υπολογιστή σας.
  • Ευάλωτο λογισμικό: Προγράμματα που απαιτούν ενημέρωση και μπορούν να χρησιμοποιηθούν από εισβολείς για να αποκτήσουν πρόσβαση στο σύστημά σας.
  • Επεκτάσεις προγράμματος περιήγησης με κακή φήμη: Επεκτάσεις προγράμματος περιήγησης που συνήθως εγκαθίστανται εν αγνοία σας και επηρεάζουν την απόδοση του συστήματος.
  • Αδύναμοι κωδικοί πρόσβασης: Κωδικοί πρόσβασης που χρησιμοποιούνται για πρόσβαση σε περισσότερους από έναν διαδικτυακούς λογαριασμούς και μπορούν εύκολα να παραβιαστούν ή να παραβιαστούν.
  • Απειλές δικτύου: Ευπάθειες στο δίκτυό σας που θα μπορούσαν να επιτρέψουν επιθέσεις στις συσκευές δικτύου και στο δρομολογητή σας.
  • Ζητήματα επιδόσεων: αντικείμενα (περιττά αρχεία και εφαρμογές, προβλήματα που σχετίζονται με ρυθμίσεις) που ενδέχεται να επηρεάσουν τη λειτουργία του Η/Υ.
  • Αντικρουόμενα antivirus: προγράμματα προστασίας από ιούς που είναι εγκατεστημένα στον υπολογιστή σας με το Avast. Η ύπαρξη πολλών προγραμμάτων προστασίας από ιούς επιβραδύνει τον υπολογιστή σας και μειώνει την αποτελεσματικότητα της προστασίας από ιούς.

Σημείωση. Ορισμένα ζητήματα που εντοπίζονται από το Smart Scan ενδέχεται να απαιτούν ξεχωριστή άδεια για την επίλυση. Ο εντοπισμός περιττών τύπων προβλημάτων μπορεί να απενεργοποιηθεί στο .

Επίλυση προβλημάτων που εντοπίστηκαν

Ένα πράσινο σημάδι επιλογής δίπλα στην περιοχή σάρωσης υποδεικνύει ότι δεν βρέθηκαν προβλήματα με αυτήν την περιοχή. Ο κόκκινος σταυρός σημαίνει ότι η σάρωση έχει εντοπίσει ένα ή περισσότερα σχετικά προβλήματα.

Για να δείτε συγκεκριμένες λεπτομέρειες σχετικά με προβλήματα που εντοπίστηκαν, κάντε κλικ Λύστε τα πάντα. Η Έξυπνη σάρωση εμφανίζει λεπτομέρειες για κάθε ζήτημα και προσφέρει την επιλογή να το διορθώσετε αμέσως κάνοντας κλικ στο στοιχείο Αποφασίζω, ή κάντε το αργότερα κάνοντας κλικ Παραλείψτε αυτό το βήμα.

Σημείωση. Τα αρχεία καταγραφής σάρωσης προστασίας από ιούς εμφανίζονται στο ιστορικό σάρωσης, στο οποίο μπορείτε να προσπελάσετε επιλέγοντας Προστασία από ιούς.

Διαχείριση ρυθμίσεων έξυπνης σάρωσης

Για να αλλάξετε τις ρυθμίσεις Smart Scan, επιλέξτε Ρυθμίσεις Γενική Έξυπνη σάρωσηκαι καθορίστε ποιους από τους παρακάτω τύπους προβλημάτων θέλετε να κάνετε έξυπνη σάρωση.

  • Ιούς
  • Ξεπερασμένο λογισμικό
  • Πρόσθετα προγράμματος περιήγησης
  • Απειλές δικτύου
  • Ζητήματα συμβατότητας
  • Ζητήματα επιδόσεων
  • Αδύναμοι κωδικοί πρόσβασης

Από προεπιλογή, όλοι οι τύποι προβλημάτων είναι ενεργοποιημένοι. Για να σταματήσετε να ελέγχετε για ένα συγκεκριμένο ζήτημα κατά την εκτέλεση μιας Smart Scan, κάντε κλικ στο ρυθμιστικό Περιλαμβάνεταιδίπλα στον τύπο προβλήματος, ώστε να αλλάξει την κατάσταση σε Απενεργοποιημένο.

Κάντε κλικ Ρυθμίσειςδίπλα στην επιγραφή Σάρωση ιώνγια να αλλάξετε τις ρυθμίσεις σάρωσης.

Η διαχείριση τρωτών σημείων είναι ο εντοπισμός, η αξιολόγηση, η ταξινόμηση και η επιλογή μιας λύσης για την αντιμετώπιση των τρωτών σημείων. Το θεμέλιο της διαχείρισης τρωτών σημείων είναι οι αποθήκες πληροφοριών σχετικά με τρωτά σημεία, ένα από τα οποία είναι το Σύστημα Διαχείρισης Ευπάθειας «Μπροστινή Παρακολούθηση».

Η λύση μας παρακολουθεί την εμφάνιση πληροφοριών σχετικά με τρωτά σημεία σε λειτουργικά συστήματα (Windows, Linux/Unix), λογισμικό γραφείου και εφαρμογών, λογισμικό υλικού και εργαλεία ασφάλειας πληροφοριών.

Πηγές δεδομένων

Η βάση δεδομένων του συστήματος διαχείρισης ευπάθειας λογισμικού Perspective Monitoring ενημερώνεται αυτόματα από τις ακόλουθες πηγές:

  • Τράπεζα δεδομένων απειλών για την ασφάλεια πληροφοριών (BDU BI) FSTEC της Ρωσίας.
  • Εθνική βάση δεδομένων ευπάθειας (NVD) NIST.
  • Red Hat Bugzilla.
  • Debian Security Bug Tracker.
  • Λίστα αλληλογραφίας CentOS.

Χρησιμοποιούμε επίσης μια αυτοματοποιημένη μέθοδο για την ενημέρωση της βάσης δεδομένων ευπάθειας. Έχουμε αναπτύξει ένα πρόγραμμα ανίχνευσης ιστοσελίδων και μη δομημένο αναλυτή δεδομένων που αναλύει καθημερινά περισσότερες από εκατό διαφορετικές ξένες και ρωσικές πηγές για έναν αριθμό λέξεων-κλειδιών - ομάδες σε κοινωνικά δίκτυα, ιστολόγια, μικροιστολόγια, μέσα που είναι αφιερωμένα στην τεχνολογία πληροφοριών και την ασφάλεια των πληροφοριών. Εάν αυτά τα εργαλεία βρουν κάτι που ταιριάζει με τα κριτήρια αναζήτησης, ο αναλυτής ελέγχει με μη αυτόματο τρόπο τις πληροφορίες και τις εισάγει στη βάση δεδομένων ευπάθειας.

Παρακολούθηση ευπάθειας λογισμικού

Χρησιμοποιώντας το Σύστημα Διαχείρισης Ευπάθειας, οι προγραμματιστές μπορούν να παρακολουθούν την παρουσία και την κατάσταση των ανιχνευόμενων τρωτών σημείων σε στοιχεία τρίτων του λογισμικού τους.

Για παράδειγμα, στο μοντέλο Secure Software Developer Life Cycle (SSDLC) της Hewlett Packard Enterprise, ο έλεγχος των βιβλιοθηκών τρίτων είναι κεντρικός.

Το σύστημά μας παρακολουθεί την παρουσία τρωτών σημείων σε παράλληλες εκδόσεις/κατασκευές του ίδιου προϊόντος λογισμικού.

Δουλεύει κάπως έτσι:

1. Ο προγραμματιστής μας παρέχει μια λίστα με βιβλιοθήκες και στοιχεία τρίτων που χρησιμοποιούνται στο προϊόν.

2. Ελέγχουμε καθημερινά:

σι. εάν οι μέθοδοι έχουν φανεί να εξαλείφουν τα τρωτά σημεία που είχαν ανακαλυφθεί προηγουμένως.

3. Ειδοποιούμε τον προγραμματιστή εάν η κατάσταση ή η βαθμολογία της ευπάθειας έχει αλλάξει, σύμφωνα με το καθορισμένο πρότυπο. Αυτό σημαίνει ότι διαφορετικές ομάδες ανάπτυξης εντός της ίδιας εταιρείας θα λαμβάνουν ειδοποιήσεις και θα βλέπουν την κατάσταση ευπάθειας μόνο για το προϊόν στο οποίο εργάζονται.

Η συχνότητα ειδοποίησης του συστήματος διαχείρισης ευπάθειας μπορεί να διαμορφωθεί, αλλά εάν εντοπιστεί μια ευπάθεια με βαθμολογία CVSS μεγαλύτερη από 7,5, οι προγραμματιστές θα λάβουν μια άμεση ειδοποίηση.

Ενοποίηση με το ViPNet TIAS

Το λογισμικό και το σύστημα υλικού συστήματος ViPNet Threat Intelligence Analytics System ανιχνεύει αυτόματα επιθέσεις υπολογιστή και εντοπίζει συμβάντα με βάση συμβάντα ασφάλειας πληροφοριών που λαμβάνονται από διάφορες πηγές. Η κύρια πηγή συμβάντων για το ViPNet TIAS είναι το ViPNet IDS, το οποίο αναλύει την εισερχόμενη και εξερχόμενη κυκλοφορία δικτύου χρησιμοποιώντας τη βάση κανόνων αποφάσεων AM Rules που αναπτύχθηκε από την Perspective Monitoring. Ορισμένες υπογραφές είναι γραμμένες για την ανίχνευση εκμετάλλευσης τρωτών σημείων.

Εάν το ViPNet TIAS εντοπίσει ένα περιστατικό ασφάλειας πληροφοριών στο οποίο έγινε εκμετάλλευση μιας ευπάθειας, τότε όλες οι πληροφορίες που σχετίζονται με την ευπάθεια, συμπεριλαμβανομένων των μεθόδων εξάλειψης ή αντιστάθμισης του αρνητικού αντίκτυπου, εισάγονται αυτόματα στην κάρτα συμβάντος από το σύστημα διαχείρισης.

Το σύστημα διαχείρισης συμβάντων βοηθά επίσης στη διερεύνηση συμβάντων ασφάλειας πληροφοριών, παρέχοντας στους αναλυτές πληροφορίες σχετικά με δείκτες συμβιβασμού και πιθανούς κόμβους υποδομής πληροφοριών που επηρεάζονται από το συμβάν.

Παρακολούθηση παρουσίας τρωτών σημείων στα πληροφοριακά συστήματα

Ένα άλλο σενάριο για τη χρήση ενός συστήματος διαχείρισης ευπάθειας είναι η σάρωση κατ' απαίτηση.

Ο πελάτης δημιουργεί ανεξάρτητα, χρησιμοποιώντας ενσωματωμένα εργαλεία ή ένα σενάριο που έχουμε αναπτύξει, μια λίστα λογισμικού συστήματος και εφαρμογών και στοιχείων που είναι εγκατεστημένα στον κόμβο (σταθμός εργασίας, διακομιστής, DBMS, πακέτο λογισμικού, εξοπλισμός δικτύου), μεταδίδει αυτήν τη λίστα στον έλεγχο σύστημα και λαμβάνει μια αναφορά για τα εντοπισμένα τρωτά σημεία και περιοδικές ειδοποιήσεις σχετικά με την κατάστασή τους.

Διαφορές μεταξύ του συστήματος και των κοινών σαρωτών ευπάθειας:

  • Δεν απαιτεί εγκατάσταση παραγόντων παρακολούθησης σε κόμβους.
  • Δεν δημιουργεί φορτίο στο δίκτυο, καθώς η ίδια η αρχιτεκτονική λύσης δεν παρέχει πράκτορες σάρωσης και διακομιστές.
  • Δεν δημιουργεί φορτίο στον εξοπλισμό, καθώς η λίστα των στοιχείων δημιουργείται από εντολές συστήματος ή ένα ελαφρύ σενάριο ανοιχτού κώδικα.
  • Εξαλείφει την πιθανότητα διαρροής πληροφοριών. Η «προοπτική παρακολούθηση» δεν μπορεί να μάθει αξιόπιστα τίποτα σχετικά με τη φυσική και λογική θέση ή τον λειτουργικό σκοπό ενός κόμβου στο σύστημα πληροφοριών. Οι μόνες πληροφορίες που αφήνουν την ελεγχόμενη περίμετρο του πελάτη είναι ένα αρχείο txt με μια λίστα στοιχείων λογισμικού. Αυτό το αρχείο ελέγχεται για περιεχόμενο και ανεβάζεται στο σύστημα ελέγχου από τον ίδιο τον πελάτη.
  • Για να λειτουργήσει το σύστημα, δεν χρειαζόμαστε λογαριασμούς σε ελεγχόμενους κόμβους. Οι πληροφορίες συλλέγονται από τον διαχειριστή του ιστότοπου για δικό του λογαριασμό.
  • Ασφαλής ανταλλαγή πληροφοριών μέσω ViPNet VPN, IPsec ή https.

Η σύνδεση με την υπηρεσία διαχείρισης ευπάθειας «Προοπτική Παρακολούθηση» βοηθά τον πελάτη να εκπληρώσει την απαίτηση ANZ.1 «Εντοπισμός, ανάλυση τρωτών συστημάτων πληροφορικής και άμεση εξάλειψη τρωτών σημείων που εντοπίστηκαν πρόσφατα» των παραγγελιών FSTEC της Ρωσίας Νο. 17 και 21. Η εταιρεία μας είναι κάτοχος άδειας της FSTEC της Ρωσίας για δραστηριότητες που σχετίζονται με την τεχνική προστασία εμπιστευτικών πληροφοριών.

Τιμή

Ελάχιστο κόστος - 25.000 ρούβλια ετησίως για 50 κόμβους συνδεδεμένους στο σύστημα, εάν υπάρχει έγκυρη σύμβαση για σύνδεση με

Ένας άλλος τρόπος για να εξετάσουμε αυτό το πρόβλημα είναι ότι οι εταιρείες πρέπει να αντιδρούν γρήγορα όταν μια εφαρμογή έχει μια ευπάθεια. Αυτό απαιτεί το IT να μπορεί τελικά να παρακολουθεί εγκατεστημένες εφαρμογές, στοιχεία και ενημερώσεις κώδικα χρησιμοποιώντας αυτοματισμούς και τυπικά εργαλεία. Υπάρχει μια προσπάθεια του κλάδου για την τυποποίηση των ετικετών λογισμικού (19770-2), τα οποία είναι αρχεία XML εγκατεστημένα με μια εφαρμογή, στοιχείο ή/και ενημερωμένη έκδοση κώδικα που προσδιορίζει το εγκατεστημένο λογισμικό και στην περίπτωση ενός στοιχείου ή ενημέρωσης κώδικα, ποια εφαρμογή είναι μέρος του. Οι ετικέτες έχουν πληροφορίες αρχής εκδότη, πληροφορίες έκδοσης, λίστα αρχείων με το όνομα αρχείου, ασφαλή κατακερματισμό του αρχείου και μέγεθος, τα οποία μπορούν να χρησιμοποιηθούν για να επιβεβαιωθεί ότι η εγκατεστημένη εφαρμογή βρίσκεται στο σύστημα και ότι τα δυαδικά αρχεία δεν έχουν τροποποιήθηκε από τρίτο μέρος. Αυτές οι ετικέτες υπογράφονται ψηφιακά από τον εκδότη.

Όταν είναι γνωστό μια ευπάθεια, τα τμήματα πληροφορικής μπορούν να χρησιμοποιήσουν το λογισμικό διαχείρισης περιουσιακών στοιχείων τους για να εντοπίσουν αμέσως συστήματα με ευάλωτο λογισμικό και μπορούν να λάβουν μέτρα για την ενημέρωση των συστημάτων. Οι ετικέτες μπορεί να αποτελούν μέρος μιας ενημέρωσης κώδικα ή ενημέρωσης που μπορεί να χρησιμοποιηθεί για να επαληθευτεί ότι η ενημέρωση κώδικα έχει εγκατασταθεί. Με αυτόν τον τρόπο, τα τμήματα πληροφορικής μπορούν να χρησιμοποιήσουν πόρους όπως την Εθνική βάση δεδομένων ευπάθειας NIST ως μέσο διαχείρισης των εργαλείων διαχείρισης περιουσιακών στοιχείων τους, έτσι ώστε μόλις υποβληθεί μια ευπάθεια στην NVD από μια εταιρεία, η ΙΤ να μπορεί να συγκρίνει αμέσως τα νέα τρωτά σημεία με τα δικά τους.

Υπάρχει μια ομάδα εταιρειών που εργάζεται μέσω ενός μη κερδοσκοπικού οργανισμού IEEE/ISTO που ονομάζεται TagVault.org (www.tagvault.org) με την κυβέρνηση των ΗΠΑ για μια τυπική εφαρμογή του ISO 19770-2 που θα επιτρέψει αυτό το επίπεδο αυτοματισμού. Σε κάποιο σημείο, αυτές οι ετικέτες που αντιστοιχούν σε αυτήν την εφαρμογή θα είναι πιθανότατα υποχρεωτικές για λογισμικό που πωλείται στην κυβέρνηση των ΗΠΑ κάποια στιγμή τα επόμενα δύο χρόνια.

Επομένως, στο τέλος της ημέρας, είναι καλή πρακτική να μην δημοσιεύετε τις εφαρμογές και τις συγκεκριμένες εκδόσεις λογισμικού που χρησιμοποιείτε, αλλά αυτό μπορεί να είναι δύσκολο, όπως αναφέρθηκε προηγουμένως. Θέλετε να διασφαλίσετε ότι έχετε ένα ακριβές, ενημερωμένο απόθεμα λογισμικού, ότι συγκρίνεται τακτικά με μια λίστα γνωστών τρωτών σημείων, όπως το NVID από το NVD, και ότι το ΙΤ μπορεί να λάβει άμεσα μέτρα για την αποκατάσταση της απειλής. με την πιο πρόσφατη ανίχνευση Οι εισβολές, η σάρωση κατά των ιών και άλλες μέθοδοι κλειδώματος περιβάλλοντος θα καταστήσουν τουλάχιστον πολύ δύσκολο το περιβάλλον σας να παραβιαστεί και εάν/όταν συμβεί, δεν θα εντοπιστεί για μεγάλο χρονικό διάστημα.

Επί του παρόντος, έχει αναπτυχθεί ένας μεγάλος αριθμός εργαλείων για την αυτοματοποίηση της αναζήτησης τρωτών σημείων του προγράμματος. Αυτό το άρθρο θα συζητήσει μερικά από αυτά.

Εισαγωγή

Η ανάλυση στατικής κώδικα είναι μια ανάλυση λογισμικού που εκτελείται στον πηγαίο κώδικα των προγραμμάτων και υλοποιείται χωρίς να εκτελείται ουσιαστικά το υπό μελέτη πρόγραμμα.

Το λογισμικό συχνά περιέχει διάφορα τρωτά σημεία λόγω σφαλμάτων στον κώδικα του προγράμματος. Σφάλματα που γίνονται κατά την ανάπτυξη προγραμμάτων, σε ορισμένες περιπτώσεις, οδηγούν σε αποτυχία του προγράμματος και, κατά συνέπεια, διακόπτεται η κανονική λειτουργία του προγράμματος: αυτό έχει συχνά ως αποτέλεσμα αλλαγές και ζημιές στα δεδομένα, διακοπή του προγράμματος ή ακόμα και του συστήματος. Τα περισσότερα τρωτά σημεία σχετίζονται με εσφαλμένη επεξεργασία δεδομένων που λαμβάνονται από το εξωτερικό ή με ανεπαρκή αυστηρή επαλήθευσή τους.

Για τον εντοπισμό τρωτών σημείων, χρησιμοποιούνται διάφορα εργαλεία, για παράδειγμα, στατικοί αναλυτές του πηγαίου κώδικα του προγράμματος, μια επισκόπηση των οποίων δίνεται σε αυτό το άρθρο.

Ταξινόμηση τρωτών σημείων ασφαλείας

Όταν παραβιάζεται η απαίτηση για τη σωστή λειτουργία ενός προγράμματος σε όλα τα πιθανά δεδομένα εισόδου, καθίσταται δυνατή η εμφάνιση των λεγόμενων τρωτών σημείων ασφαλείας. Τα τρωτά σημεία ασφαλείας μπορεί να σημαίνουν ότι ένα πρόγραμμα μπορεί να χρησιμοποιηθεί για να ξεπεραστούν οι περιορισμοί ασφαλείας ενός ολόκληρου συστήματος.

Ταξινόμηση των τρωτών σημείων ασφαλείας ανάλογα με τα σφάλματα λογισμικού:

  • Υπερχείλιση buffer. Αυτή η ευπάθεια παρουσιάζεται λόγω έλλειψης ελέγχου των εκτός ορίων πίνακα στη μνήμη κατά την εκτέλεση του προγράμματος. Όταν ένα πακέτο δεδομένων που είναι πολύ μεγάλο ξεχειλίζει από την προσωρινή μνήμη περιορισμένου μεγέθους, τα περιεχόμενα των εξωτερικών θέσεων μνήμης αντικαθίστανται, προκαλώντας τη διακοπή λειτουργίας του προγράμματος και την έξοδο. Με βάση τη θέση του buffer στη μνήμη διεργασίας, οι υπερχειλίσεις buffer διακρίνονται στη στοίβα (υπερχείλιση buffer στοίβας), στο heap (heap buffer overflow) και στην περιοχή στατικών δεδομένων (bss buffer overflow).
  • Μολυσμένη ευπάθεια εισόδου. Τα τρωτά σημεία εισόδου μπορεί να προκύψουν όταν η είσοδος του χρήστη μεταβιβάζεται στον διερμηνέα κάποιας εξωτερικής γλώσσας (συνήθως κελύφους Unix ή SQL) χωρίς επαρκή έλεγχο. Σε αυτήν την περίπτωση, ο χρήστης μπορεί να καθορίσει τα δεδομένα εισόδου με τέτοιο τρόπο ώστε ο εκκινημένος διερμηνέας να εκτελέσει μια εντελώς διαφορετική εντολή από αυτή που προοριζόταν από τους συντάκτες του ευάλωτου προγράμματος.
  • Μορφοποίηση ευπάθειας συμβολοσειράς. Αυτός ο τύπος ευπάθειας ασφαλείας είναι μια υποκατηγορία της ευπάθειας "κατεστραμμένη εισαγωγή". Παρουσιάζεται λόγω ανεπαρκούς ελέγχου των παραμέτρων κατά τη χρήση της μορφής I/O συναρτήσεων printf, fprintf, scanf κ.λπ. της τυπικής βιβλιοθήκης C. Αυτές οι συναρτήσεις λαμβάνουν ως μία από τις παραμέτρους τους μια συμβολοσειρά χαρακτήρων που καθορίζει τη μορφή εισόδου ή εξόδου των επόμενων ορισμάτων συνάρτησης. Εάν ο χρήστης μπορεί να καθορίσει τον τύπο μορφοποίησης, αυτή η ευπάθεια θα μπορούσε να προκύψει από την ανεπιτυχή χρήση των λειτουργιών μορφοποίησης συμβολοσειρών.
  • Τρωτά σημεία ως αποτέλεσμα σφαλμάτων συγχρονισμού (συνθήκες αγώνα). Τα προβλήματα που σχετίζονται με την εκτέλεση πολλαπλών εργασιών οδηγούν σε καταστάσεις που ονομάζονται "συνθήκες αγώνα": ένα πρόγραμμα που δεν έχει σχεδιαστεί για εκτέλεση σε περιβάλλον πολλαπλών εργασιών μπορεί να πιστεύει ότι, για παράδειγμα, τα αρχεία που χρησιμοποιεί δεν μπορούν να αλλάξουν από άλλο πρόγραμμα. Ως αποτέλεσμα, ένας εισβολέας που αντικαθιστά έγκαιρα τα περιεχόμενα αυτών των αρχείων εργασίας μπορεί να αναγκάσει το πρόγραμμα να εκτελέσει ορισμένες ενέργειες.

Φυσικά, εκτός από αυτά που αναφέρονται, υπάρχουν και άλλες κατηγορίες ευπάθειας ασφαλείας.

Ανασκόπηση υφιστάμενων αναλυτών

Τα ακόλουθα εργαλεία χρησιμοποιούνται για τον εντοπισμό τρωτών σημείων ασφαλείας σε προγράμματα:

  • Δυναμικά προγράμματα εντοπισμού σφαλμάτων. Εργαλεία που σας επιτρέπουν να διορθώσετε ένα πρόγραμμα κατά την εκτέλεσή του.
  • Στατικοί αναλυτές (static debuggers). Εργαλεία που χρησιμοποιούν πληροφορίες που συσσωρεύονται κατά τη στατική ανάλυση ενός προγράμματος.

Οι στατικοί αναλυτές δείχνουν εκείνα τα σημεία του προγράμματος όπου μπορεί να εντοπιστεί ένα σφάλμα. Αυτά τα ύποπτα κομμάτια κώδικα μπορεί είτε να περιέχουν σφάλμα είτε να είναι εντελώς ακίνδυνα.

Αυτό το άρθρο παρέχει μια επισκόπηση πολλών υπαρχόντων στατικών αναλυτών. Ας ρίξουμε μια πιο προσεκτική ματιά σε καθένα από αυτά.