ΕΛ/ΛΑΚ | creativecommons.gr | mycontent.ellak.gr |
freedom

SQL Injections: Τι είναι και πως χρησιμοποιούνται

Η κοινότητα ασφάλειας είναι διχασμένη σχετικά με την πρόσφατη σύλληψη του ερευνητή ασφάλειας που χάκαρε τον δικτυακό τόπο της Εκλογικής Επιτροπής στην Πολιτεία της Φλόριντα . Το ερώτημα είναι αν άξιζε να συλληφθεί ως ένας ποινικός χάκερ ή μήπως παρείχε δημόσια υπηρεσία, εκθέτοντας ένα θέμα ευπάθειας που έδινε πρόσβαση στον οποιονδήποτε στα διαπιστευτήρια διαχειριστή για το site;

Δεν υπάρχει ωστόσο κάποιο ερώτημα σχετικά με την πολυπλοκότητα της επίθεσης του. Υπάρχει όμως ομοφωνία στο ότι χρησιμοποίησε την μέθοδο SQL injection  για να εκθέσει τα διαπιστευτήρια -η κοινότητα ασφάλειας το προφέρει ως “ess-que-el” ή “sequel”- και είναι ένα από τα πιο βασικά και παλαιότερα τεχνάσματα που χρησιμοποιούν οι χάκερ για να αποκτήσουν πρόσβαση σε ιστοσελίδες και σε περιεχόμενο σε βάσεις δεδομένων που υπάρχουν στο υπόβαθρο (backend) και συνδέονται με αυτές οι ιστοσελίδες. Αυτές οι βάσεις δεδομένων μπορεί να περιέχουν Αριθμούς Κοινωνικής Ασφάλισης και αριθμούς πιστωτικών καρτών, στοιχεία ιατρικών φακέλων ή μια σειρά από άλλα ευαίσθητα δεδομένα, συμπεριλαμβανομένων και των διαπιστευτηρίων για το log-in των διαχειριστών και των διαπιστευμένων των χρηστών της ιστοσελίδας, καθώς ίσως και άλλα διαπιστευτήρια που δίνουν πρόσβαση σε έναν hacker για άλλα μέρη του δικτύου πέρα από αυτές καθ’ αυτές τις βάσεις δεδομένων.

TL;DR: Οι SQL injection επιθέσεις είναι ο πιο συνηθισμένος τρόπος που οι χάκερ χρησιμοποιούν για να αποκτήσουν πρόσβαση σε ιστοσελίδες και για να κλέψουν ευαίσθητα δεδομένα, εκμεταλλευόμενοι τα τρωτά σημεία που υπάρχουν στις εφαρμογές Web που διασυνδέονται με βάσεις δεδομένων στο υπόβαθρο.

Οι επιθέσεις αυτές εκμεταλλεύονται μια ευπάθεια ή τα τρωτά σημεία που υπάρχουν σε εφαρμογές web, οι οποίες επικοινωνούν με διακομιστές backend όπου αποθηκεύονται βάσεις δεδομένων. Το SQL σημαίνει Structured Query Language (Δομημένη Γλώσσα Διατύπωσης Ερωτημάτων) και αναφέρεται σε μια γλώσσα προγραμματισμού που χρησιμοποιείται για να προστεθούν δεδομένα σε μια βάση δεδομένων SQL ή για να ανακτηθούν ή για τον χειρισμό αυτών των δεδομένων . Οι SQL injection ευπάθειες είναι από τα πιο κοινά τρωτά σημεία που υπάρχουν και εμφανίζονται σταθερά στην κορυφή των καταλόγων με τις ευπάθειες  εδώ και χρόνια. Η εταιρεία ασφάλειας υπολογιστών Imperva τις αποκαλεί “η πιο ολέθρια ευπάθεια στην ιστορία των υπολογιστών” και λέει ότι μεταξύ του 2005 και του 2011, οι επιθέσεις SQL αντιπροσώπευαν το 83% όλων των (γνωστών) παραβιάσεων δεδομένων κατά τη διάρκεια αυτής της χρονικής περιόδου.

Εδώ είναι το πώς λειτουργεί αυτή η επίθεση. Όταν επισκέπτεσαι έναν δικτυακό τόπο, επικοινωνείς (έμμεσα) με μια βάση δεδομένων SQL όταν πληκτρολογείς τα διαπιστευτήριά σου στη φόρμα log-in (εκεί είναι αποθηκευμένα τα στοιχεία σου για να γίνει η αντιπαραβολή), όταν πραγματοποιείς μια αναζήτηση στο web site ή όταν υποβάλεις άλλα είδη δεδομένων στην ιστοσελίδα (για να αποθηκευτούν).

Μια SQL επίθεση συμβαίνει όταν οι χάκερς πληκτρολογούν SQL κώδικα ερωτήματος σε μια φόρμα στο διαδίκτυο και η web εφαρμογή που επεξεργάζεται αυτόν τον κώδικα δεν τον ελέγχει σωστά και τον επικυρώνει (δηλ. τον “εκτελεί”), επιτρέποντας με αυτόν τον τρόπο τον εισβολέα να δώσει εντολές στη βάση δεδομένων για να διαρρεύσει αυτή τα δεδομένα της. Διαφορετικές εντολές παίρνουν διαφορετικά αποτελέσματα και συχνά ένας εισβολέας θα προσπαθήσει πολλές παραλλαγές για να δει τι θα του δώσει ως απάντηση μια βάση δεδομένων σε αυτές. Ένας εισβολέας, για παράδειγμα, μπορεί να στείλει ένα είδος εντολών SQL για να εμφανίσει όλα τα περιεχόμενα μιας βάσης δεδομένων στον browser του ή μπορεί να χρησιμοποιήσει άλλες εντολές για να εμφανίσει μέρη της βάσης δεδομένων ή για να αποκτήσει την δυνατότητα να προσθέσει, να τροποποιήσει ή να διαγράψει τα περιεχόμενα της βάσης δεδομένων.

Πάρτε, για παράδειγμα, μια φόρμα αναζήτησης σε μια σελίδα καταστήματος ηλεκτρονικού εμπορίου. Ένας χρήστης μπορεί να ζητήσει από το site να του επιστρέψει μια λίστα με τις τηλεοράσεις μάρκας Samsung που πωλούνται σε ένα συγκεκριμένο εύρος τιμών. Αν το site έχει μια SQL ευπάθεια, ωστόσο, ένας εισβολέας μπορεί να εισάγει μια ειδικά δημιουργημένη σειρά με εντολές σε κώδικα στο πλαίσιο αναζήτησης, που θα μπορούσε να παράγει μια λίστα με όλα τα προϊόντα στη βάση δεδομένων ή, ανάλογα με τα περιεχόμενα της βάσης δεδομένων, τις διευθύνσεις ηλεκτρονικού ταχυδρομείου και τους αριθμούς πιστωτικών καρτών από όλους όσους αγόρασαν τηλεοράσεις Samsung.

Μια SQL injection επίθεση ήταν υπεύθυνη για το hack, το 2011, στην εταιρεία ασφαλείας HB Gary Federal, αυτή η επίθεση επέτρεψε στα μέλη των Anonymous να κλέψουν τους κωδικούς πρόσβασης για τους εταιρικούς λογαριασμούς e-mail της εταιρείας και να αντιγράψουν σαρωτικά πάνω από 60.000 μηνύματα ηλεκτρονικού ταχυδρομείου online.

Το SQL injection ήταν επίσης ο φορέας της επίθεσης στο πρόσφατο hack στην κινεζική εταιρεία παιχνιδιών VTE, από την οποία τα προσωπικά δεδομένα περίπου 4,8 εκατομμυρίων γονέων και 200.000 παιδιών κλάπηκαν  από το site της εταιρείας.

Και αυτή ήταν η μέθοδος που ο hacker Albert Gonzalez και οι συν αυτώ χρησιμοποίησαν το 2007 για να χακάρουν τις εταιρίες 7-Eleven, Hannaford Brothers, Heartland Payment Systems και άλλες εταιρείες  και να αποκτήσουν πρόσβαση σε εκατομμύρια αριθμούς πιστωτικών και χρεωστικών καρτών.

Πιθανολογείται επίσης ότι η Mossack Fonseca -το δικηγορικό γραφείο στον Παναμά που ήταν η πηγή της πρόσφατης μαζικής διαρροής με τα Panama Pappers (Τα Έγγραφα του Παναμά)- είχε ένα θέμα ευπάθειας στην ασφάλεια της απέναντι σε επίθεση με SQL injection στην ιστοσελίδα της, αν και δεν είναι γνωστό αν αυτός ήταν ο τρόπος με τον οποίο ο πληροφοριοδότης, που διέρρευσε τα έγγραφα στα μέσα μαζικής ενημέρωσης, απέκτησε τον τεράστιο όγκο των αρχείων.

Συνήθως, αν κάποιος αποκαλύψει ή εκθέσει στο κοινό, μια ευπάθεια SQL injection, αλλά δεν την χρησιμοποιήσει για να πάρει ή να αποκτήσει πρόσβαση σε δεδομένα, δεν θα πρέπει να κινδυνεύει με σύλληψη. Θα το αντιμετωπίσουν σαν οποιαδήποτε άλλη αποκάλυψη ασφάλειας από έναν white hat  χακερ. Αλλά στην πρόσφατη υπόθεση που αφορούσε τον David Levin, ο οποίος αποκάλυψε την ευπάθεια στην ιστοσελίδα της Επιτροπής Εκλογών στο Lee County της Φλόριντα, ο Levin έκανε δοκιμή της διείσδυσης του για λίγο περισσότερο. Έκλεψε τα ονόματα χρήστη και τους κωδικούς πρόσβασης ως απόδειξη του ότι θα μπορούσε να μπει στην βάση δεδομένων του site και στη συνέχεια πήγε τις πληροφορίες, σχετικά με την ευπάθεια, στον υποψήφιο που κατέβαινε ως αντίπαλος του τρέχοντα υπεύθυνου της Επιτροπής Εκλογών του Lee County. Στη συνέχεια έκανε ένα βίντεο καμπάνιας με τον υποψήφιο, εκθέτοντας τα τρωτά σημεία στην ιστοσελίδα που επιβλέπει ο πολιτικός αντίπαλος του υποψήφιου.

Πηγή άρθρου https://www.wired.com

Μετάφραση: http://waves.pirateparty.gr/

Leave a Comment