ミッションクリティカルなリソースには、事前に推測可能な名前を使用しないでください
TL;DR: 予測可能な名前付けパターンを避けて、クラウド リソースを保護します。
予測可能な名前
不正アクセス
データ漏洩のリスク
シャドウ リソース
アカウントの乗っ取り
アイドルの脆弱性
時期尚早な最適化
ダークキーを持つ一意のバケット名を使用する
作成時に所有権を確認します
リソースを完全に確保します
実際の名前を難読化する間接表現を使用します
しゃがみを防止する本の名前
名前をランダム化します
リソース占有は、攻撃者が S3 バケットなどのクラウド リソースの命名パターンを予測したときに発生します。
攻撃者は、ユーザーがリソースをまだデプロイしていないリージョンにそれらを作成します。
これらの攻撃者が所有するリソースをユーザーが操作すると、データ漏洩、不正アクセス、アカウント乗っ取りなどの重大なセキュリティ侵害が発生する可能性があります。
この脆弱性は、予測可能な命名規則がよく使用される AWS のような環境では重大です。
多くのシステムは、明らかな時期尚早の最適化であるパフォーマンスのペナルティを恐れて、この間接化を回避しています。
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] 自動
セキュリティ監査では、リソース名を分析して予測可能にすることで、この臭いを検出できます。
攻撃者が簡単に予測または推測できる名前のパターンを探します。
多くの自動化ツールや手動コードレビューは、これらのリスクの特定に役立ちます。
[X] 中級
AI ジェネレーターは、予測可能な命名パターンを持つ標準テンプレートを使用してこの匂いを作成する場合があります。
セキュリティのために、生成されたコードを常にカスタマイズして確認してください。
AI は、予測可能なリソース命名規則または安全でないリソース命名規則を識別するルールで構成されている場合、この臭いの検出に役立ちます。
これは、クラウド インフラストラクチャと潜在的な攻撃ベクトルを理解する必要があるセキュリティ リスクです。
クラウド リソースを保護するには、予測可能な名前付けパターンを避けることが重要です。
常に固有で曖昧で推測しにくい名前を使用し、また、不法侵入攻撃から保護するためにリソースの所有権を確認してください。
Gb ハッカー
ウィキペディア
コードの匂いは私の意見です。
Unsplash の Felix Koutchinski による写真
本当に安全な唯一のシステムは、スイッチが切られてプラグが抜かれ、チタンで裏打ちされた金庫に閉じ込められ、コンクリートバンカーに埋められ、神経ガスと非常に高給取りの武装警備員に囲まれたシステムです。それでも、私はそれに命を賭けるつもりはありません。
ジーン・スパフォード
この記事は CodeSmell シリーズの一部です。
以上がコードの匂い - しゃがむの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。