Pentesting CI/CD Methodology
Last updated
Last updated
Το VCS σημαίνει Σύστημα Έλεγχου Έκδοσης, αυτά τα συστήματα επιτρέπουν στους προγραμματιστές να διαχειρίζονται τον πηγαίο κώδικά τους. Το πιο κοινό είναι το git και συνήθως θα βρείτε εταιρείες που το χρησιμοποιούν σε μία από τις ακόλουθες πλατφόρμες:
Github
Gitlab
Bitbucket
Gitea
Παρόχοι cloud (προσφέρουν τις δικές τους πλατφόρμες VCS)
Οι pipelines επιτρέπουν στους προγραμματιστές να αυτοματοποιήσουν την εκτέλεση του κώδικα (για σκοπούς κατασκευής, δοκιμής, αναπτύξεως...), μετά από συγκεκριμένες ενέργειες: Ένα push, ένα PR, cron... Είναι πολύ χρήσιμες για να αυτοματοποιήσουν όλα τα βήματα από την ανάπτυξη έως την παραγωγή.
Ωστόσο, αυτά τα συστήματα πρέπει να εκτελούνται κάπου και συνήθως με προνομιούχα διαπιστευτήρια για την ανάπτυξη του κώδικα.
Ακόμα κι αν ορισμένες πλατφόρμες VCS επιτρέπουν τη δημιουργία pipelines για αυτήν την ενότητα θα αναλύσουμε μόνο δυνητικές επιθέσεις στον έλεγχο του πηγαίου κώδικα.
Οι πλατφόρμες που περιέχουν τον πηγαίο κώδικα του έργου σας περιέχουν ευαίσθητες πληροφορίες και οι άνθρωποι πρέπει να είναι πολύ προσεκτικοί με τις άδειες που χορηγούνται μέσα σε αυτήν την πλατφόρμα. Αυτά είναι μερικά κοινά προβλήματα σε πλατφόρμες VCS που μπορεί να καταχραστεί ένας επιτιθέμενος:
Διαρροές: Αν ο κώδικάς σας περιέχει διαρροές στις δεσμεύσεις και ο επιτιθέμενος μπορεί να έχει πρόσβαση στο αποθετήριο (επειδή είναι δημόσιο ή επειδή έχει πρόσβαση), μπορεί να ανακαλύψει τις διαρροές.
Πρόσβαση: Αν ένας επιτιθέμενος μπορεί να **έχει πρόσβαση σε έναν λογαρια
Το Chain-bench είναι ένα εργαλείο ανοικτού κώδικα για τον έλεγχο της ασφάλειας της αλυσίδας εφοδιασμού λογισμικού σας βάσει του νέου CIS Software Supply Chain benchmark. Ο έλεγχος επικεντρώνεται στη διαδικασία ολόκληρου του SDLC, όπου μπορεί να αποκαλύψει κινδύνους από την ώρα του κώδικα έως την ώρα της αναπτυξης.
Δείτε αυτό το ενδιαφέρον άρθρο για τους κορυφαίους 10 κινδύνους CI/CD σύμφωνα με το Cider: https://www.cidersecurity.io/top-10-cicd-security-risks/
Σε κάθε πλατφόρμα που μπορείτε να εκτελέσετε τοπικά, θα βρείτε πώς να την ξεκινήσετε τοπικά, ώστε να τη διαμορφώσετε όπως θέλετε για να τη δοκιμάσετε.
Εργαστήριο Gitea + Jenkins: https://github.com/cider-security-research/cicd-goat
Το Checkov είναι ένα εργαλείο ανάλυσης στατικού κώδικα για το infrastructure-as-code.