Web Security Summary Paper: Robust Defenses for Cross-Site Request Forgery Το CSRF είναι ένα attack όπου ο browser του θύματος ο οποίος κατευθύνεται από ένα malicious site αποστείλει request σε ένα honest site (valid site). Το CSRF αφήνει ένα attacker να χρησιμοποιήσει πόρους στους οποίους δεν είχε πρόσβαση πιο πριν πχ: Πρόσβαση στο δίκτυο. Κάποιος attacker διαμέσου του pc και του browser του χρήστη μπορεί να αποστείλει requests σε άλλα nodes στο δίκτυο του θύματος. Κατ επέκταση, μπορεί να αποκτήσει πρόσβαση σε routers, pcs και ακόμα σε firewalls που βρίσκονται στο δίκτυο του θύματος. Πρόσβαση στο να διαβάσει το browser state, όπως cookies, client certificates και basic authentication headers και τα λοιπά. Πρόσβαση στο να γράψει στο browser state, να εκτελέσει ένα network request ως ενδιάμεσος διαμεσολαβητής και μπορεί επίσης να γράψει ή να αλλοιώσει τα cookies του Browser. Μια πιο ειδική περίπτωση αποτελεί το login CSRF όπου απλά ο browser του θύματος γίνεται login σε ένα honest site για να γίνει ένα malicious action, με τα στοιχεία του attacker και τον browser του θύματος, και να φανεί ότι το login action έγινε από το pc του θύματος. Τέλος, διακρίνουμε τρεις οντότητες στο πρόσωπο του web attacker: Έχουμε τον Forum Poster, όπου κάποιος attacker μπορεί να χρησιμοποιήσει κάποιες τεχνικές για να κάνει inject malicious url όπως θα αναφέρουμε και πιο κάτω πιο αναλυτικά. Ο Web Attacker, όπου κατέχει ένα malicious domain name και web server για τα malicious URL. Αυτές τις υπηρεσίες μπορεί να τις αποκτήσει πολύ φθηνά, γύρω στα $10. Και Τέλος, Ο Network Attacker, που ελέγχει το network connection του θύματος όπως προαναφέρθηκε. Μια πιο γενική αρχιτεκτονική ενός CSRF attack που απορρέει έμμεσα από το paper είναι η πιο κάτω:
Στο Paper προτάθηκε το login CSRF attack, που χρησιμοποιείται για κατασκοπεία:
Επεξήγηση login CSRF attack: Ο attacker δημιουργεί μια malicious αίτηση σύνδεσης σε έναν νόμιμο website χρησιμοποιώντας το attacker username και password για αυτό το website. H αίτηση σύνδεσης εκτελείται από τον browser του θύματος, εν αγνοία του θύματος, με τους τρόπους που θα εξηγήσουμε πιο κάτω. Ο Νόμιμος server ανταποκρίνεται με μια κεφαλίδα Set-Cookie που καθοδηγεί τον browser του θύματος να μεταβάλει την κατάσταση του αποθηκεύοντας ένα cookie περιόδου σύνδεσης και καταγράφοντας τον χρήστη ως τον attacker. Το Session cookie (cookie συνόδου) χρησιμοποιείται για τη δέσμευση μεταγενέστερων αιτημάτων στο session του χρήστη, και συνεπώς με τις πιστοποιήσεις της ταυτότητας του attacker. Από το σημείο αυτό ο attacker θα ξέρει όλο το ιστορικό περιήγησης του θύματος που θα καταγραφεί στο μέλλον. To πείραμα που σχεδιάστηκε σε αυτό το paper για να αξιολόγηση του πόσο συχνά καταστέλλεται η κεφαλίδα Referer και ήταν το εξής πείραμα: Χρήση δικτύων διαφημίσεων, που παρέχουν μια βολική πλατφόρμα για τη μέτρηση των χαρακτηριστικών του προγράμματος περιήγησης και του δικτύου που έγιαναν διαθέσιμα από 5 April 2008 μέχρι 8 April 2008. Αγοράστηκαν 283.945 διαφημιστικές εμφανίσεις από 163.767 μοναδικές διευθύνσεις IP χρησιμοποιώντας δύο διαφημιστικά δίκτυα. Τα same request γίνονταν στον primary server και τα cross domain request στον secondary server όπου βρίσκονταν στο ίδιο εργαστήριο, αλλά ο κάθε server ανήκαν σε διαφορετικό domain registrar (δηλαδή αγόρασαν υπηρεσίες από δύο παροχής). Έγινε χρήση GET και POST requests πάνω από HTTP και HTTPS. Όταν εμφανίζεται, η διαφήμιση παράγει ένα μοναδικό αναγνωριστικό που συνοδεύει όλα τα επόμενα αιτήματα που δημιουργούνται από την εντύπωση και επιλέγει τυχαία μία από τις δύο μηχανές ως κύριο διακομιστή. Τα αιτήματα δημιουργούνται προγραμματικά, υποβάλλοντας φόρμες, ζητώντας εικόνες και εκδίδοντας XMLHttpRequests. Τα αιτήματα δημιουργούνται με τυχαία σειρά και εμφανίζονται αυτόματα χωρίς να συμπεριλαμβάνεται ο χρήστης. Όταν επιτρέπεται από την πολιτική ασφαλείας του προγράμματος περιήγησης, η διαφήμιση δημιουργεί ταυτόχρονα αιτήσεις ίδιου τομέα στις αιτήσεις του πρωτεύοντος διακομιστή και του crossdomain στον δευτερεύοντα διακομιστή. Κατά την παραλαβή των αιτημάτων δικτύου, οι διακομιστές καταγράφηκαν μια σειρά από παραμέτρους αιτήματος, συμπεριλαμβανομένης της κεφαλίδας Referer, της επικεφαλίδας User-Agent, της ημερομηνίας, του δικτύου κλάσης C του πελάτη και του αναγνωριστικού περιόδου σύνδεσης. Χρησιμοποιώντας το JavaScript, οι διακομιστές κατέγραψαν επίσης την τιμή του document.referrer DOM API. Δεν γράφτηκε στο log το client IP address, αλλά το HMAC του client s IP address για λόγους Privacy. Το HMAC του IP δημιουργείται από μια οικογένεια κρυπτογραφικών μεθόδων που βρίσκονται στην ασφαλή HW IP βιβλιοθήκη.
Αποτελέσματα πειράματος: To Referer header καταστέλλεται και ανακόπτεται συχνότερα τα HTTP requests από ό,τι τα HTTPS requests τόσο για POST όσο και για GET ακόμα και τα cross domain request. Οι browsers που καταργούν την κεφαλίδα Referer καταργούν επίσης το document.referer header. Παρόλα αυτά, όταν η κεφαλίδα Referer ανακόπτεται στο δίκτυο, η τιμή document.referer δεν ανακόπτεται. To Referer header καταστέλλεται συχνότερα στο Δίκτυο Διαφημίσεων Β σε σχέση με το Ad Nework A για όλους τους τύπους αιτημάτων. Επίσεις το πείραμα το document.referrer αποτράπηκε να εκτελεστεί: στον Browser του PlayStation 3, στον Opera όπου αποτρέπει τα cross-site HTTPS request, στον Firefox 1.0 and 1.5 λόγω bug. Έτσι στο paper αυτό προτάθηκε η χρίση του Origin Header: Η λύση αυτή είναι πολύ καλή για εφαρμογή και στο HTTP και στο HTTPS για αντιμετώπιση του CSRF attack. H λύση αυτή συμμορφώνεται με την ιδιωτικότητα των προσωπικών δεδομένων προκειμένου να είναι αποτελεσματική σε εφαρμογές μεγάλης κλίμακας. Επίσης για το Privacy, πρέπει να Περιλαμβάνονται μόνο οι πληροφορίες που απαιτούνται για την αναγνώριση αυτού που έκανε το request. Αποστολή μόνο για αιτήματα POST. Όλες οι αιτήσεις τόπου state modify, συμπεριλαμβανομένων των connection request πρέπει να αποστέλλονται χρησιμοποιώντας τη μέθοδο POST. Ο server πρέπει να απορρίψει τα αιτήματα των οποίων το Origin Header περιέχει ανεπιθύμητη τιμή. Έγινε βελτίωση και adaptation άλλων proposal από άλλα working groups. Έγιναν Browser side υλοποιήσεις στο WebKit, στο Safari και στον Firefox. Έγιναν Server side υλοποιήσεις στον ModSecurity και στον Apache. Το Origin header Βελτιώνει και ενοποιεί προηγούμενες προτάσεις και χρησιμοποιεί: To XMLHttpRequest: Το προτεινόμενο πρότυπο για cross-site XMLHttpRequest που περιλαμβάνει ένα Access-Control-Origin header για να προσδιορίσει την προέλευση του requester. Και το XDomainRequest που για παράδειγμα στον Internet Explorer 8 Beta 1 στέλνει HTTP requests μεταξύ τοποθεσιών που παραλείπουν τη διαδρομή και το query από το Referer header. Το API JSON Request για crossite HTTP requests και περιλαμβάνει μια κεφαλίδα τομέα που προσδιορίζει το όνομα κεντρικού υπολογιστή του αιτούντος. Το Cross-Document Messaging: Η προδιαγραφή HTML 5 προτείνει ένα νέο browser API για authentication μεταξύ HTML αρχείων.
Μετά το session initiation, ο web server συσχετίζει συνήθως την ταυτότητα ενός χρήστη με κάποιο session identifier. Από εκεί υπάρχουν δύο δρόμοι: Να γίνεις Authenticated ως User, με ένα αναμενόμενο session identifier. ή Να γίνεις Authenticated ως Attacker, λόγω ενός πετυχημένου Login CSRF attack. Επίθεσης κατά το session initialization: Στα HTTP Requests: -Το πρωτόκολλο OpenID συνιστά στους ιστότοπους να συμπεριλαμβάνουν έναν μηχανισμό που επιτρέπει self-signing για προστασία από reply attacks, αλλά δεν προτείνει μηχανισμό δέσμευσης του OpenID session στον browser του χρήστη. Για παράδειγμα, 1. Ο Web attacker επισκέπτεται το συμβαλλόμενο μέρος (π.χ. Blogger) και επαληθεύει την ταυτότητα του με το Yahoo! 2. Το Yahoo! ανακατευθύνει τον περιηγητή του εισβολέα στην διεύθυνση URL "επιστροφής" της τρίτης εμπλεκόμενης οντότητας. 3. Ο attacker κατευθύνει το πρόγραμμα περιήγησης του χρήστη κατά την επιστροφή του URL. 4. Η τρίτη εμπλεκόμενη οντότητα ολοκληρώνει το πρωτόκολλο OpenID και αποθηκεύει ένα cookie περιόδου λειτουργίας στο πρόγραμμα περιήγησης του χρήστη. 5. Ο χρήστης είναι πλέον συνδεδεμένος ως ο attacker. -Το PHP Cookieless Authentication αποθηκεύει το user s session identifier σε μια παράμετρο που μπορεί να γίνει query. Αυτή η τεχνική αποτυγχάνει να δεσμεύσει το session στον user s Browser. 1. Ο web attacker καταγράφει το honest web site. 2. Ο web attacker ανακατευθύνει το πρόγραμμα περιήγησης του χρήστη στη διεύθυνση URL που εμφανίζεται στo location bar του web attacker. 3. Επειδή αυτή η διεύθυνση URL περιέχει το αναγνωριστικό περιόδου σύνδεσης του web attacker, ο χρήστης είναι πλέον συνδεδεμένος ως o web attacker.
Στο Cookie Overwriting : Ένας server μπορεί να περιλαμβάνει το flag Secure στην κεφαλίδα του Cookie για να δώσετε εντολή στον browser ότι τα cookies πρέπει να αποστέλλεται μόνο μέσω συνδέσεων HTTPS. Αλλά, Ένας active network attacker μπορεί να παρέχει μια κεφαλίδα Set-Cookie μέσω μιας σύνδεσης HTTP με το ίδιο όνομα κεντρικού υπολογιστή με την πραγματική ιστοσελίδα και να εγκαταστήσει είτε ένα ασφαλή είτε ένα μη ασφαλές cookie με το ίδιο όνομα. Άρα, δεν μπορεί να αναπτυχθεί αμυντική λύση για αυτό, χωρίς να σπάσει τα πρότυπα και τις υπάρχουσες εφαρμογές του WEB. Και έτσι, εφαρμόστηκε η κεφαλίδα Cookie-Integrity ως plugin του Firefox.To plugin αναγκάζει το cookie store process για να συμπεριλάβει ένα Integrity flag που καταγράφει τα cookie που έχουν οριστεί με HTTPS. Paper: Clickjacking: Attacks and Defenses Απλός Ορισμός του Clickjacking: Ο χρήστης παραπλανείτε στο να πατήσει click κάπου που δεν ήθελε να πατήσει click. Μια web εφαρμογή που έφτιαξε ένας attacker, παρουσιάζει ένα ευαίσθητο στοιχείο UI μιας target-εφαρμογής εκτός περιβάλλοντος (context) σε έναν χρήστη. e.g. Likejacking, Sharejacking.
Όπου αναφερόμαστε για target element είναι για παράδειγμα το Facebook like button, το PayPal pay button ή οποιοδήποτε άλλο element τέτοιου είδους. To Visual Integrity είναι το τι θα δει ο χρήστης ακριβώς πριν για να οδηγηθεί να πατήσει το Sensitive UI element και πρέπει να είναι καλοστημένο για να ξεγελαστεί ο χρήστης. Στo Temporal Integrity είναι σχετικό το timing του user και η αντίληψη του. Δηλαδή όταν πάει να πατήσει ένας user πάνω στο claim your free ipad Pro, σε unoticable χρόνο το κουμπί αλλάζει και τελικά πατά πάνω στο like του. Μπορεί να μην αλλάξει καθόλου την εικόνα και να κάνει απλά redirect σε κάποιο url αφού έχει ήδη κάνει το context του να είναι ήδη native element του website. Στην δεξιά εικόνα καταπατάτε το temporal integrity. Επίσης το κουμπί αυτό μπορεί να κρυφτεί πίσω από διαφημίσεις για charity. Ισχύ το ίδιο και στο twitter button και οποιοδήποτε άλλο κουμπί. Τεχνικές για clickjacking: Απόκρυψη του target element Για παράδειγμα, με χρήση opacity 0 στο css ή το attribute hidden σε HTML. Partial overlays με άλλα UI Elements. στο παλαιότερο paypal checkout iframe, το οποίο μπορεί να κρύψει κάποιος το πλαίσιο κειμένου ή τη μηνιαία πληρωμή και εκθέτει μόνο το κουμπί πληρωμής. Το PayPal διορθώνει αυτό το ζήτημα, μεταφέροντας μας στον αξιόπιστο website του για να κάνουμε μια δωρεά, αλλά ο χρήστης πρέπει να εντοπίσει ότι αυτό το website είναι αξιόπιστο. Cropping του παλαιού iframe χρησιμοποιώντας τη αρνητική θέση και τη συσκευασία του iframe σε ένα νεότερο iframe. Για παράδειγμα, στο παλαιότερο paypal checkout iframe που αποκόπτεται το iframe και μόνο ένα κουμπί πληρωμής. Υφιστάμενες άμυνες για την προστασία του Visual Integrity: User confirmation o Δηλαδή ο user πρέπει να κάνει confirm τις ενέργειες του όπως γίνεται όταν γίνονται ενέργειες από blacklisted source, αλλά αυτό υποβαθμίζει το user experience και είναι ευάλωτο στο single click και double click attack που θα μπορούσαν να εξαπατήσουν το θύμα να κάνει κλικ τόσο στο στοιχείο στόχου όσο και σε ένα αναδυόμενο παράθυρο επιβεβαίωσης ταυτόχρονα. UI randomization o π.χ. Τυχαία επανατοποθέτηση του pay button. Αυτή η μέθοδος είναι αναξιόπιστη. o Το PayPal θα μπορούσε να τοποθετήσει τυχαία τη θέση του κουμπιού "Πληρωμή" στο παράθυρο διαλόγου Express Checkout, ώστε να δυσκολευτεί ο επιτιθέμενος να το καλύψει με ένα άλλο κουμπί. Αυτό δεν είναι εύρωστο, αφού ο επιτιθέμενος μπορεί να ζητήσει από το θύμα να συνεχίσει να κάνει click μέχρι να μαντέψει με επιτυχία την τοποθεσία του Pay button.
Framebusting (X-Frame-Options) o Τα X-Frame-Options και τα frame-ancestors επιτρέπουν και τον καθορισμό whitelist σε websites που δικαιούνται να χρησιμοποιήσουν κάποιο target element, αλλά κάτι τέτοιο είναι συχνά ανέφικτο. Για παράδειγμα, το Facebook θα πρέπει να κατατάξει σε λίστα ένα μεγάλο μέρος του παγκόσμιου ιστού για το κουμπί Like. o Το framebusting είναι μια πιο αποτελεσματική άμυνα που δεν αφήνει τα target και τα spoof elements να γίνουν render στα iframes. Αποκόπτει τα iframes ή απαγορεύει τα target element από το να γίνεται render σε iframes. Αυτό μπορεί να γίνει είτε με κώδικα JavaScript στο target element χρησιμοποιώντας X-Frame-Options ή και με χρήση frame-ancestors. o Ασύμβατο με 3rd-party objects, όπως τα κουμπιά του Facebook Like. o Το JavaScript framebusting είναι αναξιόπιστο και υπάρχουν επιθέσεις που παρακάμπτουν την προστασία των iframes στο OAuth χρησιμοποιώντας αναδυόμενα παράθυρα. o Επίσης το framebusting παρακάμπτεται με την πλοήγηση στο ιστορικό περιήγησης με χρήση JavaScript malicious Script. Opaque overlay policy (Gazelle browser 2009 microsoft research). o Έφευγε πλήρως το transparency από το τα cross-origin frames. Αλλά αυτό χαλούσε πλήρως τα legitimate sites. Visibility detection on click (NoScript). o Δεν ανέκοπτε όλα τα attacks. Έχει False Positives. o Δυστυχώς, οι επιθέσεις πλαστογράφησης του cursor μπορούν να εξακολουθήσουν να είναι αποτελεσματικές εναντίον κάποιων χρηστών, ακόμη και αν ο προεπιλεγμένος cursor είναι ορατός πάνω από το στοιχείο-στόχο. o Αντί να αποκλείετε εντελώς το iframe, μια εναλλακτική λύση είναι να επιτρέπετε το rendering αδιαφανών (transparent) iframe, αλλά να αποκλείονται τα κλικ του ποντικιού αν ο browser εντοπίσει ότι το clicked cross-origin frame δεν είναι πλήρως ορατό. π.χ. Η Adobe έχει προσθέσει μια τέτοια προστασία στο διάλογο πρόσβασης της κάμερας Flash Player ως απόκριση σε επιθέσεις clickjacking webcam. o Το ClearClick της επέκτασης Firefox NoScript χρησιμοποιεί επίσης αυτήν την τεχνική που ζητά από τους χρήστες να επιβεβαιώσουν τις ενέργειές τους σε πιθανολογούμενες επιθέσεις clickjacking αλλά έχει κακό αντίχτυπο στο user experience. o Για αντιμετώπιση του πιο πάνω προτάθηκε το ClickIDS. Δυστυχώς, το ClickIDS δεν μπορεί να ανιχνεύσει επιθέσεις που βασίζονται σε μερικές επικαλύψεις ή περικοπές και εξακολουθεί να δίνει ψευδώς θετικά αποτελέσματα.
Υφιστάμενες άμυνες για την προστασία του temporal context integrity: Επιβολή καθυστέρησης μετά την εμφάνιση του UI, π.χ. στην εγκατάσταση επέκτασης τρίτου μέρους του Firefox ή στο Adobe Flash Player κ.λπ. Το να υπάρχουν κρυφά κουμπιά για κάποιο χρονικό διάστημα, είναι αρκετά ενοχλητικό για τους χρήστες. Αποτελέσματα ενός Clickjacking attack: Μπορεί να καταπατήσει το Web Surfing anonymity. (Να μην διατηρείται η απόκρυψη προσωπικά αναγνωρίσιμων πληροφοριών του χρήστη από ισότοπους που επισκέφθηκε ενώ ο χρήστης περιηγείτο στο Διαδίκτυο). Πείραμα: Μπορούν να κλαπούν Προσωπικές πληροφορίες (π.χ. user data, emails κτλ). Μπορεί να υπάρξει παρακολούθηση του χρήστη (e.g. μέσω webcam, μικροφώνου κτλ). Τα attack που ακολουθούν που ήταν μέρος του πειράματος, χρησιμοποιούν τις πιο πάνω τεχνικές για clickjacking και καταπατούν και παρακάμπτουν τις υφιστάμενες άμυνες για την προστασία του Visual Integrity και του Temporal Integrity. Στην αξιολόγηση του περάματος έλαβαν μέρος 2064 χρήστες από το Amazon Mechanical Turk και υπήρχε κόστος 25 cents per user και ο κάθε χρήστης είχε την δυνατότητα να λάβει μέρος μόνο μια φορά. Πρόσβαση στην Webcam του χρήστη - Cursor Spoofing attack: Attack technique: cursor-spoofing: Δημιουργείται κλονοποιημένος cursor και κινητέ παράλληλα με τον real και καθώς γίνεται click το Skip Ad, γίνεται και click το allow webcam access. Attack success: 43% (31/72). Stealing User s Emails Double Click attack:
Attack technique: pop-up window: Εμφανίζεται ένα pop up window καθώς το θύμα πατήσει δύο φορές στο κουμπί double click και το ένα εκ των δύο click γίνεται αdress στο allow access button και γίνεται η επίθεση και αποκτούνται τα google personal data του θύματος. Attack success: 47% (43/90). Αποκαλύπτοντας την ταυτότητα του χρήστη - Like Jacking Attack Καταπατά το web surfing anonymity. Whack-a-mole game: Attack technique: cursorspoofing + fast-paced clicking: Σε αυτή την επίθεση, ζητείται από το χρήστη να παίξει το whack-a-mole παιχνίδι και να τον ενθαρρύνει να κερδίσει υψηλό σκορ για να κερδίσει ανταμοιβές κάνοντας κλικ σε κουμπιά που εμφανίζονται σε τυχαίες θέσεις στην οθόνη όσο το δυνατόν γρηγορότερα. Σε όλο το παιχνίδι, χρησιμοποιείται ένας ψεύτικος δρομέας για να ελέγξουμε πού πρέπει να είναι η προσοχή του χρήστη. Σε μεταγενέστερο στάδιο του παιχνιδιού, μεταβιβάζουμε ένα κουμπί Like στον τόπο του πραγματικού δρομέα, εξαπατώντας τον χρήστη να κάνει κλικ σε αυτό. Η σελίδα ειδοποιείται όταν ένα θύμα κάνει κλικ στο κουμπί Like μέσω FB.Event.subscribe(). Attack success: 98% (83/84). Το InContext Defense που προτάθηκε: Το InContext επιτρέπει στα websites να επισημαίνουν τα ευαίσθητα στοιχεία UI τους και στη συνέχεια επιτρέπει στους browsers να επιβάλλουν την ακεραιότητα περιβάλλοντος (context integrity) των ενεργειών των χρηστών στα ευαίσθητα στοιχεία UI. Server opt-in προσέγγιση: Αφήνει τα websites να δηλώσουν τα ευαίσθητα τους UI. Αφήνει τα προγράμματα περιήγησης να επιβάλουν το context integrity όταν οι χρήστες ενεργούν στα sensitive UIs. Εξασφάλιση της ακεραιότητας της εμφάνισης του target element. Εδώ, ο επιτιθέμενος παραβιάζει το οπτικό πλαίσιο του κουμπιού "Twitter Follow" αλλάζοντας την αδιαφάνεια του και
παρεμποδίζοντας το με δύο HTML div tags. Το InContext εντοπίζει αυτό κατά τη σύγκριση bitmap. Παρατηρούνται επίσης εμπόδια από άλλα παράθυρα (π.χ. το nonbrowser Vi window στα δεξιά). Εάν εφαρμόσουμε τις τεχνικές του InContext defense στις πιο πάνω επιθέσεις έχουμε τα εξής αποτελέσματα: Χρήση cursor customization στο Cursor Spoofing attack: Attack success: 43% -> 16% Πάγωμα οθόνης γύρω από τον στόχο κατά την είσοδο του pointer: Attack success: 43% -> 15% Attack success (margin=10px): 12% Attack success (margin=20px): 4% (baseline:5%) (GOOD) Εφέ Lightbox γύρω από τον στόχο στην είσοδο του δείκτη Attack success (Freezing + lightbox): 2%. UI delay: Mετά από οπτικές αλλαγές στο target element ή τον cursor, ακυρώστε τα κλικ για μερικά ms. Pointer re-entry: Μετά από οπτικές αλλαγές στο στόχο, ακυρώνονται τα κλικ έως ότου ο δείκτης επανέλθει στο στόχο. Στο Whack-a-mole attack θέλουμε να γίνει αποκλεισμός των θυμάτων που μετέφεραν τον δείκτη τους γύρω από το κουμπί Like για πολλά δευτερόλεπτα και μελετούσαν εάν πρέπει να έκαναν κλικ ή όχι. Μέσα από την έρευνα που έγινε σε αυτό το paper επίσης φαίνεται ότι αυτά τα attacks είναι αρκετά αποτελεσματικά και σε μερικές περιπτώσεις βρέθηκε ότι ήταν και καλύτερα από το Social Engineering (63% users intentionally clicked on like button).