1 / 69

Revealing Skype Traffic: when randomness plays with you

Revealing Skype Traffic: when randomness plays with you . Μαρία-Ελεάνα Μούκα Αμ:1916. Τι ακριβώς είναι το Skype?.

vine
Download Presentation

Revealing Skype Traffic: when randomness plays with you

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Revealing Skype Traffic: when randomness plays with you Μαρία-Ελεάνα Μούκα Αμ:1916

  2. Τι ακριβώς είναι το Skype? • ένα πολύ δημοφιλές VoIPsoftware που τράβηξε την προσοχή όχι μόνο της ερευνητικής κοινότητας αλλά και των φορέων εκμετάλλευσης δικτύων.(αναπτυχθηκε το 2003 από τους ιδρυτες του Kazaaπλεον εχει φτασει τα 100000000 χρηστες) • Τα πρωτόκολλα που χρησιμοποιεί το Skype καθώς και οι αλγόριθμοί του αποτελούν κλειστή πηγή (ιδιόκτητος σχεδιασμός) και είναι άγνωστα προς τους υπόλοιπους.

  3. Σκοπός μας… • Nα καταφέρουμε (παρά τους ισχυρούς μηχανισμούς αποκρυπτογράφησης που χρησιμοποιεί το Skype και παρά το γεγονός ότι η κίνηση είναι ασαφής) να αποκαλύψουμε την κίνηση στο Skype σε real time,ανεξάρτητα με το πρωτόκολλο επιπέδου μεταφοράς που χρησιμοποιείται (TCP,UDP) • Με ποιο τρόπο όμως μπορούμε να το πετύχουμε?

  4. Τρόποι για να το επιτύχουμε… • Προτείνεται ένα πλαίσιο βασισμένο σε δύο συμπληρωματικές και επεκτασιμες τεχνικές: (1) η 1η τεχνική βασίζεται στο Pearson’s Chi-Square testαλλά είναι αγνωστικιστικό στα VoIP χαρακτηριστικά που είναι συσχετισμένα με τα χαρακτηριστικά κίνησης(προσέγγιση CSC) (2) η 2η τεχνική βασίζεται σε ένα στοχαστικό χαρακτηρισμό της κίνησης στοSkype(προσέγγιση NBC)

  5. Πιο Συγκεκριμένα… • για την 1η τεχνική: χρησιμοποιείται για την ανίχνευση των δακτυλικών αποτυπωμάτων του Skype από τη δομή του packet framing αξιοποιώντας την τυχαιότητα που εισάγεται στο επίπεδο τωνbit κατά της διαδικασία κρυπτογράφησης

  6. Πιο Συγκεκριμένα… • για την 2ητεχνική: βασίζεται στο ρυθμό άφιξης των πακέτων και το μέγεθος του πακέτου,τα οποία χρησιμοποιούνται ως χαρακτηριστικά γνωρίσματα της διαδικασίας απόφασης βασισμένη στο Naive Bayesian Classifiers(Αφελείς Bayesian ταξινομητές).

  7. Αξιολόγηση Τεχνικών… • Για να αξιολογήσουμε τις παραπάνω τεχνικές ως προς την αποτελεσματικότητά τους αναπτύσσουμε ένα off line cross-checking ευριστικό που βασίζεται στην βαθυά επιθεώρηση πακέτων και στη συσχέτιση ροών. • Αυτό το ευριστικό μας επιτρέπει να ποσοτικοποιήσουμε την ποσότητα των ψευδώς αρνητικών και ψευδώς θετικών που συλλέχθηκαν από τις δύο παραπάνω τεχνικές. • Αποτελέσματα μετρήσεων από διαφορετικά δίκτυα δείχνουν ότι αυτές οι τεχνικές είναι αποτελεσματικές στον προσδιορισμό της Skype κυκλοφορίας.

  8. Γιατί ενδιαφερόμαστε τόσο πολύ για την αναγνώριση της κυκλοφορίαςστο Skype? • Καθοριστική για την ανάλυση της κυκλοφορίας. • Καθοριστική για τον χαρακτηρισμό και τον σχεδιασμό του δικτύου και μπορούμε μέσω αυτής να κάνουμε κάποιες προβλέψεις. • Συμφέρον Φορέων εκμετάλλευσης δικτύων: παρακολουθώντας την κίνηση στο Skype και τις επιδόσεις σχεδιάζουν νέες τιμολογικές πολιτικές και στρατηγικές διαφοροποίησης της κυκλοφορίας.

  9. Πως διασταυρώνουμε ότι με τις 2 αναφερθείσες τεχνικές παίρνουμε σωστά αποτελέσματα? • Αναπτύσσουμε ένα Payload Based Classifier (PBC) • Το PBC βασίζεται στην παραδοσιακή τεχνική της επιθεώρησης των πακέτων σε βάθος σε συνδιασμό με μία ανάλυση για κάθε host η οποία μας επιτρέπει να αναγνωρίσουμε τους clients του Skype και το traffic που δημιουργείται από αυτούς

  10. Αναλυτικότερα…(1) • Χρησιμοποιούμε το PBC για τη διασταύρωση των αποτελεσματων που επιτεύχθηκαν με τις στατιστικές προσεγγίσεις. • Από ελεγχόμενα πειράματα και από πραγματικά΄ίχνη κίνησης μεσω του PBC δημιουργείται ενα dataset στο οποίο χαρακτηρίζουμε/ταξινομούμε τα Skype flows

  11. Αναλυτικότερα…(2) • Το dataset αυτό χρησιμοποιείται για να ποσοτικοποιήσει τον αριθμό των NBC/CSC ψευδώς θετικών και ψευδώς αρνητικών αποτελεσμάτωντους. • Τρέχοντας λοιπόν σε αυτό το dataset τις 2 διαφορετικές τεχνικές μας (NBC,CSC) μπορούμε να τις αξιολογήσουμε.

  12. Αναλυτικότερα…(3) Η κοινή χρήση των 2 τακτικών περιορίζει αρκετα τον αριθμό των ψευδών θετικών και αρνητικών αποτελεσμάτων

  13. The Skype Source Model-KhaosModel • Πρωτότυπη μελέτη της κυκλοφορίας που προκύπτει από έναν πελάτη Skype • Στοχος:να αποκομιστεί ενα μοντέλο των πηγων κινησης του Skype(traffic source model) • πηγές κυκλοφορίας/κίνησης ώστε να χτίσουμε αποτελεσματικές μεθόδους ταυτοποίησης

  14. The Skype Source Model-Khaos Model • Για να αποκτήσουμε ένα traffic source model εκτελούμε αρκετά πειράματα σε ελεγχόμενο περιβάλλον: πλατφόρμα δοκιμών στην οποία συμμετέχουν διάφοροι υπολογιστές συνδεδεμένοι μεταξύ τους με Linux NAT,Firewall,Routerκτλ • Δοκιμάστηκαν διαφορετικές εκδοχές του Skype που είχαν εγκατασταθεί και έτρεχαν σε διαφορετικά λειτουργικά συστήματα (και διαφορετικα σεναρια δικτυων)

  15. The Skype Source Model-Khaos Model • Το Skype προσφέρει VoIP δυνατότητες με δύο τρόπους: (1) End-to-end(E2E):η κίνησηδημιουργείται ανάμεσασε 2 hosts καθένα απότα οποία τρέχει έναν Skype Client (2)End-to-out(E2O):η κίνηση δημιουργείται ανάμεσασε έναν end- host και ένα PSTN τηλέφωνο μέσω Skype-out services

  16. The Skype Source Model • Δεδομένου ότι το Skype υποστηρίζει φωνή, βίντεο, chat και μεταφορά δεδομένων έχουμε διαφορετικές πηγές πληροφοριών • Αν και κάθε πηγη εχει διαφορετικά χαρ/κα όλες οι πηγές παράγουν blocks πληροφοριών που πολυπλέκονται σε ένα πλαίσιο (πολυπλεξία)

  17. The Skype Source Model Λαμβάνοντας υπόψιν την «πηγή» φωνή ο κωδικοποιητής φωνής που χρησιμοποιείται κατά τη διάρκεια μίας κλήσης (Voice Codec ) έχει ως εξόδους blocks κωδικοποιημένης φωνής.

  18. The Skype Source Model • Ο framerείναι υπεύθυνος για τη δημιουργία των Skype frames πολυπλέκοντας σε ένα πλαίσιο/frame ένα η περισσότεραblocks • Μόλις δημιουργηθεί ένα frame συμπιέζεται αριθμητικά από τον Archiverκαι κρυπτογραφείται από το Cypher

  19. The Skype Source Model • Τέλος ένα προσθετο μη κρυπτογραφημένο header μπορεί να είναι παρών και συμβολίζεται με την έναρξη του μηνύματος (SoM/start of message) στην εικονα • Το SoMπαίζει σημαντικό ρόλο στοPBC • Το αποτελεσμα της παραπάνω εικόνας είναι ένα Skype message το οποίο θα ενθυλακωθεί ειτε σε UDP τμήμα είτε σε TCP τμήμα

  20. The Skype Source Model • Στην πλευρά της εισόδου έχουμε 3 σημαντικές παραμέτρους με καθοριστικό ρόλο για τα χαρ/κα της κυκλοφορίας/κίνησης που θα προκύψει (1) Rate (2) ΔΤ (3) RF

  21. Rate Είναι o ρυθμος/ποσοστό των bits πουχρησιμοποιειται από την πηγή(πχ το voice codec rate)

  22. ΔΤ Αντιπροσωπεύει το framing time του Skype message , δηλαδή είναι το χρονικό διάστημα μεταξύ των 2 μεταγενέστερων Skype messages που ανήκουν στο ίδιο flow

  23. RF Είναι πλεονάζων παράγοντας δηλαδή ο αριθμός των προηγούμενων block που το Skype αναμεταδίδει ανεξάρτητα από το εγκριθέν Codec κατά μήκος με το τρέχον block

  24. The Skype Source Model Όλες οι παραπάνω παράμετροι μπορούν να αλλάξουν κατά τη διαρκεια της συνδεσης ανάλογα με τις συνθήκες στο δίκτυο όπως παρατηρούμε και στο παραπανω σχημα

  25. The Skype Source Model Voice Call η παραπάνω εικόνα αναφέρεται σε ένα ίχνος μηνύματος που παρατηρείται κατά τη διάρκεια μιας κλήσης μεταξυ δυο πελατων/clients στους οποίους τεχνητά επιβαλαμε το διαθέσιμο εύρος ζώνης.

  26. The Skype Source Model • Το 1ο διάγραμμα δείχνει τον μέσο ρυθμό των bits (bits/sec) και το επιβαλλόμενο εύρος ζώνης. • Το 2ο διάγραμμα δείχνει το ΔΤ • Το 3ο διαγραμμα δειχνει το μέγεθος πακέτου σε σχεση με το χρονο

  27. The Skype Source Model Παρατηρώντας το μέγεθος του μηνύματος τα αποτελέσματα του μεταβαλλόμενου ρυθμού των bits (codec και framer) είναι ορατά.Δηλαδή παρατηρούμε ότι κατά την έναρξη της σύνδεσης (0-30 sec)τα μυνήματα έχουν περίπου 2πλό μέγεθος συγκριτικά με το μέγεθος των μυνημάτων στο 2ο μέρος της κλήσης[40-150 sec]

  28. The start of message-SoM • Η επιλογή του πρωτοκόλλου μεταφορας(TCP,UDP) εχει ισχυρή επίπτωσηστον τροπο κρυπτογραφησης μηνυματων • Όταν χρησιμοποιείται TCP πρωτόκολλο το Skype κρυπτογραφεί όλο το περιεχόμενο όλων των μηνυμάτων. • Όταν χρησιμοποιεί UDP πρωτόκολλο ο Skype παραλήπτης πρέπει να εξάγει από το application layerheader καποια επιπροσθετη πληροφορία για να ανιχνεύσει και να αντιμετωπίσει ένα πιθανό λάθος

  29. The start of message-SoM • Ετσι με το UDP το Skype δεν μπορει να κρυπτογραφήσει ολόκληρο το μήνυμα. • Το Skype στέλνει και λαμβάνει UDP τμήματα χρησιμοποιώντας μια σταθερή θύρα για να αποφύγει μια επιπλέον σηματοδότηση που θα χρειαζόταν στην περίπτωση μιας δυναμικής θύρας. • Οποτε κάποια application layer headers πρέπει να προστεθούν στον πολυπλέκτη ώστε να υπάρχουν διαφορετικά μηνύματα (φωνή,βιντεο ..) στο ιδιο flow μεταφορών

  30. Τι ακριβώς είναι το SoMτελικά? Όταν τα Skype messages ενθυλακώνονται σε UDP τμήματα μια μερίδα των Skype messages μπορούν να αναγνωριστούν από το UDP payload ,αυτό ακριβως ονομάζουμε αρχή μηνύματος/SoM

  31. End-to-end messages Παρατηρώντας τα ενθηλακωμένα UDP messages μεταξύ 2 clients τα εξής πεδία αναγνωρίζονται: ID:το 1ο και το 2οbyte (16 bits) που χρησιμοποιούνται για να αναγνωρίσουν μοναδικά το μήνυμα(επιλέγεται τυχαια από τον αποστολεα και αντιγραφεται στην απαντηση του παραληπτη) Fun:ενα 5bitoπεδιο (3οbyte) που οριζει τον τυπο του payload Frame:περιέχει μια πιθανή πολυπλεγμένη ακολουθια κρυπτογραφημένων πληροφοριών και blocks φωνης

  32. Skypeout Messages • Αρχικό Στάδιο των Skypeoutκλήσεων: (1) σηματοδότηση μεταξύ πελάτη/clientκαι κάποιων υπερ-κόμβων(super-nodes) • Δεύτερο Στάδιο: ένα φωνητικό κωδικοποιημένο stream μηνυμάτων ενεργοποιείται μεταξύ του caller και του gateway node και μετατρέπεται η κλήση σε PSTN

  33. SkypeoutMessages-CID(connection identifier) • Πaρατηρώντας το payload των UDP ενθυλακωμένων φωνητ μηνυμάτων βλέπουμε ότι μετα από ένα μεταβλητό αριθμό αρχικών μηνυμάτων τα πρώτα 4 bytes παίρνουν την ίδια τιμή . • Αυτά τα 4 bytes θεωρούμε ότι χρησιμοποιούνται από την PSTN πύλη ως αναγνωριστικό σύνδεσης(connection identifier,CID) αν και κατα τη διάρκεια της σύνδεσης είναι πιθανό να αλλάξουν.

  34. Πώς να προχωρήσουμε με την ταυτοποίηση της κυκλοφορίας του Skype? Χρησιμοποιούμε 3 είδη classifier , οι οποίοι εκμεταλλεύονται διαφορετικές πτυχές και χαρ/κα της κυκλοφορίας του Skype για την ταυτοπoίηση της κυκλοφορίας του Skype: (1) Nyx (Chi-square-classifier,CSC) (2) Erebos (Naïve-Bayes-Classifier,NBC) (3) Hemera (Payload-Based Classifier,PBC)

  35. Nyx • Επικεντρώνεται σε μηχανισμόυς κρυπτογράφησης • Η απόφαση που παίρνει βασίζεται στην ανάλυση της τυχαιότητας του περιεχομένου του μυνήματος,την οποία εισήγαγε η κρυπτογράφηση. • Μας επιτρέπει να ξεχωρίσουμε την κίνηση από Skype clients από άλλες VoIP πηγές καθώς χρησιμοποιούν διαφορετικό header

  36. Erebos • Στοχαστικός χαρακτηρισμός των ιδιοτήτων της κίνησης που παράγεται από την πηγή χρησιμοποιώντας το μέγεθος πακέτου και το χάσμα μεταξύ πακέτων • Η απόφασή του Erebos στηρίζεται με βάση την ομοιότητα των πιθανών Skype flows με τα αναμενόμενα στοχαστικά χαρ/κα

  37. Hemera • Βασίζεται σε μια παραδοσιακή βαθυά επιθεώρηση των πακέτων • Ισχύει μόνο για UDP flows

  38. The Classifiers-Nyx(Αναλυτικότερα..) • Χρησιμοποιέι το Pearson’s Chi-Square statisticaltest για να εκτιμήσει αν και ποια τμήματα μηνύματος είναι κρυπτογραφημένα • Σκοπός του τεσταυτού:ελέγχει αν το μήνυμα υπό ανάλυση συμφωνεί σε μορφή με τα Skype messages και αντίστοιχα αποκαλύπτει τα δακτυλικά αποτυπώματα • Ανάλογα με το είδος του flow έχουμε διαφορετικά χαρ/κα στο περιεχόμενο του μηνύματος

  39. The Classifiers-Nyx(Αναλυτικότερα..) στο τεστ αυτό βλεπουμε τη συμπεριφορα του αντικειμενου -για ένα συνολο φορων - και βλεπουμε αν εχει την αναμενομενη συμπεριφορα υπολογιζοντας την απόκλιση των τιμών που παρατηρήθηκαν στην έξοδο σε σχέση με την αναμενόμενη κατανομή των εκροών. • nTOT: πεπερασμένος αριθμός φορών που επαναλαμβάνουμε το παραπάνω τεστ • i=τιμή εξόδου • Pi: πιθανότητα να έχουμε την i εξοδο • N πιθανές έξοδοι • Ei:αναμενομενος αριθμος των εμφανισεων i (Ei=nTOT*Pi)

  40. The Classifiers-Nyx(Αναλυτικότερα..) • Oi:αριθμος εμφανισεων του i στο πείραμα • Μέτρηση Απόκλισης της παρατηρουμενης συμπεριφορας σε σχεση με την αναμενομενη συμπεριφορα: n-1 χ^2=Σ((Oi-Ei)^2)/Ei i=0

  41. The Classifiers-Nyx(Αναλυτικότερα..) • Αν το αντικείμενο συμπεριφέρεται όπως αναμενεται ,συμφωνα με την κατανομη chi-square , εχει n-1 βαθμους ελευθεριας • Αν υποθέσουμε ότι η εξοδος του αντικειμένου είναι αυτή με πιθανοτητα piκαι ξανακάνουμε το πειραμα αυτή η υποθεση απορριπτεται αν στο προηγ αθροισμα εχουμε αποτελεσμα είναι μεγαλυτερο του 1-α (α=ποσοστιμοριο κατανομης). • Χρησιμοποιώντας αυτή την ιδεα χτιζουμε την CSC ιδεα, ελεγχοντας αν το περιεχομενο ενός μηνυματος που ανηκει σε ένα flow συμφωνει με την παραπανω Skype συμπεριφορα

  42. Πως ακριβώς δουλευει το πειραμά μας ? • Για κάθε μήνυμα που ανήκει στο ιδιο flow θεωρούμε τα πρωτα G groups των b bits και υπολογίζουμε για κάθε block g = 1, . . .G, τιςμεταβλητέςOg(i:μετράει τισ φορές που το g block πηρε την τιμή i) αξιολογούμε το τεστ για κάθε ομαδα από bits: 2^(b-1) (χg)^2=Σ((Oi^g-Ei)^2)/Ei i=0

  43. Πως ακριβώς δουλευει το πειραμά μας ? • Ελέγχουμε τα xg^2 για να δούμε αν η υπόθεσή μας επαληθεύεται • Για την υπόθεσή μας χρησιμοποιούμε τον πίνακα με τα χαρ/κα των περιεχόμενων των μηνυμάτων:

  44. Πως ακριβώς δουλευει το πειραμά μας ? • Για να ελενξουμε αν μια ομαδα g είναι random, deterministic η mixed (random+constant bits) θεωρουμε ως αναμενομενη συμπεριφορά αυτή: Ei = nTOT/(2^b) nTOT:αριθμος μηνυματων που ανηκουν στο ιδιο flow • Συγκρίνουμε το xg^2 με κάποια κατώτατα ορια που προκύπτουν από την κατανομή chi-square

  45. Συνεχεια.. • Συμβολίζουμε τα κατώτατα όρια: x^2(Rnd), x^2(Mixed), and x^2(Det) • ΚΡΙΤΗΡΙΑ (ταξινομουμε τα flows με βαση αυτά): (1) E2E over UDP(random blocks πρεπει να ναι ομοια με την κατανομη μας ,mixed blocks που περιεχουν deterministic bits εχουν μεγαλα Xg max(Xg^2)<x^2(Rnd) and min(Xg^2)>X^2(Mixed)

  46. Συνεχεια… (2) E2O over UDP.(SoM deterministic) Min(Xg^2)>X^2(Det) and max (Xg^2)<X^2(Rnd) (3)E2E or E2O over TCP. Max(Xg^2)<X(Rnd) (όλα τα groups random) Else NotSkype!!

  47. Συνεχεια… • στο διαγραμμα αυτό εχουμε Xg^2 versus Ntotγια τα 3 ειδη των group(deterministic,random,mixed) • Οσο μεγαλωνει το Ntot μεγαλωνει και το Xg^2 και για τα deterministic και για τα mixedgroups • Τα κατωτατα ορια δεν είναι σημαντικα εδώ αφου η συμπεριφορα τους είναι ευδιακριτη(των 3 γκρουπ) • Μειωση παραμετρων ->x^2(Rnd)=x^2(Mixed)=x^2(Det)

  48. Erebos-Naïve Bayes Classifier • Χρησιμοποιει ιδιαιτερα χαρακτηριστικα του real time traffic • Ο αλγοριθμος (NBC) στηρίζεται στον χαρακτηρισμο της κινησης συνδιαζοντας τον voice codec με τον framer για στοχαστικο χαρακτηρισμο του skype traffic • Η ομοιοτητα της μετρουμενης κινησης με το skype traffic μετραται από τον NBC αλγοριθμο

  49. Συνεχεια… • Βασικη ιδεα:υποθετουμε ότι παρατηρουμε ένα αντικειμενο που περιγραφεται από παρατηρησιμες ποσοτητες που ονομαζονται features. • Εχουμε ένα vector X οπου X=[Xi] αναπαριστα την iοστη τιμη του feature X • Μετα υπολογιζουμε την πιθανοτητα P(C|X) δηλαδη την πιθανοτητα ότι το αντικειμενο ανηκει στην κλαση C

  50. Συνεχεια… • Feature Selection.. • Θελουμε να επιλεξουμε ένα μικρο αριθμο features προκειμενου να ταυτοπoιησουμε τα Skype flows • Επιλεγουμε ως features: • Message size(window of w messages) x=[s1,s2,s3,…,sw Message size dependent on spesific codec

More Related