Το Διαδίκτυο δεν είχε σχεδιαστεί για να είναι ασφαλές από μόνο του. Πολλά πρωτόκολλα (όπως HTTP και DNS ) σχεδιάστηκαν για να εξυπηρετήσουν τον σκοπό τους και να μεταφέρουν πληροφορίες μέσω του δικτύου χωρίς ασφάλεια.
Ωστόσο, στις μέρες μας, η ιδιωτικότητα και η ασφάλεια αποτελούν μείζον προτεραιότητες. Ως αποτέλεσμα, το πρωτόκολλο Transport Level Security (TLS) (και ο προκάτοχός του SSL) έχουν σχεδιαστεί για να κρυπτογραφούν το traffic μέσω του δικτύου. Αυτό επιτρέπει στους υπολογιστές να χρησιμοποιούν τα ίδια πρωτόκολλα για τη μορφοποίηση των δεδομένων (όπως HTTP) αλλά να προσθέσουν ένα επίπεδο ασφάλειας (μετατρέποντάς τα σε HTTPS).
Το πρόβλημα με το SSL / TLS στον τομέα της ασφάλειας είναι ότι λειτουργεί. Ενώ τα πρότυπα κρυπτογράφησης αναπτύχθηκαν για καλό σκοπό, οι hackers τα χρησιμοποιούν επίσης για παράνομη δραστηριότητα. Σε αυτό το άρθρο, θα περιγράψουμε τον τρόπο εκτέλεσης της αποκρυπτογράφησης SSL / TLS στο Wireshark.
Table of Contents
Τι θα χρειαστείτε
Το Wireshark είναι ένα κοινώς γνωστό και ελεύθερα διαθέσιμο εργαλείο για την ανάλυση του δικτύου.
Το άλλο πράγμα που πρέπει να κάνετε πριν από την αποκρυπτογράφηση της κρυπτογραφημένης κίνησης TLS είναι να διαμορφώσετε το πρόγραμμα περιήγησής σας στο Web, ώστε να εξάγει τα κλειδιά TLS από τον client.
Δεδομένου ότι το TLS έχει σχεδιαστεί για να προστατεύει τα δεδομένα του client και του διακομιστή κατά τη διάρκεια των μεταδόσεων των πληροφοριών, είναι λογικό να έχει σχεδιαστεί έτσι ώστε ο καθένας να μπορεί να αποκρυπτογραφήσει την κίνηση.
Στον Firefox και στον Chrome, αυτό μπορεί να επιτευχθεί ορίζοντας μια μεταβλητή που ονομάζεται SSLKEYLOGFILE. Εάν αυτή η μεταβλητή έχει οριστεί και τα δύο προγράμματα περιήγησης έχουν ρυθμιστεί ώστε να αποθηκεύουν ένα αντίγραφο του client στην υποδεικνυόμενη θέση του αρχείου. Στο Linux, αυτή η μεταβλητή μπορεί να οριστεί χρησιμοποιώντας την εντολή Export. Στα Windows, μπορεί να ρυθμιστεί ανοίγοντας τα Advanced System Settings, επιλέγοντας Environment Variables και έπειτα προσθέτοντας μια νέα System Variable. Ένα παράδειγμα αυτής της μεταβλητής στα Windows φαίνεται παρακάτω.
Μόλις οριστεί η μεταβλητή, συνιστάται η επανεκκίνηση του συστήματος για να διασφαλιστεί ότι οι νέες ρυθμίσεις είναι ενεργές. Μόλις ολοκληρωθεί, έχουμε όλα όσα χρειαζόμαστε για την αποκρυπτογράφηση της κίνησης TLS.
Εκτέλεση αποκρυπτογράφησης της κίνησης
Εάν θέλετε να αποκρυπτογραφήσετε την κυκλοφορία TLS, θα πρέπει πρώτα να την καταγράψετε. Για αυτόν τον λόγο, είναι σημαντικό να ενεργοποιήσετε και να εκτελέσετε το Wireshark πριν ξεκινήσετε το σερφάρισμα.
Πριν ξεκινήσουμε τη λήψη του προγράμματος, θα πρέπει να προετοιμάσουμε την αποκρυπτογράφηση της κίνησης TLS. Για να το κάνετε αυτό, κάντε κλικ στο Επεξεργασία → Προτιμήσεις. Επιλέξτε Πρωτόκολλα στο αριστερό παράθυρο και μετακινηθείτε προς τα κάτω στο TLS. Σε αυτό το σημείο, θα δείτε κάτι παρόμοιο με την παρακάτω εικόνα.
Στο κάτω μέρος αυτής της εικόνας, υπάρχει ένα πεδίο με το όνομα αρχείου (Pre) -Master-Secret log. Όπως φαίνεται παραπάνω, πρέπει να ορίσετε αυτήν την τιμή στην ίδια τοποθεσία με το SSLKEYLOGFILE για το πρόγραμμα περιήγησής σας. Όταν τελειώσετε, κάντε κλικ στο OK.
Τώρα στην κύρια οθόνη του Wireshark, θα εμφανίσει μια λίστα με τους πιθανούς προσαρμογείς που είναι για λήψη. Σε αυτό το παράδειγμα, θα χρησιμοποιήσω το WiFi 2 καθώς υπάρχει και η κυκλοφορία (φαίνεται από τη μαύρη γραμμή).
Κάνοντας κλικ σε έναν προσαρμογέα θα αρχίσει να καταγράφει την επισκεψιμότητά του σε αυτόν.
Σε αυτό το σημείο, είστε έτοιμοι να δημιουργήσετε κάποια κρυπτογραφημένη επισκεψιμότητα TLS. Μεταβείτε στον Chrome ή στον Firefox και περιηγηθείτε σε έναν ιστότοπο που χρησιμοποιεί HTTPS (χρησιμοποιήσαμε το Facebook για αυτό το παράδειγμα). Μόλις φορτωθεί η σελίδα, επιστρέψτε στο Wireshark και σταματήστε τη σύλληψη των πακέτων.
Κοιτάζοντας τη λήψη, πιθανότατα θα δείτε πολλή κίνηση. Αυτό που ψάχνουμε τώρα είναι τα πακέτα που σχετίζονται με την κρυπτογραφημένη συνεδρία περιήγησης του TLS. Μία μέθοδος είναι να βρείτε το DNS lookup και να φιλτράρετε με την παρεχόμενη διεύθυνση IP (φαίνεται παρακάτω). Η παρακάτω εικόνα δείχνει ένα πακέτο από τη συνεδρία της περιήγησής μας στο Facebook.
Όπως φαίνεται, το Wireshark εμφανίζει μερικές διαφορετικές καρτέλες στο κάτω μέρος του παραθύρου. Εκτός από την καρτέλα Frame, το ένα ονομάζεται Decrypted TLS. Κοιτάζοντας την αναπαράσταση ASCII του πακέτου, βλέπουμε το πιστοποιητικό του ιστότοπου (συμπεριλαμβανομένης της λέξης Facebook). Σε αυτό το σημείο, αποκρυπτογραφήσαμε με επιτυχία την κυκλοφορία TLS στο Wireshark.
Εφαρμογές και περιορισμοί
Η αποκρυπτογράφηση της κίνησης TLS επιτυγχάνεται με πολλές εφαρμογές. Πολλοί hackers έχουν προχωρήσει στη χρήση κρυπτογραφημένων μεταδόσεων σε μια προσπάθεια να αυξήσουν το επίπεδο της ανωνυμίας τους και να ελέγξουν τις επικοινωνίες και την αξιοπιστία στα θύματά τους. (Οι άνθρωποι έχουν εκπαιδευτεί να εμπιστεύονται το πράσινο λουκέτο δυστυχώς…) Χρησιμοποιώντας την αποκρυπτογράφηση TLS, οι επιχειρήσεις μπορούν να αποκρυπτογραφήσουν και να πραγματοποιήσουν επιθεώρηση των πακέτων στην κίνηση που υπάρχει στην επιχείρησή τους.
Ο κύριος περιορισμός της αποκρυπτογράφησης TLS στο Wireshark είναι ότι απαιτεί η συσκευή παρακολούθησης να έχει πρόσβαση στα μυστικά που χρησιμοποιούνται για την κρυπτογράφηση. Ενώ το επιτύχαμε εξάγοντας τα κλειδιά από το Chrome και το Firefox, πολλές επιχειρήσεις επιλέγουν να εφαρμόσουν έναν διακομιστή μεσολάβησης που διασπά τη σύνδεση TLS σε δύο μέρη. Αν και αυτό είναι αποτελεσματικό για την παρακολούθηση, έχει σημαντικές επιπτώσεις στην προστασία της ιδιωτικότητας και της ασφάλειας.
Το ζήτημα του απορρήτου είναι ότι οι χρήστες δεν μπορούν να εξαιρεθούν από την παρακολούθηση σε ορισμένες περιπτώσεις (π.χ. έλεγχος τραπεζικών πληροφοριών).