Η
βασική συμβολή του OWASP στην κοινότητα της ασφα-
λούς ανάπτυξης λογισμικού είναι αναμφισβήτητα τα
projects που έχουν αναπτυχθεί. Τα έργα αυτά χωρίζονται
σε δύο βασικές κατηγορίες: εργαλεία και τεκμηρίωση. Αυτή τη
στιγμή υπάρχουν πάνω από 100 ενεργά projects του OWASP, τα
οποία μπορείτε να αναζητήσετε στη σελίδα [1]. Είναι επίσης πολύ
εύκολο για κάποιον να έρθει σε επαφή με τον υπεύθυνο ενός
project, αν επιθυμεί να συνεισφέρει ή να ξεκινήσει δικό του έργο
[2]. Σε αυτό το τεύχος ξεκινάμε μία ανασκόπηση στα βασικότερα
projects του OWASP με το OWASP WebGoat [3], ένα εργαλείο
εκμάθησης ασφάλειας εφαρμογών. Το OWASP WebGoat είναι
πρακτικά μία Java J2EE εφαρμογή που είναι επίτηδες επισφα-
λής. Στόχος της είναι η εκμάθηση της ασφάλειας εφαρμογών μέ-
σα από διαφορετικές ενότητες. Ο χρήστης έχει τη δυνατότητα να
την κατεβάσει και να την εκτελέσει στο PC του με το ρυθμό που
αυτός επιθυμεί, ενώ παράλληλα του παρέχει ορισμένα hints για
να τον βοηθήσει στην επίλυση των ασκήσεων. Τα περισσότερα
από 30 σενάρια που υλοποιεί η εφαρμογή είναι αρκούντως ρεα-
λιστικά και περιλαμβάνουν κατηγορίες, όπως Cross-site Scrip-
ting, SQL Injection, Web Services, Authentication, Session
Management, Web Services κ.λπ. Αφού κατεβάσει κάποιος το
πακέτο εγκατάστασης, το μόνο που έχει να κάνει, είναι να το
εκτελέσει. Το WebGoat μπορεί να εγκατασταθεί σε οποιοδήποτε
λειτουργικό διαθέτει Java Virtual Machine. Μετά την εγκατάστα-
σή του θα βρει στον υπολογιστή του ένα πλήρες περιβάλλον
Tomcat με εγκατεστημένη την εφαρμογή του WebGoat. Αν και
στην προκειμένη περίπτωση ο Tomcat είναι by default ρυθμισμέ-
νος να δέχεται συνδέσεις μόνο από τον localhost, καλό είναι να
μην έχουμε συνδεδεμένο το συγκεκριμένο υπολογιστή στο
Ιnternet, αφού, όπως και να έχει, το WebGoat είναι μία μη ασφα-
λής εφαρμογή. Επιπλέον, με μικρή παραμετροποίηση, το
WebGoat μπορεί να τρέξει και σε περιβάλλον ενός εργαστηρίου
με πολλούς ταυτόχρονους χρήστες. Το WebGoat είναι στη συνέ-
χεια προσβάσιμο μέσω του URL http://127.0.0.1/WebGoat/attack,
χρησιμοποιώντας ως user name και password το guest. Από εκεί
και πέρα, ο χρήστης έχει πρόσβαση σε όλα τα μαθήματα τα
οποία ακολουθούν μία δομημένη προσέγγιση, με στόχο να βοη-
θήσουν στον εντοπισμό και στην εκμετάλλευση γνωστών ευπα-
θειών Web εφαρμογών. Όλα τα σενάρια προσομοιώνουν πραγ-
ματικές επιθέσεις, ενώ παράλληλα υπάρχει διαθέσιμος και ο κώ-
δικας, ώστε να μπορεί κάποιος να εντοπίσει τα λάθη που προκα-
λούν αυτές τις ευπάθειες. Με αυτόν τον τρόπο αντιλαμβάνεται
κάποιος πώς λειτουργεί μία Web εφαρμογή, καθώς και τη μεθο-
δολογία ελέγχου και εντοπισμού προβλημάτων ασφάλειας σε αυ-
τή. Ένα εργαλείο το οποίο σίγουρα θα χρειαστείτε για να μπορέ-
σετε να ολοκληρώσετε όλα τα μαθήματα, είναι ένας Web proxy.
Πρόκειται για μία εφαρμογή που παρεμβάλλεται μεταξύ του Web
browser του χρήστη και του Web server και παρακολουθεί όλα τα
μηνύματα που ανταλλάσσονται μεταξύ των δύο. Έτσι, ο χρήστης
μπορεί να δει ή και να επεξεργαστεί όλα τα μηνύματα HTTP
request και response προτού αυτά φτάσουν στον server ή στον
browser του αντίστοιχα. Τέτοιου είδους εργαλεία είναι το OWASP
WebScarab [4], το OWASP Zed Attack Proxy (ZAP) [5], το Burp
[6] και το Paros [7]. Παρόμοιες εκδόσεις του WebGoat αναπτύσ-
σονται και για άλλες πλατφόρμες, όπως το WebGoat.NET [8], με
ευπάθειες σε περιβάλλον .NET, το iGoat [9], μία ευπαθής εφαρ-
μογή για iPhone, και το GoatDroid [10], μία αντίστοιχη εφαρμογή
για Android. Στο Ιnternet μπορεί κάποιος να βρει πλέον δεκάδες
«ευάλωτες» εφαρμογές που τον βοηθούν να μάθει, να εξασκήσει
τις γνώσεις του ή ακόμη και να πειραματιστεί με την ασφάλεια
εφαρμογών. Μία τέτοια εφαρμογή είναι και τα «δικά μας»
OWASP Hackademic Challenges, τα οποία έχουν σχεδιαστεί και
χρησιμοποιούνται κυρίως για να βοηθήσουν στη διδασκαλία μα-
θημάτων ασφάλειας σε πανεπιστήμια. Παρόμοιες εφαρμογές εί-
ναι το Damn Vulnerable Web Application [11] ή το OWASP
Broken Web Applications Project [12], το οποίο αποτελείται από
ένα ολόκληρο virtual machine. Τέλος, το OWASP έχει αναπτύξει
μία συνεργασία με το Hacking Lab [13], μέσα από την οποία μπο-
ρεί κάποιος να δοκιμάσει τις δυνάμεις του στον εντοπισμό ευπα-
θειών που εντάσσονται στο OWASP Top 10. Μάλιστα οι απαντή-
σεις που υποβάλλει ελέγχονται από πραγματικούς εθελοντές κα-
θηγητές, οι οποίοι παρέχουν στους εκπαιδευόμενους και τα αντί-
στοιχα σχόλια και όλα αυτά, φυσικά, δωρεάν!
•
Του Κωνσταντίνου Παπαπαναγιώτου/konstantinos@owasp.org
Στήλες - OWASP
Μαθαίνοντας Ασφάλεια Εφαρμογών
με το OWASP WebGoat
Από αυτό το τεύχος ξεκινάμε την παρουσίαση των κυριότερων projects του OWASP, με πρώτο και καλύτερο ένα
εργαλείο εκμάθησης ασφάλειας εφαρμογών.
www.
owasp.org
Linux Inside
12
Ο Κωνσταντίνος είναι συντονιστής της ελληνικής ομάδας εργασίας του OWASP.
Σύνδεσμοι:
[1] http://goo.gl/p1igO
[2] http://goo.gl/UzGTK
[3] http://goo.gl/HBnk7
[4] http://goo.gl/FTTn8
[5] http://portswigger.net/
[6] http://parosproxy.org
[7] http://goo.gl/x92oe
[8] http://goo.gl/XutZT
[9] http://goo.gl/gpqTr
[10] http://goo.gl/3bIEG
[11] http://www.dvwa.co.uk/
[12] http://goo.gl/g3zKD
[13] http://goo.gl/UfFVI