Συχνές ερωτήσεις
Πριν από μερικά χρόνια, μια ομάδα ειδικών ασφαλείας δημοσίευσε μια εργασία που περιγράφει ένα σενάριο επίθεσης που επιτρέπει τη διάσπαση μιας σύνδεσης IKEv1 Aggressive Mode με Pre-Shared Key και το οποίο δεν μπορεί να εφαρμοστεί εξίσου σε μια σύνδεση IKEv1 Main Mode με Pre-Shared Key, οδηγώντας στην εσφαλμένη υπόθεση ότι η λειτουργία Aggressive είναι θεμελιωδώς πολύ ανασφαλής από τη λειτουργία Main. Ωστόσο, αν ρίξετε μια ουδέτερη ματιά στα γεγονότα, αυτή η δήλωση δεν ανταποκρίνεται στην πραγματικότητα. Αυτό που οι περισσότεροι άνθρωποι δεν γνωρίζουν είναι το γεγονός ότι ένα μέρος αυτής της επίθεσης ήταν η προσπάθεια μαντέψης του Pre-Shared Key (PSK) χρησιμοποιώντας μια επίθεση "Brute Force" και μια τέτοια επίθεση μπορεί να επιτύχει μόνο εάν το PSK έχει επιλεγεί με τρόπο που είναι πολύ ανασφαλές. Ακόμη και ένα PSK είναι απλώς ένας κωδικός πρόσβασης και όπως πάντα συμβαίνει με τους κωδικούς πρόσβασης, οι κακοί κωδικοί πρόσβασης οδηγούν σε χαμηλή ασφάλεια. Εφόσον το PSK έχει μήκος τουλάχιστον 14 χαρακτήρων (όσο περισσότεροι τόσο καλύτερα), αποτελείται από πεζά γράμματα, κεφαλαία γράμματα και αριθμούς και δημιουργήθηκε εντελώς τυχαία (ώστε να μην μπορεί κανείς εύκολα να το μαντέψει) και εφόσον τουλάχιστον SHA1 έχει επιλεγεί ως συνάρτηση κατακερματισμού στη φάση 1 (ή καλύτερα, συνιστούμε SHA-256 εάν είναι δυνατόν), δεν υπάρχει κανένας λόγος να υποθέσουμε ότι μια σύνδεση PSK Aggressive Mode είναι θεμελιωδώς λιγότερο ασφαλής από μια σύνδεση PSK Main Mode. Όποιος θέλει να είναι απολύτως σίγουρος, απλώς επιλέγει έναν έλεγχο ταυτότητας βάσει πιστοποιητικού, εάν είναι δυνατόν, επειδή αυτό καθιστά αυτή την επίθεση αδύνατη από την αρχή.
Τεχνικό υπόβαθρο:
Το Pre-Shared Key (PSK) δεν είναι κωδικός πρόσβασης που χρησιμοποιείται για την κρυπτογράφηση δεδομένων, αλλά χρησιμεύει αποκλειστικά για τον έλεγχο ταυτότητας, περίπου όπως όταν ένας χρήστης συνδέεται σε έναν ιστότοπο χρησιμοποιώντας έναν κωδικό πρόσβασης. Κατά τη φάση 1, και οι δύο πλευρές πρέπει να αποδείξουν η μία στην άλλη ότι γνωρίζουν το PSK. Αυτό δεν μπορεί φυσικά να συμβεί στέλνοντας το σε την άλλη πλευρά, επειδή ακόμη κι αν η άλλη πλευρά δεν το ήξερε μέχρι τώρα, θα το μάθαινε τουλάχιστον τώρα. Αντίθετα, και οι δύο πλευρές πρέπει να υπολογίσουν έναν αριθμό (μια λεγόμενη τιμή κατακερματισμού), για την οποία χρησιμοποιούν δεδομένα που έχουν ήδη ανταλλάξει και οι δύο πλευρές (και τα οποία είναι διαφορετικά σε κάθε σύνδεση για να διασφαλιστεί ότι η τιμή κατακερματισμού είναι επίσης διαφορετική κάθε φορά) και το PSK. Μόνο αυτή η τιμή κατακερματισμού αποστέλλεται στην άλλη πλευρά, η οποία στη συνέχεια πρέπει να εκτελέσει ακριβώς τους ίδιους υπολογισμούς. Εάν φτάσουν στο ίδιο αποτέλεσμα, τότε και η άλλη πλευρά πρέπει να έχει χρησιμοποιήσει το ίδιο PSK, ergo το γνωρίζει. Το ίδιο παιχνίδι επαναλαμβάνεται στη συνέχεια προς την αντίθετη κατεύθυνση, με τον υπολογισμό εδώ να αποκλίνει ελαφρώς για να διασφαλιστεί ότι και οι δύο τιμές κατακερματισμού είναι πάντα διαφορετικές, επειδή η επιστροφή της ίδιας τιμής δεν θα αποδείκνυε τίποτα.
Η διαφορά μεταξύ Main Mode και Aggressive Mode είναι απλώς ότι στο Main Mode η τιμή κατακερματισμού μεταδίδεται κρυπτογραφημένα, επειδή η διαδικασία ανταλλαγής κλειδιών (DH Exchange) που οδηγεί σε ένα ασφαλές κλειδί συνεδρίας έχει ήδη ολοκληρωθεί εκείνη τη στιγμή και μόλις και οι δύο πλευρές έχουν ένα κλειδί συνεδρίας, όλα τα πακέτα μεταδίδονται μόνο κρυπτογραφημένα. Με το Aggressive Mode, η τιμή κατακερματισμού μεταδίδεται μη κρυπτογραφημένη, επειδή η ανταλλαγή κλειδιών δεν έχει ακόμη ολοκληρωθεί εκείνη τη στιγμή. Έτσι, παρακολουθώντας μια σύνδεση Aggressive Mode, ένας εισβολέας μπορεί να αποκτήσει τόσο την τιμή κατακερματισμού όσο και όλα τα δεδομένα που απαιτούνται για τον υπολογισμό αυτής της τιμής, εκτός από το ίδιο το PSK. Αυτό από μόνο του δεν σημαίνει ότι η σύνδεση έχει διασπαστεί, απλώς έχει αρκετές πληροφορίες για να ξεκινήσει την αναζήτηση του PSK, π.χ. χρησιμοποιώντας μια λεγόμενη επίθεση "Brute Force" (απλώς δοκιμάζοντας όλους τους πιθανούς συνδυασμούς) ή μια επίθεση λεξικού (δοκιμάζοντας συχνά επιλεγμένους κωδικούς πρόσβασης που μπορείτε να αποκτήσετε από διαρροές δεδομένων από άλλες διαδικτυακές υπηρεσίες). Μόνο εάν το PSK είναι πολύ αδύναμο για να αντέξει αυτές τις επιθέσεις, μπορεί τελικά να σπάσει τη σύνδεση. Επομένως, ένα καλό, επαρκώς ασφαλές PSK είναι απαραίτητο για την ασφάλεια μιας σύνδεσης VPN PSK.
Ωστόσο, η ίδια η επίθεση είναι δυνατή και σε μια σύνδεση Main Mode, απαιτεί απλώς λίγη περισσότερη προσπάθεια. Στην περίπτωση του Main Mode, δεν αρκεί μόνο να μπορείτε να διαβάσετε την κυκλοφορία δεδομένων, αλλά είναι απαραίτητη μια λεγόμενη επίθεση Man-in-the-Middle (MitM), δηλαδή ένας εισβολέας πρέπει να μπορεί να υποκλέψει και να χειραγωγήσει την κυκλοφορία δεδομένων. Μέσω μιας επίθεσης MitM, ένας εισβολέας μπορεί να παρακάμψει την κρυπτογράφηση, η οποία δεν είναι αρκετή για να αποκτήσει πρόσβαση στο VPN, επειδή το PSK εξακολουθεί να απαιτείται γι' αυτό, επειδή χωρίς αυτό η φάση 1 δεν θα ολοκληρωθεί επιτυχώς, αλλά ακόμη και τότε ένας εισβολέας θα είχε την τιμή κατακερματισμού και όλα τα απαραίτητα δεδομένα για τον υπολογισμό του και θα μπορούσε να προσπαθήσει να μαντέψει το PSK με τον ίδιο τρόπο. Και εάν ένας εισβολέας είναι ήδη σε θέση να διαβάσει όλη την κυκλοφορία δεδομένων (η οποία είναι μια βασική προϋπόθεση για κάθε σενάριο επίθεσης), τότε είναι πολύ πιθανό να μπορεί επίσης να εκτελέσει μια επίθεση MitM και τουλάχιστον τότε το Main Mode δεν προσφέρει καμία πρόσθετη προστασία.
Ένα PSK από 11 τυχαίους αλφαριθμητικούς χαρακτήρες έχει μια εντροπία περίπου 64 bit, που είναι 2^64 πιθανές τιμές. Οι σύγχρονες κάρτες γραφικών υψηλής τεχνολογίας (από το 2016) μπορούν να υπολογίσουν κατά προσέγγιση 1 δισεκατομμύριο κατακερματισμούς SHA-265 ανά δευτερόλεπτο. Κατά μέσο όρο, πρέπει να δοκιμάσετε το 50% όλων των πιθανών τιμών για να βρείτε μια αντιστοιχία και αυτό θα διαρκούσε 292 χρόνια. Εάν ένας εισβολέας έχει στη διάθεσή του 100 τέτοιες κάρτες γραφικών, η επίθεση θα "διαρκούσε" μόνο περίπου 3 χρόνια. Αλλά ακόμη και με 14 χαρακτήρες, η εντροπία είναι περίπου 80 bit και εδώ μια μόνο κάρτα γραφικών χρειάζεται 19.154.798 χρόνια. Ακόμη και 10.000 κάρτες γραφικών δεν θα συντόμευαν σημαντικά τον χρόνο. Και ποτέ δεν πρέπει να παραβλέπουμε το κόστος μιας τέτοιας επίθεσης. Όχι τόσο το κόστος αγοράς των καρτών γραφικών, αλλά μάλλον την κατανάλωση ενέργειάς τους όταν όλες αυτές οι κάρτες γραφικών λειτουργούν με μέγιστη ισχύ 24 ώρες την ημέρα για χρόνια, δεκαετίες ή ακόμη και αιώνες. Αυτό μπορεί να οδηγήσει γρήγορα σε δισεκατομμύρια ευρώ κόστος ενέργειας μόνο για να σπάσει μια σύνδεση PSK στον κόσμο. Επιπλέον, κάθε φορά που αλλάζει το PSK, ο εισβολέας πρέπει να ξεκινήσει από την αρχή. Εάν λοιπόν το PSK αλλάζει μόνο μία φορά το χρόνο, ένας εισβολέας θα είχε μέγιστο 1 έτος για να το βρει· αυτό θα ήταν ήδη αρκετά φιλόδοξο, ακόμη και με ένα αδύναμο PSK.