SalesforceによるセキュアなWebアプリケーション開発と開発における責任共有モデル

セキュリティ

公開日: 2023.04.25

Share:

この記事で学べること

・SalesforceがどのようにセキュアなWebアプリケーション開発をしているか、脆弱性対策を実施しているかが理解できる

・Webアプリケーション開発におけるSalesforceとお客様の責任分界点が理解できる

1. はじめに

Salesforceが提供するSaaS とPaaSにおいてプラットフォーム部分はSalesforceの責任範囲であり、一方、利用者のアカウント管理、認証、、パスワードポリシーの設定、お客様のデータへのアクセス管理と監視等はお客様の責任範囲になりますが、このブログではWebアプリケーションの開発、特に脆弱性におけるお客様とSalesforceの責任分界点について説明します。

Salesforceが提供するSaaS とPaaSでは以下の2つの部分に分割されます。

・プラットフォームの標準部分

・プラットフォームの標準部分上にお客様が追加した部分

shared responsibility model(web application).png

「プラットフォームの標準部分」におけるセキュアなWebアプリケーション開発と脆弱性診断と対応はSalesforceが責任を負います。一方、「プラットフォームの標準部分上にお客様が追加した部分」におけるセキュアなWebアプリケーション開発と脆弱性診断と対応はお客様が責任を負います。

2. Salesforceが責任を負う範囲

「プラットフォームの標準部分」におけるセキュアなWebアプリケーション開発と脆弱性診断と対応はSalesforceが責任を負います。

「プラットフォームの標準部分」におけるセキュアなWebアプリケーション開発については、Salesforceは昨今のセキュリティ・バイ・デザイン、シフトレフトの考え方を採用し、セキュア開発ライフサイクル(SSDL)に従い、脅威モデリング、セキュアコーディング、静的コードスキャン(SAST)、DAST、ファジングテストを実施し、計画・設計、開発、テストのすべてのフェーズにおいて脆弱性等のセキュリティを考慮したWebアプリケーションの開発をしています。

そのため、SalesforceはWebアプリケーションの開発段階で、以下のようなOWASP Top 10脆弱性をはじめとする様々な脆弱性の対策を実施しています。

・SOQLインジェクション

・クロスサイトスクリプティング(XSS)

・クロスサイトリクエストフォージェリ(CSRF)

・コマンドインジェクション

・HTTP/メールヘッダーインジェクション

・ディレクトリトラバーサル

・セッションハイジャック

・クリックジャッキング等

Salesforceのセキュア開発ライフサイクル(SSDL)の概要につきましては下記ホワイトペーパーをご確認ください。

「Salesforce Secure Development Lifecycle Overview」

しかし、日々あらたな脅威、脆弱性が発見されているため、Webアプリケーションの開発段階での脆弱性対策だけでは十分ではありません。

そのため、製品のリリース後、SalesforceはWebアプリケーションの「プラットフォームの標準部分」における第三者機関による脆弱性診断/ペネトレーションテストを定期的に実施しております(実施頻度は製品によって異なりますが、Salesforce Servicesの場合、年3回です)。

お客様はこの第三者機関による脆弱性診断/ペネトレーションテストの直近のサマリーレポートをSalesforceのコンプライアンスサイトからダウンロードいただき、診断結果をご確認頂くことが可能です。

また、発見された脆弱性につきましてはSalesforceの基準に従って、迅速に対応しています。

また、Webアプリケーション自体の脆弱性対策だけではなく、システムが利用しているコンポーネントについても、SalesforceのTrustチームがベンダーやその他のソースからの脆弱性に関する警告とパッチリリースに関する通知を常にモニターし、脆弱性情報を一元管理し、対応の要否を検討しています。具体的には、システムに対する脆弱性の重大度とリスクに依存しますが、セキュリティパッチは直ちに展開するようにスケジュールされる場合や、適切な計画メンテナンス間隔まで実施延期される場合があります。また、適用せずに代替の方法でセキュリティコントロールを行う場合もあります。

