!ΠΡΟΣΟΧΗ ΠΡΟΣ ΤΟΥΣ ΑΝΑΓΝΩΣΤΕΣ!

ΠΡΟΣΟΧΗ ΠΡΟΣ ΤΟΥΣ ΑΝΑΓΝΩΣΤΕΣ!
**** Σε αυτό το blog μερικά από τα άρθρα είναι αναδημοσιεύσεις από άρθρα του διαδικτύου και άλλα είναι προσωπικά tutorial που αναφέρονται σε διάφορα θέματα. Τα παραπάνω έγιναν για ενημέρωση του κοινού και εμπλουτισμό της εκπαιδευτικής διεύρυνσης. Όλα τα άρθρα είναι για εκπαιδευτικούς και μόνο σκοπούς. Δεν φέρω καμία ευθύνη εάν κάποιος αναγνώστης τα χρησιμοποιήσει κακόβουλα. ****

Τετάρτη 30 Ιανουαρίου 2013

Τεχνικές επιθέσεων για την παραβίαση ενός Web Server


Σε γενικές γραμμές, είναι αρκετοί αυτοί που γνωρίζουν πώς να χειριστούν, να ρυθμίσουν και να διαχειριστούν έναν εξυπηρετητή ιστού (web server). Όμως, ελάχιστοι είναι αυτοί που ξέρουν πραγματικά πώς να προστατέψουν τους web server τους από τους επίδοξους hackers που παραμονεύουν στο Διαδίκτυο. Στις μέρες μας, πάρα πολλές ιστοσελίδες φιλοξενούνται επί πληρωμή σε εξυπηρετητές ιστού και κατά συνέπεια είναι εξαιρετικά σημαντικό να ασφαλίσετε τον web server σας, προκειμένου να αποφευχθεί η πιθανότητα κλοπής προσωπικών δεδομένων.
Προτού αναφέρουμε τις τεχνικές που χρησιμοποιούν οι hackers για να παραβιάσουν έναν web server, καθώς και τους τρόπους με τους οποίους μπορείτε να προστατευτείτε , θα πρέπει να ξέρετε τι είναι και πώς λειτουργεί ένας εξυπηρετητής ιστού.

 

Τι είναι ένας Web Server;


Πρόκειται για έναν υπολογιστή ή και περισσότερους που χρησιμοποιούνται για να φιλοξενούν ιστοσελίδες. Για να είναι μια ιστοσελίδα διαθέσιμη προς όλους μέσω του Διαδικτύου όλο το εικοσιτετράωρο, θα πρέπει να φιλοξενείται σε έναν Web Server.

Πώς λειτουργεί ένας Web Server;


Ο τρόπος που λειτουργεί ένας Web Server είναι απλός. Όποτε χρησιμοποιείτε έναν περιηγητή διαδικτύου για να επισκεφτείτε μια ιστοσελίδα, ο περιηγητής σας θα ζητήσει τη συγκεκριμένη σελίδα από τον web server και ο εξυπηρετητής θα στείλει πίσω σε σας τη σελίδα που ζητήθηκε.

Πώς γίνονται hacked οι Web Servers;


Υπάρχουν πολλοί λόγοι που οδηγούν στην εύκολη παραβίαση ενός Web Server από έναν hacker. Μερικοί από τους πιο συνηθισμένους είναι η εγκατάσταση ενός Web Server με τις προεπιλεγμένες ρυθμίσεις, χωρίς την εγκατάσταση των τελευταίων ενημερώσεων και χρησιμοποιώντας αδύναμους κωδικούς πρόσβασης. Όταν ένας εξυπηρετητής ιστού παραβιαστεί, τότε ο hacker μπορεί να το χρησιμοποιήσει για να κάνει κακόβουλες πράξεις στο Διαδίκτυο. Για παράδειγμα, οι hacked Web Servers μπορούν να χρησιμοποιηθούν ως ζόμπι-υπολογιστές για την εκτέλεση μιας πιο ισχυρής επίθεσης DDOS.

Τεχνικές για την παραβίαση ενός Web Server

