本章は、組織内での PCI-DSS コンプライアンスの成功をテーマとした 2 部構成のパート 1 です。この章では、AppSec スペシャリストが開発マネージャと密接に協力して、開発者に力を与え、SSDLC を強化し、一般的な法律から具体的な成果を得る方法について詳しく説明します。
コンプライアンス」という言葉は、あまり刺激的ではありません。フォーマルで、ドライで、指示的で......少し制限的なトーンでもあります。色で言えば、ベージュ色です。そして、クリエイティブな環境やイノベーションとは相反するもののように思われます。
私自身も開発者の一人ですが、「コンプライアンスを守る」という経験は、通常、(縦方向に)ガイドラインを読んだり、プレゼンテーションを見たりした後、機能のコーディングに戻り、お客様に使っていただけるソフトウェアを作ることに集中することを意味していました。しかし、コンプライアンスのガイドライン、特にセキュリティのベストプラクティスに関するガイドラインは、通常、開発者を対象にして書かれているわけではないので、必要な行動が不明確になることがあります。このようなシナリオでは、現在の目的に沿って仕事をすることがあまりにも簡単になってしまいます。
セキュアなソフトウェア開発は、もはやどの企業にとっても「あったらいいな」程度のものではなく、すべての組織で最重要課題となっています(あるいはそうあるべきです)。開発者は、コードに最初に触れる立場にあるため、他のチームと同様に、セキュリティ・コンプライアンス対策に関与する必要があります。
でも、ちょっと待って...聞いてください。これは、誰もが硬直した、創造性のない開発やソフトウェアの成果の奴隷にならなければならないということではありません。つまり、ビジネスは、より高い水準のコードを一緒に作る機会と力を持っているということです。これまでのところ、開発者がセキュリティを優先させるための適切なツールを自由に使えなかったという事実に、世界は少しずつ追いついてきています(サイロ化されたセキュリティの専門家が単独で責任を負うことはできません)。しかし、業界がDevSecOpsの未来に向けて、セキュリティを共通の責任として捉え、成功のための準備を整えれば、繰り返される脆弱性の流れを食い止めることができるでしょう。
PCI-DSS ガイドラインは、私たちの多くが日常的に利用しているカード決済ゲートウェイのオンラインセキュリティコンプライアンスについて規定しています。このガイドラインは世界的に適用されており、Eコマースビジネスの様々な側面でのコンプライアンス文書とともに、開発者がその義務に沿った基準を維持するために何をしなければならないかが詳細に説明されています。
Cyber Security Ventures社は、2021年にはゼロデイ侵害が1日1件になると予測しており、ソフトウェア・デリバリー・プロセスに携わるすべての人がこの問題に立ち向かうことができます。
ここでは、PCI-DSSの推奨事項と、それがチーム全体でどのように機能するかについて説明します。
こんにちは、AppSecとComplianceチームの皆さん。すべての開発者トレーニングは同じではない
大企業(あるいは中小企業)の開発者が、現場で受けるトレーニングについて意見を述べることはほとんどありません。スター社員を確保するために、包括的なプログラムを提供している企業もありますが、まだまだ一般的ではありません。セキュリティ・トレーニングの必要性は、皆を退屈させずに組織のコンプライアンスを開始するだけでなく、開発チームとの冷え切った関係を温めるための絶好の機会となる。
PCI コンプライアンスの観点から見ると、PCI のガイドラインには、ペイメントゲートウェイを実行するソ フトウェアに期待される成果が具体的に示されています。その他の目的として、アプリケーションのハー ド化(悪意のあるコードの注入や改ざんを阻止するために不可欠)、最小権限制御、および一般的な 脆弱性に対する十分な認識が、最低限必要とされています。カード会員データを扱うすべての担当者は、適切なトレーニングを受ける必要があります。また、開発者にとっては、プロセスの最初から安全なコードを書くことができるかどうかは、このトレーニングによって決まります。
公式のBest Practices for Maintaining PCI-DSS Complianceドキュメントでは、セキュリティ意識、開発者のニーズ、および適切なトレーニングに関する直接的なコンセプトが詳細に説明されています。
著作権 © 2006 - 2020 PCIセキュリティ基準協議会, LLC.すべての権利を保有しています。
これは、開発者に必要なスキルを身につけさせるために必要な、具体的で詳細なトレーニングにつ いての洞察を与えるものですが、特定の種類の教育ソリューションが他のものよりも効果的であると いうことを示すものではありません。開発者のための PCI-DSS ガイド』はもう少し直接的で、最も一般的な脆弱性の発見と修正を学ぶための 1 つのベンチマークとして OWASP トップ 10 を挙げており、またいくつかの認定プログラムも紹介しています。
しかし...ここで問題が発生します。様々な職場でのトレーニングやコンプライアンスの取り組みでご存知のように、それらは品質や将来の成功に大きな差があります。開発者に関して言えば、多くのセキュアコーディングトレーニングプログラムは、私たちのニーズや仕事のやり方、さらには私たちの日常の仕事には何の意味もないようです。このシナリオでは、すべてのトレーニングが同じように作られているわけではなく、すべてのトレーニングがより安全なソフトウェアを生み出すわけでもありません。これはもちろん、あなたが望む結果とは正反対であり、あなた自身の仕事のストレスが大幅に軽減されることはありません。負担を減らし、一般的な脆弱性が潜在的な災害を引き起こすのを阻止したいのであれば、橋を架ける必要があるでしょう。
エンジニア・マネージャーを味方につけて、セキュリティ・スキル・ギャップを埋める
エンジニアリングマネージャーと直接協力して、目的に合ったソリューションを見つけ、しかも実際にそれを実行しなければならない人々に受け入れられることは、セキュリティの成果を上げるための早道です。エンジニアリングマネージャーは、自分たちのチームについてより直接的な洞察を得ることができ、これまでコンプライアンストレーニングを困難にしていた障害について話すことができます(ほとんどの場合、素晴らしい体験ではないということ以外に)。
教室でのトレーニング、ビデオ・オン・デマンド、一回限りの演習では、最新の状態を維持することは非常に困難です。これらは静的なソリューションであり、変化し続けるサイバーセキュリティ業界の状況に対応することはできません。最終的には、エンジニアリングマネージャーは、時間を費やすことに見合う価値を求めています。そして、彼らと協力して、より安全でコンプライアンスに準拠したコードという、全員が共有する目標を達成するための実行可能なオプションを提供することが重要です。
では、良いトレーニングとはどのようなものでしょうか。セキュアなコーディング方法を、一度だけの大きな情報で学ぶことにはほとんど意味がありません。少しずつ学ぶことで、記憶に残りやすく、状況に応じて適用しやすくなります。また、日常的に使用する言語やフレームワークを使用する必要があります。個人的には、挑戦したいし、自分の努力に目的を見出したいと思っています - 私たちは今でも十分忙しいのですから。
上述した PCI-DSS のベストプラクティスに準拠するためには、選択したソリューションによっては、管理者は、ビジネスで使用されているすべての言語とフレームワークをカバーするために、さまざまなcourses をパッチワークのようにつなぎ合わせなければならないことに気づくかもしれません。これは、ソフトウェアのセキュリティと脆弱性の低減に影響を与えていると AppSec およびコンプライアンスチームが評価するのが難しいことは言うまでもありませんが、物事が非常に厄介になるときです。早く結果を出そうと間違った選択肢に飛びつくのではなく、協力して適切なものを見つけましょう。さもなければ、フランケンシュタインのようなトレーニングソリューションになってしまうかもしれません...それはとても恐ろしいことです。
この PCI-DSS ミニシリーズのパート 1 をご覧いただきありがとうございます。最終章では、CISO と CTO がどのようにしてこの文化の変革を支援し、チームを活性化させることができるか、また、セキュリティの最前線である開発者集団がどのようにして PCI-DSS の認識とコンプライアンスを活用できるかについて説明します。