Εμπιστοσύνη dependencies, ανίχνευση και υπεύθυνη έρευνα — DedSec Project
Εμπιστοσύνη dependencies, ανίχνευση και υπεύθυνη έρευνα 07. Αλυσίδα εμπιστοσύνης Git και εξαρτήσεων Στόχος: Αλυσίδα εμπιστοσύνης Git και εξαρτήσεων. Το πράσινο build δεν αποδεικνύει ότι…
07. Αλυσίδα εμπιστοσύνης Git και εξαρτήσεων
Στόχος: Αλυσίδα εμπιστοσύνης Git και εξαρτήσεων.
Το πράσινο build δεν αποδεικνύει ότι είναι ασφαλείς οι εξαρτήσεις. Έλεγξε ονόματα πακέτων, προέλευση, εκδόσεις, άδειες και γνωστά προβλήματα. Προτίμησε συγκεκριμένα ελεγμένα revisions αντί για κινούμενο branch όταν το build έχει ισχυρά δικαιώματα.
Τα hashes του Git εγγυώνται τη μορφή των objects, όχι ποιος έχει δικαίωμα να αλλάξει branch. Χρειάζονται πολιτικές refs, reviews και, όπου αρμόζει, υπογραφές. Μια υπογραφή έχει αξία μόνο αν εμπιστεύεσαι τη σύνδεση κλειδιού και δημιουργού.
Παράδειγμα: μια μικρή αλλαγή τεκμηρίωσης ενεργοποιεί ολόκληρο build με credentials. Εξέτασε path filters, ελάχιστα δικαιώματα workflows και σαφή προϋπόθεση release. Εξοικονόμηση CI δεν σημαίνει κατάργηση αναγκαίων ελέγχων.
Άσκηση: ποιος μπορεί να αλλάξει πηγαίο κώδικα, dependencies, workflow, release και signing key; Βάλε ξεχωριστά όρια σε καθένα.
Κίνδυνος υπάρχει και μέσα από αυτοματισμούς που φαίνονται έμπιστοι.
Συμπληρωματική ύλη: Hacking Guide Project — ενότητα 133.
08. Logs, τεκμήρια και απλή ανίχνευση
Στόχος: Logs, τεκμήρια και απλή ανίχνευση.
Ένας κανόνας ανίχνευσης δεν μπορεί να λειτουργήσει αν τα logs είναι ελλιπή. Κάθε event χρειάζεται σαφή χρόνο και timezone, τύπο, σχετικό actor, αποτέλεσμα και πηγή. Μη γράφεις passwords, ολόκληρα session tokens ή αχρείαστα προσωπικά στοιχεία.
Συνθετικό παράδειγμα: φτιάξε δέκα φανταστικά login events. Οκτώ επιτυχίες, δύο αποτυχίες. Ένας κανόνας για τρεις αποτυχίες μέσα σε λεπτό ΔΕΝ πρέπει να ειδοποιήσει. Πρόσθεσε τρίτη αποτυχία: τώρα πρέπει. Αφαίρεσε το πεδίο χρόνου: ο κανόνας οφείλει να δηλώσει ανεπαρκή στοιχεία.
Το alert είναι λόγος διερεύνησης, όχι απόδειξη παραβίασης. Αυτόματη απομόνωση συστήματος απαιτεί ξεχωριστούς ελέγχους.
Άσκηση: γράψε τι θεωρείται αληθές εύρημα, τι false positive, τι γίνεται με ελλείποντα πεδία και πώς επαναλαμβάνεται το τεστ. Ξεχώρισε παρατήρηση από υπόθεση.
Συμπληρωματική ύλη: Hacking Guide Project — ενότητα 47.
09. Υπεύθυνο OSINT και ελαχιστοποίηση δεδομένων
Στόχος: Υπεύθυνο OSINT και ελαχιστοποίηση δεδομένων.
Το OSINT βοηθά να κατανοήσουμε δημοσιευμένες τεχνολογίες, αλλά το «είναι δημόσιο» δεν σημαίνει ότι μπορούμε να συλλέγουμε και να αναδημοσιεύουμε προσωπικά στοιχεία. Ξεκίνα από νόμιμο, συγκεκριμένο σκοπό. Χώρισε πηγή, ημερομηνία, παρατήρηση και συμπέρασμα.
Για μελέτη λογισμικού έχουν αξία τα επίσημα release notes, εγχειρίδια, public advisories, δημοσιευμένος κώδικας και οι κανόνες ασφάλειας του έργου. Μην συμπεραίνεις ιδιοκτησία ή ύπαρξη ευπάθειας από απλές συμπτώσεις.
Άσκηση: σύγκρινε δύο δημόσιες εκδόσεις τεκμηρίωσης φανταστικής βιβλιοθήκης. Γράψε ποιες εντολές άλλαξαν και τι πρέπει να ελεγχθεί πρακτικά. Όσα δεν εκτέλεσες σημείωσέ τα «μη επιβεβαιωμένα».
Ελαχιστοποίηση: κράτα μόνο όσα τεκμήρια χρειάζεσαι και αφαίρεσε αναγνωριστικά πριν από δημόσιο μάθημα.
Στόχος είναι η τεχνική κατανόηση, όχι ο φάκελος προσωπικών στοιχείων.
Συμπληρωματική ύλη: Hacking Guide Project — ενότητα 34.