Παρακάτω αναφέρονται μερικές από τις τεχνικές που μπορούν να χρησιμοποιηθούν από hackers για να υποβιβάσουν την ασφάλεια ενός διακομιστή ιστού.

1. Σπάσιμο κωδικών πρόσβασης
Ένας hacker μπορεί να χρησιμοποιήσει αρκετές τεχνικές για να σπάσει έναν κωδικό, όπως Bruteforce, επιθέσεις Dictionary και Rainbow. Όμως, οι συγκεκριμένες επιθέσεις δημιουργούν τεράστια αρχεία καταγραφής που μαρτυρούν την παρουσία μιας εισβολής και από πού προέρχεται. Για το λόγο αυτό, οι έξυπνοι hackers χρησιμοποιούν είτε κάποιον proxy, είτε κάποια άλλη μέθοδο απόκρυψης της IP του υπολογιστή από τον οποίο κάνουν την επίθεση, ή ακόμα επιτίθενται μέσω άλλων συστημάτων που έχουν ήδη παραβιάσει.

2. Επίθεση «Man In The Middle»
Πρόκειται για μια μέθοδο, γνωστή και ως ARP poisoning, που χρησιμοποιούν οι hackers για να υποκλέψουν στοιχεία πρόσβασης σε επίπεδο διαχειριστή.
Σε αυτό το είδος της επίθεσης, ο επιτιθέμενος βρίσκεται στη μέσης της συνομιλίας δυο συμμετεχόντων στο δίκτυο (Γιώργος και Μαρία). Σε μια πραγματική επικοινωνία ο Γιώργος θα λάμβανε μηνύματα από τη Μαρία και η προηγούμενη από το Γιώργο. Ο εισβολέας όμως μπορεί να μιμηθεί καθέναν από τους δυο και να στέλνει μηνύματα τα οποία φαίνεται ότι προήλθαν από την πραγματική τους επικοινωνία Συνήθως τέτοιου είδους επιθέσεις χρησιμοποιούνται για την τροποποίηση μηνυμάτων κατά τη μεταφορά χωρίς να υπάρχει περίπτωση να ανιχνευθούν.

3. Keylogger και Trojan

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

4. Επίθεση DNS Cache Poisoning

Στην περίπτωση που ένας hacker καταφέρει να εισάγει πλαστές εγγραφές για ένα όνομα τομέα (domain name) μέσα στον DNS server και μπορέσει να κάνει τον Web Server να δεχτεί την πλαστή διεύθυνση της εγγραφής, τότε ο επιτιθέμενος μπορεί εύκολα να ελέγξει τον περιηγητή διαδικτύου του θύματος. Αυτή η επίθεση είναι εξαιρετικά επικίνδυνη, διότι συμβαίνει εν αγνοία του χρήστη.


5. XSS (Cross Site Script Attack)
Με τον όρο Cross-site scripting ή XSS αναφερόμαστε στην εκμετάλλευση διάφορων ευπαθειών (vulnerabilities) υπολογιστικών συστημάτων με εισαγωγή κώδικα HTML ή Javascript σε κάποιο ιστοχώρο. Κάποιος κακόβουλος χρήστης, θα μπορούσε να εισάγει κώδικα σε έναν ιστοχώρο, μέσω ενός κειμένου εισόδου για παράδειγμα, ο οποίος αφού δεν θα φιλτραριζόταν από τον ιστοχώρο σωστά, θα μπορούσε να προκαλέσει προβλήματα στον διαχειριστή ή επισκέπτη του ιστοχώρου. παράδειγμα:
Πηγαίνετε στην σελίδα που θέλετε να δοκιμάσετε, και ψάχνετε για ένα "searchbox". Μέσα σε αυτό γράψτε τον κώδικα <script>alert("oti thelete!!!");</script>. Εάν τώρα, ο κώδικας εκτελεστεί (που είναι αυτό που θέλουμε) θα μας ανοίξει η σελίδα μόλις πατήσουμε enter και θα μας πετάξει ένα κουτάκι που θα λέει αυτό που γράψετε μέσα στα εισαγωγικά. Αυτό σημαίνει ότι ο κώδικας που δώσαμε, αντί να κάνει αναζήτηση, κάνει εκτέλεση αυτού, με αποτέλεσμα να εκτελούμε εντολές, σαν να είναι δικό μας το σιτε! Τώρα δηλαδή είμαστε οι διαχειριστές του σιτε; ΟΧΙ! Αυτό που μπορεί να επιτύχει ο κακόβουλος χρήστης θα είναι:

  • Κλοπή κωδικών/λογαριασμών κλπ προσωπικών δεδομένων
  • Αλλαγή ρυθμίσεων του ιστοχώρου
  • Κλοπή των cookies εγγεγραμένων χρηστών και να μπούμε στη σελίδα σαν να ήταν αυτοί.
  • Ψεύτικη διαφήμιση ή άλλιώς deface (μέσω, π.χ., ενός συνδέσμου). Δηλαδή να αντικατασταθεί η τρωτή σε επιθέσεις XSS σελίδα με μια άλλη που έχει φτιάξει ο επιτεθέμενος. Έτσι ο οποιοσδήποτε μπει στη σελίδα θα δεί τη σελίδα του επιτηθέμενου.
