Λογιστικός έλεγχος και αμετάβλητα κορμοτεμάχια
Λογιστικός έλεγχος και αμετάβλητα κορμοτεμάχια
1) Γιατί το χρειάζεστε
Σκοπός του ελέγχου είναι να συλλάβει «ποιος, τι, πού, πότε και γιατί» με αποδεδειγμένη ακεραιότητα προκειμένου να διατηρηθεί η ασφάλεια, οι έρευνες, η χρηματοοικονομική αναφορά και η συμμόρφωση.
Αμετάβλητο ημερολόγιο - μορφότυπος και αποθήκευση όπου τα γεγονότα καταγράφονται μόνο με προσθήκη και η επακόλουθη αλλαγή/διαγραφή είναι είτε αδύνατη είτε ανιχνεύσιμη με κρυπτογραφικά μέσα και πολιτικές αποθήκευσης.
2) Πρότυπο απειλής και στόχοι ελέγχου
Κίνδυνοι:- Εκ προθέσεως επεξεργασία/διαγραφή γεγονότων από κατόχους εμπιστευτικών πληροφοριών.
- Αντικατάσταση χρόνου/πηγής (replay/backdating).
- «Ήσυχο» κλείσιμο υλοτομίας στον κόμβο.
- Απώλεια μέρους του ημερολογίου κατά τη διάρκεια ατυχημάτων/μεταναστεύσεων.
- Υπερβολική συλλογή PII και διαφωνία με την ιδιωτική ζωή.
1. Ακεραιότητα: αποδεικνύεται με την προστασία από τροποποιήσεις/διαγραφές.
2. Πληρότητα: κλείσιμο των βασικών ροών (επίπεδο ελέγχου, επίπεδο δεδομένων, πρόσβαση, χρήμα).
3. Ακρίβεια χρόνου: αναπαραγώγιμος, συγχρονισμένος χρόνος.
4. Προσβασιμότητα: ανάγνωση και αναζήτηση εντός του SLO.
5. Προστασία της ιδιωτικής ζωής: ελάχιστο PII, σήμανση/κρυπτογράφηση, νομιμότητα χρήσης.
3) Ταξινόμηση και προτεραιότητες εκδηλώσεων
Διαχωρίζουμε τα γεγονότα σε στρώματα με προτεραιότητα στην κατακράτηση και την αμετάβλητη ικανότητα:- Επίπεδο ελέγχου: εξακρίβωση ταυτότητας/εξουσιοδότηση, αλλαγές στη διαμόρφωση, λειτουργίες κλειδιών (KMS), μυστική διαχείριση, αλλαγές πολιτικής.
- επίπεδο δεδομένων: πρόσβαση σε αντικείμενα/αρχεία/ελέγχους/πληρωμές· ανάγνωση/δημιουργία/διαγραφή.
- Admin και DevOps: SSH/κονσόλα, CI/CD, αλλαγές υποδομής/IaC, κλιμάκωση δικαιωμάτων.
- Προϊόν: συναλλαγές, τιμολόγηση, δραστηριότητες πελατών.
- Σύστημα/δίκτυο: πυρήνας/πράκτορες/πληρεξούσιοι/εξισορροπητές, μεσίτες, βάσεις δεδομένων.
- Ασφάλεια: IDS/IPS/EDR, WAF, anti-DDoS, antifraud, DLP.
Για κάθε κλάση, καθορίζουμε: κρισιμότητα, σχέδιο, υποχρεωτικά πεδία, διάρκεια ζωής, απαιτήσεις για αναλλοίωτη χρήση.
4) Απαιτούμενα πεδία και μορφότυπος
Οι ταυτότητες συσχέτισης είναι "trace _ i ," span _ i , "request _ id", "actor _ i (χρήστης/υπηρεσία)," renant _ id "," resource _ id ".
Πλαίσιο A&A: μέθοδος επαλήθευσης ταυτότητας, ρόλοι/πολιτικές κατά τη στιγμή της δράσης.
Χρόνος: RFC3339/UTC, χιλιοστά του δευτερολέπτου/νανοδευτερόλεπτα. πηγή συγχρονισμού.
Δράση και αποτέλεσμα: τύπος λειτουργίας, σκοπός, κατάσταση, αριθμός επηρεαζόμενων αντικειμένων.
Ακεραιότητα: τοπικές εγγραφές HMAC, αριθμός ακολουθίας, hash-prev.
Σχήμα: JSON με σταθερό μοντέλο (για παράδειγμα, συμβατό με κοινά λεξικά γεγονότων).
Απαγορεύεται: μυστικά, κλειδιά, μάρκες, πλήρες PAN, κωδικοί πρόσβασης, ιδιωτικά κλειδιά. PII - μόνο όταν είναι απαραίτητο, με συγκάλυψη/μαρκινοποίηση.
5) Χρόνος και συγχρονισμός
Χρονική πηγή: τουλάχιστον δύο ανεξάρτητες πηγές (NTP/PTP) + παρακολούθηση μεροληψίας.
Ζωτικής σημασίας χρονικές υπογραφές: Χρήση υπηρεσιών χρονοσφραγίδας (TSA) ή εσωτερικής υπηρεσίας σφράγισης χρόνου για παρτίδες γεγονότων.
Κανόνες: δεν υπάρχουν τοπικές ζώνες ώρας, μόνο UTC. log και όφσετ/ποιότητα χρόνου.
6) Αρχιτεκτονική ροής καταγραφής
Πράκτορες Ρυθμιστικό Διάλυμα Μεταφοράς Προσγείωσης Αλυσίδα/Υπογραφή Δείκτης Ψυχρού/Αρχείου για αναζήτηση.
Συλλογή στον κόμβο: ελαφρά μέσα (daemonset/sidecar) με ρυθμιστικό διάλυμα στο δίσκο (back-pressure).
Μεταφορές: προστατευόμενος δίαυλος (TLS/mTLS), εγγυημένη παράδοση (τουλάχιστον μία φορά), ευφυής κατάποση.
Ζώνη εκφόρτωσης: αποθήκευση αντικειμένων σε «ακατέργαστη» μορφή (παρτίδες ανά ημερομηνία/ενοικιαστή/τύπο).
Δείκτης: μηχανή αναζήτησης/ανάλυσης για επιγραμμικά ερωτήματα (hot layer).
Αρχείο (WORM): αμετάβλητοι κουβάδες/ταινίες με πολιτικές κατακράτησης και νόμιμη λαβή.
Άγκυρα/Σφραγίδα: περιοδική «σφράγιση» των συσκευασιών των αλυσίδων χασίς (βλέπε παρακάτω).
7) Κρυπτογραφική αμετάβλητη ικανότητα
7. 1 Αλυσίδες hashes (μόνο προσθήκη)
Κάθε εγγραφή περιέχει: 'hash _ curr = H (εγγραφή)', 'hash _ prev' από την προηγούμενη εγγραφή, 'seq'. Οποιαδήποτε επεξεργασία σπάει την αλυσίδα.
Κωδικός αλυσίδας:
prev = GENESIS for record in stream:
payload = canonical_json(record_without_integrity_fields)
h = H(payload prev.hash record.seq)
store(record + {hash_prev: prev.hash, hash_curr: h})
prev = {hash: h}
7. 2 Υπογραφή συσκευασιών και χρονοσφραγίδα
Κάθε N δευτερόλεπτα/MB σχηματίζουμε ένα μπλοκ: Merkle ρίζα όλων 'hash _ curr'.
Υπογράφουμε τη δέσμη με την κλείδα ελέγχου (αποθηκευμένη σε KMS/HSM).
Προσθήκη χρονοσφραγίδας TSA και δημοσίευση του «Ημερολογίου διαφάνειας».
Προαιρετικό: να αγκυροβολεί περιοδικά το χασίς της ρίζας σε εξωτερικό αποδεδειγμένο χώρο (π.χ. ανεξάρτητο περιοδικό ή δημόσια αμετάβλητη αποθήκευση).
7. Διαχείριση κλειδιών ελέγχου
Πλήκτρα υπογραφής - σε KMS/HSM, εναλλαγή στο χρονοδιάγραμμα, πρόσβαση σε πολλαπλούς παράγοντες, διπλός έλεγχος για εξαγωγή.
βασική ανάκληση → νέου υποκαταστήματος εμπιστοσύνης· οι παλαιές υπογραφές παραμένουν επαληθεύσιμες.
8) Πολιτικές διατήρησης και διαχείρισης της εναέριας κυκλοφορίας
WORM/αμετάβλητο: περιλαμβάνονται αμετάβλητα δοχεία/κουβάδες με πολιτικές διατήρησης και νομικής συγκράτησης για P0/P1 κλάσεις.
Έκδοση: ενεργοποιημένη. διαγραφή - μόνο για διαδικασίες με καθυστέρηση (απαγόρευση της άμεσης εκκαθάρισης).
Διατήρηση: ζεστό (7-30 ημέρες), ζεστό (3-6 μήνες), κρύο/αρχείο (1-7 χρόνια ή περισσότερο - ανάλογα με τη ρυθμιστική αρχή/σύμβαση).
Πολυπλοκότητα: ξεχωριστοί χώροι ονομάτων/λογαριασμοί/κλειδιά κρυπτογράφησης ανά ενοικιαστή. αναφορά πρόσβασης στο ημερολόγιο.
9) Προστασία της ιδιωτικής ζωής και ελαχιστοποίηση
Συλλογή σύμφωνα με την αρχή της αναγκαιότητας: δεν συνδεόμαστε περιττά.
Τοκενοποίηση/ψευδωνυμοποίηση ευαίσθητων πεδίων, αλμυρό χασίς για αναγνωριστικά.
Κρυπτογράφηση πεδίου από πλευρά παραγωγού (AEAD) όταν αποθηκεύεται σε κοινή αποθήκευση αντικειμένων.
Το δικαίωμα διαγραφής (κατά περίπτωση): εφαρμόζεται μέσω κρυπτογράφησης των κλειδιών πεδίου/μέρους, χωρίς να παραβιάζεται η αμετάβλητη ικανότητα του εμπορευματοκιβωτίου (σχεδιάζεται κατά το σχεδιασμό).
10) Πρόσβαση, ρόλοι και λογιστικός έλεγχος του ίδιου του ελέγχου
Διαχωρισμός: παραγωγοί ≠ αναγνώστες ≠ διοικητικά στελέχη.
Μόνο ανάγνωσης από το WORM. αλλαγή των πολιτικών διατήρησης - μέσω χωριστών ρόλων και διαδικασιών με έγκριση.
Όλες οι εργασίες ανάγνωσης/εξαγωγής εγγράφονται σε δευτερεύον ημερολόγιο (μετα-έλεγχος).
Εξαγωγή για διερεύνηση/συμμόρφωση - σε κρυπτογραφημένη μορφή με κατάλογο hash block και αλυσίδα εμπιστοσύνης.
11) Παρατηρησιμότητα και SLO
Μετρήσεις: ρυθμός έγχυσης, υστέρηση στο δείκτη,% απώλεια/επανάληψη, κλάσμα του ασύγχρονου χρόνου, σφάλματα υπογραφής/αγκύρωσης, πλήρωση ρυθμιστικού διαλύματος.
SLO: ≥99. 9% των γεγονότων που παραδόθηκαν ≤ X δευτερόλεπτα σε θερμό δείκτη· 0 ανεξήγητες «τρύπες» σε ακολουθίες· Το 100% των τεμαχίων φέρουν υπογραφή και χρονοσφραγίδα.
Ειδοποιήσεις: διακοπή έγχυσης> N λεπτά, αύξηση άκυρου hash, απόκλιση αλυσίδας, βλάβη υπογραφής/χρονοσφραγίδας, αντιστάθμιση χρόνου πέραν του ορίου.
12) Δοκιμές και εξακρίβωση
Δοκιμές κόκκινου/μπλε χρώματος: προσπάθεια επεξεργασίας/διαγραφής εγγραφής σε διάφορα στάδια. έλεγχος ανίχνευσης.
Χάος: απενεργοποίηση του παράγοντα στον κόμβο, σπάσιμο του δικτύου, υπερχείλιση ρυθμιστικού διαλύματος, «spoofing χρόνου».
Έλεγχοι κρυπτογράφησης: τακτική επικύρωση των αλυσίδων, συμφιλίωση των ριζών και των γραμματοσήμων Merkle.
Εγκληματολογία: παίζοντας ερευνητικά σενάρια από αρχεία καταγραφής από το τέλος έως το τέλος.
13) Λειτουργία και διαδικασίες
Runbook «έλεγχος ακεραιότητας» (κατά παραγγελία και προγραμματισμένο).
Διαδικασία νομικής κατοχής και προσωρινής «δέσμευσης» των διαδίκων.
Διαδικασία ανακάλυψης και εξαγωγής με παράλληλη διατήρηση της αλυσίδας εμπιστοσύνης.
Σχέδιο εναλλαγής των κλειδιών ελέγχου και απόκριση σε συμβιβασμό (νέο υποκατάστημα εμπιστοσύνης, εκ νέου υπογραφή τμημάτων, κοινοποιήσεις).
14) Μίνι συνταγές
Υπογραφή τμήματος (Mercization + TSA, σχηματική):
records = read_partition(ts_window)
leaves = [H(canonical_json(r)) for r in records]
root = merkle_root(leaves)
sig = KMS.sign(root ts_now)
tsa = TSA.timestamp(sig)
store_block({root, sig, tsa, count=len(leaves), window})
append_transparency_log(H(root sig tsa))
Έλεγχος ακεραιότητας αλυσίδας (θραύσμα):
for i in 1..N:
assert rec[i].hash_prev == rec[i-1].hash_curr assert rec[i].hash_curr == H(canonical_json(rec[i]_no_hash) rec[i].hash_prev rec[i].seq)
Πολιτική διατήρησης (ιδέα):
- Επίπεδο ελέγχου/δεδομένων P0: ζεστό 30 ημέρες → ζεστό 6 μήνες → αρχείο 7 ετών (WORM).
- DevOps: ζεστό 14 ημέρες → ζεστό 3 μήνες → αρχείο 1 έτος.
- Σημάδια Securiti: ζεστές 90 ημέρες (για έρευνες), στη συνέχεια 1-3 χρόνια.
15) Συχνά σφάλματα
"Τα αρχεία καταγραφής είναι κείμενα χωρίς σχήμα. "Χωρίς σχήμα, δεν υπάρχει ντετερμινιστική ακεραιότητα και αναζήτηση. απαιτούνται κανονικά JSON και σταθερά πεδία.
Δεν υπάρχει συσχέτιση. Η απουσία «trace _ id» διαλύει τις έρευνες.
Τοπική ώρα. Μόνο UTC και έλεγχος αντιστάθμισης.
Γράφει σε τροποποιήσιμους τόμους. Χωρίς το WORM, κάθε αμετάβλητο είναι ένα μυθιστόρημα.
Μη διαβάζετε log. Η ανάγνωση ευαίσθητων δεδομένων είναι σημαντικό να καθοριστεί όχι λιγότερο από τη γραφή.
Μυστικά στα αρχεία καταγραφής. Ενεργοποιήστε τα καθαριστικά πριν από την αποστολή, «κόκκινες λίστες» μοτίβων.
Ένα κλειδί για τα πάντα. Κλειδιά υπογραφής και κρυπτογράφησης - ξεχωριστά, με ρόλο και περιστροφή.
16) Συμμόρφωση και ρύθμιση
Οι απαιτήσεις για διάρκεια διατήρησης/αμετάβλητο εξαρτώνται από τον τομέα (χρηματοδότηση, πληρωμή, τηλεπικοινωνίες κ.λπ.).
Δυνατότητα απόδειξης: διαθεσιμότητα πρωτοκόλλων WORM/κατακράτησης, εκθέσεων επικύρωσης κυκλώματος, αρχείων καταγραφής, νόμιμων διαδικασιών συγκράτησης και εξαγωγής.
17) Κατάλογοι ελέγχου
Πριν από την πώληση
- Ταξινόμηση συμβάντων και εγκεκριμένα σχήματα (απαιτούμενα πεδία).
- Παράγοντες, προσκρουστήρες, προστατευμένη μεταφορά, διάταξη αντίθλιψης.
- Συμπεριλαμβάνονται: αλυσίδες hash, υπογραφή μπλοκ, χρονοσφραγίδα, ημερολόγιο διαφάνειας.
- Ενεργοποιείται η αποθήκευση του WORM/παρουσίαση. δοκιμή για την αδυναμία αντικατάστασης/διαγραφής.
- Κάλυψη/μαρκαρίσματος ευαίσθητων πεδίων.
- Συγχρονισμός χρόνου και παρακολούθηση όφσετ.
- Σχέδιο εναλλαγής και αποθήκευση κλειδιών ελέγχου σε KMS/HSM.
Λειτουργία
- Εβδομαδιαία επικύρωση αλυσίδων και συγκροτημάτων (+ έκθεση).
- Διακοπή κυκλώματος/σφάλμα υπογραφής/προειδοποιήσεις αντιστάθμισης χρόνου.
- Περιοδικές δοκιμές υποκατάστασης/διαγραφής ερυθράς ομάδας.
- Τακτική επανεξέταση των παρακρατήσεων και του κόστους.
18) ΣΥΧΝΈΣ ΕΡΩΤΉΣΕΙΣ
Ε: Αρκεί απλά η «προσθήκη» σε επίπεδο βάσης δεδομένων
Ω όχι. Χρειαζόμαστε κρυπτογραφικές εγγυήσεις (αλυσίδες από hashes, μπλοκ υπογραφές, χρονοσφραγίδες) και πολιτικές WORM.
Ε: Τι γίνεται με το δικαίωμα διαγραφής δεδομένων
A: Κρυπτογράφηση σχεδιασμού (αφαίρεση κλειδιών) για πεδία/μέρη, διατήρηση αμετάβλητων μέσων και αποδεδειγμένων κορμών.
Ε: Χρειάζομαι ένα ξεχωριστό κλειδί για να υπογράψω τα μπλοκ
Ω, ναι. Χωριστά κλειδιά υπογραφής μπλοκ από κλειδιά κρυπτογράφησης αποθήκευσης. αποθηκεύει σε KMS/HSM, με εναλλαγή και έλεγχο.
Ε: Είναι δυνατόν να «αγκυροβοληθεί» σε δημόσιο χώρο
A: Προαιρετικό. Αυτό ενισχύει την επαλήθευση και θα διακόψει την «επαναγραφή του ιστορικού» μέσα στο κύκλωμα.
Συναφή υλικά:
- «Στην κρυπτογράφηση ανάπαυσης»
- «Κρυπτογράφηση διαμετακόμισης»
- «Μυστική διαχείριση»
- «Διαχείριση κλειδιών και εναλλαγή»
- «Υπογραφή και επαλήθευση αιτήσεων»