OWASPプロジェクトを使ってみた
発表概要
会場提供スポンサーであるサイボウズ社におけるOWASPプロジェクトの活用事例について、同社品質保証部セキュリティチームの伊藤さんよりご紹介いただきました。
本発表の資料はSlideShareから閲覧いただけます。
Webアプリケーション開発とOWASPプロジェクト
サイボウズ社における開発プロセスは、プロジェクトごとにウォーターフォールやアジャイルが採用されるなど、さまざまなようです。その中でOWASPコミュニティが公表している成果物のうち「OWASP Dependency Check」「OWASP ApplicationSecurityVerificationStandards(ASVS)」「OWASP ZedAttackProxy(ZAP)」を活用してWebアプリケーションの開発を行っていると伊藤さんは言います。
サイボウズ社では特にOWASP Top10に記載されている「A9:既知の脆弱性を持つコンポーネントの仕様」というリスクに注目し、その対策に重点を置いています。
OWASP Dependency Checkの活用
「OWASP Dependency Check」は、利用しているOSSにおける脆弱性の有無を判断してくれるツールです。サイボウズ社のKintoneでは約80ものOSSを利用するなど、サイボウズ社のサービスでは多くのOSSが活用されており、それらの脆弱性情報をサイボウズ社のCSIRTが収集しています。そこで、OSSの脆弱性情報収集の効率化を図るために、その作業を自動化できるOWASP Dependency Checkをビルドプロセスに組み込んでいます。ただし、OWASP Dependency Checkの実行には時間を要してしまうことからPUSH時に毎回実行するのではなく、デイリービルド時のみに実行するなどの工夫がなされています。
サイボウズ社ではこの2年ほどOWASP Dependency Checkを利用しているとご紹介がありましたが、その経験の中で良いと思っていること、改善を期待したいことは以下のようです。
良いと思っていること
- 自動で情報収集でき効率化が図れる
- ビルドプロセスに組み込める
改善を期待したいこと
- 誤判定が多い
- クライアントサイドのOSSに関する情報が少ない
- チェック時に海外のサイトに繋がりにくい時は特に時間がかかる
OWASP ASVSの活用
「OWASP ASVS」は所属する組織におけるセキュリティ対策レベルを設定した上で、その設定を満足するためにどのようなセキュリティ機能を実装する必要があるかを示しているクライテリアです。最近、V3.0がリリースされました。
サイボウズ社では 2011年からクラウドサービスを提供しており、「御社の製品は業界で認められたセキュリティ標準に従って開発が行われていますか?」といった質問が2014年には81社から、2015年には112社から頂戴していると伊藤さんは言います。その中でOWASP ASVSに従って開発しているかという質問が2015年3月頃から増加し始め、それがきっかけでOWASP ASVSの利用を始めたとのことです。
OWASP ASVSでは16分野179項目のセキュリティ要件がありますが、比較的要求レベルの低いレベル1の要件に限ると87項目になり、サイボウズ社ではこの87項目の要件を各サービスが満たしていることを目標としています。なお、Kintoneでは対応済み70、未対応12、対象外5であり、アプリケーション単体で解決できず、かつ受容可能な項目については未対応にしているようです。
伊藤さんは「OWASP ASVSの活用を開始して、新たな見地を得られる、特にモバイルについてはもともと見地があまりなかったことから勉強になった」と言います。年間10,000件もの質問に回答している経験を通し、「お客様からの質問に個々に回答することだけが目的ではなく、なぜ質問されているかを理解することが重要です。そこで、お客様との建設的な議論のきっかけにこうしたドキュメントを使っていくのが有効だと考えます」との提言がなされました。
また、OWASP ASVSではなぜこの観点を規定しているのかについて個別に詳細に説明されていないため、リスクの理解のためには補完的に「OWASP Cornucopia」という、脅威を認識するのに役立つカードゲームを使うのがよいとのことでした。
OWASP ZAPの活用
「OWASP ZAP」は、Webアプリケーションの脆弱性診断を行うためのツールです。サイボウズ社ではこの夏にエンジニアサマーインターシップを開催し、その中で品質保証/セキュリティコースの講師を伊藤さんが務めました。サマーインターンシップ担当者からは、セキュリティチームの業務説明と脆弱性検査を体験していただくことを必要な要件として要望があったようです。そこで、本コースの内容をOWASP ZAPを利用して脆弱性が意図的に作りこまれているbWAPPとサイボウズ社のGaroonに対して脆弱性診断を行っていただくこととしたようです。伊藤さんは、OWASP ZAPの利点として、日本語への親和性が高い、初学者への説明コストが低い、教材を持ち帰ってもらえることを挙げられていました。さらに、OWASPコミュニティから開発プロセスの各段階に適したコンテンツが公開されているため、早速活用してはいかがかと提言されました。
質疑応答では、「OWASPのツールを社内で使い出したきっかけは?」という質問があり、「自分たちのチーム(すなわち身内)から使ってみることが最初のスタート。ツールの有効性を訴求するうちに、社内におけるチームの認知度が向上し、徐々に広まっていった。その点からも身内で使ってみて、有効なものは他部門に積極的に宣伝していくのが大事」と伊藤さんは回答されていました。
クロージングセッション
OWASP Night 19thの締めくくりに、9月にThe OWASP Foundationから公表された年次報告書である2014 Annual Reportについて、岡田さんから共有されました。
この年次報告書には、驚くほど数多くの日本からの写真などの資料が掲載されています。世界のChapterを紹介している章では、"Featured Chapter"としてOWASP Japanが取り上げられ、ここ日本でOWASPコミュニティが発展してきた経緯や、AppSecや個別のプロジェクトへの参加などのさまざまなOWASPの活動に活発になってきた状況などが紹介されています。
OWASP 2014 Annual Reportはここからダウンロードできますので、ぜひご覧ください。
まとめ
すべての発表終了後には、恒例のプレゼント大会が開催され、AppSecUSAの公式ポロシャツやAppSecUSAでブース出展していた企業のTシャツなどのお土産を共有していただきました。
さて、筆者からみなさんにお勧めしたいことなのですが、OWASP Night 20thは、年内の開催が期待されています。たいてい、来場者募集開始の発表から数時間程度で満席になってしまいがちです。OWASP Japan Webページ、Twitter @OwaspJapan、Facebook OWASP Japanページ、特にOWASP Japanメーリングリストから発信される情報を見逃さないように。要チェックです。