6. Remote File Inclusion (R.F.I)
Η μέθοδος αυτή αφορά την εκτέλεση ενός κακόβουλου προγράμματος (για την ακρίβεια ενός webshell) από έναν μη εξουσιοδοτημένο χρήστη, σε μια ευάλωτη σε αυτού του είδους την επίθεση- ιστοσελίδα που φιλοξενείται σε κάποιον server.

7. SQL Injection
Στα SQL injections ένας κακόβουλος χρήστης προσπαθεί να εκμεταλλευτεί την ελλιπή ή λανθασμένη επαλήθευση (validation) των δεδομένων εισόδου (input data) μιας εφαρμογής. Τυπικά η ευπάθεια των SQL injections μπορεί να εμφανίζεται και σε μη web εφαρμογές, όμως εκεί είναι σαφώς πιο σπάνιο. Συνήθεις τρόποι όπου οι χρήστες δίνουν δεδομένα εισόδου σε μια εφαρμογή web είναι οι φόρμες (με τις μεθόδους HTTP GET και POST) και τα links (μέθοδος HTTP GET). Στην περίπτωση ελλιπούς επαλήθευσης των δεδομένων εισόδου είναι σε κάποιες περιπτώσεις δυνατόν να περαστούν extra εντολές SQL προς εκτέλεση στην εφαρμογή ή να αλλαχτούν μέρη μιας επερώτησης SQL με τρόπο που δεν έχει προβλεφθεί.

ΣΗΜΕΙΩΣΗ: Για περισσότερα σχετικά για αυτές τις επιθέσεις θα αναφερθούμε σε άλλα κεφάλαια αναλυτικότερα για την κάθε μια ξεχωριστά.

Η ευπάθεια αναφέρεται στην αδυναμία του συστήματος που υποστηρίζει ο ιστοχώρος να φιλτράρει και να απορρίψει τυχόν επιβλαβείς εισόδους.
Η λίστα με τις τεχνικές που χρησιμοποιούν οι hackers συνεχίζεται, όπως για παράδειγμα είναι η εισβολή FTP Server, η κοινωνική μηχανική, η εκμετάλλευση ευπαθειών των διαδικτυακών εφαρμογών κ.α.
Καταλήγουμε λοιπόν στο συμπέρασμα, ότι κάθε διαχειριστής μιας ιστοσελίδας έχει την ευθύνη για την ασφάλεια του Web Server του. Μερικά από τα βήματα που θα πρέπει να κάνει είναι να ενημερώνεται συνεχώς για τις νέες τεχνικές επιθέσεων, να εγκαθιστά άμεσα τις τελευταίες ενημερώσεις στο διακομιστή ιστού, να χρησιμοποιεί πολύ ισχυρούς κωδικούς πρόσβασης και να είναι πάντα σε εγρήγορση.

0 σχόλια:

Δημοσίευση σχολίου

Σημείωση: Μόνο ένα μέλος αυτού του ιστολογίου μπορεί να αναρτήσει σχόλιο.