MandiantはAuraInspectorを公開しました。これはオープンソースのコマンドラインツールで、Salesforce Auraフレームワーク内のアクセス制御の設定不備を特定・監査し、クレジットカード番号、身分証明書、健康情報などの機微データが露出する可能性をセキュリティチームが把握できるようにすることを目的としています。
本ツールはSalesforce Experience Cloudのセキュリティにおける重大なギャップに対応します。複雑な共有ルールや多層的な権限設定が、管理者にとって見落とし(ブラインドスポット)を生みやすいからです。
AuraInspectorは外部視点からこれらの露出の検出を自動化し、攻撃者に悪用される前に是正できるよう、修復に直結する洞察を提供します。
AuraはSalesforceのLightning Experienceを支える基盤技術で、モダンなシングルページアプリケーション(SPA)の機能を実現します。
このアーキテクチャはユーザー体験を向上させる一方で、セキュリティ上の複雑さも持ち込みます。フロントエンドコンポーネントがバックエンドデータを取得するために利用するAuraエンドポイントは、Salesforce Experience Cloudアプリケーションにおいて最も狙われやすいインターフェースの一つとなっています。
Mandiantの調査 によると、設定不備によりゲストユーザーへ機微なオブジェクトへの不正アクセスが付与されるケースが頻繁に見られます。
管理されたテストでは、同社はAccountオブジェクトの権限が不適切に設定されていると、未認証ユーザーがgetItemsなどの正規のAuraメソッドを介して数千件のレコードを取得できる可能性があることを示しました。
技術的機能
AuraInspectorは、これまで手作業だった複数の設定不備特定手法を自動化します。
本ツールはgetConfigDataメソッドをテストしてアクセス可能なオブジェクトを列挙し、その後getItemsメソッドでレコードを取得します。同時に、1リクエストあたり最大100アクションを束ねてネットワークトラフィックを最小化する「アクション・バルキング」を実装し、性能を最適化します。
重要な革新点は、sortByパラメータを活用してSalesforceの2,000件取得制限を回避することです。
異なるフィールドで昇順または降順に並べ替えることで、セキュリティ研究者は設定不備の影響の全体像を示し、標準的な手法で許容される以上のレコードを大幅に取得できます。
また本ツールは、オブジェクトに関連付けられたレコードリストを特定し、管理パネルにつながる可能性のあるアクセス可能なHome URLを検出し、自己登録(セルフレジストレーション)の状態も確認します。SalesforceはデフォルトのGuestアカウントのセキュリティを強化しており、攻撃者にとって認証済みアクセスの価値が高まっているため、これは重要です。

おそらく最も重要なのは、AuraInspectorがSalesforceのGraphQL Auraコントローラを用いた、これまで文書化されていなかった手法を組み込み、ページネーションの制約を克服している点です。
標準のAura APIではクエリあたり2,000件に制限されますが、GraphQLコントローラは、カーソルベースのナビゲーションによる改善されたページネーションを用いて、オブジェクトに紐づく全レコードを一貫して取得できるようにします。
デフォルトで未認証ユーザーからもアクセス可能なGraphQLアプローチは、標準化されたレコード取得、フィールド探索のための組み込みイントロスペクション、書き込み権限をテストするためのミューテーションのサポートを提供します。
Mandiantは、この方法で未認証ユーザーなら誰でもアクセスできるSparkインスタンスの管理ダッシュボードを特定しました。

MandiantはSalesforceに確認し、権限が正しく設定されている場合には想定された機能である一方、設定不備の環境では潜在的なデータ露出を劇的に増幅させることを確認しました。
特定された問題はすべて、製品の脆弱性ではなく設定ミスに起因します。Salesforce管理者はGuest User権限を定期的に監査し、最小権限の原則を適用して、未認証ユーザーが公開機能に不可欠なオブジェクトとフィールドにのみアクセスできるようにすべきです。
カーソルは、最後に取得したレコードを示すBase64エンコード文字列であるため、ゼロから容易に作成できます。2,000件のバッチで。

共有ルールと組織全体のデフォルト設定を見直すことで、認証済みユーザーが明示的に許可されたレコードにのみアクセスできるようになります。
Mandiantはまた、検出リソースとして、JavaScriptファイル内に隠れたSalesforce参照を特定するためのBurp Suite BCheckや、AuraエンドポイントへのPOSTリクエストをフラグ付けするGoogle SecOps UDMクエリを提供しており、組織が潜在的な偵察活動を監視できるようにしています。
不要な自己登録を無効化することで不正なアカウント作成を防げます。また、Security Health Checkツールの利用を含むSalesforceのセキュリティガイドの推奨事項に従うことで、堅牢な設定を維持できます。
AuraInspectorはGitHubですぐに利用可能で、Mandiantは中核となる検出機能を公開する一方、悪用を防ぐためにデータ抽出機能は公開していません。
本ツールはAuraエンドポイントを自動的に検出し、HomeおよびレコードリストのURLを取得し、自己登録の状態を判定します。これらはすべて読み取り専用の操作で行われ、対象インスタンスに変更を加えません。
包括的なSalesforceセキュリティ評価を必要とする組織向けに、Mandiant Consultingは、設定不備の特定、セキュリティ態勢の検証、クラウド環境で機微データを保護するためのベストプラクティスへの準拠を確実にする専門サービスを提供しています。
翻訳元: https://gbhackers.com/salesforce-aura/