ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Διπλωματική Εργασία Μεταπτυχιακού Διπλώματος Ειδίκευσης

Σχετικά έγγραφα
«Αnti- Spamming σε publish/ subscribe συστήματα»

ασφάλεια υϖοδοµών VoIP: αϖειλές και ϖιθανές λύσεις

Network Address Translation (NAT)

Βασικές Υπηρεσίες Διαδικτύου. Επικοινωνίες Δεδομένων Μάθημα 2 ο

Διαχείριση Ειδοποιήσεων με Κινητές Συσκευές

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Υπηρεσία Ηλεκτρονικού Ταχυδρομείου - SMTP

ΚΕΦΑΛΑΙΟ 10. Υπηρεσίες και εφαρμογές Διαδικτύου. ΚΕΦΑΛΑΙΟ 10 Υπηρεσίες και εφαρμογές Διαδικτύου. Α Γενικού Λυκείου

Lexicon Software Pachutzu

Ανεπιθύµητη Τηλεφωνία µέσω ιαδικτύου. Μια νέα απειλή που αναζητά λύσεις.

Επικοινωνία με μηνύματα. Κατανεμημένα Συστήματα 1

Δίκτυα Υπολογιστών Firewalls. Χάρης Μανιφάβας

Αντιμετώπιση ανεπιθύμητης αλληλογραφίας (spam)

Βασίλειος Κοντογιάννης ΠΕ19

ίκτυα - Internet Υπηρεσίες Internet O Παγκόσµιος Ιστός (World Wide Web) Ηλεκτρονική Αλληλογραφία ( ) Υπηρεσία FTP (File Transfer Protocol)

DNS. Όλες οι άλλες υπηρεσίες του Διαδικτύου, (WWW και ) χρησιμοποιούν το DNS

Τι είναι ένα δίκτυο υπολογιστών; Αρχιτεκτονική επιπέδων πρωτοκόλλων. Δικτυακά πρωτόκολλα

Πρωτόκολλα Διαδικτύου Μέρος 2ο. Επικοινωνίες Δεδομένων Μάθημα 3 ο

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών Δίκτυα υπολογιστών. (και το Διαδίκτυο)

Πρωτόκολλα Επικοινωνίας και Τείχος Προστασίας

Το ηλεκτρονικό ταχυδρομείο: Aφορά στην αποστολή και λήψη μηνυμάτων με συγκεκριμένη δομή και με συγκεκριμένα πρωτόκολλα. Ο αποστολέας και ο παραλήπτης

Κάντε κλικ για έναρξη

Εργαστηριακή Άσκηση 5

Εισαγωγή στην Πληροφορική

Εύρωστες Ψηφιακές Υπoδομές και Υπηρεσίες: Διάκριση ανθρώπου ή bot

Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας - Βιβλιοθηκονοµίας. Υπηρεσίες Internet. ίκτυα Η/Υ. Επίπεδο Εφαρµογής. Ενότητα θ

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

a. b. c. d ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

4.1.1 Πρωτόκολλο TCP - Δομή πακέτου

Τεχνολογία Πολυμέσων. Ενότητα # 19: Τηλεδιάσκεψη Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

6.2 Υπηρεσίες Διαδικτύου

7.2.2 Σχέση OSI και TCP/IP

Κεφάλαιο 7.3. Πρωτόκολλο TCP

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Κινητά και Διάχυτα Συστήματα. Ενότητα # 6: Εφαρμογές DHT Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Πρότυπο Αναφοράς Open Systems Interconnection (OSI) Επικοινωνίες Δεδομένων Μάθημα 5 ο

ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ Ι. Σημειώσεις Θεωρίας

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

Αντιµετώπιση των ανεπιθύµητων ηλεκτρονικών µηνυµάτων. Blocking spam mail. ηµήτρης Μπιµπίκας

Επικοινωνία. Ηλεκτρονικό ταχυδρομείο. Δημιουργία λογαριασμού. Λήψη ηλεκτρονικού μηνύματος. Αποστολή ηλεκτρονικού μηνύματος. Απάντηση και προώθηση

Ψηφιακά Πιστοποιητικά Ψηφιακές Υπογραφές

Εγχειρίδιο Χρήσης για Διαχειριστές. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο

Διαχείριση Ασφάλειας και Εμπιστοσύνης σε Πολιτισμικά Περιβάλλοντα

Κεφάλαιο 7 Διαδικτύωση-Internet. 7.2 Τεχνολογία TCP/IP

ΤΜΗΜΑ ΕΚΠΑΙΔΕΥΤΙΚΗΣ ΥΠΟΛΟΓΙΣΤΙΚΗΣ ΥΠΟΔΟΜΗΣ ΜΗΧΑΝΟΓΡΑΦΙΚΟ ΚΕΝΤΡΟ

Εγχειρίδιο χρήσης συστήματος ηλεκτρονικής αλληλογραφίας της Ελληνικής Ομοσπονδίας Μπριτζ

ΠΡΩΤΟΚΟΛΟ HTTP ΕΝΤΟΛΩΝ ΔΙΑΣΥΝΔΕΣΗΣ ΕΚΔΟΣΗ 1.2

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΗΛΕΚΤΡΟΝΙΚΟΥ ΤΑΧΥΔΡΟΜΕΙΟΥ ΕΣΔΥ

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

Δρομολόγηση (Routing)

ΕΠΙΚΟΙΝΩΝΙΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΕΣ INTERNET

Οδηγίες χρήσης ηλεκτρονικών υπηρεσιών GreekLUG

Αρχές Δικτύων Επικοινωνιών. Επικοινωνίες Δεδομένων Μάθημα 4 ο

Web and HTTP. Βασικά Συστατικά: Web Server Web Browser HTTP Protocol

BlackBerry Internet Service. Οδηγός χρήστη

Γκέγκα Ευρώπη Κωστοπούλου Ειρήνη

Περιεχόμενα. Πρόλογος... xiii

1. Τι είναι ακεραιότητα δεδομένων, με ποιους μηχανισμούς επιτυγχάνετε κ πότε θα χρησιμοποιούσατε τον καθένα εξ αυτών;

Διαχειριστικό σύστημα ονομάτων χώρου

ΒΟΗΘΕΙΑ για τη χρήση του ιδρυματικού αποθετηρίου ΥΠΑΤΙΑ ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ

το ιαδίκτυο συνδέει εκατοµµύρια χρήστες αποτελώντας την µεγαλύτερη πηγή πληροφοριών και ανταλλαγής µηνυµάτων στον πλανήτη.

ΨΗΦΙΑΚΑ ΠΙΣΤΟΠΟΙΗΤΙΚΑ ΓΙΑ ΑΣΦΑΛΗ ΚΑΙ ΠΙΣΤΟΠΟΙΗΜΕΝΗ ΕΠΙΚΟΙΝΩΝΙΑ ΜΕ ΤΗΝ ΤΡΑΠΕΖΑ ΤΗΣ ΕΛΛΑΔΟΣ. Οδηγίες προς τις Συνεργαζόμενες Τράπεζες

Εγχειρίδιο Χρήσης για Εκπαιδευτές/Διοικητικούς. Πλατφόρμα Μεταφόρτωσης και Μετατροπής Βίντεο

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Πανεπιστήμιο Πειραιά Τμήμα Ψηφιακών Συστημάτων. ίκτυα Υπολογιστών Ι. To Μοντέλο OSI. Αναπλ. Καθηγ. Π. εμέστιχας

Εργαστήριο Ασφάλεια Πληροφοριακών Συστημάτων. PGP (Pretty Good Privacy)

ΕΚΦΩΝΗΣΕΙΣ ΘΕΜΑ Α. α. Πριν εμφανιστεί η τεχνολογία ISDN οι υπηρεσίες φωνής, εικόνας και δεδομένων απαιτούσαν διαφορετικά δίκτυα.

Δροµολόγηση (Routing)

Κατανεμημένα Συστήματα. Ενότητα # 11: Μηνυματοστρεφές ενδιάμεσο λογισμικό Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 16: Πολυεκπομπή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

ΤΕΧΝΟΛΟΓΙΑ ΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

ΠΡΟΣΤΑΣΙΑ ΠΡΟΣΩΠΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ΣΤΙΣ ΤΕΧΝΟΛΟΓΙΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΘΩΣ ΚΑΙ ΣΤΟ ΔΙΑΔΙΚΤΥΟ

ΠΡΟΤΕΙΝΟΜΕΝΑ ΘΕΜΑΤΑ ΣΤΑ ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΙΙ Γ Τάξη Ε.Π.Α.Λ.

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

Πρωτόκολλο ARP. Γεωργιλά Χιονία Καθηγήτρια Πληροφορικής ΠΕ1901

Μάθημα 5: To Μοντέλο Αναφοράς O.S.I.

Δίκτυα Θεωρία

Δίκτυα Υπολογιστών. Δίκτυα υπολογιστών και το Διαδίκτυο Εισαγωγή. Κ. Βασιλάκης

Α5.1 Εισαγωγή στα Δίκτυα. Α Λυκείου

Π Τ Υ Χ Ι Α Κ Η Ε Ρ Γ Α Σ Ι Α

Πρωτόκολλα Διαδικτύου

21/4/2018. Μετά την εφαρμογή του Κανονισμού θα σταματήσω δέχομαι τηλεφωνικές κλήσεις, μεσημεριανές ώρες για προσφορές συνδέσεων κινητής τηλεφωνίας;

Βήμα 6. Ακολουθήστε αυτά που υποδεικνύουν τα σχήματα 6,7,8,9 και 10. σχήμα 6. σχήμα 7. σχήμα 8

ΕΝΟΤΗΤA Σχολικό εργαστήριο πληροφορικής και εισαγωγή στα θέματα ασφάλειας

Περιεχόμενα. Visio / White paper 1

Ως Διαδίκτυο (Internet) ορίζεται το παγκόσμιο (διεθνές) δίκτυο ηλεκτρονικών υπολογιστών (international network).

ΟΔΗΓΟΣ ΧΡΗΣΗΣ(ΜΑΝUΑL) ΔΙΑΧΕΙΡΙΣΤΗ-ΧΡΗΣΤΗ.

Επίπεδο Δικτύου: Διαδικτύωση

Δίκτυα Υψηλών Ταχυτήτων Ενότητα 9: MPLS

Πανελλήνιο Σχολικό Δίκτυο

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗ ΧΡΗΣΗ ΤΟΥ CONTROL PANEL RACKSPACE

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Ερώτηση 1 η μεταγωγής κυκλώματος? : Ποια είναι τα κύρια χαρακτηριστικά της. Ερώτηση 2 η : Ποια είναι τα κύρια χαρακτηριστικά της μεταγωγής μηνύματος?

Internet Τοπικό δίκτυο LAN Δίκτυο Ευρείας Περιοχής WAN Διαδίκτυο Πρόγραμμα Πλοήγησης φυλλομετρητής Πάροχοι Υπηρεσιών Internet URL HTML links

Οδηγίες. για το web περιβάλλον διαχείρισης λογαριασμών. my.teiath.gr

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δίκτυα Υπολογιστών

2 η Σειρά Ασκήσεων Data Link Layer

ΤΕΧΝΟΛΟΓΙΑ ΔΙΚΤΥΩΝ ΕΠΙΚΟΙΝΩΝΙΩΝ

Transcript:

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΠΡΟΓΡΑΜΜΑ ΜΕΤΑΠΤΥΧΙΑΚΩΝ ΣΠΟΥΔΩΝ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διπλωματική Εργασία Μεταπτυχιακού Διπλώματος Ειδίκευσης «Αnti- Spamming σε publish/ subscribe συστήματα» «Προστασία από κακόβουλους Publishers» Γεώργιζα Χαρούλα Επιβλέπων: Μαριάς Ιωάννης 2 ος Αξιολογητής: Ξυλωμένος Γεώργιος ΑΘΗΝΑ, ΙΟΥΝΙΟΣ 2009

Χαρούλα Ν. Γεώργιζα Copyright Χαρούλα Ν. Γεώργιζα Με επιφύλαξη παντός δικαιώματος. All rights reserved. Απαγορεύεται η αντιγραφή, αποθήκευση και διανομή της παρούσας εργασίας, εξ ολοκλήρου ή τμήματος αυτής, για εμπορικό σκοπό. Επιτρέπεται η ανατύπωση, αποθήκευση και διανομή για σκοπό μη κερδοσκοπικό, εκπαιδευτικής ή ερευνητικής φύσης, υπό την προϋπόθεση να αναφέρεται η πηγή προέλευσης και να διατηρείται το παρόν μήνυμα. Ερωτήματα που αφορούν τη χρήση της εργασίας για κερδοσκοπικό σκοπό πρέπει να απευθύνονται προς τον συγγραφέα. Οι απόψεις και τα συμπεράσματα που περιέχονται σε αυτό το έγγραφο εκφράζουν τον συγγραφέα και δεν πρέπει να ερμηνευθεί ότι αντιπροσωπεύουν τις επίσημες θέσεις του Οικονομικού Πανεπιστημίου Αθηνών. 2

ΠΕΡΙΛΗΨΗ Τα τελευταία χρόνια, τα publish/ subscribe συστήματα -μοντέλα διάδοσης πληροφορίας που προσφέρουν στους χρήστες τους μόνο εκείνες τις πληροφορίες που τους ενδιαφέρουν, έχουν γίνει ιδιαίτερα δημοφιλείς. Τα publish/ subscribe είναι εκ φύσεως many- to many τύποι επικοινωνίας. Όμως, σε τέτοιο είδους περιβάλλον διεγείρονται σοβαρά θέματα ασφάλειας. Η ύπαρξη των spam μηνυμάτων τόσο στα e- mails όσο και στα συστήματα publish/ subscribe είναι εξίσου ένα σοβαρό αμφιλεγόμενο θέμα ασφάλειας στις μέρες μας, το οποίο ακόμη δεν έχει πλήρως αντιμετωπιστεί. Στην παρούσα διπλωματική εργασία ερευνούμε την αντιμετώπιση των spam σε content- based publish/ subscribe συστήματα. Ορίζουμε σενάρια για το ποιοι μπορεί να είναι οι spammers σ αυτά τα συστήματα και πως αντιμετωπίζονται. Εστιάζουμε στον εντοπισμό και την μείωση των publisher s spammers, προτείνοντας μηχανισμό εμπιστοσύνης και αυθεντικοποίησης των publishers. Στον μηχανισμό χρησιμοποιούμε anti- spamming μεθόδους και ασύμμετρη κρυπτογραφία με την χρήση πιστοποιητικών δημόσιων κλειδιών (arbitrated digital signature). 3

