コードの匂い - しゃがむ

PHPz
リリース: 2024-08-14 10:38:13
オリジナル
741 人が閲覧しました

ミッションクリティカルなリソースには、事前に推測可能な名前を使用しないでください

TL;DR: 予測可能な名前付けパターンを避けて、クラウド リソースを保護します。

問題点

  • 予測可能な名前

  • 不正アクセス

  • データ漏洩のリスク

  • シャドウ リソース

  • アカウントの乗っ取り

  • アイドルの脆弱性

  • 時期尚早な最適化

ソリューション

  1. ダークキーを持つ一意のバケット名を使用する

  2. 作成時に所有権を確認します

  3. リソースを完全に確保します

  4. 実際の名前を難読化する間接表現を使用します

  5. しゃがみを防止する本の名前

  6. 名前をランダム化します

コンテクスト

リソース占有は、攻撃者が 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 ジェネレーターは、予測可能な命名パターンを持つ標準テンプレートを使用してこの匂いを作成する場合があります。

セキュリティのために、生成されたコードを常にカスタマイズして確認してください。

AI検出

AI は、予測可能なリソース命名規則または安全でないリソース命名規則を識別するルールで構成されている場合、この臭いの検出に役立ちます。

これは、クラウド インフラストラクチャと潜在的な攻撃ベクトルを理解する必要があるセキュリティ リスクです。

結論

クラウド リソースを保護するには、予測可能な名前付けパターンを避けることが重要です。

常に固有で曖昧で推測しにくい名前を使用し、また、不法侵入攻撃から保護するためにリソースの所有権を確認してください。

関係

詳細情報

Gb ハッカー

ウィキペディア

免責事項

コードの匂いは私の意見です。

クレジット

Unsplash の Felix Koutchinski による写真


本当に安全な唯一のシステムは、スイッチが切られてプラグが抜かれ、チタンで裏打ちされた金庫に閉じ込められ、コンクリートバンカーに埋められ、神経ガスと非常に高給取りの武装警備員に囲まれたシステムです。それでも、私はそれに命を賭けるつもりはありません。

ジーン・スパフォード


この記事は CodeSmell シリーズの一部です。

以上がコードの匂い - しゃがむの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート