DevOpsとSecは同じ夢を見るか?セキュリティ・アディッショナルタイム(5)(2/2 ページ)

» 2016年03月22日 05時00分 公開
[高橋睦美@IT]
前のページへ 1|2       

「クロスサイトスクリプティングをほんの数分で修正」——PayPalの事例

 そんなDevSecOpsに取り組んだ実例を、PayPalのSenior Security Strategist、ラクシ・ラガバン(Laksh Raghavan氏)は「Agile Security—Field of Dreams」と題するセッションの中で紹介し、「アジャイルとセキュリティは両立できる。そして、開発ライフサイクルの中でリスクを削減していくことができる」と述べた。

 PayPalはそれまで、自社内で定めたセキュアプロダクトライフサイクル(SLPC)に基づいて、プロダクトのセキュリティ確保に取り組んでいた。だが、そのプロセスは50以上に分かれており、中には人が介在せざるを得ないステップもある。ドキュメント作成も人力に頼る部分があり、「非常に煩雑で非効率的だった」(ラガバン氏)という。

 こうした状況でPayPal全体の方針として「アジャイル」を推進することになり、「Secure by Design」という原則を維持しつつ、開発スタイルへの転換を図ることになった。

 異なる国や地域に存在する複数のチームが、複数の製品を、異なる開発言語やフレームワークを用いて開発している状況の中で、ウオーターフォール式からアジャイル式へ文化を変えるというチャレンジに取り組んだ同社だが、「すぐにそのメリットを実感した。例えば、クロスサイトスクリプティングが報告されれば、数日、数時間と待つことなく、ほんの数分で修正されるようになった」(ラガバン氏)

 同社ではアジャイル開発とセキュリティを両立させるため、いくつかの工夫を凝らしたという。まず、アジャイル開発において描かれる「ユーザーストーリー」と同様に「セキュリティストーリー」を作成し、これら二つを対等に扱いながら機能に落とし込むことにした。

 また、セキュアな開発フレームワークやツールを標準化し、極力属人性を排除して、ルーチンの中に自動的にセキュリティを組み入れるようにした。「セキュリティを自動化ルーチンに組み込むことによって、コードを書いてリリースするたびに、SQLインジェクションなどの脆弱性を含まない、セキュリティ面で正しいものが出力されるようにした。継続的インテグレーション/継続的デリバリやテスト自動化の中にセキュリティを組み込むというアプローチに取り組んだ」(ラガバン氏)。出力されたテスト結果やログは、アジャイル開発管理ツール側でトラッキングするとともに、セキュリティストーリーにも反映されるようにした。

 加えて、「製品開発チームに対して透過的な仕組みを整えた」(同氏)ことも実現のポイントだ。ツールを活用し、自動かつデフォルトでセキュリティを実装することにより、開発者が新たにセキュリティに関して学習し直さなくてもよい仕組みを整えた。さらに、開発者に徐々に慣れてもらうため、最初はセキュリティ上の問題を「警告」するだけにとどめ、徐々に強制的にセキュリティコントロールを組み入れるようにしていったという。

 また、各プロダクトチームに「セキュリティチャンピオン」と呼ばれる、セキュリティ上の問題をチェックし、レポートする役割を担う担当者を置いた。このセキュリティチャンピオンは、「文化を変えていく牽引役になってもらった」(同氏)という。

 一連の取り組みを通じて、「セキュリティ要件をどの程度満たせているか、計測可能な形で示せるようになった。加えて、以前よりも安全なフレームワーク上で開発を進められるようになり、セキュリティバグの修正に関するSLAも向上した」とラガバン氏は振り返り、開発チーム側からも好意的なフィードバックを得られたと説明した。

「非難しない」文化もポイント

 DevSecOpsのメリットの一つは、これまでなかなか数値化したり、具体的に示したりすることが難しかったセキュリティ品質の向上を「可視化」できることだ。先のPayPalの事例でも、テスト自動化プロセスの中にセキュリティを組み込み、その結果をメトリクス化してモニターすることによって、何がどの程度改善されたかを「可視化」できるとしていた。

 「セキュリティ専門家と同じように、開発者から無視されがちなリリースエンジニア」の立場からプレゼンテーションを行ったJ・ポール・リード(J. Paul Reed)氏は、「一日に何度もコードをリリースしていく継続的デリバリは可視性を高めてくれる。リリースエンジニアだけでなく、セキュリティ専門家にとっても有用だろう」と述べている。

 もう一つ印象的だったのは、リーツ氏のプレゼンテーションで触れられた「責めない文化」という言葉だ。開発者も運用者もセキュリティ担当者も、皆がチームの一員であり、責任を持つことは重要だ。だが一方で「ミスはどうしても起こるもの。その結果をフィードバックし、共有する『非難しない文化』を持つことによって、より高い改善効果が得られる」と同氏は述べ、ぜひDevとOps、セキュリティのプロフェッショナルが協力してほしいと呼び掛けた。

前のページへ 1|2       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。