Ένα vulnerability scan μπορεί να εντοπίσει πιθανές αδυναμίες σε συστήματα και εφαρμογές. Ένα penetration test προχωρά διαφορετικά: εξουσιοδοτημένοι testers προσπαθούν, μέσα σε αυστηρά συμφωνημένο scope, να επαληθεύσουν στην πράξη αν συγκεκριμένες αδυναμίες μπορούν να αξιοποιηθούν και τι επίπτωση θα μπορούσε να έχει αυτό.
Για μια επιχείρηση, το ζητούμενο δεν είναι να «επιτεθεί κάποιος στο δίκτυο». Είναι να πραγματοποιηθεί μια ελεγχόμενη δοκιμή με σαφείς στόχους, όρια και κανόνες, ώστε τα ευρήματα να οδηγήσουν σε πραγματικές διορθώσεις.
Τι είναι το Penetration Testing;
Το penetration testing ή pentest είναι μορφή τεχνικού security testing κατά την οποία εξουσιοδοτημένοι επαγγελματίες αξιολογούν συγκεκριμένα συστήματα, εφαρμογές ή υποδομές και επιχειρούν ελεγχόμενη αξιοποίηση αδυναμιών.
Ανάλογα με το συμφωνημένο scope, ένα pentest μπορεί να αφορά εξωτερικά εκτεθειμένη υποδομή, εσωτερικό δίκτυο, web εφαρμογή, API, ασύρματο δίκτυο ή άλλο συγκεκριμένο περιβάλλον.
Δεν πρόκειται για ανεξέλεγκτη επίθεση. Πριν ξεκινήσει η τεχνική εργασία πρέπει να είναι ξεκάθαρα τα συστήματα που επιτρέπεται να ελεγχθούν, οι τεχνικές που επιτρέπονται, το χρονικό παράθυρο και οι ενέργειες που πρέπει να αποφεύγονται.
Penetration Test και Vulnerability Assessment: ποια είναι η διαφορά;
Οι δύο διαδικασίες σχετίζονται, αλλά δεν έχουν τον ίδιο σκοπό.
Ένα vulnerability assessment επικεντρώνεται στον εντοπισμό και την αξιολόγηση πιθανών αδυναμιών. Μπορεί να χρησιμοποιεί vulnerability scanners και άλλες τεχνικές για να εντοπίσει εκτεθειμένες υπηρεσίες, ελλιπή patches, λανθασμένες ρυθμίσεις ή γνωστές ευπάθειες.
Το penetration testing προσθέτει ένα διαφορετικό επίπεδο ελέγχου: εξετάζει ελεγχόμενα αν επιλεγμένες αδυναμίες μπορούν πράγματι να αξιοποιηθούν και πώς μπορεί να συνδυαστούν στο συγκεκριμένο περιβάλλον.
Γι' αυτό ένα pentest δεν αντικαθιστά το συνεχές vulnerability management. Το vulnerability management είναι διαρκής διαδικασία εντοπισμού, ιεράρχησης, διόρθωσης και επαλήθευσης αδυναμιών, ενώ το pentest είναι συνήθως μια στοχευμένη αξιολόγηση συγκεκριμένου scope.
Πότε έχει νόημα ένα Penetration Test;
Δεν χρειάζεται κάθε σύστημα το ίδιο είδος ή την ίδια συχνότητα testing. Ένα pentest έχει ιδιαίτερη αξία όταν η επιχείρηση χρειάζεται πρακτική επιβεβαίωση της ασφάλειας ενός σημαντικού ή εκτεθειμένου περιβάλλοντος.
- Πριν από σημαντικό production launch: για παράδειγμα μιας κρίσιμης web εφαρμογής ή νέας υπηρεσίας που θα είναι προσβάσιμη από το Internet.
- Μετά από ουσιαστικές αλλαγές: όταν έχει αλλάξει σημαντικά η αρχιτεκτονική, η εφαρμογή ή η εξωτερική επιφάνεια επίθεσης.
- Για κρίσιμα συστήματα: όταν μια επιτυχής παραβίαση θα μπορούσε να έχει σημαντική επιχειρησιακή επίπτωση.
- Όταν απαιτείται ανεξάρτητη τεχνική αξιολόγηση: για να ελεγχθεί στην πράξη η αποτελεσματικότητα συγκεκριμένων controls.
- Όταν υπάρχει συγκεκριμένη συμβατική ή κανονιστική απαίτηση: με το ακριβές scope και τη μεθοδολογία που προβλέπει η σχετική απαίτηση.
Το pentest δεν πρέπει να χρησιμοποιείται ως υποκατάστατο βασικών πρακτικών όπως patch management, ασφαλής διαμόρφωση, MFA, monitoring και backup. Αν λείπουν τα βασικά controls, συνήθως πρέπει να αντιμετωπιστούν παράλληλα και όχι να αναμένεται από ένα μεμονωμένο test να λύσει το πρόβλημα.
Τι πρέπει να συμφωνηθεί πριν ξεκινήσει;
Το σωστό scope είναι κρίσιμο τόσο για την αξία όσο και για την ασφάλεια του test. Η επιχείρηση και ο πάροχος πρέπει να συμφωνήσουν γραπτώς τι ακριβώς επιτρέπεται.
- Ποια IP addresses, domains, εφαρμογές, APIs ή άλλα assets περιλαμβάνονται.
- Ποια συστήματα και υπηρεσίες είναι εκτός scope.
- Πότε επιτρέπεται να πραγματοποιούνται οι δοκιμές.
- Ποιες τεχνικές επιτρέπονται και ποιες απαγορεύονται.
- Αν επιτρέπονται ενέργειες που μπορεί να επηρεάσουν δεδομένα ή διαθεσιμότητα.
- Ποιοι είναι οι υπεύθυνοι επικοινωνίας σε περίπτωση προβλήματος.
- Πώς θα προστατευθούν credentials, screenshots, logs και άλλα ευαίσθητα δεδομένα που μπορεί να προκύψουν.
- Πώς θα αναφερθούν άμεσα κρίσιμα ευρήματα.
Ιδιαίτερη προσοχή χρειάζεται όταν στο scope εμπλέκονται συστήματα τρίτων ή cloud/SaaS υπηρεσίες. Η επιχείρηση πρέπει να επιβεβαιώνει ότι διαθέτει την απαραίτητη εξουσιοδότηση και ότι οι όροι του αντίστοιχου provider επιτρέπουν τις σχετικές δοκιμές.
Τι πρέπει να περιλαμβάνει το αποτέλεσμα;
Η αξία ενός penetration test δεν βρίσκεται στον αριθμό των vulnerabilities που θα εμφανιστούν σε μια αναφορά. Η επιχείρηση χρειάζεται αποτελέσματα που μπορούν να μετατραπούν σε ενέργειες.
Ένα χρήσιμο report πρέπει να εξηγεί το scope και τη μεθοδολογία, τα επιβεβαιωμένα ευρήματα, τις πιθανές επιπτώσεις τους και τις προτεινόμενες διορθώσεις. Τα σημαντικότερα ζητήματα πρέπει να είναι εύκολο να ιεραρχηθούν από την τεχνική ομάδα και τη διοίκηση.
Το report αποτελεί ευαίσθητη πληροφορία, επειδή μπορεί να περιγράφει αδυναμίες και στοιχεία της εταιρικής υποδομής. Πρέπει επομένως να αποθηκεύεται και να κοινοποιείται μόνο σε όσους το χρειάζονται.
Τι γίνεται μετά το Pentest;
Το pentest δεν ολοκληρώνεται ουσιαστικά με την παράδοση του PDF. Τα ευρήματα πρέπει να μετατραπούν σε remediation plan με υπευθύνους και προτεραιότητες.
Μετά τις διορθώσεις, τα σημαντικά ευρήματα πρέπει να επαληθεύονται ξανά ώστε να επιβεβαιώνεται ότι η αδυναμία αντιμετωπίστηκε και ότι η αλλαγή δεν δημιούργησε νέο πρόβλημα.
Τα επαναλαμβανόμενα ή συστημικά ευρήματα πρέπει επίσης να τροφοδοτούν τις μόνιμες διαδικασίες ασφάλειας. Για παράδειγμα, μια λανθασμένη ρύθμιση που εμφανίζεται σε πολλά συστήματα μπορεί να υποδεικνύει ανάγκη βελτίωσης του configuration management και όχι απλώς διόρθωση ενός server.
Τι δεν μπορεί να αποδείξει ένα Penetration Test;
Ένα επιτυχημένο pentest δεν αποδεικνύει ότι ένα περιβάλλον είναι «100% ασφαλές». Το αποτέλεσμα ισχύει για το συμφωνημένο scope, τις τεχνικές και τις συνθήκες της συγκεκριμένης αξιολόγησης.
Νέα vulnerabilities μπορεί να εμφανιστούν αργότερα, η υποδομή μπορεί να αλλάξει και συστήματα εκτός scope μπορεί να έχουν διαφορετικούς κινδύνους. Για αυτό το penetration testing λειτουργεί καλύτερα ως μέρος μιας ευρύτερης διαδικασίας ασφάλειας που περιλαμβάνει ασφάλεια δικτύου, vulnerability management, monitoring, identity security και οργανωμένη αντιμετώπιση περιστατικών.
Πώς να επιλέξετε Penetration Testing υπηρεσία
Πριν από την ανάθεση, ζητήστε να είναι σαφή η μεθοδολογία, το scope, οι κανόνες εμπλοκής, ο τρόπος προστασίας των δεδομένων και το παραδοτέο. Ελέγξτε επίσης ποιος θα πραγματοποιήσει το test και αν υπάρχει σχετική εμπειρία στο είδος της υποδομής ή εφαρμογής που πρόκειται να αξιολογηθεί.
Αποφύγετε υπηρεσίες που παρουσιάζουν ένα αυτοματοποιημένο vulnerability scan ως πλήρες penetration test. Τα αυτοματοποιημένα εργαλεία είναι χρήσιμα, αλλά ένα πραγματικό pentest περιλαμβάνει ανθρώπινη ανάλυση και ελεγχόμενη επαλήθευση μέσα στα όρια της εξουσιοδότησης.
Πώς μπορεί να βοηθήσει η DataShield
Η DataShield μπορεί να βοηθήσει μια επιχείρηση να αξιολογήσει την υφιστάμενη επιφάνεια επίθεσης και τα security controls της, να εντοπίσει πού απαιτείται βαθύτερος τεχνικός έλεγχος και να οργανώσει τις διορθωτικές ενέργειες που προκύπτουν από μια αξιολόγηση ασφάλειας.
Ένα Free IT Audit μπορεί να αποτελέσει το πρώτο βήμα για να αποτυπωθούν τα κρίσιμα συστήματα και οι βασικές αδυναμίες πριν αποφασιστεί ποιο είδος security assessment είναι κατάλληλο.
Συμπέρασμα
Το penetration testing είναι ένα στοχευμένο εργαλείο για να ελεγχθεί στην πράξη η ασφάλεια συγκεκριμένων συστημάτων και εφαρμογών. Δεν αντικαθιστά το vulnerability management ούτε εγγυάται ότι δεν υπάρχουν άλλες αδυναμίες.
Η πραγματική του αξία προκύπτει όταν υπάρχει σαφές scope, γραπτή εξουσιοδότηση, κατάλληλη μεθοδολογία και οργανωμένη διαδικασία remediation και retesting. Έτσι το αποτέλεσμα δεν μένει μια τεχνική αναφορά, αλλά γίνεται μέρος της συνεχούς βελτίωσης της ασφάλειας της επιχείρησης.