Heim >Backend-Entwicklung >Python-Tutorial >Code-Geruch – Hocken
Verwenden Sie keine erratenen Namen im Voraus für geschäftskritische Ressourcen
TL;DR: Sichern Sie Ihre Cloud-Ressourcen, indem Sie vorhersehbare Benennungsmuster vermeiden.
Vorhersehbare Namen
Unberechtigter Zugriff
Risiken der Datenexposition
Schattenressourcen
Kontoübernahmen
Idor-Schwachstelle
Vorzeitige Optimierung
Verwenden Sie eindeutige Bucket-Namen mit dunklen Schlüsseln
Bestätigen Sie den Besitz bei der Erstellung
Ressourcen vollständig sichern
Ableitungen haben, die echte Namen verschleiern
Buchnamen, um Hocken vorzubeugen
Namen zufällig auswählen
Resource Squatting geschieht, wenn Angreifer die Benennungsmuster von Cloud-Ressourcen, wie z. B. S3-Buckets, vorhersehen.
Der Angreifer erstellt sie in Regionen, in denen der Benutzer noch keine Ressourcen bereitgestellt hat.
Benutzerinteraktion mit diesen Ressourcen im Besitz des Angreifers kann zu schwerwiegenden Sicherheitsverletzungen wie Datenoffenlegung, unbefugtem Zugriff oder Kontoübernahmen führen.
Diese Schwachstelle ist in Umgebungen wie AWS von entscheidender Bedeutung, in denen häufig vorhersehbare Namenskonventionen verwendet werden.
Viele Systeme vermeiden diese Indirektion aus Angst vor Leistungseinbußen, was ein klarer Fall vorzeitiger Optimierung ist.
def create_bucket(account_id, region): bucket_name = f"aws-glue-assets-{account_id}-{region}" create_s3_bucket(bucket_name) # This is deterministic and open
import uuid def create_bucket(account_id, region): unique_id = uuid.uuid4().hex # This number is not deterministic # is a way to generate a random UUID (Universally Unique Identifier) # in Python and then retrieve it as a hexadecimal string. bucket_name = f"aws-glue-assets-{unique_id}-{account_id}-{region}" create_s3_bucket(bucket_name) verify_bucket_ownership(bucket_name, account_id)
[X] Automatisch
Ein Sicherheitsaudit kann diesen Geruch erkennen, indem es Ihre Ressourcennamen auf Vorhersehbarkeit analysiert.
Suchen Sie nach Mustern in Namen, die ein Angreifer leicht vorhersehen oder erraten kann.
Viele automatisierte Tools und manuelle Codeüberprüfungen können dabei helfen, diese Risiken zu identifizieren.
[X] Mittelstufe
KI-Generatoren können diesen Geruch mithilfe von Standardvorlagen mit vorhersehbaren Namensmustern erzeugen.
Passen Sie den generierten Code immer an und überprüfen Sie ihn auf Sicherheit.
KI kann dabei helfen, diesen Geruch zu erkennen, wenn sie mit Regeln konfiguriert wird, die vorhersehbare oder unsichere Namenskonventionen für Ressourcen identifizieren.
Dies ist ein Sicherheitsrisiko, das ein Verständnis der Cloud-Infrastruktur und potenzieller Angriffsvektoren erfordert.
Die Vermeidung vorhersehbarer Benennungsmuster ist für die Sicherung Ihrer Cloud-Ressourcen von entscheidender Bedeutung.
Verwenden Sie immer eindeutige, undurchsichtige und schwer zu erratende Namen und überprüfen Sie auch den Ressourcenbesitz, um sich vor Squatting-Angriffen zu schützen.
GB-Hacker
Wikipedia
Code Smells sind meine Meinung.
Foto von Felix Koutchinski auf Unsplash
Das einzige System, das wirklich sicher ist, ist eines, das ausgeschaltet und vom Stromnetz getrennt, in einem mit Titan ausgekleideten Safe eingeschlossen, in einem Betonbunker vergraben und von Nervengas und sehr gut bezahlten bewaffneten Wachen umgeben ist. Selbst dann würde ich nicht mein Leben darauf setzen.
Gene Spafford
Dieser Artikel ist Teil der CodeSmell-Reihe.
Das obige ist der detaillierte Inhalt vonCode-Geruch – Hocken. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!