GH GambleHub

Μοντελοποίηση απειλών και έλεγχος κινδύνων

1) Αρχές

1. Αρχιτεκτονική Πρώτα. Ξεκινάμε με πλαίσια, όρια εμπιστοσύνης και ροές δεδομένων.
2. Πιθανότητα κινδύνου × Αντίκτυπος. Μετράμε, δεν νιώθουμε.
3. Άμυνα σε βάθος. Έλεγχος σε κάθε στρώμα: κωδικός → πρωτόκολλο → πλατφόρμα → ανθρώπους.
4. Μετατόπιση αριστερά/δεξιά. Πρώιμες πύλες σε PR + παρακολούθηση και αντίδραση σε prod.
5. Privacy by Design. Προσομοιώνουμε όχι μόνο απειλές για την ασφάλεια, αλλά και κινδύνους για την ιδιωτική ζωή.
6. Αυτοματοποιήστε όπου είναι δυνατόν. Πολιτικές όπως κώδικας, αυτόματοι έλεγχοι, «κόκκινες γραμμές».


2) Απογραφή: περιουσιακά στοιχεία, οντότητες, όρια εμπιστοσύνης

Περιουσιακά στοιχεία: δεδομένα (PII, χρηματοδότηση, μυστικά), υπολογιστικοί πόροι, κλειδιά, πρόσβαση, επιχειρηματικές διαδικασίες.
Θέματα: χρήστες, υπηρεσίες, διοικήσεις, εταίροι, εξωτερικοί πάροχοι.
Όρια εμπιστοσύνης: οι χρήστες ↔ εμπρός, εμπρός ↔ πύλη API, υπηρεσίες ↔ βάσεις δεδομένων/κρύπτες/ουρές αναμονής, περιοχές/σύννεφα.
Επιφάνεια επίθεσης: σημεία εισόδου (API, webhooks, UI, δίκτυα, CI/CD, αλυσίδα εφοδιασμού).

DFD (παράδειγμα, Γοργόνα):
mermaid flowchart LR
U[Пользователь] -- TLS --> WAF[WAF/CDN]
WAF --> GW[API Gateway]
GW --> Svc[Service A]
Svc --> DB[(Postgres)]
Svc --> MQ[[Kafka]]
MQ --> SvcB[Service B]
subgraph Trust Boundary
GW; Svc; SvcB end

3) Πλαίσια απειλών

STRIDE (безопасность): Spoofing, Tampering, Repudiation, Information Discossion, Discription of Service, Elevation of Privilege.
LINDDUN (приватность): Δυνατότητα σύνδεσης, δυνατότητα αναγνώρισης, μη αποκήρυξη, ανιχνευσιμότητα, γνωστοποίηση, αγνώριστη, μη συμμόρφωση.
PASTA (διαδικασία): από επιχειρηματικούς στόχους και παράγοντες απειλής → τεχνικές λεπτομέρειες → σενάρια δοκιμών.

Πίνακας (θραύσμα, STRIDE × συστατικά μέρη):
Κατασκευαστικό στοιχείοSTRIDΕΈλεγχος
Πύλη APImTLS/OIDC, WAF, όριο επιτοκίου, έλεγχος, HSTS
ΚάφκαACL, υπογεγραμμένα γεγονότα, ποσοστώσεις, DLQs
PostgresTLS, RLS, KMS, μεταναστεύσεις με επικύρωση

4) Εκτίμηση κινδύνων

Διαβάθμιση κινδύνου DREAD/OWASP ή CVSS για τρωτά σημεία.
Πιθανότητα (L): κίνητρο/ικανότητες του επιτιθέμενου, πολυπλοκότητα, έκθεση στην επιφάνεια.
Αντίκτυπος (I): χρηματοδότηση, νομικοί κίνδυνοι, downtime, διαρροές PD.
Κίνδυνος (R = L × I) - ιεράρχηση και τριμερισμός: Αποφυγή/Μείωση/Μεταφορά/Αποδοχή.

Πίνακας (παράδειγμα):

Impact
Low Med High Critical
Lik Low  L  L  M   H
Med  L  M  H   H
High M  H  High  Crit

Μητρώο κινδύνων (ελάχιστα πεδία): «id, σενάριο, STRIDE, περιουσιακό στοιχείο, L, I, R, ιδιοκτήτες, έλεγχοι, κατάσταση, ημερομηνία αναθεώρησης».


5) Έλεγχοι: Πρόληψη/ανίχνευση/ανταπόκριση

Πρόληψη:
  • Ταυτοποίηση/εξουσιοδότηση: OIDC/OAuth2, PoLP, RBAC/ABAC, βραχυπρόθεσμες πιστώσεις εξυπηρέτησης.
  • Μυστικά/κλειδιά: KMS/HSM, περιστροφή, μη γνωρίζετε, κρυπτογράφηση FPE/πεδίου.
  • Ασφαλή πρωτόκολλα: TLS1. 2 +, mTLS, υπογραφές webhook, ταυτότητα και αντι-αναπαραγωγή.
  • Επικύρωση/αποχέτευση: συστήματα (JSON Schema/Proto), όρια, κανονικοποίηση.
  • Απομόνωση: πολιτικές δικτύου, κατάτμηση, αμμοκιβώτιο, χώροι ονομάτων, διαφράγματα.
Ανίχνευση:
  • Λογιστικές καταχωρίσεις (μη αναγνωρίσιμες), συσχέτιση στο SIEM, καταχωρίσεις σε ανωμαλίες.
  • Παρακολούθηση της υπογραφής και της ακεραιότητας (εξαγωγή τεχνουργημάτων, βεβαίωση).
  • Μελισσοκομικά/καναρίνια για την έγκαιρη ανίχνευση διαρροής κλειδιών.
Απάντηση:
  • Runbook IR: ταξινόμηση, απομόνωση, ανάκληση κλειδιού, προειδοποιήσεις, εγκληματολογία.
  • Αυτόματος διακόπτης/σημαία χαρακτηριστικών, «μαύρες λίστες» σημάτων.
  • Κοινοποιήσεις χρηστών/ρυθμιστικών αρχών σε περίπτωση συμβάντων PD.

6) SDL και πύλες ασφαλείας

Στην ιδέα/σχεδιασμό: μοντέλο απειλής (RFC/ADR), κατάλογος ελέγχου.
Στην ανάπτυξη: SAST/μυστική σάρωση, σαρώσεις εξάρτησης (SCA), πολιτική εξάρτησης.
Συναρμολόγηση: SBOM, υπογραφή τεχνουργήματος, πολιτική τρωτότητας (κατώτατα όρια CVSS).
Στον τομέα: OPA/Kyverno - IaC/velifest policy (securityControl, network policies, secret forwarding).
Στις πωλήσεις: IDS/WAF, ανίχνευση ανωμαλίας, έλεγχοι καναρινιών, ασφάλεια χάους (για παράδειγμα, ληγμένο πιστοποιητικό).

Παράδειγμα πύλης (Policy as Code, pseudo-Rego):
rego package policy.cicd deny[msg] {
some v input.sbom.vulns[v].cvss >= 7.0 msg:= sprintf("High vuln blocked: %s %s", [v.package, v.id])
}
deny[msg] {
input.k8s.pod.spec.securityContext.runAsRoot == true msg:= "RunAsRoot forbidden"
}

7) Αλυσίδα εφοδιασμού και εμπιστοσύνη στα τεχνουργήματα

SBOM ανά εικόνα/συσκευασία· επικαιροποιήσεις εξάρτησης - μέσω bot/πολιτικής.
SLSA/Προέλευση: αναπαραγώγιμες συνελεύσεις, υπογραφές, βεβαιώσεις.
Εμπορευματοκιβώτια: ελάχιστες εικόνες, χωρίς ρίζες, δυνατότητες πτώσης, μόνο ανάγνωσης FS.
IaC σαρώσεις: Terraform/Helm - πολιτική κρυπτογράφησης, ανοικτές θύρες, κανόνες δικτύου.


8) Προστασία της ιδιωτικής ζωής και συμμόρφωση

LINDDUN-χάρτης απειλών για την ιδιωτικότητα, ελαχιστοποίηση δεδομένων, ψευδωνυμοποίηση/ανωνυμοποίηση.
Πολιτικές διατήρησης: TTL/διατήρηση, «δικαίωμα διαγραφής», έλεγχος πρόσβασης σε PD.
Τοπικοποίηση: γεωγραφικοί περιορισμοί, «τα δεδομένα παραμένουν στην περιοχή».
Διαφάνεια: καταγραφές επεξεργασίας, κοινοποίησης και συγκατάθεσης.


9) Σύννεφα και περίμετροι

Zero Trust: εξακρίβωση της ταυτότητας κάθε αιτήματος, mTLS/OPA μεταξύ υπηρεσιών.
Κατάτμηση: VPC/subnets/SG, ιδιωτικά τελικά σημεία, έλεγχος εξόδου.
Κλειδιά/μυστικά: KMS, εναλλαγή, βραχυπρόθεσμες πιστώσεις σε CI (ομοσπονδία OIDC).
Απόθεμα/DR: κρυπτογραφημένα αντίγραφα ασφαλείας, κλειδιά ξεχωριστά, πρόβες ανάκτησης.


10) Κόκκινες/μωβ ομάδες και ασκήσεις σε ταμπλέτες

Κόκκινη ομάδα: δοκιμές υποθέσεων απειλής, κοινωνική μηχανική, εκμετάλλευση αλυσίδων.
Μωβ Ομάδα: κοινή αποσφαλμάτωση ανιχνεύσεων/ειδοποιήσεων, βελτίωση βιβλίων αναπαραγωγής IR.
Tabletop: σενάρια "ληγμένο πιστοποιητικό", "διαρρέοντα κλειδιά", "συμβιβασμός εφοδιαστικής αλυσίδας. "Το αποτέλεσμα είναι επικαιροποιημένοι έλεγχοι και μετρήσεις.


11) Μετρήσεις ληκτότητας και διαχείριση

Κάλυψη:% των υπηρεσιών με τρέχον μοντέλο απειλής και DFD.
MTTD/MTTR για την ασφάλεια, ποσοστό συμβάντων που έχουν συλληφθεί από χειριστήρια.
Ποσοστό επιτυχίας της πολιτικής στον ΚΚΠ, χρόνος για το κλείσιμο των τρωτών σημείων λόγω της κρισιμότητας.
Προστασία της ιδιωτικής ζωής:% των συνόλων δεδομένων με TTL/ILM, μερίδιο πρόσβασης με αιτιολόγηση.
Έλεγχος: κανονικότητα της αναθεώρησης του μητρώου κινδύνων (τριμηνιαία).


12) Μοτίβα τεχνουργημάτων

12. 1 Κάρτα κινδύνου (παράδειγμα)


Risk ID: SEC-API-012
Сценарий: SSRF через изображение в профиле
STRIDE: Tampering/Info Disclosure
Актив: API / файловый прокси
Likelihood: High  Impact: High  Risk: Critical
Контроли: denylist схем, egress-прокси, URL-fetcher в изолированном рантайме,
DNS-resolv только через прокси, время/размер-лимиты, allowlist.
Владелец: team-accounts  Статус: Reduce (в работе)
Дата пересмотра: 2025-12-01

12. 2 Κατάλογος ελέγχου σχεδιασμού

Προσδιορισμός περιουσιακών στοιχείων και PII Σημειώνονται όρια εμπιστοσύνης

Συνθέτουν και χαρτογραφούν βρόχους DFD/δεδομένων σε ADR

STRIDE/LINDDUN διέσχισε κάθε βέλος DFD

Επιλεγμένη κατηγορία κινδύνου· έχουν ιδιοκτήτες/προθεσμίες/DoD

Πολιτικές όπως προστέθηκαν (πύλες OPA/Kyverno/CI)

Επικαιροποιημένο σχέδιο/προειδοποιήσεις παρακολούθησης και εγχειρίδιο IR

Ιδιωτικότητα: ελαχιστοποίηση, κρυπτογράφηση, TTL/διατήρηση, εντοπισμός

12. 3 Πολιτική Webhook (Ψευδοκώδικας)

python def verify_webhook(req, keys):
ts = int(req.h["X-Timestamp"])
if abs(now_utc()-ts) > 300: return 401 if not hmac_ok(req.body, ts, keys.active_or_prev(), req.h["X-Signature"]):
return 401 if replay_cache.seen(req.h["X-Event-ID"]): return 200
PoLP: в обработчике — только нужные скоупы handle(json.loads(req.body))
replay_cache.mark(req.h["X-Event-ID"])
return 200

13) Αντι-μοτίβα

Μοντέλο απειλής «για επίδειξη» χωρίς DFD/αναλλοίωτες.
«Υπερ-περίμετρο» χωρίς εσωτερική επαλήθευση ταυτότητας υπηρεσίας προς υπηρεσία.
Μακροχρόνια μυστικά σε μεταβλητές περιβάλλοντος/επαναγοράς.
Πολιτικές που δεν ενσωματώνονται ως κωδικός → εγχειρίδιο «ξεχασμένες».
Αρχεία καταγραφής με PD χωρίς καμουφλάζ και χωρίς κατακράτηση/TTL.
Αγνοώντας την αλυσίδα εφοδιασμού (δεν υπάρχει SBOM/υπογραφές/σαρώσεις).
Αποδοχή χωρίς ημερομηνία ιδιοκτήτη και αναθεώρηση.


14) Ενσωμάτωση στις διαδικασίες

RFC/ADR - Κάθε ουσιαστική λύση περιλαμβάνει τμήμα «Απειλές και έλεγχοι».
Docs-as-Code: μοντέλο απειλής, DFD, μητρώο κινδύνου στην έκδοση δίπλα στον κωδικό.
Πύλες απελευθέρωσης: η απελευθέρωση εμποδίζεται όταν οι πολιτικές SAST/SCA/SBOM αποτυγχάνουν ή λείπουν έλεγχοι υψηλής σοβαρότητας.
Κατάρτιση: playbooks για προγραμματιστές (μυστικά, υπογραφές, PoLP), τακτική tabletop.


Συμπέρασμα

Η μοντελοποίηση απειλών είναι μια τεχνική πρακτική διαχείρισης κινδύνων και όχι ένα έγγραφο μιας φοράς. Ορισμός των περιουσιακών στοιχείων και των ορίων εμπιστοσύνης, εφαρμογή του STRIDE/LINDDUN, μέτρηση του κινδύνου, καταχώρισή του και εφαρμογή των ελέγχων ως κώδικα με την ενσωμάτωσή τους σε CI/CD και λειτουργία. Με μετρήσεις ωριμότητας και τακτική αναθεώρηση, θα μετατρέψετε την ασφάλεια σε μια προβλέψιμη αρχιτεκτονική ικανότητα - με κατανοητή τιμή, αποτέλεσμα και ταχύτητα.

Contact

Επικοινωνήστε μαζί μας

Επικοινωνήστε για οποιαδήποτε βοήθεια ή πληροφορία.Είμαστε πάντα στη διάθεσή σας.

Έναρξη ολοκλήρωσης

Το Email είναι υποχρεωτικό. Telegram ή WhatsApp — προαιρετικά.

Το όνομά σας προαιρετικό
Email προαιρετικό
Θέμα προαιρετικό
Μήνυμα προαιρετικό
Telegram προαιρετικό
@
Αν εισαγάγετε Telegram — θα απαντήσουμε και εκεί.
WhatsApp προαιρετικό
Μορφή: κωδικός χώρας + αριθμός (π.χ. +30XXXXXXXXX).

Πατώντας «Αποστολή» συμφωνείτε με την επεξεργασία δεδομένων.