Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών. Διαβάστε περισσότερα.

Οι διακομιστές Ιστού φιλοξενούν τα αρχεία (ιστοσελίδες, εικόνες, βίντεο, φόρμες κ.λπ.) που συνθέτουν την εφαρμογή Ιστού σας και εξυπηρετούν αυτά τα αρχεία όταν κάποιος επισκέπτεται τον ιστότοπό σας. Ορισμένοι διακομιστές είναι πιο προηγμένοι και ελέγχουν επίσης πόση πρόσβαση έχουν οι επισκέπτες Ιστού. Ενδέχεται να περιορίσουν την πρόσβαση των τακτικών επισκεπτών στους λογαριασμούς άλλων χρηστών ή στους πίνακες εργαλείων διαχείρισης. Αν και οι διακομιστές ιστού είναι αποτελεσματικοί σε αυτό που κάνουν - και το κάνουν μάλλον με ασφάλεια - οι εισβολείς μπορούν να εκμεταλλευτούν σφάλματα που προκύπτουν από ανθρώπινο λάθος ή εσφαλμένη λογική στον τρόπο με τον οποίο ένας διακομιστής εξυπηρετεί τα αρχεία που φιλοξενεί.

Τι είναι μια επίθεση LFI;

Μια επίθεση Local File Intrusion (LFI) συμβαίνει όταν οι εισβολείς εκμεταλλεύονται ευπάθειες στον τρόπο με τον οποίο ένας διακομιστής Ιστού αποθηκεύει, εξυπηρετεί, επικυρώνει ή ελέγχει την πρόσβαση στα αρχεία του. Αυτή η ευπάθεια είναι κοινή σε ιστότοπους που βασίζονται σε PHP.

instagram viewer

Σε αντίθεση με πολλές μορφές κυβερνοεπιθέσεων όπου οι εισβολείς βασίζονται σε κακόβουλο λογισμικό για να καταστρέψουν μια εφαρμογή, οι εισβολείς στα LFI βασίζονται κυρίως σε έξυπνα κόλπα και σύντομες γραμμές κώδικα. Αυτό σπάνια απαιτεί εξελιγμένα εργαλεία ή πολύπλοκα σενάρια. επιθέσεις συνήθως συμβαίνουν στο πρόγραμμα περιήγησης ιστού. Το πιο συνηθισμένο κόλπο που χρησιμοποιούν οι εισβολείς είναι η τροποποίηση της συμβολοσειράς URL με κώδικα, διαδρομές αρχείων ή ονόματα αρχείων.

Πώς συμβαίνουν οι επιθέσεις LFI;

Οι επιθέσεις LFI συνήθως συμβαίνουν σε τέσσερα στάδια.

Πρώτον, ο εισβολέας αναγνωρίζει έναν ιστότοπο PHP που εκτελεί μια ευάλωτη εφαρμογή Ιστού, συνήθως εκτελώντας έναν βασικό κώδικα στη διεύθυνση URL του προγράμματος περιήγησης για να δει εάν η εφαρμογή Ιστού (δηλαδή ο ιστότοπος) χειρίζεται την εντολή. Σκεφτείτε το σαν να πατάτε συνδυασμούς πλήκτρων στο χειριστήριο του παιχνιδιού σας για να ξεκλειδώσετε ένα πασχαλινό αυγό — ας πούμε, για παράδειγμα, να πατήσετε το κάτω πλήκτρο για να μπείτε σε τούνελ στο Super Mario. Αλλά οι εντολές που εκτελούνται από τους εισβολείς στις επιθέσεις LFI είναι πιο συνεπείς από τον έλεγχο κάθε σήραγγα στο Super Mario.

Μια εφαρμογή Ιστού ή διακομιστής που δεν έχει ρυθμιστεί σωστά ή αποτυγχάνει να επικυρώσει τις εισόδους θα εκτελέσει τον κακόβουλο κώδικα. Από εδώ, ο χάκερ μπορεί να αποκτήσει την πρόσβαση και το προνόμιο που χρειάζεται για να διαβάσει ευάλωτα αρχεία ή να ανεβάσει κακόβουλα αρχεία στον διακομιστή.

Οι περισσότερες επιθέσεις LFI έχουν ως αποτέλεσμα ο εισβολέας να έχει πρόσβαση σε ευαίσθητες πληροφορίες. Η δυνατότητα μεταφόρτωσης κακόβουλου λογισμικού σπάνια είναι επιτυχής, επειδή δεν υπάρχει εγγύηση ότι η εφαρμογή Ιστού θα αποθηκεύσει το αρχείο στον ίδιο διακομιστή όπου υπάρχει η ευπάθεια LFI. Αυτό συμβαίνει συχνά εάν η εφαρμογή Ιστού βρίσκεται σε περιβάλλον πολλών διακομιστών.

