Mandiant、Salesforce Auraのセキュリティ強化ツール「AuraInspector」を発表
Mandiantは、Salesforce Auraフレームワーク内のアクセス制御ミス設定を特定し、監査するためのオープンソースコマンドラインツール「AuraInspector」をリリースしました。このツールは、クレジットカード番号、身分証明書、健康情報などの機密データが露出する可能性のあるセキュリティギャップに対処することを目的としています。
Salesforce Experience Cloudは、その複雑な共有ルールと多段階の権限設定により、管理者が把握しきれない盲点が生じやすいという課題を抱えています。AuraInspectorは、外部からの視点でこれらの露出を自動的に検出し、攻撃者が悪用する前に修復のための実用的な洞察を提供します。
Salesforce Experience Cloudにおけるセキュリティの課題
AuraはSalesforceのLightning Experienceの基盤技術であり、最新のシングルページアプリケーション機能を実現しています。しかし、このアーキテクチャはセキュリティ上の複雑さも伴います。フロントエンドコンポーネントがバックエンドデータ取得に使用するAuraエンドポイントは、Salesforce Experience Cloudアプリケーションにおいて最も標的となるインターフェースの一つとなっています。
Mandiantの調査によると、ミス設定によりゲストユーザーに機密オブジェクトへの不正アクセスが頻繁に許可されていることが明らかになりました。不適切に設定されたAccountオブジェクトの権限により、認証されていないユーザーが正規のAuraメソッド(例: getItems)を介して数千ものレコードを取得できることが実証されています。
AuraInspectorの画期的な機能
AuraInspectorは、これまで手動で行われていたミス設定識別のための複数の技術を自動化します。主な機能は以下の通りです。
getConfigDataメソッドをテストし、アクセス可能なオブジェクトを列挙します。getItemsメソッドを使用してレコードを取得し、パフォーマンス最適化のために「アクションバルキング」(1リクエストあたり最大100アクションをバンドル)を実装しています。- Salesforceの2,000レコード取得制限を回避するため、
sortByパラメータを巧妙に活用し、並べ替えを繰り返すことで、標準的な方法よりも大幅に多くのレコードを取得します。 - オブジェクトに関連付けられたレコードリスト、管理パネルにつながる可能性のあるアクセス可能なホームURL、およびセルフ登録ステータスを特定します。
- 特に重要なのは、未認証ユーザーにもデフォルトでアクセス可能なSalesforceのGraphQL Auraコントローラーを使用する、これまで文書化されていなかった技術を組み込んでいる点です。これにより、標準Aura APIのページネーション制限(1クエリあたり2,000レコード)を克服し、カーソルベースのナビゲーションによってオブジェクトに紐づく全てのレコードを一貫して取得できます。
このGraphQLアプローチは、標準化されたレコード取得、フィールド発見のための組み込みイントロスペクション、書き込み権限テストのためのミューテーションサポートを提供します。Mandiantは、この方法を介して未認証ユーザーがアクセスできるSparkインスタンス管理ダッシュボードを確認しました。Salesforceはこれが権限が正しく設定されている場合の「期待される機能」であることを確認していますが、ミス設定された環境では潜在的なデータ露出を劇的に増幅させるとMandiantは警告しています。
ミス設定に対する対策とベストプラクティス
特定された問題はすべて、製品の脆弱性ではなく設定エラーに起因します。Salesforce管理者は以下の対策を講じるべきです。
- ゲストユーザーの権限を定期的に監査し、最小権限の原則を適用して、未認証ユーザーが公開機能に不可欠なオブジェクトとフィールドのみにアクセスできるようにします。
- 共有ルールと組織全体のデフォルト設定を見直し、認証されたユーザーが明示的に許可されたレコードのみにアクセスできるようにします。
- Mandiantは検出リソースも提供しています。これには、JavaScriptファイル内の隠れたSalesforce参照を識別するためのBurp Suite BCheckと、AuraエンドポイントへのPOSTリクエストを監視するためのGoogle SecOps UDMクエリが含まれます。
- 不要なセルフ登録を無効にし、Salesforceのセキュリティガイドやセキュリティヘルスチェックツールの推奨事項に従うことで、堅牢な構成を維持します。
提供状況と今後の展開
AuraInspectorはGitHubで即時利用可能です。Mandiantは悪用防止のため、コア検出機能のみを公開し、データ抽出機能は意図的に保留しています。このツールは、Auraエンドポイントの自動検出、ホームURLとレコードリストURLの取得、セルフ登録ステータスの判別を、ターゲットインスタンスを変更しない読み取り専用操作で行います。
包括的なSalesforceセキュリティ評価を必要とする組織向けに、Mandiant Consultingは、ミス設定の特定、セキュリティ体制の検証、クラウド環境における機密データ保護のベストプラクティス順守を支援する専門サービスを提供しています。
