Skip to main content

Τι είναι η υπογραφή κώδικα;

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

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

Όταν ο χρήστης λαμβάνει το πρόγραμμα, συμβαίνει το δεύτερο τμήμα της διαδικασίας υπογραφής κώδικα.Το πρόγραμμα εξετάζει το πιστοποιητικό και ένα δημόσιο κλειδί που τοποθετείται ο προγραμματιστής στο πρόγραμμα.Χρησιμοποιώντας το δημόσιο κλειδί, το πρόγραμμα είναι σε θέση να εκτελέσει το ίδιο hash στον τρέχοντα προγραμματισμό και στη συνέχεια ελέγχει το πρωτότυπο ενάντια στην τρέχουσα έκδοση που έχει εγκατασταθεί.Εάν τόσο το εγκατεστημένο πρόγραμμα όσο και ο αρχικός συγχρονισμός, αυτό δείχνει τον χρήστη ότι δεν έχει αλλάξει τίποτα.Αυτή η διαδικασία γίνεται αυτόματα και τα προγράμματα που απαιτούνται για αυτόν τον έλεγχο ταυτότητας θα πρέπει να προεγκατεστούν στο λειτουργικό σύστημα του υπολογιστή (OS). Ενώ η υπογραφή κώδικα είναι μια ισχυρή μέθοδος για την εξασφάλιση της ασφάλειας, έχει ελαττώματα.Εάν ο χρήστης κατεβάζει ένα πρόγραμμα από έναν χάκερ, τότε ο έλεγχος ταυτότητας θα δείξει ότι το αρχικό πρόγραμμα είναι άθικτο.Αυτό θα οδηγούσε έναν χρήστη σε μια ψεύτικη αίσθηση ασφάλειας.Το πρόγραμμα είναι κακόβουλο, οπότε η ασφάλεια δεν επιτυγχάνεται με αυτή την έννοια.Οι εξελιγμένοι χάκερ μπορούν επίσης να πάρουν γύρω από το hash για να εισάγουν κωδικοποίηση, καθιστώντας τον κωδικό που υπογράφει άχρηστο.