Έτσι, εάν η ευπάθεια LFI υπάρχει στον διακομιστή που φιλοξενεί εικόνες αλλά όχι στον διακομιστή που αποθηκεύει τον εργαζόμενο διαπιστευτήρια ή κωδικούς πρόσβασης χρήστη, ο εισβολέας θα έχει πρόσβαση μόνο σε αρχεία εικόνας σε αυτόν τον ευάλωτο διακομιστή. Ανεξάρτητα από τα γεγονότα στον κυβερνοχώρο όπως την επίθεση στο LastPass δείχνουν ότι οι χάκερ μπορούν να προκαλέσουν τον όλεθρο με το φαινομενικά πιο ασήμαντο επίπεδο πρόσβασης.

Πώς να αποτρέψετε τις επιθέσεις LFI

Οι επιθέσεις LFI είναι αρκετά συχνές, σύμφωνα με το Ανοίξτε το Έργο Ασφάλειας Εφαρμογών Ιστού (OWASP). Όπως είναι λογικό, οι χάκερ θα ευνοούσαν αυτήν την επίθεση αφού, όπως W3Techs Σύμφωνα με πληροφορίες, σχεδόν οκτώ στους 10 ιστότοπους εκτελούν την PHP ως γλώσσα προγραμματισμού από την πλευρά του διακομιστή — ας πούμε έτσι πολλά θύματα. Είναι δυνατό να αποτραπεί μια επίθεση LFI υιοθετώντας βέλτιστες πρακτικές ασφάλειας ιστού.

Λίστα επιτρεπόμενων αρχείων δημόσιου διακομιστή

Οι εφαρμογές Ιστού χρησιμοποιούν συχνά διαδρομές αρχείων ως εισόδους URL. Οι χάκερ μπορούν να εκμεταλλευτούν αυτό το σύστημα αρχειοθέτησης αλλάζοντας το τμήμα της διεύθυνσης URL που λειτουργεί ως διαδρομή αρχείου. Για παράδειγμα, ένας εισβολέας μπορεί να αλλάξει https://dummywebsite.com/?module=contact.php προς την https://dummywebsite.com/?module=/etc/passwd. Ένας ευάλωτος διακομιστής με κακό φιλτράρισμα και εσφαλμένη λογική θα εμφανίσει τα περιεχόμενα του αρχείου που είναι αποθηκευμένο στη διαδρομή /etc/passwd.

Φυσικά, οι χάκερ χρησιμοποιούν παραλλαγές κοινών ονομάτων αρχείων και συνδυασμούς χαρακτήρων ερωτήματος για να αυξήσουν τις πιθανότητες μιας επιτυχημένης επίθεσης. Ο στόχος είναι να εξαπατήσετε την εφαρμογή Ιστού για να εκτελέσει ένα σενάριο ή να εμφανίσει τα αρχεία σε έναν διακομιστή Ιστού.

Μπορείτε να αποκλείσετε αυτήν την ευπάθεια δημιουργώντας μια λίστα επιτρεπόμενων δημόσιων εγγράφων στον διακομιστή σας και δίνοντας εντολή στην εφαρμογή web να αγνοήσει τα ερωτήματα για κάθε άλλο έγγραφο ή διαδρομή αρχείου. Έτσι, εάν ένας εισβολέας προσπαθήσει να χειραγωγήσει τη διεύθυνση URL για να ζητήσει ή να εκτελέσει κωδικούς που ζητούν απόρρητο, θα λάβει μια σελίδα σφάλματος.

Συχνές δοκιμές για τρωτά σημεία

Μπορείς να χρησιμοποιήσεις εργαλεία σάρωσης ιστού για να βρείτε και να διορθώσετε τρωτά σημεία που θα μπορούσαν να σας εκθέσουν σε επιθέσεις LFI. Οι σαρωτές εφαρμογών Ιστού είναι αυτοματοποιημένα εργαλεία που ανιχνεύουν την εφαρμογή σας σαν εισβολέας και σας ειδοποιούν για πιθανά τρωτά σημεία. Υπάρχουν αρκετοί σαρωτές ιστού ανοιχτού κώδικα όπως το OpenVAS και το Wireshark, αλλά οι περισσότεροι σαρωτές ευπάθειας είναι ιδιόκτητο λογισμικό και απαιτούν σχέδια επί πληρωμή για χρήση.

