Mandiantは、Salesforce Auraフレームワークにおけるアクセス制御の設定不備を組織が特定し、是正するのに役立つオープンソースのコマンドラインツール「AuraInspector」を公開しました。
このリリースは、企業がSalesforce Experience Cloudの採用を進める一方で、設定がもたらすセキュリティ上の影響を十分に理解しないまま運用しているケースが増えていることを背景としています。
このツールは重大なセキュリティギャップに対処します。MandiantのOffensive Security Servicesチームは、認可されていないユーザー(未認証の攻撃者を含む)が、クレジットカード番号、本人確認書類、健康情報など、Salesforceインスタンスに保存された機微データへアクセスできてしまう設定不備を繰り返し発見してきました。こうしたギャップは、悪用が発生するまで見過ごされることが少なくありません。
AuraInspectorは、セキュリティ研究者によって文書化された複数の高度な攻撃ベクトルを自動化します。
Salesforceの最新のLightning Experienceインターフェースを支えるAuraフレームワークは、権限設定が誤っている場合に悪用され得る特定のエンドポイントを公開しています。
特に注目すべき手法の一つは、sortByパラメータを使用して、Salesforce標準の2,000件の制限を回避することです。
並び順を操作することで、攻撃者は本来アクセスできないはずの追加レコードにアクセスできてしまいます。
Mandiantは、発見しました。GraphQL Auraコントローラを用いてこの制限を完全に回避する、これまで文書化されていなかった手法であり、APIアクセスを必要とせずに、設定不備のあるオブジェクトから無制限にレコードを取得できるようになります。
さらにMandiantは、UI上ではセルフ登録が無効化されているにもかかわらず、バックエンドでは機能したままになっている事例も特定しました。これは、攻撃者がアカウントを作成してアクセス権を拡大できてしまう可能性がある、見落とされやすい設定不備です。
このツールは、対象インスタンスを変更することなく外部セキュリティ監査を実行し、これらの露出ベクトルの検出を自動化します。
主な機能には、Auraエンドポイントの自動検出、アクセス可能なホームページおよびレコードリストの列挙、有効なセルフ登録の検出、GraphQLでアクセス可能なオブジェクトの特定が含まれます。
また、偵察を効率化するため、1回の操作あたり最大100リクエストまでをまとめて処理するアクションの一括化(バッチ処理)をサポートしています。
注目すべき点として、Mandiantはレコード抽出機能を備えた社内版を開発したものの、責任ある情報開示の原則に沿って、この機能を一般公開しない判断をしました。
Salesforce管理者は、直ちにいくつかの対策を実施すべきです。具体的には、ゲストユーザープロファイルに最小権限アクセスを適用すること、共有ルールと組織全体のデフォルト設定を定期的に監査すること、明確に必要な場合を除いてセルフ登録を無効化すること、Salesforceのネイティブツールを用いてセキュリティ健全性チェックを実施することが挙げられます。
また同組織は、詳細な設定ガイダンスとしてSalesforceの包括的なSecurity Implementation Guideを活用することも推奨しています。
AuraInspectorは現在GitHubでダウンロード可能であり、セキュリティチームに、Salesforce導入環境を監査し、攻撃者による一般的な設定不備の悪用を防ぐために必要な可視性を提供します。