Το Penetration Testing ή κατά το ελληνικό “Δοκιμές Διείσδυσης” αποτελεί ένα από τα εργαλεία ανίχνευσης των αδυναμιών ασφάλειας πληροφοριών, το οποίο προχωρά ένα βήμα παραπάνω καθώς εκμεταλλεύεται την κάθε αδυναμία, με σκοπό να διεισδύσει στα πληροφορικά συστήματα.
Η αξία του Penetration Testing ως μεθόδου ανίχνευσης αδυναμιών ασφάλειας έχει τεθεί πολλές φορές υπό αμφισβήτηση, ειδικά από Οργανισμούς οι οποίοι θεωρούν ότι έχουν διαμορφώσει ένα ικανοποιητικό επίπεδο ασφάλειας πληροφοριών. Τι είναι όμως το Penetration Testing και ποιους συγκεκριμένους τύπους διακρίνουμε;

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

Το αντικείμενο του Pen Test είναι η ανάλυση της ασφάλειας της πληροφοριακής υποδομής ενός Οργανισμού, από την οπτική γωνία ενός επιτιθέμενου (εξωτερικού ή εσωτερικού). Για το σκοπό αυτό διενεργούνται έλεγχοι μέσω ελεγχόμενης προσομοίωσης πραγματικών προσπαθειών διείσδυσης από το Εσωτερικό Δίκτυο, από τις διασυνδέσεις του Οργανισμού με τα υποκαταστήματά του και τη διασύνδεσή του με το Internet.
Κατά τη διάρκεια των δοκιμών διείσδυσης ελέγχονται οι υποδομές και τα συστήματα του Οργανισμού έναντι όλων των πιθανών σεναρίων επίθεσης, αλλά και βάσει διαφορετικών επιπέδων τεχνογνωσίας και εργαλείων που μπορεί να έχουν στη διάθεσή τους οι πιθανοί επιτιθέμενοι.
Η διαφορά του Pen Test από τη διεργασία της αξιολόγησης αδυναμιών ασφάλειας (Vulnerability assessment) είναι σαφής. Η διεργασία του Vulnerability assessment αφορά στον προσδιορισμό όλων των αδυναμιών ασφάλειας μιας υποδομής, χωρίς να εκμεταλλεύεται τις αδυναμίες που ανακαλύπτονται. Το Pen Test δεν μπορεί να αποκαλύψει όλες τις αδυναμίες ασφάλειας μιας υποδομής, αλλά εκμεταλλεύεται όποια αδυναμία αποκαλύπτεται, με σκοπό να δείξει τη σημαντικότητα των εν λόγω αδυναμιών για τον Οργανισμό, καθώς και την ευκολία / δυσκολία εκμετάλλευσης αυτών.
Η μεθοδολογία διενέργειας ενός Pen Test είναι η ίδια, ανεξαρτήτως του εύρους και της υποδομής διενέργειας του ελέγχου. Υπάρχουν όμως διαφορετικοί τύποι Pen Testing, ανάλογα με το ρόλο που θέλουμε να δώσουμε στον επαγγελματία που διενεργεί τον έλεγχο.

Συγκεκριμένα, διακρίνουμε τους ακόλουθους τύπους Pen Test:

  • Εξωτερικές Δοκιμές Διείσδυσης χωρίς γνώση του υπό έλεγχο λειτουργικού περιβάλλοντος (black box penetration testing) – Σκοπός είναι η απόκτηση πρόσβασης στα συστήματα ενός Οργανισμού, προσομοιώνοντας την επίθεση από ένα εξωτερικό κακόβουλο χρήστη, ο οποίος θέλει να αποκτήσει πρόσβαση στο εσωτερικό του Οργανισμού και να υποκλέψει κρίσιμες πληροφορίες.
  • Εξωτερικές Δοκιμές Διείσδυσης με πλήρη γνώση του λειτουργικού περιβάλλοντος (White Box Penetration Testing). Σε αυτήν τη φάση δίνονται πληροφορίες για την εσωτερική δομή της εταιρείας, οπότε προσομοιώνεται η χειρότερη περίπτωση επίθεσης – αυτή στην οποία ο επιτιθέμενος γνωρίζει πληροφορίες για το εσωτερικό της εταιρείας/Οργανισμού. Επομένως, μπορεί να προκαλέσει μεγαλύτερη ζημιά είτε προκαλώντας δυσλειτουργίες είτε αποκτώντας πρόσβαση, τροποποιώντας ή διαγράφοντας κρίσιμα εσωτερικά δεδομένα.
  • Εσωτερικές Δοκιμές Διείσδυσης (Crystal Box Penetration Testing). Σε αυτήν την περίπτωση γίνεται προσομοίωση επίθεσης από κόμβο ο οποίος βρίσκεται στο εσωτερικό της εταιρείας/Οργανισμού. Οι εν λόγω δοκιμές διείσδυσης πραγματοποιούνται έχοντας πλήρη γνώση του περιβάλλοντος αλλά και μηδενική γνώση αυτού που αντιστοιχεί στις δοκιμές διείσδυσης με πλήρη γνώση (full knowledge) και χωρίς γνώση (zero knowledge) από εσωτερικό περιβάλλον. Το ιδιάζον στοιχείο το οποίο χαρακτηρίζει το συγκεκριμένο τρόπο δοκιμών διείσδυσης είναι ότι ο επιτιθέμενος δεν περιορίζεται από τη φυσική ασφάλεια, κάνοντας με αυτόν τον τρόπο τον κίνδυνο ιδιαίτερα υψηλό.

Οι παραπάνω τύποι Pen Test μπορεί να αποτελέσουν μέρος του ίδιου ελέγχου ή να αποτελέσουν ξεχωριστό έλεγχο, ανάλογα με τις απαιτήσεις του Οργανισμού.

Μεθοδολογία υλοποίησης
Όσον αφορά στην τεχνική υλοποίηση ενός Pen Test, χρειάζεται δομημένη προσέγγιση η οποία να εξασφαλίζει πληρότητα, αποτελεσματικότητα και επαναληψιμότητα. Το Pen Test δεν είναι το αποτέλεσμα χρήσης κάποιων αυτοματοποιημένων εργαλείων ανίχνευσης αδυναμιών ασφάλειας. Είναι αποτέλεσμα συγκεκριμένης προσέγγισης, η οποία απαιτεί τη χρήση εργαλείων καθώς και τη χρήση scripts κώδικα, προκειμένου ο επιτιθέμενος να εκμεταλλευθεί τις εκάστοτε αδυναμίες ασφάλειας χωρίς να γίνει αντιληπτός από τις υφιστάμενες δικλείδες ασφαλείας. Η επίτευξη των παραπάνω γίνεται μέσω συγκεκριμένης μεθοδολογίας, που αποτελείται από τα ακόλουθα βήματα:

  • Σχεδιασμός Δοκιμών Διείσδυσης – Προσδιορίζεται η γενική κατεύθυνση η οποία πρόκειται να ακολουθηθεί προκειμένου να εκτελεστούν οι δοκιμές διείσδυσης.
  • Συλλογή πληροφοριών – Διερεύνηση του εύρους των IP διευθύνσεων που αφορούν στην υπό έλεγχο περιοχή και αναγνώριση των συστημάτων που λειτουργούν σε αυτήν. Το επόμενο στάδιο αφορά στη συλλογή τεχνικών πληροφοριών σχετικά με τα συστήματα της υποδομής. Τα συστήματα εξετάζονται για τα services τα οποία τρέχουν, καθώς και για το λειτουργικό σύστημα το οποίο χρησιμοποιούν. Στη συνέχεια εξετάζονται με λεπτομέρεια τα services τα οποία είναι ενεργοποιημένα σε κάθε σύστημα. Προσδιορίζεται ο σκοπός χρήσης του κάθε service και η έκδοση του λογισμικού. Κατά τη φάση αυτή εξετάζονται τα συστήματα για services & εφαρμογές που λειτουργούν πέρα των αναγνωρισμένων ports. Με την ολοκλήρωση των ελέγχων είμαστε σε θέση να γνωρίζουμε τη διάταξη της δικτυακής υποδομής, τα συστήματα τα οποία λειτουργούν σε αυτήν, καθώς και τα πρωτόκολλα και ότι άλλο λογισμικό χρησιμοποιείται.
  • Επιβεβαίωση αδυναμιών – Το συγκεκριμένο βήμα αφορά στον έλεγχο των συστημάτων της υποδομής, για να διαπιστωθεί εάν είναι εκτεθειμένα σε γνωστές αδυναμίες και κενά ασφάλειας (vulnerabilities).
  • Εκμετάλλευση αδυναμιών – Οι εξειδικευμένοι μηχανικοί ασφάλειας πληροφοριών διενεργούν ελέγχους προκειμένου να επιβεβαιωθεί η ύπαρξη των αδυναμιών ασφάλειας. Όπου κριθεί απαραίτητο γίνεται προσπάθεια εκμετάλλευσης των αδυναμιών αυτών, έτσι ώστε να εξακριβωθεί εάν η αδυναμία ασφάλειας μπορεί να προκαλέσει σημαντικό κίνδυνο. Εξετάζεται η αξιοπιστία και η αποτελεσματικότητα των δικλείδων ασφαλείας που υφίστανται και αφορούν στα πληροφορικά συστήματα, στο δικτυακό εξοπλισμό και στους μηχανισμούς και διαδικασίες ασφάλειας. Σκοπός των ελέγχων είναι η παράκαμψη των υπαρχουσών δικλείδων ασφαλείας. Αυτό το βήμα είναι ακριβώς το ίδιο με τη διαδικασία την οποία θα ακολουθούσε ένας κακόβουλος χρήστης, ο οποίος εκμεταλλεύεται είτε μεμονωμένες είτε συνδυασμό αδυναμιών ασφάλειας προκειμένου να διεισδύσει.
  • Καθαρισμός ιχνών – Η πιθανή επίθεση είναι δυνατό να έχει αφήσει κάποια ίχνη τα οποία μπορούν να προδώσουν την ύπαρξή της (log files). Για την επιτυχία του Pen Test είναι απαραίτητο να καθαριστούν όλα τα ίχνη, ώστε να υπάρχει πλήρης προσομοίωση του τρόπου εργασίας ενός κακόβουλου χρήστη. Η φάση αυτή αξιολογεί και τη λειτουργία των υφιστάμενων δικλείδων ασφαλείας, καθώς ελέγχει και την επαγρύπνηση του προσωπικού του Οργανισμού.
  • Συμπεράσματα – Σε αυτή τη φάση τα αποτελέσματα των δοκιμών διείσδυσης καταγράφονται με τέτοιο τρόπο ώστε να γίνει δυνατή η κατανόηση της επίδρασης των τεχνικών θεμάτων τα οποία αφορούν στις δοκιμές διείσδυσης.

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

Η μεθοδολογία υλοποίησης του Pen Test περιλαμβάνει τη χρήση εξειδικευμένων εργαλείων. Τα εργαλεία που χρησιμοποιούνται περιλαμβάνουν:

  • Εργαλεία τα οποία βρίσκονται διαθέσιμα στο εμπόριο (Network & Host vulnerability scanners).
  • Εργαλεία τα οποία είναι ευρείας χρήσεως (free ware) και χρησιμοποιούνται από πιθανούς επιτιθέμενους.
  • Εργαλεία τα οποία έχουν αναπτυχθεί από τους μηχανικούς ασφάλειας πληροφοριών, με σκοπό τη στοχευμένη διερεύνηση συγκεκριμένων αδυναμιών ασφάλειας πληροφοριών και την προσαρμογή των δοκιμών διείσδυσης στο εκάστοτε λειτουργικό περιβάλλον.
  • Εκτελέσιμος κώδικας (τύπου scripts) με σκοπό τη διενέργεια συγκεκριμένων τύπων διείσδυσης.

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

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

Η πραγματική αξία του Pen Test για το επιχειρησιακό περιβάλλον, αφορά στα ακόλουθα:

  • Ανεξάρτητος έλεγχος του επιπέδου ασφάλειας αλλά και της αποτελεσματικότητας των δικλείδων ασφαλείας.
  • Πρόληψη από περιπτώσεις απάτης, οικονομικών απωλειών, διαρροής εμπιστευτικών πληροφοριών και μείωσης της διαθεσιμότητας της πληροφοριακής υποδομής.
  • Εναρμόνιση με κανονιστικό πλαίσιο που επιβάλλει τον ανεξάρτητο έλεγχο και πολλές φορές τη διενέργεια Pen Test σε τακτικά χρονικά διαστήματα.
  • Προστασία της φήμης και αξιοπιστίας ενός Οργανισμού.
  • Έλεγχος των πραγματικών αποτελεσμάτων εκμετάλλευσης των αδυναμιών ασφάλειας καθώς και της ευκολίας να γίνει αυτό.
  • Συνεισφορά στη διαδικασία αξιολόγησης κινδύνων.
  • Συμβολή στην αιτιολόγηση επενδύσεων σχετικών με την ασφάλεια πληροφοριών.

Η συχνότητα διενέργειας του Pen Test είναι ανάλογη της αξίας των πληροφοριών που θέλουμε να προστατέψουμε.
Μερικά προτεινόμενα χρονικά διαστήματα διενέργειας είναι τα ακόλουθα:

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

Πώς μπορούμε να μεγιστοποιήσουμε την αξία από ένα Pen Test
Προκειμένου να μεγιστοποιήσουμε την αξία που μπορεί να δώσει ένα Pen Test, χρειάζεται προετοιμασία αλλά και ξεκάθαρος στόχος του τι θέλουμε να επιτύχουμε κάθε φορά.
Μερικές βασικές οδηγίες προκειμένου να επιτύχουμε το στόχο μας – αλλά και να μεγιστοποιήσουμε την αξία που μας δίνει το Pen Test είναι οι ακόλουθες:

  • Προσδιορισμός του προσδοκώμενου αποτελέσματος. Σαφής προσδιορισμός του τι θέλουμε να καταφέρουμε μέσω της διενέργειας ενός τέτοιου ελέγχου.
  • Οι επαγγελματίες που διενεργούν το Pen Test δεν πρέπει να θεωρούνται ”εχθροί” των διαχειριστών της πληροφοριακής υποδομής του Οργανισμού. Είναι ειδικοί στον τομέα τους και πρέπει να τους χρησιμοποιήσουμε σαν εργαλείο προκειμένου να αξιολογήσουμε τις αδυναμίες ασφάλειας της υπό εξέταση υποδομής.
  • Πλήρης κατανόηση της τεχνολογικής υποδομής που πρόκειται να ελεγχθεί. Μόνο έτσι θα οδηγήσουμε σωστά την ομάδα που θα διενεργήσει το Pen Test αλλά και θα μπορέσουμε να κατανοήσουμε/ αξιολογήσουμε τα αποτελέσματα.
  • Το Pen Test θα προσφέρει περισσότερη αξία αν έχει προηγηθεί κάποιος (έστω βασικός) έλεγχος των αδυναμιών ασφάλειας της υπό εξέταση υποδομής. Χρειαζόμαστε τη συμβολή των ειδικών για κάτι το οποίο δεν έχουμε τους πόρους ή την εξειδίκευση να το καταφέρουμε. Δεν έχει νόημα να διενεργήσουμε Pen Test σε υποδομή που δεν έχουμε υλοποιήσει τις βασικές δικλείδες ασφαλείας.
  • Στην τελική αναφορά των αποτελεσμάτων ενός Pen Test δεν μας αρκεί η απαρίθμηση και περιγραφή των αδυναμιών ασφάλειας. Χρειάζεται να περιγραφεί ο τρόπος και η ευκολία εκμετάλλευσης των αδυναμιών ασφάλειας καθώς και οι τρόποι αντιμετώπισης των κινδύνων που αποκαλύφθηκαν. Απαιτούμε ανάλυση των αποτελεσμάτων και όχι απλή αναφορά τους.
  • Η ομάδα που διενεργεί το Pen Test δε μπορεί να στηρίζεται, μόνο, σε χρήση εργαλείων. Χρειάζεται ενεργή συμβολή του ανθρώπινου παράγοντα, κάνοντας χρήση ίδιο-παραγόμενων εργαλείων αλλά και λογισμικού τύπου scripts με το οποίο εκμεταλλεύεται τις εκάστοτε αδυναμίες ασφάλειας.
  • Αναρωτηθείτε για την αιτία του προβλήματος. Αναρωτηθείτε γιατί μπορεί κάποιος να εκμεταλλευτεί μία αδυναμία ασφάλειας και πόσο εύκολο είναι να διεισδύσει στις πληροφορίες σας. Οι αδυναμίες ασφάλειας θα υπάρχουν πάντα. Το ζητούμενο είναι να περιορίσουμε την ευκολία εκμετάλλευσής τους, αλλά και να μειώσουμε τις επιπτώσεις από πιθανή διείσδυση.
    Log Out

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

Παραπομπές

  • Penetration Test, not just a hack job, Mathew Decker, 2004
  • Twelve Reasons Pen Testing Won’t Die, Ivan Arce, CSO Magazine
  • 3 Ways Pen Testing Helps DLP (and 2 Ways It Doesn’t), Bill Brenner, Senior Editor, CSO
  • The Value of Penetration Testing, Charles Miller

Του Νότη Ηλιόπουλου
Msc Infosec, ISO 27001 LA, CISA, CISM
n.iliopoulos@innova-sa.