Αλλά, φυσικά, δεν παίρνετε έναν σαρωτή ιστού μόνο για επιθέσεις LFI. Αυτά τα εργαλεία αναζητούν επίσης ευρύτερες ευπάθειες ασφαλείας όπως π.χ απομακρυσμένη συμπερίληψη αρχείων, δέσμες ενεργειών μεταξύ τοποθεσιών, ένεση SQL και κακές διαμορφώσεις διακομιστή. Άρα, αξίζουν τον κόπο.

Περιορίστε τα προνόμια επισκεπτών του ιστότοπου

Οι χάκερ εκτελούν συχνά επιτυχώς επιθέσεις LFI επειδή οι εφαρμογές Ιστού αποτυγχάνουν να διαχωρίσουν τα δικαιώματα των χρηστών και με αυτόν τον τρόπο επιτρέπουν στους επισκέπτες να έχουν πρόσβαση σε αρχεία που θα πρέπει να είναι ορατά μόνο στους διαχειριστές. Αυτό το μέτρο λειτουργεί σαν τη λίστα επιτρεπόμενων: ​​διαμορφώστε την εφαρμογή Ιστού και τον διακομιστή σας έτσι ώστε να εξυπηρετούν δημόσια αρχεία και να αγνοούν μη εξουσιοδοτημένα αιτήματα όταν ένας επισκέπτης αλληλεπιδρά με την εφαρμογή Ιστού. Αυτό είναι ιδιαίτερα σημαντικό για ερωτήματα σε διαδρομές αρχείων που περιέχουν ευαίσθητα αρχεία.

Για το σκοπό αυτό, ίσως χρειαστεί να αποτρέψετε την απευθείας τροποποίηση των διαδρομών αρχείων. Η εφαρμογή Ιστού θα πρέπει να προβάλλει έγγραφα μόνο από μια λίστα μονοπατιών με σκληρό κώδικα. Επιπλέον, διαμορφώστε την εφαρμογή Ιστού για να επεξεργάζεται αιτήματα με δυναμική συνένωση διαδρομής (οι διευθύνσεις URL πρέπει να περιέχουν αλφαριθμητικούς χαρακτήρες) αντί για συναρτήσεις base64 ή bin2hex.

Εάν σκέφτεστε να προσθέσετε ονόματα αρχείων στη μαύρη λίστα, μην το κάνετε. Οι χάκερ έχουν συνήθως μια αυξανόμενη λίστα ονομάτων αρχείων που μπορούν να χρησιμοποιήσουν για να εκτελέσουν μια επίθεση LFI. Άλλωστε είναι πρακτικά αδύνατο (και κολοσσιαίο χάσιμο χρόνου) στη μαύρη λίστα με τις συνεχώς αυξανόμενες πηγές της επίθεσης.

Χρησιμοποιήστε ένα περιβάλλον πολλών διακομιστών

Ένα περιβάλλον πολλών διακομιστών σάς επιτρέπει να απομονώνετε σημαντικά, ευαίσθητα έγγραφα από δημόσια αρχεία, μειώνοντας έτσι τον κίνδυνο σε περίπτωση παραβίασης. Οι αποκλειστικοί διακομιστές είναι λιγότερο ευάλωτοι σε επιθέσεις LFI επειδή, αν και συνεργάζονται, οι διαμορφώσεις τους διαφέρουν.

Εκτός από αυτήν την ασφάλεια, πολλοί διακομιστές είναι επίσης αξιόπιστοι (με χαμηλότερους κινδύνους διακοπής λειτουργίας), γρήγοροι και αποτελεσματικοί. Ομολογουμένως, η χρήση ενός περιβάλλοντος πολλών διακομιστών δεν είναι οικονομικά αποδοτική εάν ο ιστότοπός σας είναι μικρός. Σε αυτήν την περίπτωση, εξετάστε το ενδεχόμενο να χωρίσετε την πρόσβαση της εφαρμογής Ιστού σας σε δεδομένα μεταξύ μιας βάσης δεδομένων για ιδιωτικά δεδομένα και ενός διακομιστή για δημόσια αρχεία.

Πρέπει να ανησυχείτε για επιθέσεις LFI;

Υπάρχει πιθανότητα επίθεσης LFI, ειδικά εάν ο ιστότοπός σας εκτελείται σε PHP, αλλά μπορείτε να μειώσετε την έκθεσή σας διαμορφώνοντας τις εφαρμογές web και τους διακομιστές σύμφωνα με τις βέλτιστες πρακτικές ασφάλειας ιστού.

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