Επιθέσεις έγχυσης κώδικα που εκμεταλλεύονται εγγενείς ευπάθειες εφαρμογών διαδικτύου (Cross Site Scripting Attacks) : μεταπτυχιακή διατριβή
Μια κατηγορία ευπάθειας εφαρμογών του παγκόσμιου ιστού που τα τελευταία χρόνια έχει πάρει μεγάλες διαστάσεις, αλλά που ακόμα πολλοί από τους εμπλεκόμενους τόσο στο σχεδιασμό όσο και στην ανάπτυξή τους δεν δείχνουν να τη θεωρούν σημαντική ώστε να λάβουν μέτρα αντιμετώπισής της, είναι η κατηγορία ευπα...
Αποθηκεύτηκε σε:
| Κύριος συγγραφέας: | |
|---|---|
| Συγγραφή απο Οργανισμό/Αρχή: | |
| Μορφή: | Thesis Βιβλίο |
| Γλώσσα: | Greek |
| Δημοσίευση: |
2008.
|
| Θέματα: | |
| Διαθέσιμο Online: | http://hdl.handle.net/11610/12639 |
| Ετικέτες: |
Προσθήκη ετικέτας
Δεν υπάρχουν, Καταχωρήστε ετικέτα πρώτοι!
|
| Περίληψη: | Μια κατηγορία ευπάθειας εφαρμογών του παγκόσμιου ιστού που τα τελευταία χρόνια έχει πάρει μεγάλες διαστάσεις, αλλά που ακόμα πολλοί από τους εμπλεκόμενους τόσο στο σχεδιασμό όσο και στην ανάπτυξή τους δεν δείχνουν να τη θεωρούν σημαντική ώστε να λάβουν μέτρα αντιμετώπισής της, είναι η κατηγορία ευπαθειών Cross Site Scripting γνωστή με το ακρωνύμιο XSS. Η συγκεκριμένη κατηγορία ευπάθειας δεν τυγχάνει συχνά της προσοχής που θα έπρεπε, είτε διότι οι υπεύθυνοι ανάπτυξης μιας εφαρμογής δεν κατανοούν επακριβώς τον τρόπο με τον οποίο η κατηγορία αυτή αποβαίνει τελικά εις βάρος της ίδιας της εφαρμογής, είτε γιατί θεωρούν ότι αυτή η κατηγορία ευπάθειας δεν είναι τόσο σημαντική, αφού αφήνει ανέπαφη την ίδια την εφαρμογή.Η ιδιομορφία που έχει η ύπαρξη της συγκεκριμένης κατηγορίας ευπάθειας εστιάζεται στο ότι πράγματι, η κακόβουλη εκμετάλλευση μιας ευπάθειας δεν αλλοιώνει την ίδια την εφαρμογή, στρέφεται όμως εναντίων των χρηστών της εφαρμογής, αποσκοπώντας συχνά στην υποκλοπή των στοιχείων της ενεργής συνεδρίας που ένας νόμιμος χρήστης έχει παραλάβει από την εφαρμογή με την οποία βρίσκεται σε αλληλεπίδραση.Με την εκμετάλλευση μιας ευπάθειας XSS που η εφαρμογή έχει, ένας νόμιμος χρήστης μπορεί να εκτεθεί σε κινδύνους αποκάλυψης των δεδομένων της ενεργής του συνεδρίας σε τρίτους, χωρίς ο ίδιος να «αφήσει» ποτέ την ιστοθέση της πραγματικής εφαρμογής. Ίσως χρειαστεί προκειμένου να ενεργοποιηθεί η επίθεση εναντίον του, που θα χρησιμοποιήσει την εγγενή XSS ευπάθεια της εφαρμογής που θέλει να χρησιμοποιήσει, να ακολουθήσει κάποιον υπερσύνδεσμο, πολλές φορές όμως δεν θα χρειαστεί να κάνει τίποτα παραπάνω από το να ζητήσει να δει μια σελίδα που η εφαρμογή παρέχει. Οι εφαρμογές που υποφέρουν από ευπάθειες XSS είναι πάρα πολλές και όσο η συγκεκριμένη κατηγορία δεν λαμβάνεται σοβαρά υπόψη κατά το στάδιο ανάπτυξης και ελέγχου μιας εφαρμογής, το πρόβλημα θα παραμένει. Ο OWASP στη λίστα με τους 10 πιο σημαντικούς κινδύνους που εξέδωσε το 2007 αναφέρει τις ευπάθειες XSS στην πρώτη θέση, από τέταρτη που τις είχε κατηγοριοποιήσει το 2004 [1].Η παρούσα εργασία παρουσιάζει με τη βοήθεια μιας πρότυπης εφαρμογής ένα σύνολο από καλές πρακτικές που μπορούν να ελαχιστοποιήσουν τους κινδύνους που διατρέχει μια εφαρμογή από αυτή την κατηγορία ευπαθειών. Εστιάζεται στον τρόπο με τον οποίο δεδομένα που ο χρήστης παρέχει στην εφαρμογή ελέγχονται πριν τη χρήση τους από την εφαρμογή, καθώς επίσης και στον τρόπο με τον οποίο διαφορετικές σελίδες της εφαρμογής επικοινωνούν μεταξύ τους μεταφέροντας δεδομένα από τη μια σελίδα στην άλλη με ασφαλή τρόπο.Η υλοποίηση και η πειραματική μελέτη των όσων παρουσιάζονται στην παρούσα εργασία με τη βοήθεια μιας δοκιμαστικής εφαρμογής διαδικτύου έδειξε ότι ο συστηματικός έλεγχος των δεδομένων που ένας χρήστης εισάγει σε μια εφαρμογή είναι καθοριστική για την προστασία της εφαρμογής από προσπάθειες αλλαγής του προσχεδιασμένου και επιθυμητού τρόπου συμπεριφοράς της. Η υλοποίηση της συγκεκριμένης εφαρμογής έδειξε ότι είναι αποτελεσματική στην αναχαίτηση κακόβουλων προσπαθειών που στόχο έχουν την υποκλοπή των στοιχείων συνεδρίας ενός χρήστη. Ο έλεγχος των δεδομένων γίνεται με χρήση Regular Expressions τα οποία επιφέρουν λιγότερη επιβάρυνση στους χρόνους απόκρισης του συστήματος από ότι η χρήση εναλλακτικών τρόπων κωδικοποίησης των ελέγχων. Η πειραματική μελέτη της εφαρμογής έδειξε ότι οι χρόνοι απόκρισης της εφαρμογής επιβαρύνονται ελάχιστα από τη χρήση των συναρτήσεων που ελέγχουν τα δεδομένα του χρήστη. Τέλος, η θεωρητική σύγκριση της πρότυπης εφαρμογής σε σχέση με δύο γνωστές στο χώρο μεθόδους από εργασίες άλλων ερευνητών, έδειξε ότι η εφαρμογή ανταπεξέρχεται πολύ καλά σε επιθέσεις XSS παρέχοντας πολύ καλό επίπεδο ασφάλειας για τη συγκεκριμένη κατηγορία επιθέσεων. A category of vulnerabilities that exist in web applications and has great impact the past few years, but which still doesnt get the attention needed in order to be prevented by those responsible in the stages of design and implementation of an application, is the category of vulnerabilities known under the name of Cross Site Scripting, known also with the acronym XSS.The reasons why this category isnt considered as a very important one by those responsible for the applications well being vary; It is either because it is not well understood the ways that this category can harm the applications behavior, or, they believe that since no alteration to the application itself happens, this category of vulnerabilities is lame.The particularity of this category is focused on the fact that by exploiting such a vulnerability, it really does not do any harm to the application itself, but it is turned against the users of the application, having as primary goal to make possible to reveal the users session data that have been sent to him by the application, to an evil user. By exploiting an applications XSS vulnerability, a legitimate user may get his session data exposed to third parties, without ever leaving the applications domain. It may be needed to follow a link that takes him to the real application domain in order for the attack against him to initialize, an attack that will make use of a vulnerability that the application contains, but also, many times, there will be no need for him to do anything more than browsing through the pages that the application provides. Applications all over the web that suffer from XSS vulnerabilities are many, and as long as this specific category of vulnerabilities isnt taken as seriously as it should during the stages of deployment and testing of an application, the problem will remain unsolved. OWASP in its list for top 10 most critical web application vulnerabilities has rank XSS vulnerabilities number one, from number four that was ranked in 2004 edition [1] This thesis presents with the help of an application prototype a summation of good practices that if applied, they can eliminate dangers aroused for an application because of the category of XSS vulnerabilities. It focuses on the ways that data provided by a user are filtered and treated by the application before they can be used by the application, and also on the ways that different pages of the application should communicate exchanging data in a safe way.The implementation along with the experimental study of all cases presented in this essay, assisted by a web tester application, showed that it is crucial for an application to systematically test all user supplied data throughout its scope, so as to effectively defend against any attempts that try to alter its predefined and intended behavior. The implementation of the web tester application is effective in retaining the predefined intended behavior, when confronting hostile attempts that try to steal a legal users session data. All data checks are implemented through the use of Regular Expressions that make less overhead for the application response times than any other alternative coding solutions for data verification. The experimental study of the application showed that there is no significant overhead in applications response times due to checks made upon user input, before using the data within the applications scope. Finally, a theoretical comparison between the web tester application and two well known methods of other researchers in the field showed that the application responds very well when defending against XSS attacks, providing a very good level of security for the specific category of attacks. |
|---|---|
| Περιγραφή τεκμηρίου: | Μέλη της εξεταστικής επιτροπής: Θεόδωρος Τζουραμάνης, Δημήτριος Φωτάκης, Ευστάθιος Σταματάτος. |
| Φυσική περιγραφή: | xii, 95 σ. : πιν., σχέδια ; 30 εκ. |
| Βιβλιογραφία: | Βιβλιογραφία: σ. 90-92. |
| Πρόσβαση: | Διάθεση πλήρους κειμένου - Ελεύθερη πρόσβαση. |