以上がSalesforceが責任を負う「プラットフォームの標準部分」におけるセキュアなWebアプリケーション開発と脆弱性対策になります。

続いて、お客様が責任を負う範囲についてご説明します。

3. お客様が責任を負う範囲

「プラットフォームの標準部分上にお客様が追加した部分」におけるセキュアなWebアプリケーション開発と脆弱性診断と対応はお客様が責任を負います。

お客様がノーコードまたはローコードを含むカスタム開発部分においてセキュアなWebアプリケーション開発を行っていただくために、Salesforceは以下の様々なガイドライン、ツールをご提供しております。お客様は、これらのガイドライン、ツールを使用し、お客様自身でセキュアな開発、定期的なセキュリティチェックを実施していただく責任があります。

Apex および Visualforce 開発のセキュリティガイドライン

Secure Coding Guidelines (英語)

Security Tips for Apex and Visualforce Development (英語)

ソースコードスキャナ(Checkmarx)

※Apex、Visualforceのソースコードスキャン。 SOQLインジェクション、クロスサイトスクリプティング、クロスサイトリクエストフォージェリ等を検出可能。12ヶ月ごとに360000行は無償でご利用可能

セキュリテ状態チェック

※クロスサイトスクリプティング等の脆弱性の簡易チェック機能があります。

Salesforce Optimizer

※過剰なアクセス権限を付与していないか等を検出する機能があります。

しかし、日々あらたな脅威、脆弱性が発見されているため、Webアプリケーションの開発段階での脆弱性対策だけでは十分ではありません。

そのため、お客様によるカスタム開発部分につきましては、お客様自身で脆弱性診断を実施していただくことを推奨しております。お客様が脆弱性診断を実施していただく手順はこちらのリンクに記載しておりますが、その中のSecurity Assessment Agreement(SAA)に診断の際の禁止事項、診断実施可能タイミング等の注意事項を記載しておりますので、こちらの内容を十分ご理解いただいた上で、診断の実施をお願い致します(診断の事前申請は不要です)。

また、お客様によるカスタム開発の責任はお客様に帰属するため、お客様の脆弱性診断で発見されたお客様によるカスタム開発部分の脆弱性につきましては、お客様にて修正等の対応を実施していただく必要があります。一方、お客様の脆弱性診断で「Saelsforce提供のプラットフォームの標準部分」の脆弱性を発見された場合は、Salesforce(security@salesforce.com)にご報告をお願い致します。その際にSalesforceへ連携していただく情報につきましてはこちらのリンクをご参照下さい。

また、CookieへのHttpOnly属性の付加、セッションハイジャック対策のためのセッションタイムアウトの設定等、お客様が設定可能な項目もございますので、こちらにつきましては以下のリンクをご参照下さい。

https://help.salesforce.com/s/articleView?id=000318378&type=1

https://help.salesforce.com/s/articleView?id=sf.admin_sessions.htm&type=5

セキュリティ

公開日: 2023.04.25

Share:

前の記事「サイバー脅威に対するSalesforceの監視、検出、対応」

次の記事「拡張ドメインの有効化とその準備」

このカテゴリの人気記事

Salesforce活用に役立つメルマガ登録

  • 私は、個人情報保護基本方針プライバシーに関する声明個人情報利用についての通知に同意します。 特に、プライバシーに関する声明で定めるとおり、情報のホスティングと処理を目的として私の個人データをアメリカ合衆国を含む国外に転送することを許可します。詳細私は、海外では日本の法律と同等のデータ保護法が整備されていない可能性があることも理解しています。詳細はこちらでご確認ください

  • 私は、Salesforce の製品、サービス、イベントに関するマーケティング情報の受け取りを希望します。私は、当該マーケティング情報の受け取りを私がいつでも停止できることを理解しています。