ブログ

PCI DSS 要件 6.6 への対応方法 - Threat Stack の 2 つの機能を組み合わせたソリューション

F5 サムネイル
F5
2019年9月4日公開

Threat Stack は現在、 F5 Distributed Cloud App Infrastructure Protection (AIP) です。 今すぐチームで Distributed Cloud AIP を使い始めましょう。

PCI DSS の現在のバージョンは2018 年 5 月に公開された 3.2.1 です。 要件 6 では、「安全なシステムとapplicationsを開発および維持する」必要があると規定されています。  はい、問題ありません。 これは、安全なシステムやapplicationsの開発と保守を試みたことがない人にとっては、非常に明確でわかりやすいことです。 我々残りの者にとって、それは難しい要求だ。 

しかし、この文書には、かなり単純な要件がいくつか列挙されています。これらは、すでに最も安全なソフトウェア開発ライフサイクルの構成要素となっています。 セキュリティの脆弱性を特定し、既知の脆弱性に対処し、コーディングのベスト プラクティスを採用し、開発環境とテスト環境、アカウントを本番環境から安全に分離し、コード レビューを実行し、変更管理プロセスを用意し、開発者に安全なコーディング手法をトレーニングするなどのプロセスを確立する必要があります。 すべてかなりリーズナブルです。 

この最上位の要件のもう少し下、要件 6.5 には、applicationsを保護する必要がある特定の脆弱性がいくつかリストされています。 これらは、OWASP TOP 10、SANS CWE Top 25、CERT Secure Coding などからの「ベスト ヒット」のようなもので、SQL インジェクション、弱い暗号化、XSS、バッファ オーバーフローなど、予想どおりのものです。 やはり、合理的です。 攻撃者は、攻撃の最初のポイントとして、これらのタイプの脆弱性を確実に標的にします。 

次に、要件 6.6 で重要な点は次のとおりです。 「一般公開されている Webapplicationsについては、新しい脅威や脆弱性に継続的に対処し、これらのapplicationsが既知の攻撃から保護されていることを確認します。」 どの攻撃ですか? 答えは、「少なくとも、要件 6.5 のすべての脆弱性」です。 ちょっと考えてみてください。 ドキュメントの 64 ページの奥深くに埋め込まれているこの単一の要件 (6.6) は、ソフトウェアの構築と運用方法に大きな影響を与えます。 彼らはこの要件をどのように満たすことを提案しているのでしょうか? 答えは2つの部分から成ります:

  • アプリを毎年、また変更後に「手動または自動の脆弱性セキュリティ評価ツールまたは方法」を使用してレビューする
  • 「ウェブベースの攻撃を検出して防止する自動化された技術的ソリューション」を使用することで 

したがって、これは Webapplicationsのビルド時間実行時間の両方に影響し、実際には 2 つのまったく異なるアクティビティが関係します。

1. applicationsをレビューして脆弱性の存在を積極的に発見する(そして脆弱性が修正されるようにする)

- そして - 

2. 攻撃をリアルタイムで検出してブロック

それは決して悪い要件ではありません。 ガイダンスでは、「一般向けの Webapplicationsは攻撃者の主なターゲットであり、適切にコーディングされていない Webapplicationsは、攻撃者が機密データやシステムにアクセスするための容易な経路を提供します」と述べられています。 全く同感です。 課題は、要件を実際に実装することです。 

最初の部分であるアプリのレビューをどのように達成するかについては、あまりガイダンスが提供されていません。 アプリは「手動または自動の脆弱性セキュリティ評価ツールまたは方法を使用して」レビューされる必要があります。これはかなり広範囲です。 

2 番目の部分には、もう少し具体的な推奨事項があります。 「公開されている Webapplicationsの前に、Web ベースの攻撃を検出して防止する自動化された技術ソリューション (Web アプリケーション ファイアウォールなど) をインストールして、すべてのトラフィックを継続的にチェックする必要があります。」 これは、要件 6.6 を満たそうとしているチームにとって、突然「チェックボックス」購入になった WAF ベンダーにとって恩恵でした。 しかし、WAF は要件の最初の部分には役立ちません。 WAF はセキュリティ評価ツールではありません。 applicationが何をどのように実行するかはわかりません。 applicationに何が送信されているかだけを理解し、applicationがその情報を使用して何を行うか (または行わないか) は理解しません。

このため、多くのチームは 6.6 全体への対応に苦労しています。 この 1 つの小さな要件には、2 つの重要な、まったく異なるニーズが含まれています。 ほとんどの場合、WAF を使用して 2 番目の部分を満たそうとし、最初の部分に対処するための他のいくつかの手法 (手動コードレビュー、自動ソース コード分析など) を組み合わせます。 