Ευχαριστίες Θα ήθελα να ευχαριστήσω τον επιβλέποντα καθηγητή μου κ. Ιωάννη Μαριά για την εμπιστοσύνη που μου έδειξε και για την αμέριστη συμπαράστασή του στις κάθε είδους δυσκολίες που συνάντησα καθ όλη την διάρκεια αυτής της εργασίας. Η διαρκής βοήθεια και καθοδήγηση του ήταν απαραίτητη και πολύτιμη. Επίσης, θα ήθελα να ευχαριστήσω τον κ. Ξυλωμένο Γεώργιο, καθηγητή του τμήματος Πληροφορικής του Οικονομικού Πανεπιστημίου Αθηνών για την πρόθυμη υποστήριξή του σε κάθε ζήτημα που αφορούσε τη διπλωματική μου εργασία. 4

5

ΠΕΡΙΕΧΟΜΕΝΑ 1. 1. Εισαγωγή...10 1. 2. Email...11 1. 3 Email Πρωτόκολλα...12 1. 3. 1. SMTP (Simple Mail Transfer Protocol)...12 1. 3. 2. POP (Post Office Protocol)...12 1. 3. 3. IMAP (Internet Message Access Protocol)...13 1. 3. 4. ΜΙΜΕ (Multipurpose Internet Mail Extensions)...13 1. 4. SPAM...14 1. 5. Μηχανισμοί αντιμετώπισης των spam...18 1. 5. 1. Τεχνικές Πρόληψης (Prevention)...19 1. 5. 2. Τεχνικές Εντοπισμού (Detection)...21 1. 5. 3. Τεχνικές Αντίδρασης (Handling)...23 2. 1. Εισαγωγή...26 2. 2. SIP (Session Initiation Protocol)...27 2. 3. Αυτόκλητη διακίνηση μηνυμάτων στο SIP (SPIT)...31 3. 1. Εισαγωγή...36 3. 2. Συστήματα Δημοσιεύσεων/ Συνδρομών (publish/ subscribe)...37 3. 2. 1. Δομή του publish/ subscribe συστήματα και χαρακτηριστικά του...37 3. 2. 2. Τύποι Μηνυμάτων...40 3. 2. 3. Τύποι Συστημάτων publish/ subscribe...42 3. 2. 4. Τύπος Δικτύου...44 3. 2. 5. Ανασκόπηση Γνωστών Συστημάτων publish/ subscribe...45 3. 3. Αυτόκλητη διακίνηση μηνυμάτων spam στα Συστήματα publish/ subscribe βασισμένα στο περιεχόμενο...50 3. 3. 1 Πιθανοί spammers...50 3. 4. Λύση για προστασία από bogus publishers...54 3. 4. 1. Διαδικασία εφαρμογής...59 3. 5. Σχετική Έρευνα...71 3. 6. Επίλογος...72 ΒΙΒΛΙΟΓΡΑΦΙΑ...73 6

Σχήματα Σχήμα 1. 1.: Ηλεκτρονική Αλληλογραφία...11 Σχήμα 1. 2.: Πρωτόκολλα Διαχείρισης Ηλεκτρονικής Αλληλογραφίας...12 Σχήμα 1. 3.: Δισεκατομμύρια Spam mails/ ημέρα...15 Σχήμα 1. 4. : Μηχανισμοί Αντιμετώπισης των Spam...18 Σχήμα 1. 5.: Τεχνικές Πρόληψης Spam...19 Σχήμα 1. 6.: Τεχνικές Εντοπισμού Spam...21 Σχήμα 1. 7.: Τεχνικές Αντίδρασης Spam...23 Σχήμα 2. 1.: SIP σύνοδος εγκατάστασης και τερματισμός κλήσης...28 Σχήμα 2. 2.: Απλή κλήση SIP, χρησιμοποιώντας έναν Redirect Server...29 Σχήμα 2. 3.: Εγκαθίδρυσης κλήσης SIP μέσω ενός ενδιάμεσου Proxy Server...30 Σχήμα 2. 4.: Τεχνικές αντιμετώπισης του SPIT...32 Σχήμα 3. 1.: Αρχιτεκτονική publish subscribe συστήματος...37 Σχήμα 3. 2.: Space Decoupling...38 Σχήμα 3. 3.: Time Decoupling...39 Σχήμα 3. 4.: Synchronization decoupling...39 Σχήμα 3. 5.: Τύποι μηνυμάτων...40 Σχήμα 3. 6.: Δρομολόγηση δημοσίευσης n1 (με τιμή 65) στους συνδρομητές με συνδρομές s1 και s2 στο σύστημα SIENA...47 Σχήμα 3. 7.: Παράδειγμα ανάπτυξης του multicast δέντρου στο σύστημα Hermes...49 Σχήμα 3. 8.: Περιπτώσεις όπου ο publisher γίνεται spammer...51 Σχήμα 3. 9.: Διαδικασία Κρυπτογράφησης και Αποκρυπτογράφησης...55 Σχήμα 3. 10.: Ψηφιακό πιστοποιητικό...56 Σχήμα 3. 11.: Τεχνική challenge- response...60 Σχήμα 3. 12.: Δημιουργία και Επαλήθευση ψηφιακής υπογραφής...61 Σχήμα 3. 13.: Έκδοση ψηφιακού πιστοποιητικού και αυθεντικοποίηση του publisher...64 Σχήμα 3. 14.: Message Digest...65 Σχήμα 3. 15.: Ψηφιακή Υπογραφή...65 Σχήμα 3. 16.: Προσάρτηση της ψηφιακής υπογραφής στο κείμενο...65 Σχήμα 3. 18.: Διαδικασία που ο publisher στέλνει advertisement στον broker...67 Σχήμα 3. 19.: Διαδικασία όταν o publisher στέλνει publication/ notification στον subscriber...68 Σχήμα 3. 20.: Content- based Filtering...69 Σχήμα 3. 21.: Φιλτράρισμα δεδομένων για να δούμε αν το μήνυμα είναι spam...70 7

ΠΙΝΑΚΕΣ Πίνακας 1. 1.: Κατάταξη χωρών προέλευσης spam μηνυμάτων...15 Πίνακας 1. 2.: Κόστος Spam- Αμερική ( U. S.)...16 Πίνακας 1. 3.: Περιεχόμενα Spam e- mail...16 Πίνακας 1. 4.: Τεχνικές αποστολής spam μηνυμάτων...17 8

ΚΕΦΑΛΑΙΟ 1 ο 9

1. Αυτόκλητη διακίνηση μηνυμάτων ηλεκτρονικής αλληλογραφίας (SPAM) 1. 1. Εισαγωγή Η επικοινωνία σε επαγγελματικό και προσωπικό επίπεδο άλλαξε από τη στιγμή που μπήκε στη ζωή μας το Internet. Ο όρος ηλεκτρονικό ταχυδρομείο είναι πλέον μια καθημερινή έννοια. Το ηλεκτρονικό ταχυδρομείο έχει ως στόχο τη μεταφορά μηνυμάτων από τον αποστολέα προς τον παραλήπτη. Η ουσιαστική διαφορά του με το παραδοσιακό ταχυδρομείο είναι ότι το ηλεκτρονικό χρησιμοποιεί τα τηλεπικοινωνιακά δίκτυα για να μεταδοθεί. Αυτό βοηθάει ώστε τα μηνύματά μας να μεταφέρονται ταχύτατα, με ασφάλεια και (θεωρητικά) χωρίς κόστος από το ένα σημείο του πλανήτη στο άλλο. Αυτοί είναι και οι λόγοι στους οποίους στηρίζεται η τεράστια εξάπλωση του ηλεκτρονικού ταχυδρομείου. Στο κεφάλαιο αυτό, πρώτον αναφέρουμε τι σημαίνει email και ποια είναι η διαδικασία επικοινωνίας των χρηστών προκειμένου να στείλουν mail μεταξύ τους. Δεύτερον, γίνεται αναφορά στα πρωτόκολλα που χρησιμοποιούνται για την επικοινωνία μεταξύ των χρηστών. Τρίτον δίνουμε τον ορισμό του spam και την εξέλιξη του μέχρι τώρα. Τέλος προτείνονται μηχανισμοί αντιμετώπισης του spam. 10

1. 2. Email Το σχήμα 1 περιγράφει την ανταλλαγή ηλεκτρονικού μηνύματος μεταξύ αποστολέα και παραλήπτη. [1] Σχήμα 1. 1.: Ηλεκτρονική Αλληλογραφία Η διαδικασία είναι η εξής: 1. Ο χρήστης (mail user agent) αρχικά συντάσσει το προς αποστολή μήνυμα και στην συνέχεια εγκαθιστά μία SMTP (Simple Mail Transfer Protocol) σύνδεση με τον εξυπηρετητή αποστολής αλληλογραφίας (mail transfer agent) του και μεταφέρει το μήνυμα σε αυτόν. 2. Μόλις το μήνυμα ληφθεί από τον εξυπηρετητή αποστολής αλληλογραφίας (ΜΤΑ) του αποστολέα, τότε ο MTA προκειμένου να εντοπίσει την διεύθυνση του MTA του παραλήπτη κάνει χρήση της υπηρεσίας DNS. 3. Αφού εντοπισθεί η διεύθυνση, o MTA του αποστολέα αποστέλλει το μήνυμα στον MTA του παραλήπτη με χρήση του πρωτοκόλλου SMTP, όπου και αποθηκεύεται. 4. Ο παραλήπτης χρησιμοποιεί το πρωτόκολλο POP3 (post office protocol) ή το IMAP (Internet message access protocol) για να συνδεθεί με τον MTA του και ανακτά το αποθηκευμένο μήνυμα. 11

1. 3 Email Πρωτόκολλα Τα πιο γνωστά πρωτόκολλα που χρησιμοποιούνται για την αποστολή και λήψη ηλεκτρονικών μηνυμάτων αναφέρονται εν συντομία παρακάτω. [1] Σχήμα 1. 2.: Πρωτόκολλα Διαχείρισης Ηλεκτρονικής Αλληλογραφίας 1. 3. 1. SMTP (Simple Mail Transfer Protocol) Εξ ορισμού το πρωτόκολλο SMTP είναι φτιαγμένο με σκοπό να μεταφέρει ηλεκτρονικά μηνύματα με αξιόπιστο και αποδοτικό τρόπο. Είναι απλό και αυθεντικό γεγονός που βοήθησε στην ευρεία εξάπλωση του. 1. 3. 2. POP (Post Office Protocol) Το πρωτόκολλο POP χρησιμοποιείται από τον παραλήπτη για την ανάκτηση των μηνυμάτων του από τον εξυπηρετητή ηλεκτρονικής αλληλογραφίας του(μτα). Για παράδειγμα, ας υποθέσουμε ότι μόλις γυρίσαμε στο χώρο εργασίας μας και ανοίγουμε τον υπολογιστή για να ελέγξουμε την αλληλογραφία μας. Κάποια μηνύματα από αυτά που φτάνουν έχουν σταλεί πριν από αρκετή ώρα ή αρκετές μέρες. Το ερώτημα είναι πού βρίσκονται αυτά τα μηνύματα μέχρι να ανοίξουμε τον υπολογιστή μας. Τη στιγμή που θα εμφανιστούν στην οθόνη μας βρίσκονται ήδη στον υπολογιστή μας. Πώς καταλήγουν εκεί και τι γίνεται αν ο υπολογιστής μας είναι κλειστός την ώρα της αποστολής; Εδώ είναι ακριβώς το σημείο που χρειάζεται το πρωτόκολλο POP3. Ο χρήστης αποκτά πρόσβαση στο λογαριασμό που του έχει παραχωρηθεί. Στην πράξη, ο προσωπικός 12

μας υπολογιστής επικοινωνεί με τον κεντρικό εξυπηρετητή. Αυτό είναι το μέρος που καταλήγουν τα email μετά την αποστολή τους και περιμένουν να τα ζητήσουμε. Κατά τη σύνδεση του υπολογιστή μας με τον κεντρικό εξυπηρετητή δίνεται εντολή για τη μεταφορά των ηλεκτρονικών μηνυμάτων στο δικό μας υπολογιστή. Ο κεντρικός εξυπηρετητής, διατηρεί αποθηκευμένα (μέχρι να μεταφερθούν στον υπολογιστή μας) τα ηλεκτρονικά μηνύματα όλων των χρηστών του, που μπορεί να είναι δεκάδες ή χιλιάδες ή ακόμα περισσότερα. 1. 3. 3. IMAP (Internet Message Access Protocol) Το πρωτόκολλο IMAP (Internet Mail Access Protocol) δίνει την δυνατότητα στο να διατηρηθούν τα ηλεκτρονικά μηνύματα στον κεντρικό εξυπηρετητή (server) του παροχέα μας. Αν το πρόγραμμα διαχείρισης ηλεκτρονικής αλληλογραφίας συνδεθεί μέσω του πρωτοκόλλου IMAP (αντί του POP3) τα ηλεκτρονικά μηνύματά μας δε θα μεταφερθούν στον υπολογιστή μας, αλλά θα παραμείνουν στον κεντρικό εξυπηρετητή ώστε να διαβαστούν και την επόμενη φορά από τον ίδιο ή διαφορετικό υπολογιστή. Έτσι λοιπόν, σε αντίθεση με το POP3 η φυσική θέση των μηνυμάτων μας, είναι στον κεντρικό εξυπηρετητή. Προσωρινά αποθηκεύονται στον υπολογιστή μας για να τα επεξεργαστούμε. Όταν τελειώσει η επεξεργασία ενημερώνεται ο κεντρικός υπολογιστής για τις εργασίες που κάναμε (π.χ. διαγραφή) και ανανεώνει το περιεχόμενο του. Την επόμενη φορά που θα χρησιμοποιήσουμε το πρωτόκολλο IMAP τα μηνύματά μας θα είναι διαθέσιμα και ενημερωμένα, ανεξάρτητα από τον υπολογιστή που εργαζόμαστε. 1. 3. 4. ΜΙΜΕ (Multipurpose Internet Mail Extensions) Το πρωτόκολλο αυτό δίνει την δυνατότητα μεταφοράς μηνυμάτων με περιεχόμενο πέρα από απλό κείμενο, δηλαδή εικόνες, πολυμέσα, κ.α. Επιπλέον επέκταση του MIME είναι το S/ ΜΙΜΕ (Secure/ Multipurpose Internet Mail Extensions), το οποίο δίνει την δυνατότητα να αντιμετωπισθούν θέματα ασφάλειας στο ηλεκτρονικό ταχυδρομείο. Η ηλεκτρονική αλληλογραφία γίνεται με την χρησιμοποίηση ψηφιακής υπογραφής και κρυπτογραφίας δημόσιου κλειδιού. 13

1. 4. SPAM Spam είναι η μαζική αποστολή μεγάλου αριθμού μηνυμάτων που απευθύνονται σε ένα σύνολο παραληπτών του Διαδικτύου χωρίς αυτοί να το επιθυμούν και χωρίς να έχουν συνειδητά προκαλέσει την αλληλογραφία με τον εν λόγω αποστολέα. Τα κυριότερα χαρακτηριστικά του spam μπορούν να συνοψιστούν στα ακόλουθα σημεία: Απρόκλητο: Η επικοινωνία που επιχειρείται είναι απρόκλητη, δηλαδή δεν υπάρχει κάποια σχέση μεταξύ παραλήπτη και αποστολέα που θα δικαιολογούσε ή θα προκαλούσε την επικοινωνία αυτή. Εμπορικό: Πολλές φορές το spam αφορά στην αποστολή μηνυμάτων εμπορικού σκοπού για την προβολή και τη διαφήμιση προϊόντων και υπηρεσιών, με σκοπό την προσέλκυση πελατών και την πραγματοποίηση πωλήσεων. Μαζικό: Το spam συνίσταται στη μαζική αποστολή μεγάλων ποσοτήτων μηνυμάτων από τον αποστολέα σε ένα μεγάλο πλήθος παραληπτών. [2] 14

Έρευνες [3] έχουν δείξει ότι ο αριθμός των μηνυμάτων spam ολοένα και αυξάνεται με το πέρασμα των χρόνων. Στο σχήμα 1. 3. βλέπουμε ότι από 30% τον Ιούνιο του 2005, αυξήθηκε μέχρι και 90% τον Φεβρουάριο του 2007. Σχήμα 1. 3.: Δισεκατομμύρια Spam mails/ ημέρα Σύμφωνα με έρευνα [4] η κατάταξη των χωρών ως προς το από πού προέρχονται τα spam φαίνεται στον πίνακα 1.2. Παρατηρούμε ότι τα μεγαλύτερα ποσοστά προέρχονται από τις ΗΠΑ, την Κίνα και την Ρωσία. Πίνακας 1. 1.: Κατάταξη χωρών προέλευσης spam μηνυμάτων. 15

Στον πίνακα 1. 2. [5] παρατηρούμε τα κόστη που επιφέρουν τα spam mails στην Αμερική ενώ στον πίνακα 1. 3. αναφέρονται οι κατηγορίες περιεχόμενου των spam. Πίνακας 1. 2.: Κόστος Spam- Αμερική ( U. S.) Πίνακας 1. 3.: Περιεχόμενα Spam e- mail 16

Οι τεχνικές που χρησιμοποιούνται κυρίως για την αποστολή spam μηνυμάτων αναφέρονται στον πίνακα 1. 4. [6] ΤΕΧΝΙΚΗ Συγκομιδή (harvesting) και επίθεση λεξικού Μαζικά e-mails Joe job Αναμετάδοση μέσω τρίτων οντοτήτων Εισβολή (break-in) Zombies (botnets / robots) ΤΡΟΠΟΣ ΛΕΙΤΟΥΡΓΙΑΣ Δημιουργία λίστας- στόχου διευθύνσεων ηλεκτρικού ταχυδρομείου είτε μέσω αυτοματοποιημένης αναζήτησης στο web, είτε μέσω τυχαίας δημιουργίας της στηριζόμενης σε λεξικό. Μαζική αποστολή emails από κακόβουλο τρίτη οντότητα κάνοντας χρήση της δικιάς της e- mail διεύθυνσης. SPAM μέσω e-mail διεύθυνσης ανυποψίαστου χρήστη Χρήση αναμεταδοτών e-mail SPAM για την δρομολόγηση των μηνυμάτων προς τους τελικούς αποδέκτες. Εισβολή σε σύστημα ανυποψίαστου για SPAM Χρήση εγκατεστημένων προγραμμάτων σε συστήματα ανυποψίαστων χρηστών Πίνακας 1. 4.: Τεχνικές αποστολής spam μηνυμάτων. 17

1. 5. Μηχανισμοί αντιμετώπισης των spam Οι μηχανισμοί αντιμετώπισης spam είναι μηχανισμοί όπου λαμβάνονται από τους χρήστες έτσι ώστε να υπάρχει σωστή και κατάλληλη αντιμετώπιση των spam μηνυμάτων. Οι μηχανισμοί αντιμετώπισης των spam διακρίνονται σε τρεις μεγάλες κατηγορίες, οι οποίες είναι οι εξής [6] και φαίνονται στο σχήμα 1. 4.: Πρόληψη (Prevention) Εντοπισμός (Detection) Αντίδραση (Handling) Σχήμα 1. 4. : Μηχανισμοί Αντιμετώπισης των Spam. 18

1. 5. 1. Τεχνικές Πρόληψης (Prevention) Οι τεχνικές πρόληψης του spam αποσκοπούν στην αποτροπή αποστολής μηνυμάτων spam, πριν την εκδήλωση τους. Οι κυριότερες τεχνικές πρόληψης φαίνονται στο σχήμα 1. 5. [6] Σχήμα 1. 5.: Τεχνικές Πρόληψης Spam Η τεχνική των Λευκών Λιστών (White Lists) [7] στηρίζεται σε ένα σύνολο/ λίστα διευθύνσεων αποστολέων οι οποίοι θεωρούνται αξιόπιστοι και των οποίων η αλληλογραφία γίνεται άμεσα αποδεκτή. Οι διευθύνσεις δεν είναι απαραίτητο να αναφέρονται μόνο σε email διευθύνσεις αλλά μπορεί να περιλαμβάνουν και IP διευθύνσεις, κ.α. Επομένως, οι χρήστες δέχονται emails μόνο απ αυτούς που συμπεριλαμβάνονται στις λίστες τους. Η τεχνική Αυθεντικοποίηση του Αποστολέα στηρίζεται στην πιστοποίηση του αποστολέα, δηλαδή στην γνώση της ταυτότητας του. Υπάρχει η ανάγκη επιβεβαίωσης ότι ο αυτός με τον οποίο κανείς στέλνει email είναι πραγματικά αυτός που ισχυρίζεται. Οι πιο διαδεδομένες τεχνικές αυθεντικοποίησης του αποστολέα είναι η ψηφιακή υπογραφή, η διπλή χειραψία (username-password) μεταξύ του αποστολέα και του παραλήπτη, κ.α. 19

Η τεχνική Πρόκληση/ Απόκριση (Challenge/ Response) στηρίζεται στην αποστολή αίτησης (response) προς τον αποστολέα εισερχόμενου email και αναμονή απάντησης (response) έτσι ώστε να εξασφαλιστεί η ανθρώπινη πηγή του μηνύματος και να αποφευχθεί η δυνατότητα αυτόματης παραγωγής μαζικών emails. Η αίτηση αυτή συνήθως απαιτεί από τον αποστολέα του αρχικού μηνύματος είτε να απαντήσει σε κάποια εξειδικευμένη ερώτηση είτε να συμπληρώσει μία φόρμα απαντώντας στο τι βλέπει σε μία εικόνα ή στο τι άκουσε από ένα audio file. Η τεχνική Παραποίηση της Διεύθυνσης στηρίζεται στην απόκρυψη /παραποίηση της διεύθυνσης του ηλεκτρονικού ταχυδρομείου από τους spammers ενώ σου δίνει την δυνατότητα να την δημοσιεύσεις ελεύθερα σε δημόσια ηλεκτρονικά forums. Η τεχνική αυτή απαιτεί διόρθωση προτού κάποιος θέλει να ανακτήσει την διεύθυνση ηλεκτρονικού ταχυδρομείου κάποιου. Για παράδειγμα εάν η email διεύθυνση κάποιου είναι η εξής: postmaster@unc.edu, τότε η παραποίηση της διεύθυνσης θα μπορούσε να είναι: postmaster at unc dot edu ή postmasternospam@unc.edu. Η τεχνική του Κουπονιού Έγκρισης (Consent token) στηρίζεται στην ύπαρξη κάποιου «κόστους», όπως υπολογιστικό/ proof- of- work ή οικονομικό, από την μεριά του αποστολέα για κάθε μήνυμα που αυτός αποστέλλει. Άρα, μπορεί να απαιτηθεί από τον αποστολέα είτε να προβεί σε υπολογισμούς που απαιτούν χρόνο ή υπολογιστικό κόστος, είτε να καταβάλλει προκαταβολικά κάποιο χρηματικό μικροποσό, το οποίο θα του επιστραφεί στην περίπτωση που το μήνυμα του δεν είναι spam. [8] 20

1. 5. 2. Τεχνικές Εντοπισμού (Detection) Οι τεχνικές εντοπισμού του spam λειτουργούν προσπαθώντας να ξεχωρίσουν τα spam μηνύματα από τα κανονικά emails. Η διαδικασία είναι αρκετά απαιτητική λόγω ότι καλείται να πάρει αποφάσεις για λογαριασμό των χρηστών του και πρέπει να τις πραγματοποιεί με ακρίβεια και ταχύτητα. Η διαδικασία αυτή επιβαρύνεται ακόμα περισσότερο από το γεγονός ότι οι πληροφορίες για κάθε email είναι περιορισμένες. Οι κυριότερες τεχνικές εντοπισμού φαίνονται στο σχήμα 1. 6. [6] Σχήμα 1. 6.: Τεχνικές Εντοπισμού Spam Η τεχνική των Μαύρων Λιστών (Black Lists) [7] είναι το αντίθετο της τεχνικής Λευκών Λιστών και στηρίζεται σε λίστα διευθύνσεων των οποίων τα μηνύματα ηλεκτρονικής αλληλογραφίας απορρίπτονται άμεσα ως spam. Το βασικό μειονέκτημα τόσο αυτής της τεχνικής, όσο και των λευκών λιστών είναι ο μεγάλος αριθμός διευθύνσεων στην λίστα λόγω λανθασμένων αποδοχών (False acceptance rate) ή λανθασμένων απορρίψεων (False rejection rate). Για την αντιμετώπιση αυτού του προβλήματος προέκυψαν τα συστήματα φήμης/ εμπιστοσύνης (reputation systems). Τα συστήματα φήμης [9] στηρίζονται στην απόδοση ενός βαθμού αξιοπιστίας σε κάθε αποστολέα ηλεκτρονικής αλληλογραφίας. Όταν ο βαθμός αυτός είναι υψηλότερος από ένα όριο (threshold), τα email του συγκεκριμένου χρήστη γίνονται αποδεκτά. Αν είναι 21

χαμηλότερος, τα email του είτε απορρίπτονται, είτε τους εφαρμόζονται άλλες τεχνικές anti- spamming για περαιτέρω εξακρίβωση της φύσης τους. Το Συνεργατικό φιλτράρισμα (Collaborative Filtering) [10] στηρίζεται στην συνεργασία μεγάλου αριθμών χρηστών, καθένας από τους οποίους χαρακτηρίζει τα λαμβανόμενα από αυτόν μηνύματα ως spam ή όχι. Η πληροφορία αυτή μαζί με ένα αναγνωριστικό του περιεχόμενου του μηνύματος όπως hash, άθροισμα ελέγχου, κ. α., μεταδίδεται σε μια κοινή βάση δεδομένων έτσι ώστε οι μελλοντικοί παραλήπτες να είναι σε θέση να εκτιμήσουν την φύση του μηνύματος. Οι τεχνικές Ανάλυσης Περιεχομένου στηρίζονται στην ανάλυση του περιεχομένου των μηνυμάτων, με σκοπό την ομαδοποίησή τους βάσει κοινών χαρακτηριστικών. Αυτές οι τεχνικές χωρίζονται σε δύο μεγάλες κατηγορίες: στην στατική ανάλυση περιεχομένου (static content filtering lists) και δυναμική ανάλυση περιεχομένου ( learning content filtering systems). Η πρώτη εξετάζει τα περιεχόμενα ενός email ψάχνοντας για λέξεις ενδεικτικές σε spam μηνύματα. Αυτές οι λέξεις πιθανόν ανασύρονται από ένα δυναμικό λεξικό το οποίο τροφοδοτείτε συνεχώς με λέξεις που περιέχονται σε μηνύματα spam. Η δεύτερη στηρίζεται κυρίως σε Bayesian φίλτρα και σε μηχανισμού λήψης αποφάσεων. Η τεχνική Ανάλυσης Ίχνους στηρίζεται στην εύρεση της πηγής αποστολής μηνυμάτων τύπου spam. [8] 22

1. 5. 3. Τεχνικές Αντίδρασης (Handling) Οι τεχνικές Αντίδρασης λειτουργούν αφού έχει γίνει ο εντοπισμός των spam μηνυμάτων. Οι τεχνικές αυτές δίνουν την δυνατότητα στους χρήστες να αποφασίσουν για το τι θα γίνουν τα spam μηνύματα. Οι κυριότερες τεχνικές Αντίδρασης φαίνονται στο σχήμα 1. 7. [6] Σχήμα 1. 7.: Τεχνικές Αντίδρασης Spam Η τεχνική της Καραντίνας (Quarantine) λειτουργεί θέτοντας το εντοπισμένο spam μήνυμα σε προσωρινή απομόνωση έως ότου κάποιο κατάλληλο πρόσωπο, όπως ο διαχειριστής ή ο χρήστης, το εξετάσει και θα αποφασίσει για τον τελικό χαρακτηρισμό του. Ο Περιορισμός του ρυθμού (Limit Rate) στοχεύει στον περιορισμό του ρυθμού παραλαβής μηνυμάτων ηλεκτρονικού ταχυδρομείου ανά αποστολέα ανεξάρτητα από το αν αυτός έχει χαρακτηρισθεί spammer. Δρα κυρίως προληπτικά και χρησιμοποιείται κυρίως ως ένας έμμεσος τρόπος περιορισμού spam σε επίπεδο ISP (Internet Service Provider). Η τεχνική της Απόρριψης (Reject) στηρίζεται στην απόρριψη του τρέχοντος μηνύματος, το οποίο έχει χαρακτηρισθεί ως spam. Να αναφέρουμε ότι διαφέρει από την 23

τεχνική της Πτώσης (Drop). Η τεχνική της πτώσης στηρίζεται στην οριστική διακοπή λήψης email από τον αποστολέα του spam μηνύματος. Παρατηρούμε ότι η τεχνική απόρριψης λειτουργεί ανά μήνυμα, ενώ η τεχνική πτώσης λειτουργεί πιο δραστικά και αντιμετωπίζει το πρόβλημα μακροπρόθεσμα. Η τεχνική της Ετικέτας (Label) θέτει στο μήνυμα ετικέτα που δηλώνει ότι είναι spam και στην συνέχεια αφήνει τον χρήστη να επιλέξει τον περαιτέρω χειρισμό του. Η τεχνική Χρέωσης (Charge) στηρίζεται στην χρέωση ενός μικροποσού του αποστολέα. Ο παραλήπτης του spam μηνύματος χρεώνει τον αποστολέα ένα οικονομικό ποσό, έτσι ώστε ο αποστολέα να είναι έγκυρος και να μην στέλνει spam μηνύματα. [8] 24

ΚΕΦΑΛΑΙΟ 2 ο 25

2. Αυτόκλητη διακίνηση μηνυμάτων στο SIP (Spit). 2. 1. Εισαγωγή Το πρωτόκολλο επιπέδου εφαρμογής SIP- Session Initiation Protocol (Πρωτόκολλο εκκίνησης συνόδου), είναι ένα πρωτόκολλο σηματοδοσίας τηλεφωνίας IP που χρησιμοποιείται για την πραγματοποίηση, την τροποποίηση και τον τερματισμό τηλεφωνικών κλήσεων VoIP, δηλαδή συνεδριών απ άκρο σ άκρο (end-to-end) μεταξύ δύο ή περισσοτέρων χρηστών. Παραδείγματα τέτοιων συνεδριών μπορεί να είναι: τηλεφωνικές κλήσεις μέσω Internet, πολυμεσικές συνδιασκέψεις, κατανεμημένα παιχνίδια υπολογιστών κ.ά. Το SIP είναι βασισμένο στο πρωτόκολλο HTTP το οποίο, ως γνωστό, είναι το πλέον διαδεδομένο πρωτόκολλο στο Internet. Το SIP δημιουργήθηκε από τον οργανισμό IETF και δημοσιεύτηκε ως RFC 3261. Στο κεφάλαιο αυτό, πρώτον παρουσιάζουμε πως δομείτε το SIP και ποια είναι η επικοινωνία μεταξύ των οντοτήτων του. Δεύτερον, γίνεται αναφορά στις μορφές του spam στο SIP (spit) και τέλος προτείνονται μηχανισμοί αντιμετώπισης του. 26

2. 2. SIP (Session Initiation Protocol) Οι SIP οντότητες αναγνωρίζονται με τη χρήση SIP URI (Uniform Resource Identifier), που είναι της μορφής sip: username@domain. Αν και η πιο απλή μορφή της επικοινωνίας με SIP περιλαμβάνει δύο οντότητες που επικοινωνούν μεταξύ τους ανταλλάσσοντας SIP μηνύματα, ένα τυπικό SIP δίκτυο περιλαμβάνει αρκετά διαφορετικά SIP στοιχεία. Αυτά μπορεί να είναι Proxy SIP εξυπηρετητές, προωθητές εξυπηρετητές (redirect servers), εξυπηρετητές μητρώου (registars) κ.ά. Παρακάτω παρατίθενται οι βασικές οντότητες του πρωτοκόλλου SIP [11]: 1. UA (User agent): Η τερματική οντότητα στα άκρα μιας επικοινωνίας, η οποία μπορεί να εκτελεί χρέη είτε ως UAS (User Agent Server) όταν απαντά σε κλήσεις συνόδων ή αιτήσεις, είτε ως UAC (User Agent Client) όταν ενεργοποιεί συνόδους ή αιτήσεις. 2. Proxy Server: είναι μία ενδιάμεση οντότητα, η οποία δρα είναι υπεύθυνη να δέχεται κλήσεις ή αιτήσεις, τις οποίες αφού τις επεξεργαστεί κατάλληλα, τις προωθεί είτε σε άλλους proxy είτε σε UAS. Ο βασικός ρόλος του είναι η δρομολόγηση των κλήσεων ή αιτήσεων προς τον παραλήπτη. 3. Registration Server (Registrar): είναι υπεύθυνος για να δέχεται και να επεξεργάζεται REGISTER αιτήσεις αποθηκεύοντας πληροφορίες οι οποίες αφορούν την τρέχουσα φυσική διεύθυνση ενός UA. 4. Redirect Server: είναι υπεύθυνος να δέχεται SIP αιτήσεις και να παρέχει πληροφορίες δρομολόγησης σε αυτές, χωρίς να τις προωθεί προκειμένου να φτάσουν στον παραλήπτη τους. Άρα, αντίθετα με τους Proxy Server δεν προωθεί τις αιτήσεις σε άλλους servers. 27

Το σχήμα 2. 1. [13] φαίνονται διαδοχικά τα βήματα εγκαθίδρυσης μίας συνόδου (session) μεταξύ του UAC και του UAS. Σχήμα 2. 1.: SIP σύνοδος εγκατάστασης και τερματισμός κλήσης. 28

Στο παρακάτω σχήμα 2. 2. [13] φαίνεται η διαδικασία εγκατάστασης κλήσης χρησιμοποιώντας έναν Redirect Server. Σχήμα 2. 2.: Απλή κλήση SIP, χρησιμοποιώντας έναν Redirect Server 29

Επιπλέον, στο σχήμα 2. 3. [13] παρατηρούμε τα βήματα μιας εγκαθίδρυσης κλήσης μεταξύ δύο Users Agents με την βοήθεια ενός ενδιάμεσου Proxy Server. Σχήμα 2. 3.: Εγκαθίδρυσης κλήσης SIP μέσω ενός ενδιάμεσου Proxy Server. 30

2. 3. Αυτόκλητη διακίνηση μηνυμάτων στο SIP (SPIT) Η ορολογία SPIT χρησιμοποιείται για το φαινόμενο του spam στο χώρο της τηλεφωνίας μέσω διαδικτύου. Το SPIT εκδηλώνεται σε τρεις μορφές, οι οποίες είναι οι εξής: Αυτόκλητες κλήσεις (Call Spam): Αυτόκλητες μαζικές προσπάθειες έναρξης συνόδου, κυρίως μέσω μηνυμάτων INVITE, με σκοπό την εγκαθίδρυση φωνητικής, οπτικής, στιγμιαίας (instance messaging) ή άλλης μορφής επικοινωνίας. Spam μέσω στιγμιαίας επικοινωνίας (IM spam): Αυτόκλητη αποστολή μαζικών στιγμιαίων μηνυμάτων, κυρίως με χρήση της επικεφαλίδας MESSAGE του SIP. Η μορφή αυτή είναι παρόμοια με το φαινόμενο του spam στην ηλεκτρονική αλληλογραφία. Spam παρουσίας (Presence spam): Αυτόκλητη αποστολή μαζικών αιτήσεων παρουσίας (presence request), κυρίως με χρήση της επικεφαλίδας SUBSCRIBE, με σκοπό την εγγραφή του αποστολέα στην λευκή λίστα του παραλήπτη, έτσι ώστε μετέπειτα να είναι δυνατή η αποστολή στιγμιαίων μηνυμάτων ή άλλης μορφής επικοινωνίας. 31

Για την αντιμετώπιση του SPIT, χρησιμοποιούμε τις τεχνικές που χρησιμοποιούμε στην αντιμετώπιση του SPAM, καθώς επίσης και μια σειρά από άλλες τεχνικές και τεχνολογίες. Στο σχήμα 2. 4. βλέπουμε μία γενική εικόνα των τεχνικών αυτών. Anti- spit τεχνικές Φιλτράρισμα περιεχόμενου (Content Filtering) Λευκές Λίστες (White Lists) Έγκριση (Consent - Based) Μαύρες Λίστες (Black Lists) Έλεγχος Αποστολέα (Sender Checks) Παραποίηση Διεύθυνσης (Address Obfuscation) Υπολογιστικοί Γρίφοι (Computational Puzzles) Συστήματα Φήμης (Reputation Systems) Γκρίζες Λίστες (Grey Lists) Test Turing Πληρωμή (Payments at Risk) Κύκλοι Εμπιστοσύνης (Circles of Trust) Κεντρικοί πάροχοι SIP Διευθύνσεις περιορισμένης χρήσης (Limited Use Addresses) Ανάδραση σε συστήματα φήμης (Feedback reputation systems ) Ανάδραση πρώτης επαφής (First contact feedback) Σχήμα 2. 4.: Τεχνικές αντιμετώπισης του SPIT 32

Όπως παρατηρούμε πολλές από τις τεχνικές αυτές τις παρουσιάσαμε και στον χώρο του ηλεκτρονικού ταχυδρομείου. Αυτές είναι οι Μαύρες και Λευκές Λίστες, η δοκιμασία Turing που μοιάζει με την τεχνική πρόληψης Πρόκληση/ απόκριση (challenge/ response), η Πληρωμή, τα συστήματα φήμης, το Φιλτράρισμα Περιεχομένου που είναι παρόμοια με την τεχνική εντοπισμού: Ανάλυση Περιεχομένου, η Έγκριση (Consent based), η Παραποίηση Διεύθυνσης και του Ελέγχου Αποστολέα (Sender Check) που είναι παρόμοια με την τεχνική πρόληψης που χρησιμοποιεί αυθεντικοποίηση. Η τεχνική Κύκλος Εμπιστοσύνη (Circle of Trust) [12] στηρίζεται στην αξιόπιστη συνεργασία μεταξύ ενός γκρουπ domains, δηλαδή ο domain B γνωρίζει ότι το μήνυμα προήρθε από τον domain A. Συμφωνούν να ανταλλάσουν SIP κλήσεις μεταξύ τους, καθώς επίσης συμφωνούν να εισάγουν μια χρηματική ποινή έτσι ώστε κανένας να μην λειτουργήσει ως spammer. Οι διευθύνσεις περιορισμένης χρήσης (Limited Use Addresses) [12] στηρίζονται στο ότι κάθε χρήστης έχει στην διάθεση του έναν αριθμό διευθύνσεων επικοινωνίας όπου μπορεί να τις χρησιμοποιεί. Άμα υποστεί spam από αυτές τις διευθύνσεις μπορεί να προβεί σε άμεση κατάργηση τους. Η τεχνική Υπολογιστικοί Γρίφοι (Computational Puzzles) [12] είναι παρόμοια των Turing tests. Όταν ο χρήστης A προσπαθεί να επικοινωνήσει με τον χρήστη B, ο χρήστης Β ζητά από τον χρήστη Α να κάνει έναν υπολογισμό και να περάσει το αποτέλεσμα σε αυτόν. Αυτός ο υπολογισμός πρέπει να είναι οικονομικό κόστος έτσι ώστε να αποτρέπει τους spammers να στέλνουν μηνύματα για εγκαθίδρυση συνόδων. Η τεχνική που έχει να κάνει με τους κεντρικούς πάροχους SIP [12] μοιάζει με την τεχνική της πληρωμής (Payment), καθώς επίσης έχει ομοιότητες με τον κύκλο εμπιστοσύνης (circle of trust). Στηρίζεται στην δυνατότητα εγκαθίδρυσης αμοιβαίας εμπιστοσύνης μεταξύ των παρόχων SIP (SIP Providers). Μετά την εγκαθίδρυση, ακολουθεί μία φάση καθορισμού κόστους κλήσεων SIP στο δίκτυο παρόχων. Για λόγους καλύτερης απόδοσης προτιμούν οι μικροπληρωμές να γίνονται σε μηνιαία φάση. Η τεχνική Γκρίζες Λίστες (Gray Lists) [12] σε αντίθεση με την Μαύρη λίστα που είναι λίστα με απαγορευμένες διευθύνσεις, και την Λευκή λίστα που είναι λίστα με εγκριμένες διευθύνσεις, είναι λίστες διευθύνσεων που πιθανόν να απορριφτούν. Σημαντικό 33

σημείο είναι ότι πρέπει να αποκτηθούν περισσότερα δεδομένα για κάθε περίπτωση. Επομένως, ο παραλήπτης χρησιμοποιώντας Greylisting θα απορρίψει προσωρινά τις κλήσεις που δέχεται. Τώρα, εάν η κλήση είναι νόμιμη και όχι spit, o proxy server θα προσπαθήσει πάλι να εγκαθιδρύσει την κλήση. Εάν είναι spit τότε ο αποστολέας θα χαρακτηρισθεί ως κακόβουλος και οι επόμενες κλήσεις του απορρίπτονται για ένα χρονικό διάστημα. Η τεχνική Αναφορά spit (Report Spit) [14] στηρίζεται στην άμεση ενημέρωση ενός Συστήματος Αναγνώρισης Spit (spit Identification System), το οποίο θα μπορούσε να λειτουργήσει για παράδειγμα στον SIP Proxy server του χρήστη που δέχτηκε την spit κλήση. Αυτό σημαίνει ότι οι spit κλήσεις θα καταχωρούνται σε αυτό, έτσι ώστε στο μέλλον να απορρίπτονται τυχόν μηνύματα από τον ίδιο χρήστη. Η τεχνική Ανάδραση πρώτης επαφής (First Contact Feedback) [14] στηρίζεται στο ότι το σύστημα αναγνώρισης spit, όταν δεχτεί κλήσεις από άγνωστο χρήστη προωθεί μόνο την πρώτη από αυτές κλήσεις στον παραλήπτη και περιμένει ανάδραση από αυτόν προκειμένου να αποφασίσει αν είναι spit ή όχι. Επομένως αν ο παραλήπτης πληροφορήσει το σύστημα ότι η κλήση δεν είναι spit τότε ο αποστολέας προστίθεται από το σύστημα σε Λευκή λίστα, αλλιώς μελλοντικές κλήσεις από τον χρήστη απορρίπτονται και τοποθετούνται στην μαύρη λίστα. Η τεχνική Ανάδρασης σε συστήματα φήμης (Feedback to reputation systems) [14] στηρίζεται στο ότι ο κάθε χρήστης αφού αναθέσει έναν βαθμό αξιοπιστίας στις κλήσεις που δέχεται, στην συνέχεια προωθεί τις βαθμολογίες αυτές στο σύστημα φήμης. Το σύστημα φήμης, ανάλογα με το βαθμό αξιοπιστίας που του έδωσε ο κάθε χρήστης καθορίζει αν η κλήση είναι spit ή όχι. 34

ΚΕΦΑΛΑΙΟ 3 ο 35

3. Αυτόκλητη διακίνηση μηνυμάτων σε publish/ subscribe συστήματα. (SPAM in publish/ subscribe systems) 3. 1. Εισαγωγή Τα τελευταία χρόνια οι εφαρμογές συνεχούς μετάδοσης ροών πληροφορίας στο διαδίκτυο έχουν γίνει ιδιαίτερα δημοφιλείς. Με τον συνεχώς αυξανόμενο ρυθμό εισόδου νέων αντικειμένων πληροφορίας, γίνεται ολοένα και πιο επιτακτική η ανάγκη για την ανάπτυξη Πληροφορικών Συστημάτων που να μπορούν να προσφέρουν στους χρήστες τους μόνο εκείνες τις πληροφορίες που τους ενδιαφέρουν, φιλτράροντας τεράστιους όγκους από άσχετες για τον κάθε χρήστη, πληροφορίες. Ένα μοντέλο διάδοσης πληροφορίας ικανό να ενσωματώσει τέτοιου είδους ιδιότητες, είναι το μοντέλο δημοσιεύσεων/συνδρομών (publish/ subscribe). Σε αυτό το κεφάλαιο πρώτον γίνεται αναφορά στην δομή των publish/ subscribe συστημάτων και την επικοινωνία μεταξύ των οντοτήτων τους. Δεύτερον, ορίζουμε τους τύπους μηνυμάτων σε ένα σύστημα publish/ subscribe, καθώς επίσης σε ποιους τύπους διακρίνονται τα συστήματα αυτά και ανασκόπηση κάποιων παραδειγμάτων. Τρίτον, αναλύουμε την filtering- based αυτόκλητη διακίνηση spam μηνυμάτων στα συστήματα αυτά, και τους στόχους των spammers. Τέλος, παρουσιάζουμε έναν μηχανισμό αυθεντικοποίησης και εμπιστοσύνης των publishers χρησιμοποιώντας μεθόδους antispamming και κρυπτογραφικές μεθόδους με την χρήση ψηφιακών πιστοποιητικών (arbitrated digital signature). 36

3. 2. Συστήματα Δημοσιεύσεων/ Συνδρομών (publish/ subscribe) 3. 2. 1. Δομή του publish/ subscribe συστήματα και χαρακτηριστικά του. Η υποδομή ενός συστήματος publish/ subscribe (δημοσιεύσεων/συνδρομών) αποτελείται από τρία βασικά μέρη, η οποία φαίνεται στο σχήμα 3. 1. [15]: οι publishers, οι οποίοι διοχετεύουν μηνύματα/ δημοσιεύσεις στο σύστημα οι brokers: είναι οι διαμεσολαβητές που έχουν σκοπό να διοχετεύσουν τα μηνύματα/ δημοσιεύσεις στους κατάλληλους μόνο χρήστες. οι subscribers, οι οποίοι δηλώνουν τα ενδιαφέροντα τους για συγκεκριμένα μηνύματα/ δημοσιεύσεις και στη συνέχεια δέχονται μόνο αυτά τα μηνύματα που «ταιριάζουν» με τις συνδρομές τους. Σχήμα 3. 1.: Αρχιτεκτονική publish subscribe συστήματος Η αρχιτεκτονική ενός τυπικού δικτύου που υποστηρίζει τον μοντέλο publish/ subscribe, αποτελείται από κόμβους brokers και τους χρήστες που μπορεί να είναι είτε συνδρομητές- subscribers, είτε publishers. 37

Οι χρήστες συνδέονται στο δίκτυο και διοχετεύουν συνδρομές ή δημοσιεύσεις. Οι συνδρομητές λαμβάνουν τυπικά μόνο ένα υποσύνολο των συνολικών μηνυμάτων που δημοσιεύονται. Τα συστήματα publish/ subscribe είναι ένα παράδειγμα ασύγχρονης μετάδοσης όπου οι αποστολείς (publishers) των μηνυμάτων δεν είναι προγραμματισμένο να στείλουν τα μηνύματα τους σε κάποιους συγκεκριμένους παραλήπτες (subscribers). Αντίθετα, οι χρήστες του συστήματος (publishers και subscribers) δεν γνωρίζονται μεταξύ τους. Πιο συγκεκριμένα η ιδιότητα του decoupling που παρέχει ο broker αποτελείται σε τρεις όψεις, οι οποίες είναι οι εξής: [15] Space Decoupling: Στο σχήμα 3.2 φαίνεται η ιδιότητα του space decoupling που σημαίνει ότι οι οντότητες (publishers και subscribers) δεν χρειάζεται να γνωρίζονται μεταξύ τους. Οι publishers δημοσιεύουν τα event τους μέσω του broker και οι subscribers δέχονται αυτά τα events μέσω του broker. Οι publishers συνήθως δεν κρατάν αναφορές για τους subscribers, το ίδιο ισχύει και για τους subscribers. Σχήμα 3. 2.: Space Decoupling Time Decoupling: Στο σχήμα 3.3 φαίνεται η ιδιότητα του time decoupling που σημαίνει ότι οι οντότητες (publishers και subscribers) δεν χρειάζεται να είναι ενεργές- active την ίδια στιγμή. Πιο συγκεκριμένα, ο publisher πιθανόν να δημοσιεύσει κάποια events ενώ ο subscribers είναι εκτός σύνδεσης. 38

Σχήμα 3. 3.: Time Decoupling Synchronization decoupling: Στο σχήμα 3.4 φαίνεται η ιδιότητα του synchronization decoupling που σημαίνει ότι o publisher δεν μπλοκάρει όταν παράγει events, και οι subscribers μπορούν να δεχτούν ασύγχρονα notified μέσω μίας callback για την ύπαρξη του event. Η παραγωγή και η επεξεργασία των μηνυμάτων δεν γίνεται στην κύρια ροή ελέγχου (flow of control) των publishers και των subscribers. Σχήμα 3. 4.: Synchronization decoupling 39

3. 2. 2. Τύποι Μηνυμάτων Το βασικό μοντέλο για τα publish/ subscribe συστήματα βασίζεται σε τρείς τύπους μηνύματος, στην notify() (ή publish()), στην subscribe(), και στην advertisement(), σύμφωνα με το σχήμα 3.5. [15]: Σχήμα 3. 5.: Τύποι μηνυμάτων Οι publishers είτε δημιουργούν εγγραφή (register) στους brokers είτε δεν εγγράφονται, ανάλογα αν το ζητούν οι brokers. Ο publisher για να παράγει ένα γεγονός (event) καλεί την publish() (ή notify()). To event service, δηλαδή ο broker, διαδίδει το event στους subscribers όπου το γεγονός προσαρμόζεται στα ενδιαφέροντα τους. Μπορεί να θεωρηθεί ως ένας proxy για τους subscribers. Επίσης, οι publishers συχνά εκδηλώνουν το ενδιαφέρον τους να ειδοποιήσουν για τα γεγονότα τους με την αποστολή διαφημίσεων (advertise) στους brokers- καλώντας την advertisement(). Οι πληροφορίες που παρέχονται από τους publishers συνοδεύονται από άλλες σχετικές πληροφορίες (όπως πότε ανακοινώθηκε το γεγονός, από ποιον παράχθηκε, πόσοι το προτίμησαν), ή metadata (για παράδειγμα metadata όσον αφορά ένα βιβλίο είναι: ο τίτλος, ο συγγραφέας, η ημερομηνία έκδοσης κ. α.), έτσι ώστε οι brokers και οι subscribers να κερδίζουν χρόνο στις αναζητήσεις και φυσικά να κερδίζουν και σε ακρίβεια αποτελέσματος. Επομένως, αυτές οι παρεχόμενες πληροφορίες μπορούν να είναι χρήσιμες 40

για (1) τo event service έτσι ώστε να ρυθμιστεί στις αναμενόμενες ροές των γεγονότων, και (2) τους συνδρομητές έτσι ώστε να μάθουν πότε ένα νέο είδος πληροφοριών διατίθεται. Απ την άλλη οι συνδρομητές δηλώνουν τα ενδιαφέροντα, μέσω της συνάρτησης subscribe(). Αυτές οι πληροφορίες συνδρομής παραμένουν καταχωρημένες στην υπηρεσία γεγονότος και δεν διαβιβάζονται στους publishers. 41

3. 2. 3. Τύποι Συστημάτων publish/ subscribe συνδρομών: Γενικά υπάρχουν δύο βασικές κατηγορίες [15] συστημάτων δημοσιεύσεων/ (i) (ii) αυτά που είναι βασισμένα σε ομάδες (group based) ή σε θεματικές ενότητες (topic based) και αυτά που είναι βασισμένα στο ίδιο το περιεχόμενο (content based). Η πρώτη γενιά συστημάτων publish/ subscribe αποτελούνταν από group based συστήματα [16]. Σε αυτά υπήρχε η έννοια των groups που ήταν ορισμένα κατάλληλα από το σύστημα. Οι συνδρομητές, δήλωναν τα ενδιαφέροντα τους με το να εγγράφονται σε ένα ή περισσότερα groups. Στη συνέχεια οι publishers διοχέτευαν τα μηνύματα τους στο κατάλληλο με τη πληροφορία που περιείχαν group, με αποτέλεσμα αυτά τελικά να φτάνουν στους τελικούς συνδρομητές. Μία ελαφρώς διαφορετική προσέγγιση, αποτέλεσαν αργότερα τα συστήματα δημοσιεύσεων/συνδρομών βασισμένα σε θεματικές ενότητες (topics). Τα μηνύματα πλέον χαρακτηρίζονταν από μία συμβολοσειρά που περιέγραφε τη θεματική περιοχή του μηνύματος. Οι συνδρομητές μπορούσαν πλέον να εκφραστούν καλύτερα, με το να δηλώνουν για παράδειγμα τα ενδιαφέροντα τους όχι μόνο με απόλυτη ταύτιση της θεματικής περιοχής αλλά χρησιμοποιώντας το κοινό πρόθεμα όλων των θεματικών ενοτήτων που τους ενδιέφεραν. Στη κατηγορία των topic ή group- based συστημάτων publish/ subscribe ανήκουν το Scribe, το damulticast, το TIB/RV, κ. α. Αργότερα, στις αρχές του αιώνα εμφανίστηκαν και επικράτησαν τα συστήματα publish/ subscribe βασισμένα στο περιεχόμενο (content- based) [16]. Τα content- based συστήματα επικράτησαν επειδή ακριβώς προσφέρουν μεγαλύτερη ευελιξία κατά την διατύπωση των ενδιαφερόντων των χρηστών, με το να εφαρμόζουν συγκεκριμένους τελεστές πάνω στο ίδιο το περιεχόμενο. Δίνεται έτσι μεγαλύτερη ευελιξία και έλεγχος στον συνδρομητή που πλέον μπορεί να ορίσει πιο σύνθετες και εκφραστικότερες συνδρομές (subscribe), όπως για παράδειγμα: ενημέρωσε με για την τιμή της μετοχής της Google όταν αυτή υπερβεί τα 500 $. 42

Συγκεκριμένα, υπάρχει η έννοια των ιδιοχαρακτηριστικών (attributes) τα οποία συνθέτουν τόσο τις συνδρομές όσο και τις δημοσιεύσεις. Κάθε ιδιοχαρακτηριστικό έχει συγκεκριμένο τύπο (κυρίως συμβολοσειρά ή αριθμητική τιμή) και μία συγκεκριμένη τιμή. Από την άλλη, οι συνδρομές περιέχουν και αυτές ένα υποσύνολο των ιδιοχαρακτηριστικών, με συγκεκριμένους τελεστές πάνω στις τιμές τους. Πιθανοί τελεστές είναι για παράδειγμα η ισότητα, το πρόθεμα (prefix), το επίθεμα (suffix), η υποσυμβολοσειρά (substring) για ιδιοχαρακτηριστικά τύπου συμβολοσειράς και ισότητα, η ανισότητα, τα διαστήματα τιμών για αριθμητικούς τύπους. Κάτω από αυτό το μοντέλο, ένα μήνυμα συζευγνύεται με μία συνδρομή, εάν όλοι οι τελεστές των ιδιοχαρακτηριστικών της συνδρομής ικανοποιούνται από τις τιμές των ιδιοχαρακτηριστικών του μηνύματος. Στη κατηγορία των content- based συστημάτων publish/ subscribe ανήκουν το SIENA, το REBECA, το Gryphon, το Hermes, κ. α. Μερικά συστήματα υποστηρίζουν ένα υβριδικό (hybrid) μοντέλο των δύο προηγούμενων, δηλαδή οι publishers τοποθετούν τα μηνύματα σε ένα κανάλι, ενώ οι subscribers κάνουν content-based subscriptions σε ένα ή περισσότερα κανάλια. 43

3. 2. 4. Τύπος Δικτύου Σχετικά με τον τύπο του δικτύου πάνω στο οποίο μπορεί να κτιστεί ένα σύστημα publish/ subscribe, η σχετική βιβλιογραφία έχει να επιδείξει συστήματα τα οποία εντάσσονται σε τρεις κατηγορίες, οι οποίες είναι οι εξής [26]: (i) Network Multicasting Multicasting μπορεί να χρησιμοποιηθεί κατευθείαν σε topic- based συστήματα, για παράδειγμα στο Scribe, καθώς κάθε θέμα αντιπροσωπεύει ένα multicast group. Πλεονέκτημα του είναι οι μικρές καθυστερήσεις και η προώθηση μηνυμάτων σε μεγάλο πλήθος χρηστών. Αντίθετα, δεν είναι κλιμακώσιμο για μεγάλο αριθμό συμμετεχόντων. (ii) Application Level Network Notification system αποτελείται από brokers, οι οποίοι επικοινωνούν μέσω TCP/ IP συνδέσμων. Οι brokers επικοινωνούν με άλλους broker για την προώθηση publish γεγονότων. Το πλεονέκτημα του είναι ότι είναι κλιμακώσιμο και δίνει την δυνατότητα στους subscribers να δεχτούν μηνύματα μέσω των brokers ανάλογα το ενδιαφέρον τους. Παραδείγματα Application Level Network είναι: η SIENA, Gryphon, κ. α. (iii) P2P Network Infrastructure PubSub Notification τρέχει πάνω από το υπάρχον peer- to- peer network infrastructure. PubSub αποτελείται από σύνολο κόμβων που είναι μοναδικές οντότητες. Ο fault- tolerance μηχανισμός παρέχεται από το overlay network που χρησιμοποιείται για να ισορροπεί το δίκτυο των brokers. Παραδείγματα τέτοιων συστημάτων είναι: το Pastry, το Chord, κ. α. 44

3. 2. 5. Ανασκόπηση Γνωστών Συστημάτων publish/ subscribe Το Σύστημα Scribe Το Scribe [17] είναι ένα κλιμακώσιμο σύστημα publish/ subscribe βασισμένο σε θεματικές ενότητες (topic based). Λειτουργεί σε ένα πλήρως κατανεμημένο περιβάλλον πάνω στο δίκτυο Pastry [18]. Ως εκ τούτου, εκμεταλλεύεται την αξιοπιστία, την ανοχή σε σφάλματα και την αυτόνομη οργάνωση του δικτύων Pastry. Όλοι οι κόμβοι που συμμετέχουν στο Scribe είναι πλήρως αυτόνομοι και επεξεργάζονται τις δημοσιεύσεις και τις συνδρομές βασιζόμενοι αποκλειστικά σε τοπική πληροφορία. Κάθε κόμβος, μπορεί να είναι συνδρομητής, πάροχος πληροφορίας, ή να συμμετέχει σε multicast δέντρα που σκοπό έχουν την παράδοση των δημοσιεύσεων στους ενδιαφερόμενους συνδρομητές. Στο Scribe, κάθε θεματική ενότητα (Subject ή Topic) συνοδεύεται από ένα τυχαίο αναγνωριστικό. Ακολουθώντας την προσέγγιση του κόμβου «ραντεβού», ο κόμβος με αναγνωριστικό που είναι αριθμητικά κοντά στο αναγνωριστικό της θεματικής ενότητας, είναι υπεύθυνος για την διαχείριση των δημοσιεύσεων και των συνδρομών που σχετίζονται με αυτή. Έτσι όλες η δημοσιεύσεις (αλλά και οι συνδρομές ή αλλιώς οι αιτήσεις συμμετοχής στη θεματική ενότητα) καταλήγουν στον κόμβο «ραντεβού» της θεματικής ενότητας, που στην συνέχεια είναι υπεύθυνος για την παράδοση τους στου συνδρομητές. Κάθε συνδρομητής που επιθυμεί να εγγραφεί σε μία θεματική ενότητα, στέλνει ένα ειδικού τύπου μήνυμα (join subject) προς τον κόμβο «ραντεβού» της θεματικής ενότητας. Το μονοπάτι πάνω στο δίκτυο Pastry που σχηματίζεται κατά την δρομολόγηση αυτού του μηνύματος, αποτελεί τελικά ένα μονοπάτι στο multicast δέντρο που έχει ρίζα τον κόμβο «ραντεβού» και αξιοποιείται για την μετάδοση των δημοσιεύσεων στους συνδρομητές. Το Scribe είναι επίσης εξοπλισμένο με μηχανισμούς αυτόνομης οργάνωσης των multicast δέντρων σε περίπτωση που η συνεκτικότητα τους καταστραφεί εξαιτίας των συχνών αναχωρήσεων κόμβων ή πιθανών σφαλμάτων που μπορεί να παρουσιαστούν. Συγκεκριμένα κάθε κόμβος που ανήκει σε ένα multicast δέντρο στέλνει περιοδικά μηνύματα στον πατέρα του ώστε να διαπιστώσει εάν αυτός είναι «ζωντανός». Αν κάτι τέτοιο δεν ισχύει, στέλνει ένα μήνυμα «συνδρομής» στη θεματική ενότητα (με το αναγνωριστικό της) κάτι που θα αναγκάσει τελικά τον κόμβο να συνδεθεί ξανά στο δέντρο. 45

Το Σύστημα SIENA Στο χώρο των συστημάτων δημοσιεύσεων/συνδρομών με βάση το περιεχόμενο το SIENA [19] αποτέλεσε μια από τις πρώτες προσπάθειες. Λειτουργεί πάνω σε ένα δίκτυο από brokers και είναι ικανό να προσφέρει αποδοτική δρομολόγηση των δημοσιεύσεων στους συνδρομητές ανεξάρτητα από το μέγεθος τους δικτύου. Η δρομολόγηση των δημοσιεύσεων επιτυγχάνεται με βάση το περιεχόμενο των συνδρομών. Ανήκει στην κατηγορία του filtering- based- routing και σκοπό έχει να σταματήσει όσο το δυνατόν συντομότερα τη μετάδοση μίας δημοσίευσης που δεν ενδιαφέρει κανένα συνδρομητή. Τα μονοπάτια παράδοσης των δημοσιεύσεων στους συνδρομητές, σχηματίζονται χρησιμοποιώντας πληροφορία που είναι τοπικά αποθηκευμένη σε κάθε κόμβο (φίλτρα) που σχηματίζεται από την κατάλληλη επεξεργασία των συνδρομών. Η πληροφορία δρομολόγησης σε ένα κόμβο σχετίζεται με τους γειτονικούς του κόμβους και τους συνδρομητές που μπορούν να προσπελαστούν μέσω αυτών. Αυτή η πληροφορία επιτρέπει τη δημιουργία αντίστροφων μονοπατιών (προς τους συνδρομητές) που μπορούν να ακολουθήσουν στη συνέχεια οι δημοσιεύσεις. Επιπλέον στο SIENA παρουσιάζεται μία τεχνική περιορισμού της μετάδοσης των συνδρομών με σκοπό να σχηματιστούν τα αντίστροφα μονοπάτια, με το να εκμεταλλεύεται την σχέση μεταξύ των συνδρομών. Δηλαδή, μία συνδρομή σ1 περικλείει την συνδρομή σ2 εάν όλες οι δημοσιεύσεις που συζευγνύουν με την συνδρομή σ2, συζευγνύουν και με την σ1 (όπως μπορείτε να δείτε στο Σχήμα 3.6 όπου η συνδρομή s2 με περιορισμό διαστήματος [60, 70] καλύπτεται από τη συνδρομή s1 με περιορισμό διαστήματος [50, 100]). 46

Σχήμα 3. 6.: Δρομολόγηση δημοσίευσης n1 (με τιμή 65) στους συνδρομητές με συνδρομές s1 και s2 στο σύστημα SIENA. Εκμεταλλευόμενοι αυτή τη παρατήρηση οι συνδρομές ταξιδεύουν μέχρι ένα ορισμένο σημείο στο δίκτυο όπου συναντούν ένα κόμβο που κατέχει ένα φίλτρο κατασκευασμένο από συνδρομές που περικλείουν τη συνδρομή. Μια ακόμα τεχνική, που αποτελεί χαρακτηριστικό γνώρισμα του SIENA είναι οι διαφημίσεις. Μια διαφήμιση ορίζει το είδος των δημοσιεύσεων που ένα πάροχος πληροφορίας πρόκειται να προσφέρει στο σύστημα, και χρησιμοποιείται για την δημιουργία των μονοπατιών που τελικά θα ακολουθήσουν οι δημοσιεύσεις μέχρι τους τελικούς συνδρομητές. Το σύστημα SIENA αποτελεί σημείο αναφοράς στην δρομολόγησης με βάση το περιεχόμενο και υποστηρίζει αποδοτικά δημοσιεύσεις και συνδρομές με αριθμητικές τιμές και συμβολοσειρές, ενώ μπορεί να θεωρηθεί σαν μία stateful προσέγγιση εξαιτίας της πληροφορίας σχετικά με τη δρομολόγηση που πρέπει να διατηρείται σε κάθε κόμβο. Το Σύστημα REBECA Το σύστημα publish/ subscribe REBECA [20], ενσωματώνει μία αντικειμενοστραφή υπηρεσία παράδοσης δημοσιεύσεων, υλοποιημένη σε Java. Οι κόμβοι που συμμετέχουν στο σύστημα σχηματίζουν ένα ακυκλικό γράφο. Η δρομολόγηση των 47

δημοσιεύσεων στους συνδρομητές ακολουθεί το μοντέλο filtering based όπως και στο SIENA και έχει επεκταθεί ώστε να περιλαμβάνει (i) απλή δρομολόγηση που αντιστοιχεί σε flooding των συνδρομών σε ολόκληρο το δίκτυο ώστε οι δημοσιεύσεις να φιλτράρονται στους κόμβους όπου γεννιούνται, (ii) identity routing που αποφεύγει την προώθηση μιας συνδρομής σε επόμενο κόμβο όταν αυτό ήδη έχει γίνει για άλλη πανομοιότυπη συνδρομής, (iii) covering routing, που μιμείται την δρομολόγηση στο SIENA όπου συνδρομές που περικλείονται από άλλες δεν προωθούνται παραπέρα, και (iv) merging routing όπου οι συνδρομές μπορούν να ενσωματωθούν και να δημιουργήσουν μία νέα συνδρομή που στη συνέχεια προωθείται σε επόμενους κόμβους. Στο σύστημα REBECA χρησιμοποιείται και η τεχνική των διαφημίσεων (όπου οι publishers (παραγωγοί πληροφορίας) διαφημίζουν τα δεδομένα που πρόκειται να δημοσιεύσουν) ώστε να βελτιωθεί περαιτέρω η δρομολόγηση των δημοσιεύσεων. Το Σύστημα Hermes Το σύστημα Hermes αποτελεί μια ολοκληρωμένη λύση επεξεργασίας δημοσιεύσεων και συνδρομών συνδυάζοντας το topic based μοντέλο με το content based. Είναι λοιπόν ένας συνδυασμός των δύο βασικών μοντέλων των συστημάτων δημοσιεύσεων συνδρομών. Το Hermes βασίζεται στη προσέγγιση του κόμβου «ραντεβού» με το μοντέλο publish/ subscribe με βάση τη θεματική ενότητα. Το δίκτυο πάνω στο οποίο λειτουργεί το Hermes αποτελείται από brokers ωστόσο έχουν προταθεί και προσεγγίσεις που εκμεταλλεύονται άλλου είδους αρχιτεκτονικές ώστε να αντιμετωπίσουν προβλήματα σχετικά με την αναχώρηση κόμβων από το δίκτυο ή την ύπαρξη σφαλμάτων σε αυτό. Κάθε συνδρομή ανήκει σε συγκεκριμένη θεματική ενότητα (ή αλλιώς χαρακτηρίζεται από συγκεκριμένο τύπο) και αντιστοιχίζεται με τον κόμβο του δικτύου του οποίου το αναγνωριστικό είναι αυτό που προκύπτει (ή τουλάχιστον είναι αριθμητικά κοντά) από την τιμή που επιστρέφει μια συνάρτηση κατακερματισμού με το όνομα της θεματικής ενότητας ως όρισμα. Όλες λοιπόν οι δημοσιεύσεις και οι συνδρομές που ανήκουν στην ίδια θεματική ενότητα καταλήγουν σε αυτό τον κόμβο «ραντεβού». Στην συνέχεια και με σκοπό να παραδοθεί η δημοσίευση στου τελικούς συνδρομητές, ακολουθείται μία προσέγγιση όμοια 48

με αυτή που παρουσιάστηκε στα πλαίσια του SIENA. Δημιουργούνται έτσι μονοπάτια που αποτελούν μέρη του multicast δέντρου με ρίζα τον κόμβο «ραντεβού» και φύλλα τους συνδρομητές. Στο Σχήμα 3.7 μπορείτε να δείτε σχηματικά την ανάπτυξη του multicast δέντρου. Σε αυτό το παράδειγμα μπορείτε να δείτε 4 brokers, δύο publisher πληροφορίας (P1 και P2), δύο subscribers (S1 και S2), και τον κόμβο «ραντεβού» R. Οι P1 και P2 στέλνουν διαφημίσεις (ak) στον κόμβο R σχετικά με την πληροφορία που πρόκειται να δημοσιεύσουν. Οι δύο συνδρομητές S1 και S2 στέλνουν τις δημοσιεύσεις τους (sk) προς τον κόμβο R ενώ παράλληλα σχηματίζονται τα κατάλληλα φίλτρα στους ενδιάμεσους κόμβους στα πρότυπα του SIENA. Όταν οι δημοσιεύσεις (pk) καταφθάσουν στο σύστημα προωθούνται προς τον κόμβο R, από όπου στη συνέχεια ακολουθούν τα αντίστροφα μονοπάτια που σχημάτισαν οι συνδρομές, ώστε να καταλήξουν στους συνδρομητές. Σχήμα 3. 7.: Παράδειγμα ανάπτυξης του multicast δέντρου στο σύστημα Hermes. 49

3. 3. Αυτόκλητη διακίνηση μηνυμάτων spam στα Συστήματα publish/ subscribe βασισμένα στο περιεχόμενο. Στα publish/ subscribe συστήματα, το spam θεωρείται ανεπιθύμητο λόγω του ότι οι bogus publishers δεν θέλουν την συγκατάθεση των subscribers. Σε σχέση με τα email ή το SIP οι μηχανισμοί των publish/ subscribe συστημάτων διαφέρουν. Άλλη διαφορά μεταξύ αυτών των συστημάτων είναι ότι τα publish/ subscribe συστήματα είναι many- to- many τύπος επικοινωνίας. Επίσης, στα filter-based publish/ subscribe συστήματα, τα φίλτρα καθορίζουν τα ends-points και τα μονοπάτια παράδοσης αντί των συγκεκριμένων διευθύνσεων. Έτσι, ο spammer πρέπει να γνωρίζει τι είδους πληροφορία θα μεταφερθεί στους χρήστες [21]. 3. 3. 1 Πιθανοί spammers Το ερώτημα που δημιουργείται στα συστήματα publish/ subscribe είναι: ποια οντότητα θα μπορούσε να συμπεριφερθεί σαν spammer και ποιοι είναι οι στόχοι της, δηλαδή τα «θύματα». Ερευνήσαμε πως συμπεριφέρεται κάθε οντότητα και με ποιο τρόπο θα μπορούσε να κάνει spamming. Παρακάτω εξετάζουμε σενάρια όσον αφορά spamming στο επίπεδο εφαρμογής (application layer), δηλαδή ενδεχόμενα για spamming στον χρήστη. Subscribers Στην περίπτωση αυτή, οι subscribers (σαν) spammers δεν μπορούν να έχουν τους publishers ως στόχο για spamming, λόγω ότι δεν έχουν απευθείας επικοινωνία και η σύνδεση τους γίνεται μέσω των brokers. Επομένως εξετάζουμε μόνο το ενδεχόμενο που έχουν ως στόχο για spamming τους brokers. Οι συνδρομητές λειτουργούν ως spammers με τον εξής πιθανόν τρόπο: μπορούν να «πλημμυρίσουν» με spam το pub-sub δίκτυο δημιουργώντας διπλές ή πλαστές (fake) εγγραφές. Επιπλέον, μερικοί subscribers (πιθανόν) να είναι περίεργοι να αποκτήσουν πληροφορίες για publications που δεν έχουν εγγραφεί. 50

Publishers Στην περίπτωση αυτήν, βλέποντας το σχήμα 3. 8. παρατηρούμε δύο περιπτώσεις όπου ο publisher γίνεται spammer. Σχήμα 3. 8.: Περιπτώσεις όπου ο publisher γίνεται spammer 1η περίπτωση: Spamming γίνεται από τους publishers προς τους brokers Ο publisher μπορεί να θεωρηθεί spammer όταν δεν υπάρχει έλεγχος μηνύματος από τον broker, δηλαδή δεν έχει εγγραφεί (δεν έχει κάνει register) σε broker και έτσι δεν υπάρχει έλεγχος όταν στέλνει event notification ή publish μηνύματα. Κατά συνέπεια, ο publisher δεν ελέγχεται από κανέναν και έτσι άλλα λέει ότι διαφημίζει και άλλα τοποθετεί μέσα στο μήνυμα. 2η περίπτωση: Spamming γίνεται από τους brokers προς τους publishers Σε αυτή την περίπτωση, ο broker παίρνει τον ρόλο του publisher διότι θέλει να διαφημίσει τις υπηρεσίες που παρέχει και να τις προσφέρει σε υπάρχοντες αλλά και μελλοντικούς publishers και ο publisher παραμένει publisher. Ο broker με αυτόν τον ρόλο, θεωρείται spammer όταν ενοχλεί τους publishers στέλνοντας αναληθή advertisement μήνυμα, δηλαδή πληροφορίες που αναφέρονται σε υπηρεσίες που δεν αντιστοιχούν σε αυτά που προσφέρει. 51

Brokers Σε αυτήν την περίπτωση, οι brokers σαν spammers «χτυπούν» με spam μηνύματα τους subscribers με τους εξής τρόπους: 1 ος τρόπος: Botnet- Bogus Brokers [21] Οι brokers που βρίσκονται υπό τον έλεγχο των spammers λέγονται bogus brokers και μπορούν να θεωρηθούν ως botnet. Οι bogus brokers ελέγχονται και χειραγωγούνται από τον master spammer, ο οποίος θέτει τι λειτουργίες πρέπει να κάνει o κάθε bogus broker. Οι bogus brokers έχουν διαφορετικές συμπεριφορές άλλοι λειτουργούν ως black box, οι οποίοι «πετούν» την νόμιμη κίνηση και εισάγουν πλαστά μηνύματα στη ροή του event, άλλοι μπορεί να ελέγχουν την δικτυακή κίνηση και αργότερα να εισάγουν πλαστά μηνύματα. Αναλόγως την αρμοδιότητα του broker ο master spammer λαμβάνει και τις ανάλογες πληροφορίες. 2 ος τρόπος: Υπολογισμός του ενδιαφέροντος των συνδρομητών. Για να υπολογισθεί το ενδιαφέρον του subscriber υπάρχουν αρκετοί τρόποι, κάποιοι από αυτούς είναι οι παρακάτω: 1) Ο spammer για να πάρει πληροφορίες για τα ενδιαφέροντα του συνδρομητή παρακολουθεί μακροπρόθεσμα τον χρήστη. 2) Εάν ο spammer έχει πρόσβαση σε broker που συμμετέχει στην προώθηση της κίνησης, τότε ο spammer έχει πλήρη γνώση των φίλτρων. Για αυτό το λόγω ο spammer έχει τοποθετήσει δειγματικά κάποια φίλτρα σε διάφορα σημεία του publish/ subscribe δικτύου. Η ακρίβεια αυτών των δειγματικών φίλτρων εξαρτάται από τον αριθμό των bogus brokers. Επομένως, εξαρτάται από το που είναι ιεραρχικά ο broker, όπου ο spammer έχει πρόσβαση. Αν o broker είναι σε rendezvous σημείο, ο spammer έχει καλύτερη άποψη για τα φίλτρα των χρηστών. 3) Ο bogus broker μπορεί να λάβει όλα τα παρόντα ενεργά subscription, χρησιμοποιώντας μία black hole διαφήμιση που καλύπτει όλες τις συνδρομές. Ο spammer 52

μετά από αναλύσεις των παρόντων φίλτρων, μπορεί να παράγει ταιριαστά notification τα οποία περιέχουν spam. Ολοκληρώνοντας, η αντιμετώπιση των spammers γίνεται με τις μεθόδους αντιμετώπισης των spam που αναφέραμε στα emails και στο SIP. Ο subscriber για παράδειγμα έχει μία ποικιλία από επιλογές όπως αλλάζοντας το φίλτρο σε πιο συγκεκριμένες πληροφορίες, χρησιμοποιώντας μέθοδο επαλήθευσης αποστολέα, ή blacklist, κ. α. Απ την άλλη, οι brokers μπορούν να χρησιμοποιήσουν συνδυασμό των μεθόδων που αναφέραμε στα δύο προηγούμενα κεφάλαια, συμπεριλαμβανομένων whitelist, blacklist, greylist, επαλήθευση του αποστολέα, content filtering, κ. α. 53

3. 4. Λύση για προστασία από bogus publishers Στον μηχανισμό αυτόν στόχος μας είναι η αυθεντικοποίηση των publishers και η σωστή/ ακέραια αποστολή μηνυμάτων από μέρους τους. Ικανοποιούμε απαιτήσεις όπως εμπιστευτικότητα πληροφορίας με την χρήση ασύμμετρης κρυπτογραφίας, αυθεντικότητα μηνυμάτων και μη- αποποίηση αποστολής με την χρήση ψηφιακών υπογραφών, αναγνώριση ταυτότητας των χρηστών με την χρήση ψηφιακών πιστοποιητικών και θέμα κόστους για αποφυγή spamming με την ζήτηση κάποιου μικροποσού. Στην εφαρμογή μας έχουμε τις εξής οντότητες, τους publishers και τους subscribers, οι οποίοι επικοινωνούν με ψηφιακά πιστοποιητικά δημόσιου κλειδιού μέσω μιας τρίτης οντότητας, του broker. Το ψηφιακό πιστοποιητικό [25] των publishers και των subscribers είναι ένα ηλεκτρονικό έγγραφο που χρησιμοποιείται για την αναγνώριση τους και την ανάκτηση του δημοσίου κλειδιού τους. Τα ψηφιακά πιστοποιητικά βασίζονται στην αρχή της ασύμμετρης κρυπτογραφίας όπου ο κάθε χρήστης διαθέτει ένα ιδιωτικό και ένα δημόσιο κλειδί. Πιο συγκεκριμένα, ο κάθε χρήστης διαθέτει ζεύγος κλειδιών δηλαδή ένα ιδιωτικό κλειδί (private key), το οποίο είναι αυστηρά προσωπικό για τον κάτοχο του και δεν πρέπει να κοινοποιηθεί σε κανέναν άλλον, και ένα δημόσιο κλειδί (public key), το οποίο μπορεί να αποκτήσει ο οποιοσδήποτε. Τα κλειδιά αυτά λειτουργούν πάντα σε ζεύγος και το ένα κλειδί μπορεί να αποκρυπτογραφήσει ότι έχει κρυπτογραφηθεί με το άλλο κλειδί και αντίστροφα και επίσης είναι πρακτικά αδύνατη η δημιουργία του ενός κλειδιού όταν γνωρίζουμε το άλλο κλειδί του ζεύγους. Το ένα κλειδί χρησιμοποιείται για την δημιουργία της υπογραφής και το άλλο για την επαλήθευση της [23], [24]. 54

Σχήμα 3. 9.: Διαδικασία Κρυπτογράφησης και Αποκρυπτογράφησης Η δημιουργία των ψηφιακών πιστοποιητικών οφείλεται στο ότι ο μηχανισμός της ασύμμετρης κρυπτογραφίας με ένα ζευγάρι κρυπτογραφικά κλειδιά (ιδιωτικό-δημόσιο) όπου το ένα κάνει κρυπτογράφηση και το άλλο αποκρυπτογράφηση, αντιμετώπισε ένα πρακτικό πρόβλημα. Αν και ο ιδιοκτήτης των δύο αυτών κλειδιών μπορεί να φυλάξει και να κρύψει σε ασφαλές σημείο το ιδιωτικό του κλειδί, ενώ μπορεί ελεύθερα να μοιράσει το δημόσιο κλειδί, δεν είναι δυνατόν να αποδείξει σε κάθε συναλλασσόμενο ότι το δημοσιευμένο αυτό κλειδί πράγματι ανήκει στο πρόσωπο που ισχυρίζεται ότι του ανήκει. Αυτό που πραγματικά χρειάζεται είναι ένας αξιόπιστος μηχανισμός που μόνιμα να επιβεβαιώνει ότι το δημόσιο κλειδί ανήκει σε συγκεκριμένο ιδιοκτήτη. Το ρόλο αυτό της τρίτης έμπιστης οντότητας (Third Trusted Party TTP) παίζει ο broker. O broker συνδέει διάφορες οντότητες (publisher ή subscriber), με το δημόσιο κλειδί τους πιστοποιώντας ότι το συγκεκριμένο δημόσιο κλειδί ανήκει στον συγκεκριμένο ιδιοκτήτη. O broker είναι μία πιστοποιημένη αρχή, η οποία δεν υποκλέπτει ή κρυφακούει τα μηνύματα που διαχειρίζεται. Επιπλέον για λόγους ασφάλειας χρεώνει κάποιο χρηματικό ποσό για τις υπηρεσίες τους. Επειδή τα «πιστοποιητικά δημοσίων κλειδιών» (public key certificates ) που εκδίδει o broker προς τις ενδιαφερόμενους τελικούς χρήστες ή τελικές «οντότητες», είναι και αυτά μια μορφή «ηλεκτρονικών εγγράφων», επιβάλλεται να φέρουν και αυτά την «ψηφιακή υπογραφή» του εκδότη τους. Αυτό προϋποθέτει ότι και ο ίδιος ο εκδότης- broker διαθέτει 55

το δικό του ζεύγος κρυπτογραφικών κλειδιών υπογραφής, το οποίο πρέπει εξίσου να υποστηρίζεται από σχετικό πιστοποιητικό δημοσίου κλειδιού -που κι αυτό, με την σειρά του, πρέπει να είναι υπογεγραμμένο ψηφιακά. Η σχηματιζόμενη αλληλουχία (αλυσίδα) πιστοποιητικών τερματίζεται με ένα τελικό και αξιόπιστα δημοσιευμένο «αυτοϋπογραφόμενο πιστοποιητικό» (self-signed certificate) που εκδίδεται από τον «Θεμελιώδη Εκδότη Πιστοποιητικών» (Root Certification Authority ή «Root CA») του broker, όπου είναι κάποιος ανώτερος ιεραρχικά του broker. Τα ψηφιακά πιστοποιητικά είναι μια ακολουθία χαρακτήρων στην οποία δηλώνονται το ένα μετά το άλλο τα παρακάτω: Το όνομα του ιδιοκτήτη. Το δημόσιο κλειδί του. Άλλα πιθανόν στοιχεία για τον ιδιοκτήτη π.χ. διεύθυνση, εταιρεία κλπ. Τα στοιχεία της αρχής πιστοποίησης που εξέδωσε το πιστοποιητικό. Τον αύξοντα αριθμό και το τύπο του πιστοποιητικού. Την ημερομηνία λήξης του πιστοποιητικού (χρονική σφραγίδα). Την ψηφιακή υπογραφή της αρχής πιστοποίησης που το εξέδωσε. Σχήμα 3. 10.: Ψηφιακό πιστοποιητικό 56

Όπως αναφέραμε, μέσα στο ψηφιακό πιστοποιητικό υπάρχουν το δημόσιο κλειδί του χρήστη, το οποία χρειάζεται για την αποστολή κρυπτογραφημένων μηνυμάτων. Στο σημείο αυτό πρέπει να σημειωθεί ότι υπάρχουν δύο τρόποι δημιουργίας ζευγών δημοσίων-ιδιωτικών κλειδιών για την κρυπτογράφηση και τις ψηφιακές υπογραφές. Ο πρώτος τρόπος είναι η έκδοση τους από την αρχή πιστοποίησης (ΑC- Authority Certificate), δηλαδή τον broker. Για να κάνει αίτηση κάποιος χρήστης για ψηφιακό πιστοποιητικό πρέπει να δώσει έναν αριθμό εξακρίβωσης, δηλαδή κάποιο αναγνωριστικό του ιδιοκτήτη, όπως είναι ο αριθμός διαβατηρίου του, ο αριθμός οδήγησης διπλώματος, κ. α. Ο broker παραδίδει στον ιδιοκτήτη τόσο το ζεύγος των κλειδιών όσο και το ψηφιακό πιστοποιητικό του δημόσιου κλειδιού. O broker χρεώνει τον publisher κάποιο χρηματικό ποσό για το ζεύγος κλειδιών και το ψηφιακό πιστοποιητικό, έτσι ώστε να μην είναι τόσο εύκολο σ αυτόν να ενοχλεί με μηνύματα spam τους broker. Ο δεύτερος τρόπος είναι να εκδίδεται το ζεύγος των κλειδιών από εξοπλισμό (Η/Υ) του ίδιου του χρήστη. Ο χρήστης στέλνει το δημόσιο κλειδί του στην αρχή πιστοποίησης για να του χορηγηθεί το ψηφιακό πιστοποιητικό. Η μέθοδος αυτή πλεονεκτεί στο ότι το ιδιωτικό κλειδί υπάρχει και παραμένει σε ένα και μοναδικό μέρος (ιδιοκτήτης) αλλά μειονεκτεί στο ότι ο χρήστης υποχρεούται να διατηρεί ο ίδιος μηχανισμό έκδοσης και διαχείρισης των κλειδιών. Στην εφαρμογή μας επομένως, οι publishers επιλέγοντας τον δεύτερο τρόπο παραγωγής, εκδίδουν μόνοι τους τα ζεύγη κλειδιών τους και το ψηφιακό πιστοποιητικό τους εκδίδεται από την αρχή πιστοποίησης, τον broker. Αυτό γίνεται για λόγους ασφάλειας και προσπάθειας για μείωση των publishers που είναι spammers. Επιπλέον, η επικοινωνία των publishers και των subscribers, όπως αναφέραμε γίνεται μέσω μίας τρίτης οντότητας, τον broker. O broker τηρεί αρχείο με τα δημόσια κλειδιά των πιστοποιημένων οντοτήτων, δηλαδή των publishers και των subscribers, έτσι ώστε να μπορεί να έχει πρόσβαση σ αυτά ο κάθε ενδιαφερόμενος. Ο broker θα πρέπει να πιστοποιεί την ταυτότητα των χρηστών πριν τους εκδώσει το ψηφιακό πιστοποιητικό καθώς και να τηρεί αρχείο με τα ψηφιακά πιστοποιητικά που έχουν λήξει ή που έχουν ανακληθεί ώστε να μην μπορούν να χρησιμοποιηθούν μετά τη λήξη τους ή και για λόγους κλοπής ή απώλειας. 57

Επιπλέον, o broker εκτός από την βασική λειτουργία της χορήγησης του ψηφιακού πιστοποιητικού, προσφέρει την υπηρεσία χρονοσήμανσης, με την οποία τίθεται μία ηλεκτρονική σφραγίδα στο έγγραφο που αποστέλλει ένας χρήστης και η οποία δεν μπορεί να τροποποιηθεί ούτε να αμφισβητηθεί και καθορίζει τον ακριβή χρόνο της αποστολής του μηνύματος. 58

3. 4. 1. Διαδικασία εφαρμογής Οι publisher παράγουν το ζεύγος κλειδιών τους, μέσω μηχανισμού που διατηρούν εκείνοι. Οι publisher και οι subscriber για να επικοινωνήσουν με τον broker πρέπει να κάνουν register στον broker, έτσι ώστε να εκδοθεί το ψηφιακό πιστοποιητικό τους. Αφού οι publishers και οι subscribers έκαναν αίτηση για έκδοση των ψηφιακών πιστοποιητικών τους (στέλνοντας μαζί το δημόσιο κλειδί τους), ο broker στην συνέχεια τους πιστοποιεί και τους στέλνει το ψηφιακό πιστοποιητικό, έναντι κάποιου χρηματικού ποσού. Να αναφέρουμε ότι o broker στην περίπτωση του publisher, τον ενημερώνει ότι για λόγους ασφάλειας ότι του κρατάει προκαταβολικά κάποιο χρηματικό ποσό, το οποίο αυξάνεται ανάλογα τους subscribers και λέγοντας του ότι εάν τα μηνύματα σου είναι αυθεντικά τότε θα σου επιστραφεί. Το χρηματικό πόσο που θα χρεώνει στους publishers, ο broker θα το καθορίζει έτσι ώστε να μην τους παραπέμπει στο να στέλνουν spam μηνύματα. Ο broker για να ελέγξει την ταυτοποίηση του αποστολέα χρησιμοποιεί την διαδικασία challenge- response έτσι ώστε να είναι σίγουρος ότι επικοινωνεί με την σωστή οντότητα και όχι με κάποιον spammer. Σε γενικές γραμμές, η τεχνική challenge- response υλοποιείται ως εξής: Ο broker στέλνει στον publisher μια αριθμητική τιμή (πρόκληση) Π.χ. Ένας τυχαίος αριθμός (nonce) number used once Συνδυάζοντας την πρόκληση με το μυστικό που γνωρίζει, ο publisher υπολογίζει και επιστρέφει στον Broker μια τιμή (απάντηση). 59

Ο Broker υπολογίζει την απάντηση χρησιμοποιώντας έναν κρυπτογραφικό μηχανισμό. Σχήμα 3. 11.: Τεχνική challenge- response Ο publisher διαφημίζει τις υπηρεσίες του μέσω του broker, στέλνοντας κρυπτογραφημένα μηνύματα, και κατόπιν ο broker τα ελέγχει για να δει αν ο publisher είναι έγκυρος και τα αποθηκεύει στο δίσκο του. Αυτό γίνεται για λόγους ακεραιότητας των μηνυμάτων και ότι δεν τροποποιείται το περιεχόμενο τους. Πιο συγκεκριμένα, ο broker αποκρυπτογραφεί την ψηφιακή υπογραφή με το δημόσιο κλειδί του publisher. Με βάση τον αλγόριθμο τεμαχισμού επανυπολογίζεται ο τεμαχισμός του. Κατόπιν, βλέποντας το σχήμα 3. 12., συγκρίνονται οι δύο τεμαχισμοί και αν δεν είναι ίδιοι τότε είτε έχει αλλαχθεί το μήνυμα είτε η ψηφιακή υπογραφή δεν αντιστοιχεί στο δημόσιο κλειδί του αποστολέα, δηλαδή του publisher. Αν είναι ίδιοι τότε ο broker είναι βέβαιος ότι το δημόσιο αντιστοιχεί με το ιδιωτικό κλειδί που χρησιμοποιήθηκε για την δημιουργία της ψηφιακής υπογραφής. 60

Σχήμα 3. 12.: Δημιουργία και Επαλήθευση ψηφιακής υπογραφής Απ την άλλη ο κάθε subscriber σχετικά με αυτό που αναζητά, θέτει το ερώτημα του στον broker (μαζί με το δημόσιο κλειδί του), στέλνοντας subscriber μηνύματα. Ο broker με την σειρά του εμφανίζει όλες τις σχετικές διαφημίσεις. O subscriber αφού αποφασίσει ποιες θέλει, ενημερώνει τον broker και του τις ζητά. Κατά συνέπεια ο broker ενημερώνει τον publisher, ότι κάποιοι subscribers θέλουν αυτό που παρέχει, στέλνοντας του τα ψηφιακά πιστοποιητικά των subscribers που είναι υπογεγραμμένα από τον ίδιο. Μετά, ο publisher στέλνει το περιεχόμενο του σε κρυπτογραφημένη μορφή στον broker. O broker ελέγχει ότι έρχονται απ αυτόν και τα στέλνει στους subscribers (όπως ακριβώς αναλύσαμε προηγουμένως- επαλήθευση ψηφιακής υπογραφής). 61

Τέλος, οι subscriber έχοντας φίλτρα που βασίζονται στο περιεχόμενο, συγκρίνουν τα δεδομένα του μηνύματος με τα δεδομένα της διαφήμισης και βγάζει αποτέλεσμα για το εάν το μήνυμα είναι spam ή όχι. Αν το μήνυμα είναι spam τότε ενημερώνει τον broker και κρατάει το χρηματικό ποσό που είχε κρατήσει προκαταβολικά. Στην συνέχεια, o broker ενημερώνει τους γειτονικούς του ότι το ψηφιακό πιστοποιητικό που ανήκει στον συγκεκριμένο publisher, ανήκει σε spammer. 62

Αναλυτικά βήματα του μηχανισμού μας για την προστασία από bogus publishers. Η επικοινωνία μεταξύ publisher και broker Αφού ο publisher έχει παράγει μόνος του το ζεύγος κλειδιών, κάνει register στον broker, στέλνοντας το δημόσιο κλειδί του, έτσι ώστε να του εκδοθεί το ψηφιακό πιστοποιητικό του. Ο broker παραδίδει το ψηφιακό πιστοποιητικό στον publisher, έναντι κάποιου χρηματικού ποσού. Επίσης, ο broker τον ενημερώνει ότι προκαταβολικά θα κρατείται ένα ποσό των 5 cent για κάθε notification μήνυμα. Και θα του επιστρέφονται τα χρήματα αφού έχει επιβεβαιωθεί ότι στέλνει μηνύματα με σωστό περιεχόμενο στους subscribers. Για το τι χρηματικό ποσό θα κοστίζει το κάθε μήνυμα, θα το αποφασίσει ο broker με το σκεπτικό να εμποδίσει τους publishers να στέλνουν spam μηνύματα. Δηλαδή κάνει υπολογισμούς και εξετάζει πόσο χρηματικό ποσό να θέτει για κάθε μήνυμα έτσι ώστε να αναγκάσει τον spammer να μην μπορεί να στείλει μεγάλο αριθμό spam μηνυμάτων. Ο broker για να ελέγξει την ταυτοποίηση του αποστολέα χρησιμοποιεί την διαδικασία challenge- response έτσι ώστε να είναι σίγουρος ότι επικοινωνεί με την σωστή οντότητα και όχι με κάποιον spammer. 63

Στο σχήμα 3. 13. παρουσιάζουμε την επικοινωνία μεταξύ publisher και broker Σχήμα 3. 13.: Έκδοση ψηφιακού πιστοποιητικού και αυθεντικοποίηση του publisher Διαδικασία που ο publisher στέλνει advertisement μηνύματα στον broker. Ο publisher υπογράφει την advertisement, μήνυμα Μp, με το ιδιωτικό κλειδί του KRp, παράγοντας μία υπογεγραμμένη και εμπιστευτική έκδοση του Mp την Mp. Πιο λεπτομερώς, βλέποντας το σχήμα 3. 14., όταν εννοούμε ότι publisher υπογράφει το μήνυμα Μ εννοούμε ότι εφαρμόζει στο μήνυμα Μ μία μονόδρομη συνάρτηση κατακερματισμού και παράγεται μία μοναδική τιμή, που αποτελεί το message digest. Η τιμή αυτή θα χρησιμοποιηθεί αργότερα για να επιβεβαιώσει την ακεραιότητα του μηνύματος. 64

Σχήμα 3. 14.: Message Digest Ο publisher κρυπτογραφεί το message digest με το δικό του ιδιωτικό κλειδί, KR p, και προκύπτει η ψηφιακή υπογραφή (σχήμα 3. 15.). Σχήμα 3. 15.: Ψηφιακή Υπογραφή Η ψηφιακή υπογραφή προσαρτάται στο κείμενο και παράγεται μία υπογεγραμμένη έκδοση του M p, η Μ p (σχήμα 3. 16.). Σχήμα 3. 16.: Προσάρτηση της ψηφιακής υπογραφής στο κείμενο. Tο μήνυμα αυτό στέλνεται μαζί με το IDp στον broker. P B: Mp := EKRp[Mp] IDp 65

Ο broker ελέγχει αν το δημόσιο κλειδί του P είναι έγκυρο, αποκρυπτογραφεί το Μp με το δημόσιο KUp και πιστοποιεί ότι ήρθε από τον P. Πιο αναλυτικά, βλέποντας το σχήμα 3. 17., ο broker ελέγχει αν το δημόσιο κλειδί είναι του P είναι έγκυρο, με τον εξής τρόπο: εφαρμόζεται στο κανονικό κείμενο ο ίδιος αλγόριθμος κατακερματισμού που χρησιμοποιήθηκε κατά την υπογραφή του και δημιουργείται κατά αυτόν τον τρόπο μια νέα σύνοψη. Κατόπιν, αποκρυπτογραφείται με το δημόσιο κλειδί του publisher η κρυπτογραφημένη σύνοψη του μηνύματος. Έτσι, η νέα σύνοψη που παράγεται, συγκρίνεται με την αντίστοιχη σύνοψη που προέρχεται από την αποκρυπτογράφηση της ψηφιακής υπογραφής. Εάν ταυτίζονται οι δύο συνόψεις, τότε η υπογραφή επαληθεύεται και επιβεβαιώνεται αφενός μεν ότι τα δεδομένα υπογράφηκαν από τον κάτοχο του σχετικού ιδιωτικού κλειδιού, αφετέρου δε ότι τα αρχικά δεδομένα δεν έχουν αλλοιωθεί. Σχήμα 3. 17.: Επαλήθευση ψηφιακής υπογραφής 66

Στο σχήμα 3. 18. παρουσιάζεται η συνολική εικόνα της διαδικασίας που ο publisher στέλνει advertisement μηνύματα στον broker. Σχήμα 3. 18.: Διαδικασία που ο publisher στέλνει advertisement στον broker. Διαδικασία όταν o publisher στέλνει publication/ notification στον subscriber. Ο subscriber θέτει το ερώτημα του στον broker. (καθώς επίσης μαζί με το ερώτημα του στέλνει και το δημόσιο κλειδί του) O broker παρουσιάζει τις διαφημίσεις όσον αφορά το ερώτημα του subscriber. O subscriber ενημερώνει τον broker ότι αυτήν την διαφήμιση θέλω. Βλέποντας το σχήμα 3. 19., ο broker στέλνει τα ψηφιακά πιστοποιητικά των subscribers, που είναι υπογεγραμμένα από τον ίδιο, στο publisher. Ο publisher υπογράφει το μήνυμα Μp, με το ιδιωτικό κλειδί του KRp (-ακολουθεί την ίδια διαδικασία που έγινε στην ενότητα Διαδικασία που ο publisher στέλνει 67

advertisement μηνύματα στον broker). Κατόπιν ο publisher κρυπτογραφεί το αποτέλεσμα με το δημόσιο κλειδί KUs των subscribers, παράγοντας μία υπογεγραμμένη και εμπιστευτική έκδοση του Mp την Mp. Το M p μαζί με το ID p υπογράφεται εκ νέου με το KR p παράγοντας το M p και το μήνυμα αυτό στέλνεται μαζί με το ID p στον broker. P B: Mp := EKRp[EKUs[EKRp[Mp]] IDp ] IDp Ο broker ελέγχει αν το δημόσιο κλειδί του P είναι έγκυρο, αποκρυπτογραφεί το Μ p με το δημόσιο KU p και πιστοποιεί ότι ήρθε από τον P. (-ακολουθεί την ίδια διαδικασία που έγινε στην ενότητα Διαδικασία που ο publisher στέλνει advertisement μηνύματα στον broker) Στην συνέχεια, ο broker παράγει ένα μήνυμα M b που αποτελείται από το ID p, το timestamp και το EKU s [EKR p [M p ]], το κρυπτογραφεί με το ιδιωτικό του κλειδί KR b και το στέλνει στο S. B S: M b := EKR b [EKUs[EKRp[Mp]] IDp ] T] Σχήμα 3. 19.: Διαδικασία όταν o publisher στέλνει publication/ notification στον subscriber. 68

O subscriber S ανακτά το δημόσιο κλειδί του broker B, ΕKU b, αποκρυπτογραφεί το Μ b ανακτά το EKUs[EKR p [M p ]], το αποκρυπτογραφεί με το ιδιωτικό του κλειδί KRs, ανακτά το EKR p [M p ], αντλεί το δημόσιο κλειδί KU p του P και αν είναι έγκυρο ανακτά το Mp. Ο subscriber διαθέτει τεχνική φιλτραρίσματος βασισμένο-σε-περιεχόμενο (contentbased filtering). Το φιλτράρισμα βασισμένο σε περιεχόμενο λειτουργεί αναλύοντας το περιεχόμενο των μηνυμάτων, με σκοπό την ομαδοποίησή τους βάσει κοινών χαρακτηριστικών. Σχήμα 3. 20.: Content- based Filtering Βλέποντας το σχήμα 3. 20., συγκρίνει δεδομένα από το μήνυμα advertisement, με δεδομένα από το μήνυμα notification, αν δει ότι ταιριάζουν τότε πάει να πει ότι το μήνυμα είναι έγκυρο και όχι spam. Αν παρατηρήσει ότι τα δεδομένα δεν ταιριάζουν τότε καταλαβαίνει ότι publisher δεν είναι έγκυρος και ενημερώνει τον broker. O broker με την σειρά του στο αρχείο που τηρεί τα ψηφιακά πιστοποιητικά που έχουν λήξει, ή που είναι μη έγκυρα, τοποθετεί το ψηφιακό πιστοποιητικό του publisher, 69

και του «κρατάει» έναν ποσό χρημάτων ανάλογα με το πόσα publish μηνύματα έστειλε. Στο σχήμα 3.21., βλέπουμε την διαδικασία που ο subscriber δέχεται το μήνυμα από τον broker, το αποκρυπτογραφεί και στην συνέχεια με την μέθοδο content filtering διαπιστώνει αν το μήνυμα είναι spam ή όχι. Σχήμα 3. 21.: Φιλτράρισμα δεδομένων για να δούμε αν το μήνυμα είναι spam Μετά ο broker ενημερώνει τους γειτονικούς του brokers, έτσι ώστε να καταχωρήσουν το ψηφιακό πιστοποιητικό του publisher στο αρχείο με τα μη έγκυρα ψηφιακά πιστοποιητικά. Αντίστοιχα, την ίδια διαδικασία κάνουν και οι άλλοι brokers. 70