Το Facebook ίσως έχει τη μεγαλύτερη βάση δεδομένων από φωτογραφίες. Κάθε μέρα ανεβαίνουν περίπου 350 εκατομμύρια φωτογραφίες από όλο τον κόσμο.
Ο ερευνητής ασφαλείας Laxman Muthiyah ανακάλυψε έναν τρόπο που θα μπορούσε αν επιθυμούσε να διαγράψει κάθε φωτογραφία που έχει ανέβει στο δημοφιλές κοινωνικό δίκτυο.
Ευτυχώς για το Facebook και τους 1,3 δισεκατομμύρια χρήστες του, ο ερευνητής Laxman Muthiyah δεν είχε κακόβουλες βλέψεις. Ανέφερε το σφάλμα στο Facebook, και κέρδισε 12500 δολάρια.
Η απάντηση από το Facebοok ήταν άμεση – προς τιμήν τους, και το σφάλμα επιδιορθώθηκε σε όλο το δίκτυο μέσα σε 2 ώρες.
Ο Laxman αναφέρει:
OMG :D the album got deleted! So i got the key to delete all of your Facebook photos :P lol :D
Immediately reported this bug to Facebοok security team. They were too fast in identifying this issue and there was a fix in place in less than 2 hours from the acknowledgement of the report.
Φυσικά ο Laxman είχε και άλλες επιλογές.
Το σφάλμα που ανακάλυψε είναι όπλο. Δεν θα μπορούσε να σκοτώσει κανέναν, αλλά θα μπορούσε να κάνει δυστυχισμένους εκατοντάδες εκατομμύρια ανθρώπους.
Ο Laxman θα μπορούσε πιθανότατα να διαθέσει το bug στην υπόγεια αγορά και να κέρδισε πολύ περισσότερα χρήματα από ό, τι πήρε από το Facebοok.
Ή θα μπορούσε να κρατούσε την ανακάλυψή του μυστική και να την εκμεταλλεύεται ο ίδιος προς δικό του όφελος, βλέπε LizardSquad. Νομίζετε αν είχαν ανακαλύψει την ευπάθεια οι LizardSquad θα την δήλωναν στο Facebοok;
Ο Laxman ανακάλυψε το σφάλμα, ενώ εξέταζε το Graph API του Facebοok (Application Program Interface).
Το Graph API βοηθάει στην διασύνδεση του Facebοok με ιστοσελίδες, εφαρμογές και άλλα προγράμματα που χρειάζεται να ενσωματωθούν με το Facebook.
Είναι ένας λιτός, κωδικός διεπαφής που κατευθύνεται από αιτήματα HTTP. Επιτρέπει σε εφαρμογές να κάνουν τα ίδια πράγματα που κάνουν οι χρήστες του Facebοok, αλλά και πολλά άλλα.
Φυσικά, οι χρήστες του API δεν θα έπρεπε να είναι σε θέση να μπορούν επεξεργαστούν ή να διαγράψουν πράγματα που ανήκουν σε κάποιον άλλο.
Τι Laxman ανακάλυψε ένα bug που του επέτρεπε να κάνει ακριβώς αυτό, χρησιμοποιώντας ένα access token της εφαρμογής Facebοok για το Android για να κάνει authenticate τον εαυτό του.
Η ευπάθεια του Facebook δεν ήταν τίποτα περισσότερο από τέσσερις γραμμές κώδικα:
DELETE /<victim’s album in> HTTP/1.1
Host : graph.facebook.com
Content-Length: 245
access_token=<attacker’s Facebook for Android token>
Τα αναγνωριστικά των albums του Facebοok είναι αριθμητικά, πράγμα που σημαίνει ότι κάποιος μπορεί να ξεκινήσει από το 1 και απλά να συνεχίσει μέχρι να μην μείνει τίποτα. Ή για ακόμα πιο γρήγορα ο hacker θα μπορούσε να δημιουργήσει ένα script με τον παραπάνω κώδικα σε loop, ξεκινώντας από το 1 μέχρι το το ένα τρισεκατομμύριο.
Μαντέψτε το αποτέλεσμα.
Δείτε το PoC