Τι είναι ο έλεγχος ασφαλείας (audit);
Με λίγα λόγια
Ο έλεγχος ασφαλείας (audit) είναι η εξέταση κώδικα ή συστημάτων για κενά που μπορούν να αξιοποιήσουν επιτιθέμενοι. Στα crypto συχνά αφορά smart contracts, χωρίς να εγγυάται ότι είναι απόλυτα ασφαλή.
Θα βάζατε χρήματα σε ένα χρηματοκιβώτιο χωρίς να έχει ελέγξει κανείς την κλειδαριά του; Κάπως έτσι λειτουργεί ένας έλεγχος ασφαλείας στα crypto: ειδικοί εξετάζουν πώς έχει κατασκευαστεί μια εφαρμογή και ψάχνουν τρόπους με τους οποίους κάποιος θα μπορούσε να παρακάμψει τους κανόνες της.
Σε έναν έλεγχο έξυπνου συμβολαίου (smart contract audit), οι ελεγκτές μελετούν τον κώδικα, χρησιμοποιούν αυτοματοποιημένα εργαλεία και δοκιμάζουν διαφορετικά σενάρια επίθεσης. Για παράδειγμα, σε μια εφαρμογή δανεισμού εξετάζουν αν ένας χρήστης μπορεί να σηκώσει περισσότερα χρήματα από όσα δικαιούται ή αν κάποιος διαχειριστής έχει υπερβολικά δικαιώματα. Ένας ευρύτερος έλεγχος ασφαλείας (security audit) μπορεί να καλύπτει και το λογισμικό ενός πορτοφολιού ή την υποδομή μιας υπηρεσίας.
Τα αποτελέσματα συνήθως καταγράφονται σε έκθεση με τα ευρήματα, τη σοβαρότητά τους και προτεινόμενες διορθώσεις. Η ομάδα ανάπτυξης απαντά και μπορεί να ακολουθήσει επανέλεγχος. Το ότι ολοκληρώθηκε ένα audit δεν σημαίνει ότι διορθώθηκαν όλα τα προβλήματα.
Γιατί έχει σημασία
Όταν χρησιμοποιείς μια αποκεντρωμένη εφαρμογή, εμπιστεύεσαι κανόνες γραμμένους σε κώδικα. Ένα λάθος μπορεί να επιτρέψει κλοπή ή να εγκλωβίσει χρήματα, χωρίς να υπάρχει κουμπί αναίρεσης. Ο έλεγχος μπορεί να εντοπίσει τέτοια προβλήματα πριν τα εκμεταλλευτεί κάποιος.
Εμείς θεωρούμε πιο χρήσιμη τη δημοσιευμένη έκθεση από ένα σήμα «audited» στην αρχική σελίδα. Η έκθεση δείχνει τι ελέγχθηκε και ποια προβλήματα παραμένουν ανοιχτά, αντί να ζητά απλώς την εμπιστοσύνη σου.
Τι να προσέξεις
Κοίτα ποιος έκανε τον έλεγχο, πότε έγινε και ποια έκδοση του κώδικα καλύπτει. Αν η εφαρμογή αναβαθμίστηκε αργότερα, ο νέος κώδικας δεν καλύπτεται αυτομάτως από το παλιό audit. Επίσης, ένας έλεγχος συγκεκριμένων συμβολαίων δεν καλύπτει αναγκαστικά την ιστοσελίδα, τα κλειδιά των διαχειριστών ή εξωτερικές υπηρεσίες από τις οποίες εξαρτάται η εφαρμογή.
Έλεγξε αν η έκθεση υπάρχει στον επίσημο ιστότοπο του ελεγκτή και αν τα σοβαρά ευρήματα διορθώθηκαν ή απλώς αναγνωρίστηκαν. Κανένα audit δεν αποτελεί εγγύηση ασφάλειας, ούτε πιστοποιεί ότι ένα project είναι έντιμο ή ότι το token του έχει αξία.