παραδοχές που πρέπει να κάνουμε:
* Σετ χαρακτήρων: Ο πιο κρίσιμος παράγοντας είναι οι χαρακτήρες που επιτρέπονται στον κωδικό πρόσβασης. Θα εξετάσουμε μερικά κοινά σενάρια:
* Μόνο γράμματα πεζών (A-Z): 26 πιθανοί χαρακτήρες.
* πεζά και κεφαλαία γράμματα (A-Z, A-Z): 52 πιθανοί χαρακτήρες.
* Γράμματα και αριθμοί (A-Z, A-Z, 0-9): 62 πιθανοί χαρακτήρες.
* Γράμματα, αριθμοί και σύμβολα (A-Z, A-Z, 0-9, και ~!@#$%^&* () _+=-`): Αυτό μπορεί να ποικίλει ανάλογα με τα συγκεκριμένα σύμβολα που επιτρέπονται, αλλά ας υποθέσουμε περίπου 95 χαρακτήρες.
* Επίθεση Brute-Force: Υποθέτουμε ότι ο υπολογιστής προσπαθεί κάθε πιθανό συνδυασμό σε ακολουθία. Αυτή είναι η πιο βασική επίθεση.
* ταχύτητα ρωγμής κωδικού πρόσβασης: Η ταχύτητα με την οποία ένας υπολογιστής μπορεί να δοκιμάσει κωδικούς πρόσβασης ποικίλλει σε μεγάλο βαθμό ανάλογα με το υλικό (CPU, GPU), το λογισμικό ρωγμών που χρησιμοποιείται και ο αλγόριθμος που χρησιμοποιείται για τον κωδικό πρόσβασης. Θα εκτιμήσουμε μια σειρά ταχύτητων. Ας εξετάσουμε τις λειτουργίες ανά δευτερόλεπτο:
* Αργή: 1.000 κωδικοί πρόσβασης/δευτερόλεπτο (ένα πολύ παλιό ή αδύναμο σύστημα)
* Μέτρια: 1.000.000 κωδικοί πρόσβασης/δευτερόλεπτο (μια αξιοπρεπή σύγχρονη CPU)
* γρήγορα: 10.000.000.000 κωδικοί πρόσβασης/δευτερόλεπτο (ισχυρή ρύθμιση GPU)
Υπολογισμοί
1. Συνολικοί πιθανοί συνδυασμοί:
Ο αριθμός των πιθανών κωδικών πρόσβασης υπολογίζεται ως:
Μέγεθος ουσιαστικού χαρακτήρα ^ Μήκος κωδικού πρόσβασης »
Ετσι:
* Πεζά (26):26
* Γράμματα (52):52
* Γράμματα και αριθμοί (62):62
4
=14.776.336
* Γράμματα, αριθμοί και σύμβολα (95):95
4
=81.450.625
2. Μέσος χρόνος για να σπάσει:
Σε μια επίθεση Brute-Force, ο υπολογιστής, κατά μέσο όρο, θα βρει τον σωστό κωδικό πρόσβασης στη μέση της λίστας των δυνατοτήτων. Έτσι, διαιρούμε τον συνολικό αριθμό συνδυασμών κατά 2, και στη συνέχεια διαιρέσουμε με την ταχύτητα ρωγμών.
«Μέσος χρόνος =(συνολικοί συνδυασμοί / 2) / ταχύτητα ρωγμών»
αποτελέσματα (σε δευτερόλεπτα):
| Σετ χαρακτήρων | Συνολικοί συνδυασμοί | Αργή (1.000/sec) Μέτρια (1.000.000/sec) Γρήγορα (10.000.000.000/δευτερόλεπτα)
| ----------------------------------------------------------------------------------------------------------------------------------------------------------
| Πεζά (26) | 456,976 | 228 SEC | 0.228 SEC | 0.0000228 SEC |
| Γράμματα (52) | 7,311,616 | 3656 SEC | 3.65 δευτερόλεπτα | 0.000365 SEC |
| Γράμματα και αριθμοί (62) | 14.776.336 | 7388 SEC | 7.38 SEC | 0,000738 SEC |
| Γράμματα, κλπ. (95) | 81,450,625 | 40725 SEC | 40.72 SEC | 0.00407 SEC |
Μετατροπή σε πιο κατανοητές μονάδες
* Δευτερόλεπτα / 60 =λεπτά
* Λεπτά / 60 =ώρες
* Ώρες / 24 =ημέρες
| Σετ χαρακτήρων | Αργή (1.000/sec) Μέτρια (1.000.000/sec)
| -----------------------------------------------------------------------------------------------------------------------------
| Πεζά (26) | 3,8 λεπτά | 0,228 χιλιοστά του δευτερολέπτου |
| Γράμματα (52) | 1.01 ώρες | 3.65 Μικροδευτερόλεπτα |
| Γράμματα και αριθμοί (62) | 2.05 ώρες | 7.38 Μικροδευτερόλεπτα |
| Γράμματα, κλπ. (95) | 11.3 ώρες | 40.72 Μικροδευτερόλεπτα |
Σημαντικές εκτιμήσεις:
* Αλγόριθμοι κατακερματισμού: Ο τύπος του αλγορίθμου κατακερματισμού που χρησιμοποιείται για την αποθήκευση του κωδικού πρόσβασης επηρεάζει σημαντικά το χρόνο ρωγμών. Αλάτει και ισχυροί αλγόριθμοι κατακερματισμού όπως το Bcrypt, το Argon2 ή το Scrypt καθιστούν τη ρωγμή πολύ πιο δύσκολη, ακόμη και με ισχυρό υλικό. Οι παραπάνω υπολογισμοί υποθέτουν ότι ο εισβολέας μπορεί να δοκιμάσει απευθείας τους κωδικούς πρόσβασης. Εάν ο κωδικός πρόσβασης είναι καλά επιρρεπής, πρέπει να εκτελέσει τον υπολογισμό του κατακερματισμού για κάθε εικασία, η οποία επιβραδύνει δραστικά τα πράγματα.
* επιθέσεις λεξικού: Αντί για βίαιη προβολή, οι επιτιθέμενοι συχνά προσπαθούν πρώτα οι κοινές λέξεις, ονόματα και μοτίβα. Αυτό μπορεί να είναι πολύ πιο γρήγορο.
* Πίνακες ουράνιου τόξου: Οι προ-υπολογισμένοι πίνακες των hashes μπορούν να επιταχύνουν τη ρωγμή, ειδικά για τους ασθενέστερους αλγόριθμους κατακερματισμού.
* Περιορισμός ρυθμού: Πολλά συστήματα εφαρμόζουν τον περιορισμό των επιτοκίων, γεγονός που περιορίζει τον αριθμό των προσπαθειών κωδικού πρόσβασης που επιτρέπονται σε μια δεδομένη χρονική περίοδο. Αυτό επιβραδύνει αποτελεσματικά τις επιθέσεις Brute-Force.
Συμπερασματικά:
Ένας κωδικός πρόσβασης 4 χαρακτήρων μπορεί να σπάσει πολύ γρήγορα με το σύγχρονο υλικό, ειδικά αν χρησιμοποιεί ένα μικρό σύνολο χαρακτήρων (όπως μόνο τα πεζά γράμματα) και/ή εάν ο κωδικός πρόσβασης είναι αδύναμο. Ένας κωδικός πρόσβασης με ένα μεγαλύτερο σύνολο χαρακτήρων (συμπεριλαμβανομένων των αριθμών και των συμβόλων) θα διαρκέσει περισσότερο, αλλά μπορεί να είναι ευάλωτος. Αυτός είναι ο λόγος για τον οποίο οι σύγχρονες συστάσεις κωδικού πρόσβασης είναι για πολύ μεγαλύτερους κωδικούς πρόσβασης και τη χρήση ισχυρών και καλά διαστρεβλωμένων αλγορίθμων κατακερματισμού.
Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα