Απόκρυψη πεδίων καταγραφής πριν τη σειριοποίηση — DedSec Project
Απόκρυψη πεδίων καταγραφής πριν τη σειριοποίηση Μηχανισμός και συμβόλαιο Η απόκρυψη μετά τη μορφοποίηση είναι εύθραυστη: ένα token μπορεί να εμφανιστεί με άλλο κλειδί, σε εξαίρεση ή…
Μηχανισμός και συμβόλαιο
Η απόκρυψη μετά τη μορφοποίηση είναι εύθραυστη: ένα token μπορεί να εμφανιστεί με άλλο κλειδί, σε εξαίρεση ή εμφωλευμένο αντικείμενο. Προτίμησε επιτρεπόμενα πεδία ανά τύπο συμβάντος και φιλτράρισμα πριν τη σειριοποίηση και την αποστολή σε πολλούς προορισμούς. Η καταγραφή αποσφαλμάτωσης δεν πρέπει να παρακάμπτει κρυφά την πολιτική παραγωγής.
Η λίστα πεδίων δεν αρκεί αν ένα επιτρεπόμενο μήνυμα περιέχει αυθαίρετο σώμα αιτήματος. Προτίμησε σταθερούς κωδικούς συμβάντων και περιορισμένα πεδία τύπου κατάστασης, διάρκειας και ID αιτήματος. Το ID συσχέτισης πρέπει να συνδέει λειτουργίες χωρίς να αποτελεί διαπιστευτήριο ή προσωπικό αναγνωριστικό. Το δείγμα απορρίπτει επιπλέον πεδία αντί να μαντεύει αν το περιεχόμενό τους είναι ευαίσθητο.
Τοπικό παράδειγμα
import json
ALLOWED = {"event", "status", "duration_ms", "request_id"}
def serialize_event(event):
safe = {k: event[k] for k in ALLOWED if k in event}
return json.dumps(safe, ensure_ascii=False, sort_keys=True)
raw = {"event":"request_done", "status":200, "request_id":"fixture-1",
"password":"FAKE_SECRET_FOR_TEST", "headers":{"cookie":"FAKE_COOKIE"}}
line = serialize_event(raw)
assert "FAKE_SECRET_FOR_TEST" not in line and "FAKE_COOKIE" not in line
assert json.loads(line)["status"] == 200
print(line)
Έλεγχοι αποτυχίας και όρια
Το εκπαιδευτικό φίλτρο υποθέτει ότι τα διατηρούμενα πεδία έχουν σωστούς τύπους και μεγέθη. Η πραγματική εφαρμογή πρέπει να τα επικυρώνει και να περιορίζει εμφώλευση. Δοκίμασε εξαιρέσεις και κάθε προορισμό με ευδιάκριτα ψεύτικα μυστικά. Έλεγξε επίσης ότι παραμένει χρήσιμο λειτουργικό πλαίσιο· μια καταγραφή μόνο με «σφάλμα» σπάνια βοηθά διάγνωση.