しかし、単一のソリューションで要件 6.6 を満たすことができる代替手段があります。 PCI 標準では、WAF について言及する際に「たとえば」というフレーズが含まれていることに気付くでしょう。 これは重要です (そして、これは標準の以前のバージョンには含まれていませんでした)。 同社は、「Web ベースの攻撃をブロックするか、すぐに調査されるアラートを生成するように構成されている」限り、applicationsを保護できる他のテクノロジが存在することを認めています。  applicationセキュリティ モニタリング (Threat Stack が追加費用なしで Cloud Security Platform® に追加した統合applicationセキュリティ ソリューション) は、要件 6.6 のビルド時実行時の両方の側面に対応します。 これら 2 つの大きな課題に対する 1 つの解決策。 

ビルド時に、他のサードパーティ コード ライブラリと同様に、Threat Stack マイクロエージェントをapplicationsに追加します。 開発者は、これが APM ソリューションを使用してapplicationsをインストルメント化するのと非常に似ていると感じています。 マイクロエージェントが追加されると、ローカル手動テスト、夜間ビルドでの自動テスト、ユーザー受け入れテストなどを通じて、applicationは実行されるたびに評価されます。 PCI では、アプリは「少なくとも年に 1 回、また変更があった場合には」必ずレビューする必要があると規定しています。 Threat Stack は、それをはるかに超えて、開発者が追加作業を行うことなく、継続的にセキュリティの脆弱性を特定します。 作成するテストや管理するサーバーはありません。

脆弱性が特定されると、要件 6.6 ではその脆弱性に対処する必要があることも指示されています。 「すべての脆弱性が修正され、修正後にapplicationが再評価される」ことを確認する必要があります。 Threat Stack AppSec Monitoring は、検出されたリスクについて開発者に実用的なガイダンスを提供します。リスクの説明、リスクの修正方法に関するサンプル コードの提示、リスクが見つかった正確なモジュールとメソッド名、ファイルの場所と行番号への開発者の誘導などを行います。 開発者が脆弱性を修正したら、「再評価」のために特別な操作を行う必要はありません。applicationは次回実行時に自動的に評価されます。 

実行時には、applicationを既知の攻撃から保護するために、「すべてのトラフィックを継続的にチェックする」ことが求められます。 同じ Threat Stack マイクロエージェントもこれを実行します。 applicationが開発から本番環境にデプロイされると、マイクロエージェントもそれに合わせてデプロイされます (依存関係としてapplicationに組み込まれます)。 そこから、applicationに送信されるすべての Web ペイロードを分析して、攻撃の兆候を監視します。 ペイロードが悪意のあるものであると判断された場合、リクエストは直ちに停止されます。 チームには、Threat Stack ポータル、Slack、その他の ChatOps チャネルを通じて攻撃に関する通知が届きます。 これは、「Web ベースの攻撃をブロックするか、すぐに調査されるアラートを生成する」という PCI 要件に正確に対応しています。

PCI 6.6は大きいです。 「継続的に新しい脅威と脆弱性に対処し、これらのapplicationsが既知の攻撃から保護されるようにする」という義務は、ソフトウェア開発ライフサイクルの 2 つの異なるフェーズ (開発と本番) をカバーし、2 つの別々のタスク (プロアクティブな脆弱性評価とリアルタイムの攻撃検出と防止) を伴います。 どちらも複雑であり、通常は異なるチームが関与します。 しかし、それらに対処するために 2 つの別々のツールは必要ありません。 Threat Stack のapplicationセキュリティ監視は、開発者の作業を遅らせることなく、単一のソリューションで両方の要件に対応します。 今すぐお試しください!   

さらに詳しく知りたい場合、またはapplicationセキュリティ モニタリングを試してみたい場合は、Threat Stack Cloud Security Platform のデモにサインアップしてください。 弊社のコンプライアンスおよびセキュリティの専門家が、お客様の具体的な要件について喜んでご相談に応じます。

 


参照

PCI DSS 要件 6.6(要件およびセキュリティ評価手順、バージョン 3.2.1、2018 年 5 月)

6.6 公開 Webapplicationsについては、継続的に新しい脅威と脆弱性に対処し、次のいずれかの方法でこれらのapplicationsが既知の攻撃から保護されていることを確認します。

  • 手動または自動のapplication脆弱性セキュリティ評価ツールまたは方法を使用して、公開されているWebapplicationsを少なくとも年に1回、および変更があった後にレビューする
  • 公開されている Webapplicationsの前に、Web ベースの攻撃を検出して防止する自動化された技術ソリューション (Web アプリケーション ファイアウォールなど) をインストールして、すべてのトラフィックを継続的にチェックします。

Threat Stack は現在、 F5 Distributed Cloud App Infrastructure Protection (AIP) です。 今すぐチームで Distributed Cloud AIP を使い始めましょう。