Κρυπτογράφηση σε VoIP τεχνολογία: Μελέτη περίπτωσης
Abstract
Η ασφάλεια στις –ασύρματες ή μη- επικοινωνίες αποτελεί πρωταρχικό σχεδιαστικό στόχο
των επικοινωνιακών συστημάτων και εφαρμογών. Ιδιαίτερα η χρήση της τεχνολογίας VoIP,
λόγω της ολοένα αυξανόμενης διείσδυσής της σε καθημερινές εφαρμογές, θέτει εκ των
πραγμάτων πολλά ερωτήματα ως προς την παρεχόμενη ασφάλεια ιδίως δε αν λάβει κανείς
υπόψη ότι δεδομένα που πρέπει να προστατευθούν ενδέχεται να αποθηκεύονται σε
φορητές συσκευές (tablets κ.λπ.).
Αντικείμενο της παρούσας διατριβής είναι η μελέτη της ασφάλειας που παρέχεται από VoIP
εφαρμογές, με μελέτη περίπτωσης την εφαρμογή Linphone η οποία αφενός παρουσιάζει
ολοένα αυξανόμενη χρήση και αφετέρου πρόκειται για εφαρμογή ανοικτού κώδικα, κάτι
που επιτρέπει την ενδελεχέστερη ανάλυσή της. Βάσει αυτών, απώτερος στόχος της
διατριβής είναι η πλήρης κατανόηση και αποτίμηση της παρεχόμενης ασφάλειας της
εφαρμογής LinPhone, η οποία δεν έχει μελετηθεί εκτενώς στη βιβλιογραφία, καθώς επίσης
και η βελτίωση της.
Ειδικότερα, στο πλαίσιο εκπόνησης της παρούσας διατριβής γίνεται αρχικά μία γενική
μελέτη στα θέματα ασφάλειας και στους σχετικούς κινδύνους που ανακύπτουν σε
εφαρμογές VoIP. Στη συνέχεια, η έρευνα εστιάζει ειδικά στην εφαρμογή Linphone, όπου
πραγματοποιείται μελέτη των υποκείμενων λειτουργιών και πρωτοκόλλων της εφαρμογής,
με έμφαση στα υποστηριζόμενα πρωτόκολλα ασφαλείας (TLS, ZRTP, SRTP), καθώς επίσης
και μελέτη των γνωστών επιθέσεων που έχουν καταγραφεί για τα πρωτόκολλα αυτά.
Στο πλαίσιο αυτό, περιγράφουμε μία νέα διαδικασία που μπορεί να είναι αποτελεσματική
για την αντιμετώπιση συγκεκριμένου τύπου επιθέσεων τύπου «άνθρωπος-στο-μέσο»
(man-in-the-middle) ως προς το πρωτόκολλο ZRTP οι οποίες έχουν καταγραφεί στη
βιβλιογραφία. Περαιτέρω, μέσα από πρακτική εφαρμογή σε εργαστηριακό περιβάλλον
διαπιστώθηκαν συγκεκριμένα κενά ασφάλειας στο Linphone, τα οποία σχετίζονται ιδίως με
το γεγονός ότι το TLS δεν χρησιμοποιείται εξ ορισμού στην εν λόγω εφαρμογή για τα
δεδομένα σηματοδοσίας, καθώς επίσης και το ότι αρκεί το ένα από τα δύο μέλη της
επικοινωνίας να μην χρησιμοποιεί TLS – ακόμα κι αν το άλλο μέλος χρησιμοποιεί -
προκειμένου να πραγματοποιηθεί μη κρυπτογραφημένη (και, άρα, μη ασφαλής) ανταλλαγή
μηνυμάτων σηματοδοσίας. Περαιτέρω, αντιμετωπίσαμε μία πραγματική επίθεση
«ανεπιθύμητων κλήσεων» η οποία είχε σκοπό να ελέγξει (scan) το σύστημά μας. Για όλα τα
ανωτέρω ζητήματα παρατίθενται προτάσεις αντιμετώπισής τους. Τέλος, ελέγχθηκε η
απόδοση του Linphone εντός ενός VPN, όπου διαπιστώθηκε κατ’ αρχάς ότι δεν
παρατηρείται κάποια αξιοσημείωτη μείωση αυτής – γεγονός που συνηγορεί στο ότι
δύνανται πρακτικά να αξιοποιηθούν τεχνολογίες VPN για πρόσθετη ασφάλεια στο
Linphone.