Σχεδιασμός και RoE — Έννοιες
Ξέρετε να επιτίθεστε σε ένα μηχάνημα στο lab σας. Τώρα μπαίνουμε στον πραγματικό κόσμο: εκεί όπου ο πελάτης σας πληρώνει για να επιτεθείτε στο δικό του. Ανάμεσα στα δύο, υπάρχει ένα χαρτί. Χωρίς αυτό το χαρτί, η καριέρα σας σταματά στην πρώτη σάρωση.
Ένα pentest χωρίς γραπτή εξουσιοδότηση είναι πληροφορική εισβολή. Είναι αδίκημα σε όλες τις ανεπτυγμένες δικαιοδοσίες. Όχι «εξαρτάται». Όχι «αν προσέχω». Αδίκημα. Το χαρτί υπάρχει για αυτόν και μόνο τον λόγο: μετατρέπει την επίθεσή σας σε παραγγελθείσα υπηρεσία.
Τι θα ξέρετε να κάνετε μετά από αυτό το μάθημα
- Να ονομάζετε τα πέντε συμβατικά κομμάτια μιας αποστολής pentest.
- Να διακρίνετε scope, RoE, SOW και σύμβαση υπηρεσίας — τέσσερα έγγραφα που το 90% των αρχαρίων μπερδεύει.
- Να συντάσσετε ένα πεδίο εφαρμογής που αντέχει μπροστά σε δικηγόρο και μπροστά στην τεχνική σας ομάδα.
- Να προβλέπετε τις περιπτώσεις όπου ο ίδιος ο πελάτης δεν έχει το δικαίωμα να εξουσιοδοτήσει την επίθεση (SaaS, κοινόχρηστη φιλοξενία, παρακολουθούμενοι υπάλληλοι).
- Να ξέρετε τι κάνουμε όταν, στη μέση μιας αποστολής, ανακαλύπτουμε μια προϋπάρχουσα εισβολή (συμβαίνει πιο συχνά απ' όσο νομίζουμε).
1. Ο πραγματικός αφεντικό ενός pentest: οι δικηγόροι
Στα χαρτιά, ο πελάτης είναι το αφεντικό σας. Στην πράξη, αυτός που αποφασίζει πού έχετε το δικαίωμα να πατήσετε είναι ο νομικός. Ένας junior pentester που δεν το καταλαβαίνει αυτό βρίσκεται σε δύο καταστάσεις:
- Υπογράφει κάτι ασαφές, κάνει ό,τι νομίζει χρήσιμο, ξεπερνά το πεδίο εφαρμογής, ο πελάτης παραπονιέται, το συμβόλαιο δεν ήταν αρκετά ακριβές, κανείς δεν προστατεύεται.
- Αρνείται όλα όσα δεν είναι στο RoE — ακόμη και μια προφανή δοκιμή — γιατί το RoE είναι ο νόμος. Αυτή είναι η δεύτερη στάση που υιοθετούμε. Πάντα.
Συγκρατήστε τον μοναδικό κανόνα: ό,τι δεν είναι γραμμένο, δεν υπάρχει. Μια προφορική συμφωνία δεν επιβιώνει ενός περιστατικού. Ούτε ένα αυπόγραφο email.
2. Τα πέντε συμβατικά κομμάτια
Μια πλήρης αποστολή περιλαμβάνει πέντε έγγραφα. Δεν εξυπηρετούν το ίδιο πράγμα, και δεν πρέπει να τα μπερδεύουμε.
| Κομμάτι | Ρόλος | Ποιος το συντάσσει |
|---|---|---|
| NDA (Non-Disclosure Agreement) | Σας δεσμεύει στη μυστικότητα. Υπογράφεται πριν ακόμη συζητηθεί το πεδίο εφαρμογής. | Πελάτης (συνήθως), υπογράφεται και από τους δύο. |
| SOW (Statement of Work) | Τι κάνουμε, για πόσο, σε πόσες ημέρες. Η προσφορά με συμβατική μορφή. | Εσείς (ο πάροχος). |
| RoE (Rules of Engagement) | Πώς το κάνουμε: τεχνικό πεδίο εφαρμογής, παράθυρα χρόνου, κλιμακώσεις. | Εσείς, επικυρωμένο από τον πελάτη. |
| Εξουσιοδότηση επίθεσης (letter of authorization) | Η απόδειξη που βγάζετε αν ένας τρίτος σας υποψιαστεί (πάροχος cloud, MSSP). | Πελάτης, εκτυπωμένη, υπογεγραμμένη. |
| Συμφωνία πλαίσιο | Η ευθύνη, η ασφάλιση, το εφαρμοστέο δίκαιο. | Νομικοί και των δύο πλευρών. |
Το RoE είναι το καθημερινό σας έγγραφο εργασίας. Τα υπόλοιπα λειτουργούν
στο παρασκήνιο, αλλά πρέπει όλα να υπάρχουν πριν εκτελέσετε το
nmap.
Ορισμός — το χρώμα του κουτιού, ή τρεις τρόποι να ξεκινήσετε μια αποστολή
Το RoE καθορίζει πόση πληροφορία σας δίνει ο πελάτης πριν ξεκινήσετε. Τρεις στάσεις έχουν καθιερωθεί, και η καθεμία αλλάζει εντελώς τη διεξαγωγή της αποστολής.
Σε black-box, ο πελάτης σας δίνει μόνο ένα πεδίο εφαρμογής — μια IP, ένα όνομα τομέα, ένα URL — και τίποτα άλλο. Είναι η κατάσταση που μοιάζει περισσότερο με έναν πραγματικό επιτιθέμενο που θα είχε επιλέξει τον στόχο αλλά δεν θα γνώριζε τίποτα από μέσα. Αυτό απαιτεί περισσότερο χρόνο σε αναγνώριση, και κοστίζει περισσότερο στον πελάτη σε ισοδύναμες ανθρωποημέρες.
Σε grey-box, ο πελάτης σας παρέχει έναν ή περισσότερους νόμιμους λογαριασμούς χρηστών, ενδεχομένως μια συνοπτική περιγραφή της αρχιτεκτονικής. Είναι η καλύτερη σχέση ποιότητας-τιμής για τις περισσότερες εφαρμοσμένες αποστολές: παρακάμπτετε το κουτί εξωτερική αναγνώριση για να πάτε απευθείας εκεί όπου κρύβονται τα πραγματικά ελαττώματα, στις αυθεντικοποιημένες ζώνες της εφαρμογής.
Σε white-box ή crystal-box, ο πελάτης σάς παραδίδει τον πηγαίο κώδικα, τα διαγράμματα αρχιτεκτονικής, τις διαδικασίες λειτουργίας, ενίοτε ακόμη και διαχειριστική πρόσβαση. Η δοκιμή γίνεται μια επανεξέταση σχεδίασης υποβοηθούμενη από επίθεση. Αυτό επιλέγουμε για ένα λογισμικό πριν κυκλοφορήσει στην αγορά, ή για να επικυρωθεί μια νέα αρχιτεκτονική παραγωγής.
Ένας έμπειρος pentester ξέρει να συστήνει το κατάλληλο χρώμα: black-box για να καθησυχάσει έναν ρυθμιστή, grey-box για να καλύψει τη μέγιστη επιφάνεια, white-box για ένα κρίσιμο συστατικό του οποίου το παραμικρό ελάττωμα θα είχε σοβαρές συνέπειες.
3. RoE: τι πρέπει οπωσδήποτε να περιέχει
Ένα ελάχιστο RoE, αυτό που δεν συζητάμε, περιέχει οκτώ ενότητες. Αν λείπει μία, αρνηθείτε να ξεκινήσετε.
3.1. Πεδίο εφαρμογής — ο χάρτης του πεδίου μάχης
Το πεδίο εφαρμογής δεν είναι ποτέ «η υποδομή του πελάτη». Είναι:
- Μια λίστα διευθύνσεων IP ή περιοχών CIDR. Π.χ.:
203.0.113.0/28,198.51.100.42. - Μια λίστα ονομάτων τομέα και υποτομέων. Π.χ.:
www.client.com,api.client.com. Ό,τι δεν είναι στη λίστα δεν μπορεί να στοχευτεί, ακόμη κι αν το βρείτε. - Μια λίστα εφαρμογών. Web, κινητό, API, συστήματα SCADA. Η καθεμία με την έκδοσή της.
- Λογαριασμοί δοκιμής που παρέχει ο πελάτης (login/κωδικός για pentest grey-box ή white-box).
- Ρητές εξαιρέσεις. Ο εκτυπωτής της διεύθυνσης, ο διακομιστής μισθοδοσίας, ο παλιός διακομιστής AS/400 που τρέχει από το 1998 και που κανείς δεν τολμά να σβήσει.
Ένας πελάτης σάς δίνει «τον τομέα του client.com». Σαρώνετε το
mail.client.com — αλλά αυτός ο υποτομέας στην πραγματικότητα δείχνει
στο Google Workspace. Η Google ποτέ δεν σας εξουσιοδότησε. Μόλις
σαρώσατε την υποδομή τρίτου. Είναι παράνομο. Φιλτράρετε τους υποτομείς
και επαληθεύστε την κυριότητα DNS πριν από κάθε σάρωση.
Ορισμός — η σημειογραφία CIDR, αυτή η κάθετη γραμμή που ακολουθεί την IP
Μια διεύθυνση IPv4 όπως η 203.0.113.42 υποδηλώνει ένα μοναδικό
μηχάνημα. Μια περιοχή — ένα σύνολο συνεχόμενων διευθύνσεων — γράφεται
με τη σημειογραφία CIDR, από το όνομα της προδιαγραφής Classless
Inter-Domain Routing που δημοσιεύτηκε το 1993. Η μορφή είναι
δίκτυο/πρόθεμα: 203.0.113.0/28.
Ο αριθμός μετά την κάθετη γραμμή υποδεικνύει πόσα bit, αριστερά, ανήκουν
στο κοινό τμήμα δικτύου· τα υπόλοιπα bit σχηματίζουν το τμήμα
host που μεταβάλλεται. Σε /28, είκοσι οκτώ bit είναι σταθερά,
τέσσερα bit μεταβάλλονται — αυτό δίνει δεκαέξι διευθύνσεις συνολικά,
από τις οποίες δύο δεν είναι χρησιμοποιήσιμες ως host (η διεύθυνση
δικτύου και η διεύθυνση εκπομπής). Σε /24, είκοσι τέσσερα bit είναι
σταθερά, οκτώ μεταβάλλονται — διακόσιες πενήντα έξι διευθύνσεις, συχνά
ονομαζόμενες «μια κλάση C» από τους διαχειριστές της παλιάς σχολής. Σε
/16, δεκαέξι bit μεταβάλλονται — εξήντα πέντε χιλιάδες πεντακόσιες
τριάντα έξι διευθύνσεις, το κλασικό μέγεθος ενός μεσαίου εταιρικού
δικτύου.
Για έναν pentester, η σημειογραφία CIDR είναι απαραίτητη στο RoE για
να αποφευχθούν δύο λάθη: η καταγραφή είκοσι διευθύνσεων με το χέρι όταν
η /28 τις εκφράζει όλες μαζί, και η σύγχυση της /24 με την /32.
Μια περιοχή /32 υποδηλώνει μόνο μία διεύθυνση — είναι το ισοδύναμο σε
CIDR μιας μεμονωμένης IP. Ελέγχετε πάντα το πρόθεμα πριν εκτελέσετε μια
σάρωση: το nmap -sS 203.0.113.0/24 σαρώνει διακόσιους πενήντα έξι
hosts, το nmap -sS 203.0.113.0/16 σαρώνει εξήντα πέντε χιλιάδες, και
αν το RoE σας κάλυπτε μόνο το πρώτο /24, μόλις ξεπεράσατε το πεδίο
εφαρμογής.
3.2. Επιτρεπόμενες και απαγορευμένες τεχνικές
Καταγράφουμε τι μπορούμε να κάνουμε, και τι δεν μπορούμε. Παραδείγματα κλασικών ενοτήτων:
| Τεχνική | Επιτρέπεται; | Διευκρίνιση |
|---|---|---|
| Ενεργή σάρωση θυρών | Ναι | Εκτός εργάσιμων ωρών. |
| Εκμετάλλευση ευρεθεισών ευπαθειών | Ναι | Χωρίς εγγραφή στις βάσεις παραγωγής. |
| Κλιμάκωση προνομίων | Ναι | Χωρίς δημιουργία μόνιμου λογαριασμού. |
| Κοινωνική μηχανική μέσω email (phishing) | Ναι | Σε λίστα εργαζομένων που παρέχεται, όχι περισσότερα από 3 κύματα. |
| Κοινωνική μηχανική τηλεφωνικά (vishing) | Όχι | — |
| Άρνηση υπηρεσίας | Όχι | Ποτέ σε παραγωγή. |
| Φυσική δοκιμή (διείσδυση γραφείων) | Όχι | Προβλεπόμενο για φάση 2. |
| Επιθέσεις στην αυθεντικοποίηση | Ναι | Μέγιστο 3 προσπάθειες ανά λογαριασμό για να αποφευχθούν κλειδώματα. |
Κάθε Όχι μπορεί να σώσει τον πελάτη σας από ένα περιστατικό. Κάθε Ναι κακώς οριοθετημένο μπορεί να σας δημιουργήσει ένα.
3.3. Παράθυρα παρέμβασης
Ποτέ «κατά τη διάρκεια της ημέρας». Πάντα ακριβείς χρονοσημάνσεις, με ζώνη ώρας:
- Θορυβώδης σάρωση: Σάβ. 15 Μαρτίου 22:00 → Κυρ. 16 Μαρτίου 06:00 (UTC-05:00)
- Εκμετάλλευση: εβδ. από 17 Μαρτίου, 09:00 → 18:00 (UTC-05:00)
- Phishing: Τετ. 19 Μαρτίου, αποστολή μεταξύ 09:00 και 11:00 (UTC-05:00)
Μια σάρωση που ξεπερνά κατά μία ώρα τις εργάσιμες ώρες και ρίχνει έναν διακομιστή, αυτό υπερασπίζεται. Μια σάρωση που ξεπερνά και δεν ήταν στο εγκεκριμένο παράθυρο, αυτό πληρώνεται.
3.4. Επαφές κλιμάκωσης
Τρία άτομα, ελάχιστο, στο RoE:
- Το επιχειρησιακό σημείο επαφής στην πλευρά του πελάτη. Απαντά σε τεχνικές ερωτήσεις, διαθέσιμο 9-17.
- Το σημείο κλιμάκωσης έκτακτης ανάγκης. Διαθέσιμο 24 ώρες το 24ωρο κατά το παράθυρο δοκιμής. Προσωπικό κινητό, όχι τηλεφωνικό κέντρο.
- Ο επικεφαλής της αποστολής σας στην πλευρά του παρόχου.
Αριθμοί. Email. Το RoE λέει ακριβώς ποιον να καλέσετε όταν κάτι πάει στραβά.
3.5. Διαχείριση κρίσιμων ευρημάτων
«Αν βρείτε ένα κρίσιμο ελάττωμα κατά τη διάρκεια της δοκιμής, τι κάνετε;»
Τυπική απάντηση:
- Κρίσιμη εκμεταλλεύσιμη ευπάθεια σε παραγωγή: άμεση διακοπή της εκμετάλλευσης, ειδοποίηση στην επαφή κλιμάκωσης εντός 2 ωρών, συνέχιση της δοκιμής σε άλλους άξονες.
- Αποδείξεις προϋπάρχουσας εισβολής (ο πελάτης έχει ήδη παραβιαστεί): πλήρης διακοπή, ειδοποίηση εντός 1 ώρας, διατήρηση των δεικτών. Είναι περίπτωση response, όχι pentest.
- Διαρροή προσωπικών δεδομένων που εντοπίστηκε: άμεση ειδοποίηση, διατάξεις του GDPR / Νόμου 25 σχετικά με την ειδοποίηση στην αρχή.
Αυτές οι περιπτώσεις γράφονται εκ των προτέρων. Την ημέρα που συμβαίνουν, δεν έχετε το κεφάλι να διαπραγματευτείτε.
Ορισμός — η απόκριση σε περιστατικό, αυτό που ένας pentester δεν έχει δικαίωμα να αυτοσχεδιάσει
Η απόκριση σε περιστατικό, ή DFIR για Digital Forensics and Incident Response, είναι διαφορετικό επάγγελμα από το pentest, με αντίθετους κανόνες. Ο pentester προσπαθεί να μην αφήνει ίχνη, ο αποκρινόμενος σε περιστατικό προσπαθεί να διατηρήσει κάθε ίχνος. Ο pentester μπορεί να ξαναεκτελέσει μια εκμετάλλευση δύο ή τρεις φορές για να επαληθεύσει, ο αποκρινόμενος σε περιστατικό πρέπει να παγώσει την κατάσταση του συστήματος με την πρώτη πρόσβαση, γιατί κάθε εντολή που εκτελεί σβήνει τη μνήμη RAM και τροποποιεί τις χρονοσημάνσεις του δίσκου.
Αν ανακαλύψετε κατά τη διάρκεια του pentest σας ενδείξεις προηγούμενης
παραβίασης — ένα αρχείο svchost.exe σε φάκελο χρήστη, μια
προγραμματισμένη εργασία που κάνει ping κάθε ώρα σε έναν τομέα
.onion, μια διεργασία που ακούει σε μη δηλωμένη θύρα — ο κανόνας
είναι απλός. Σταματάτε τα πάντα. Δεν αγγίζετε τίποτα: ούτε το
αρχείο, ούτε τη διεργασία, ούτε τα logs. Καλείτε την επαφή κλιμάκωσής
σας μέσα στην ώρα. Τεκμηριώνετε αυτό που είδατε, με την ακριβή ώρα,
χωρίς να έχετε τροποποιήσει τα μεταδεδομένα του.
Ο πελάτης θα ενεργοποιήσει τότε μια ομάδα DFIR — δική του, ή εξωτερική. Αυτή η ομάδα θα αναλάβει τον φάκελο με τα δικά της εργαλεία: απεικόνιση δίσκου, καταγραφή μνήμης, διατήρηση των τεχνουργημάτων. Ο ρόλος σας σταματά στην ειδοποίηση. Κάθε επιπλέον διερεύνηση από την πλευρά σας καταστρέφει αποδείξεις που θα είχαν χρησιμεύσει για την ταυτοποίηση του επιτιθέμενου, τη μέτρηση του πραγματικού αντίκτυπου, και ενδεχομένως τη δικαστική δίωξη.
3.6. Διαχείριση αποδείξεων
Πού αποθηκεύετε τα στιγμιότυπα, τα logs, τα hashes που ανακτήθηκαν;
- Κρυπτογράφηση των αποδείξεων: LUKS, VeraCrypt, ξεχωριστός δίσκος.
- Ονοματολογία:
YYYY-MM-DD_client_<cible>_<action>.ext. - Διάρκεια διατήρησης: 30, 60 ή 90 ημέρες μετά την παράδοση της αναφοράς, μετά πιστοποιημένη καταστροφή.
- Παράδοση στον πελάτη εφόσον ζητηθεί, μέσω κρυπτογραφημένου καναλιού (Signal, Wire, ή φυσική παράδοση κρυπτογραφημένου USB).
Ένας pentester που αφήνει ένα hashdump στο γραφείο του μη
κρυπτογραφημένο, είναι ένας pentester που δεν ξαναπροσκαλούν.
3.7. Νομικές και κανονιστικές πτυχές
Ανάλογα με τη δικαιοδοσία:
- Καναδάς / Κεμπέκ — Νόμος 25. Κάθε προσωπικό δεδομένο που θίγεται από το pentest πρέπει να τεκμηριώνεται. Ο πελάτης πρέπει να έχει προβλέψει μια συμφωνία επεξεργασίας που περιλαμβάνει τον πάροχο pentest.
- Ευρωπαϊκή Ένωση — GDPR. Ομοίως, άρθρο 28. Ο πάροχος είναι εκτελών την επεξεργασία, με ένα DPA (Data Processing Agreement).
- Ηνωμένες Πολιτείες — CFAA. Computer Fraud and Abuse Act. Εξαιρετικά ευρύς. Το RoE πρέπει να αναφέρει το «authorized access» ολογράφως.
- Περιβάλλοντα PCI-DSS. Απαιτούν ετήσιο pentest. Ισχυροί περιορισμοί για το ποιος μπορεί να το διεξάγει (πιστοποίηση ASV, PA-QSA).
- Περιβάλλοντα υγείας — HIPAA (ΗΠΑ), RSS (Καναδάς). Επιπλέον περιορισμοί καταγραφής.
Αν ο πελάτης σας είναι σε SaaS (AWS, Azure, GCP), ελέγξτε την πολιτική του παρόχου. Η AWS δεν απαιτεί πλέον προηγούμενη ειδοποίηση για τις περισσότερες δοκιμές από το 2019· η Azure απαιτεί πάντα δήλωση· η GCP ζητά συμφωνία. Δείτε την ενημερωμένη τεκμηρίωση τη στιγμή της αποστολής, όχι αυτό το μάθημα.
Ορισμός — το DPA, αυτό το συμβόλαιο που συνοδεύει κάθε προσωπικό δεδομένο
Ένα DPA — Data Processing Agreement, συμφωνία επεξεργασίας — είναι το συμβόλαιο που διέπει τις σχέσεις ανάμεσα σε έναν υπεύθυνο επεξεργασίας (τον πελάτη, που αποφασίζει γιατί και πώς επεξεργαζόμαστε τα προσωπικά δεδομένα) και έναν εκτελούντα την επεξεργασία (εσάς, τον pentester, που επεξεργάζεστε αυτά τα δεδομένα για λογαριασμό του υπευθύνου). Ο ευρωπαϊκός GDPR το επιβάλλει στο άρθρο του 28· ο Νόμος 25 του Κεμπέκ το απαιτεί από το 2023· άλλες δικαιοδοσίες έχουν ισοδύναμα.
Το DPA θέτει ελάχιστες υποχρεώσεις τρεις από τις οποίες σας αφορούν άμεσα. Καθορίζει τον σκοπό — ένα pentest, όχι μεταπώληση δεδομένων ούτε εκπαίδευση ενός μοντέλου. Καθορίζει τη διάρκεια — τον χρόνο της αποστολής συν την περίοδο διατήρησης των αποδείξεων. Και καθορίζει τα μέτρα ασφαλείας που πρέπει να εφαρμόζετε στα δεδομένα: κρυπτογράφηση των στιγμιότυπων, πιστοποιημένη καταστροφή μετά την παράδοση της αναφοράς, μεταφορά μόνο μέσω κρυπτογραφημένου καναλιού.
Δύο πρακτικά σημεία. Δεν υπογράφετε νέο DPA ανά αποστολή: οι σοβαροί πάροχοι έχουν ένα πρότυπο DPA που ο πελάτης αποδέχεται όπως είναι, ή με μερικές τροποποιήσεις. Και αν αναθέσετε όλη ή μέρος της εργασίας σε έναν υπεργολάβο από την πλευρά σας — έναν freelancer που βοηθά για μια εβδομάδα, μια υπηρεσία cloud για να φιλοξενήσει τις αποδείξεις σας — πρέπει με τη σειρά σας να υπογράψετε ένα DPA μαζί του. Το συμβόλαιο μεταδίδεται σε αλυσίδα, από τον πελάτη μέχρι τον τελευταίο κρίκο που θα αγγίξει το δεδομένο.
3.8. Παραδοτέα και προθεσμίες
Τι παραδίδετε, και πότε:
- Εκτελεστική αναφορά (2-3 σελίδες).
- Πλήρης τεχνική αναφορά (30-80 σελίδες).
- Αρχεία αποδείξεων.
- Συνεδρία προφορικής παρουσίασης.
Κάθε παραδοτέο έχει ημερομηνία, μορφή, παραλήπτη.
4. Η ειδική περίπτωση που καθιστά τον πελάτη ευάλωτο: η υπεργολαβία
Ο πελάτης σάς προσλαμβάνει για να κάνετε pentest στο ERP του. Το ERP τρέχει σε ένα VPS που φιλοξενείται στην OVH. Έχετε δικαίωμα να επιτεθείτε στο VPS;
Εξαρτάται από το συμβόλαιο ανάμεσα στον πελάτη και την OVH. Ορισμένοι πάροχοι φιλοξενίας απαγορεύουν τις δοκιμές διείσδυσης χωρίς προηγούμενη ειδοποίηση. Άλλοι τις επιτρέπουν χωρίς να ρωτούν. Είναι στον πελάτη να το ελέγξει — αλλά εσείς θα δείτε τη σύνδεσή σας να κόβεται και θα λάβετε ένα email καταγγελίας αν κανείς δεν έκανε αυτή τη δουλειά.
Προσθέστε στο RoE σας μια τυπική ρήτρα:
«Ο πελάτης εγγυάται ότι κατέχει τα απαραίτητα δικαιώματα για την εξουσιοδότηση των περιγραφόμενων δοκιμών, συμπεριλαμβανομένων και έναντι των παρόχων φιλοξενίας και διαχειριζόμενων υπηρεσιών του. Κάθε καταγγελία ή μπλοκάρισμα από τρίτο εμπίπτει στην ευθύνη του πελάτη.»
Αυτή η φράση είναι μια κάλυψη. Δεν θα αρκέσει αν ο πελάτης σας ψέμα συνειδητά, αλλά σας βάζει στη σωστή πλευρά της ιστορίας.
5. Τα red flags που πρέπει να εντοπίσετε πριν υπογράψετε
Απορρίψτε την αποστολή, ή επαναδιαπραγματευτείτε, αν δείτε:
- Έναν πελάτη που δεν θέλει να παράσχει επαφή κλιμάκωσης 24 ωρών. Δεν παίρνει την αποστολή στα σοβαρά.
- Ένα RoE που παρέχει ο πελάτης μικρότερο από μία σελίδα. Πιστεύει ότι ένα RoE είναι διατύπωση. Θα πληρώσετε το τίμημα.
- Ένα ρητό αίτημα να δοκιμαστούν συστήματα που ανήκουν σε τρίτο. Είναι ο πελάτης που πρέπει να το ρυθμίσει, όχι εσείς.
- Έναν πελάτη που επιμένει να «προσπαθήσετε να μπείτε στα κρυφά, χωρίς να ειδοποιήσετε κανέναν». Αυτό είναι red team — έχει το δικό του, βαρύτερο πλαίσιο, όχι αυτό ενός pentest.
- Μια αποστολή πολύ σύντομη (2 ημέρες) σε πολύ ευρύ στόχο (έναν ολόκληρο τομέα). Δεν θα έχετε χρόνο να κάνετε χρήσιμη δουλειά· ο πελάτης θα παραπονεθεί για την αναφορά· κανείς δεν κερδίζει.
Ορισμός — η παρέκκλιση πεδίου εφαρμογής, η ύπουλη εχθρός ενός καλά οριοθετημένου pentest
Το scope creep, κυριολεκτικά «παρέκκλιση πεδίου εφαρμογής», δηλώνει τη σταδιακή διεύρυνση της αποστολής πέρα από ό,τι έχει υπογραφεί. Σπάνια παίρνει τη μορφή μιας ρητής απόφασης· προχωρά με μικρά αιτήματα που το καθένα φαίνεται αθώο.
Το τυπικό σενάριο εξελίσσεται σε τέσσερις χρόνους. Ο πελάτης σάς ζητά, τη δεύτερη ημέρα, αν «μια και το κάνετε» μπορείτε επίσης να ρίξετε μια ματιά στον διακομιστή X, που δεν είναι στο RoE. Δέχεστε από ευγένεια. Την τρίτη ημέρα, προστίθεται ένας άλλος διακομιστής. Την πέμπτη ημέρα, είστε εκτός πεδίου εφαρμογής εδώ και καιρό, το πρόγραμμά σας εκρήγνυται, οι αποδείξεις σας μπερδεύονται, και αν συμβεί ένα περιστατικό σε έναν από αυτούς τους προστεθέντες διακομιστές, κανείς δεν μπορεί να αποδείξει ότι ήταν εξουσιοδοτημένος. Πληρώνετε σε τρία επίπεδα: χρόνο, ποιότητα, νομική ευθύνη.
Η αντίδραση είναι διαδικαστική. Κάθε αίτημα εκτός RoE λαμβάνει την ίδια γραπτή απάντηση: «Ευχαριστώ για το αίτημα. Μπορώ να καλύψω αυτόν τον στόχο σε μια γραπτή επέκταση του RoE, συνυπογεγραμμένη από [επαφή συμβολαίου]. Εκτίμηση: X επιπλέον ημέρες.» Ο πελάτης προσθέτει τον στόχο επίσημα, ή παραιτείται. Καμία προφορική επέκταση, καμία επέκταση μέσω αυπόγραφου email, κανένα «θα δούμε αργότερα». Αυτή η αυστηρότητα σοκάρει μερικές φορές στην αρχή, αλλά πάντα προστατεύει στο τέλος.
6. Τα συχνά λάθη που κοστίζουν
- Πεδίο εφαρμογής περιγραμμένο προφορικά, ποτέ καταγεγραμμένο. Την ημέρα της διαφοράς, δεν έχετε τίποτα.
- Καμία διαδικασία για προϋπάρχουσα εισβολή. Μπαίνετε σε μια ήδη παραβιασμένη υποδομή, δεν ξέρετε τι να κάνετε, καταστρέφετε χωρίς να το θέλετε αποδείξεις που θα είχαν χρησιμεύσει σε μια έρευνα.
- Καθόλου περιθώριο στα παράθυρα. Μια σάρωση
nmap -p-μπορεί να διαρκέσει 4 ώρες σε μια περιοχή 256 IP. Προβλέψτε 1,5× την εκτίμησή σας. - Λογαριασμοί δοκιμής που δημιουργήθηκαν στον διαχειριστικό λογαριασμό του πελάτη, χωρίς ισχυρό κωδικό. Στο τέλος της αποστολής, ξεχνούν να τους διαγράψουν.
- Χρήση εργαλείων που «τηλεφωνούν σπίτι» στον εκδότη τους. Ορισμένα εμπορικά εργαλεία τηλεμεταφέρουν τα αποτελέσματα στο cloud τους. Το RoE μπορεί να μην έχει προβλέψει αυτή την εξαγωγή. Ρυθμίστε τα πάντα τοπικά.
7. Τι πρέπει να συγκρατήσετε
- Ένα RoE δεν είναι ένα ακόμη χαρτί. Είναι το μόνο έγγραφο που κάνει τη δουλειά σας νόμιμη.
- NDA, SOW, RoE, εξουσιοδότηση, συμφωνία πλαίσιο: πέντε κομμάτια, πέντε ρόλοι. Μην τα μπερδεύετε.
- Το πεδίο εφαρμογής είναι μια λίστα, όχι μια φράση.
- Τα παράθυρα και οι επαφές γράφονται με ακρίβεια λεπτού και αριθμού.
- Η περίπτωση «προϋπάρχουσα εισβολή» και η περίπτωση «κρίσιμο εύρημα» προβλέπονται.
- Ο πελάτης μπορεί να σας εξουσιοδοτήσει να επιτεθείτε μόνο σε ό,τι του ανήκει.
Επόμενο μάθημα: παίρνουμε ένα πραγματικό σενάριο (μια ΜΜΕ e-commerce), συντάσσουμε ένα πλήρες RoE, και το δίνουμε προς αναθεώρηση.