PCI DSS 3.0が公開されました。2015年1月1日から、認定企業には新バージョンへの準拠が義務付けられます。最近、要件に準拠していたにもかかわらず重大なセキュリティ攻撃が発生したため、今回の変更の多くは、その対策を踏まえた内容になっています。今日は、PCI DSS 3.0がアプリケーションおよびネットワークのセキュリティに与える影響を中心に解説しましょう。
要件6と要件11の一部への準拠の期限は、2015年6月30日に延長されています。今回の変更への対応はかなり大変な作業になるので、過小評価しないよう注意が必要です。
クレジットカードの不正が世界的な規模で増大していることを背景に、PCI DSSに準拠することの重要性はますます高まっています。
今回の変更点や新たな要件は、次に示す状況への対策として盛り込まれています。
- サードパーティソフトウェアやサービスプロバイダまたは加盟店に脆弱性が存在すると、カードの保有者は非常に大きなリスクにさらされることになる。
- 攻撃がセキュリティ境界でよく発生していることから、境界自体はもちろん、境界内のセキュリティ強化も重要になっている。
- 業界標準の手法に準拠した方法で侵入テストを実施する必要がある。
- ネットワークセグメンテーションやアクセス制御が適切に行われていないことが原因で、攻撃が成功している。
では、変更内容を要件ごとにみてみましょう。
6.3:セキュアな開発ガイドラインを、内部ソフトウェアとカスタムソフトウェアの両方に適用
カスタムソフトウェアとは、社内またはサードパーティが開発するカスタムソフトウェア全般を指します。社内開発のソフトウェアがセキュア開発プロセスに準拠していても、アウトソーシングベンダがセキュリティ手法をSDLCに組み込んでいない場合、そこが弱点になります。特に、契約が終了している場合やコードをよく知る担当者がいない場合、アウトソーシングしたコードの問題修正は非常に困難な作業になります。
6.5:よく発生するコーディングの脆弱性に関する開発者向けのトレーニングを更新し、機密性の高いデータをメモリで処理する方法を理解する
メディアで大きく取り上げられたPOSメモリスクレイピング(Target社など)からも、このような攻撃への対策の必要性を十分に理解できます。この要件は、ソフトウェア開発においては非常に優れたガイドラインとなる一方で、運用環境で稼働しているソフトウェアをレビュー/修正する作業は非常に困難になる可能性があります。
6.5.10:認証の突破とセッション管理
具体的な例としては、CookieにSecureフラグを立てる、URLでセッションIDを開示しない、予測不可能なセッションIDを使用する、セッションIDをタイムアウトさせる、などの方法があります。Barracuda Web Application Firewallには、セッションIDとCookieのセキュリティ保護機能(署名または暗号化を使用)と、セッションライディング/CSRF攻撃対策機能が標準で付属します。
URLのセッションIDをコード内で修正する作業は難しい場合がありますが、Barracuda Web Application FirewallのURL暗号化を使えば簡単に実行できます。
要件6.6はほぼ変更はなく、監視モードでのWAFの使用を許可する若干の変更が加えられています。ガートナーのアントン・チュバキン(Anton Chuvakin)氏は、この変更は望ましくないと指摘しており、バラクーダネットワークスも同じ意見です。恐らく、誤検出を回避するための変更だと考えられますが、実際にはセキュリティよりも利便性が優先されているからです。運用環境でWAFを稼働している担当者であればよくわかりますが、WAFには多数の攻撃が仕掛けられます。このようなアラートに手動で対処しようとすれば、遅延が発生し、格好の標的になってしまうでしょう。業界のベストプラクティスとして、アクティブな保護モードでWAFを導入することが推奨されていますが、バラクーダネットワークスもこれを推奨します。
11.3:業界で認知されたアプローチをベースに侵入テストを実行する(NIST SP800-115など)
要件11はスキャンおよび侵入テストに関する内容であり、セキュリティ制御の有効性を評価します。Verizonの2014年度PCIコンプライアンス調査レポートでは、要件11は依然として準拠が困難な要件として報告されています。レポートによると、昨年この要件に準拠していた組織はわずか13.2%にとどまっています。その理由の1つは、侵入テストの定義と範囲の解釈が定まっていない点です。したがって、スキャナレポートを最終的な侵入テストレポートだとしてごまかすなど、この要件は劣悪な侵入テスト会社に悪用されてきました。
ただし、この問題点はバージョン3.0で改善されています。要件11.3のいくつかの変更点は2015年6月30日までベストプラクティスとして提供され、その後要件となります。業界標準に準拠した方法で侵入テストを行うことと、侵入テストは単なる形式的な手続きでない点が盛り込まれています。
11.3:侵入テストには、CDE境界と、ネットワーク内部/外部からのテストを含める。アプリケーションレイヤの侵入テストには、6.5(OWASP Top 10など)の要件を含める
この要件は、アプリケーションセキュリティには非常に重要な内容です。これまでは、公衆ネットワークにアクセスするアプリケーションで侵入テストを実行するだけでよかったのですが、今回の変更では、テスト範囲として境界内でのテストが明示的に示されています。
作業は面倒になるかもしれませんが(特に中小企業の場合)、妥当な変更だといえます。ネットワーク境界の侵入は頻繁に発生しています。攻撃者、悪意のある部内者や契約社員がネットワークの内部に侵入すると、カード保有者のデータにアクセスできる社内アプリケーションを狙います。したがって、このような攻撃対象にも、公衆ネットワークにアクセスするアプリケーションと同様にセキュリティ保護が必要です。
11.3.1/11.3.2:年1回以上の内部/外部侵入テストに加え、インフラまたはアプリケーションの大幅なアップグレード/変更のたびに実施
たとえば2014年を例に考えると、アプリケーションの大幅な変更を行った後だけでなく、Heartbleed、Shellshock、Winshock、POODLEなどの後にも侵入テストを再度実施する必要があります。というのは、大量のパッチを適用するからです。
11.3.4:セグメンテーション制御および適用範囲の絞り込み制御を検証するテストを含める
これまで発生した小売店を標的にした攻撃は、ネットワークセグメンテーションが適切に行われていなかったことを悪用していました。たとえば、攻撃者はHVACからPOSネットワークにアクセスし、データを盗んでインターネット経由で持ち出していたわけです。
このような攻撃対策には、強力なセグメンテーション、厳格なホストアクセス制御、アプリケーション対応ネットワーク制御が役立ちます。この機能はBarracuda NextG Firewallに搭載されているので、まだ導入されていない方は是非お試しください。
追い詰められる中小企業
大企業は、情報およびアプリケーションセキュリティを担当する専門チームを設置しています。このチームは、ネットワーク境界内で常に侵入テストを実施し、PTES(Penetration Testing Execution Standard)など業界固有の侵入テスト手法に準拠しています。また、ネットワークセグメンテーションとホストアクセス制御がアーキテクチャとして実装されているのが一般的です。したがって、企業の規模は大きくても、短期間で3.0に準拠できるでしょう。
ところが中小企業は、予算に限りがあり情報セキュリティ担当のスタッフも少ないので、準拠への準備は大きな負担になります。CDEの特定や範囲の評価に加え、QSAを新たに採用する必要がある場合や、セキュリティソリューションの更新、全社規模でのセキュリティ強化(ネットワーク境界を含む)を行わなければなりません。また、新ガイドラインに沿ってネットワーク環境を変更するには、膨大な投資が必要になります。
中小企業は、基準の更新に伴う適用範囲や作業の難易度を過小評価しがちですが、これは非常に大きな問題です。セキュリティの視点から見れば基準の変更は理にかなっていますが、それに準拠するには膨大な時間とリソースが必要になります。
また、従来の方法でサービスを提供する大手セキュリティプロバイダを使う場合には、中小企業のニッチなニーズにフォーカスしていない場合や、市場の捉え方が異なる場合があるので注意が必要です。中小企業を成功に導くベンダとは、他の製品にはない卓越した機能と使いやすさを備えたソリューションを提供するベンダです。そして、ミッドマーケットを念頭に新たに構築され、優れたコスト効率と操作性を発揮し、大勢のサポート担当者がいなくても管理が可能であり、短期間で価値を実現するソリューションを選定する必要があります。
※本内容はBarracuda Product Blog 2015年2月23日PCI DSS 3.0 Updates and Ramifications for Network and Application Securityを翻訳したものです。
Neeraj Khandelwal
本稿は、バラクーダネットワークスのWebサイトに掲載されている『バラクーダラボ』3月16日付の記事の転載です。