JNSAメールマガジン 第84号 2016.4.15☆★☆
(OWASP Japan 岡田良太郎)
こんにちは、OWASP Japanの岡田良太郎です。OWASPとは、「Open Web Application Security Project」の略で、ソフトウェアセキュリティに特化した、世界で最も知られたオープン・コミュニティです。日本では、2011年から、のべ4000名近いソフトウェアのセキュリティに関わる方々とミーティングを開催してきました。
2, 3ヶ月に一度、全国でミーティングを開催しています。また、自主的なプロジェクトも数々行っています。以後、ぜひ関心を持っていただけますようお願い致します。
さて、本日ご紹介するのは、「OWASP Proactive Controls」というドキュメントです。最近、日本のボランティアによるチームで翻訳後、レビューを通し、2月にリリースしました。
ソフトウェアの開発ライフサイクルにおいて、セキュリティ確保の重要性はもはや開発だけの問題ではなく、ビジネス課題になっています。ウェブアプリケーションにせよ、モバイル・アプリケーションにせよ、出荷前にセキュリティ脆弱性(ぜいじゃくせい)のテストを行い、可能な限り問題を最小化してから出荷することは、ここ日本でも普及してきました。
攻撃されやすい、深刻な影響を及ぼす「脆弱性」に関する知見を普及させるドキュメントとして、「OWASP Top 10」として知られています。おなじみ「インジェクション」「クロスサイトスクリプティング」など主要な脆弱性を解説しています。このガイドラインは、脆弱性に関する知識を広く普及させることに一定の成果を収めてきました。
SANS Instituteによる2015年の発表によると、70%近いソフトウェア開発企業がこのOWASP Top 10を標準あるいはモデルとして活用しています。この割合はISO/IEC27034やNIST 800-53/64、またSANS CWE Top25をなど権威ある他のガイドラインの参照率を3倍以上も上回っています。
しかし、ソフトウェア開発における脆弱性発生にまつわる問題においては、出荷前の検査によって発見できた問題を修正することの繰り返しでは、とうてい解決に至りません。なぜでしょうか。それは、端的に言うと、事後的な対応だからです。健康管理を怠り、病気になりやすい体質を放置していれば、病気になりやすいのは当然です。毎度毎度、病気になってから治療するという方法はコストもかかり時間も失われます。全く得策ではありません。むしろ伝染病のように影響が大きな問題が想定されるのであれば、予防にあたる努力を払うことでしょう。
同じように、ソフトウェアの構築プロセスにおいて、セキュリティを考慮にいれることに効果のある手法を知ることはソフトウェア構築においては全世界の共通課題でしょう。
そこで、この「OWASP Proactive(事前に)Controls (セキュリティ制御する手法)」を集約するプロジェクトがガイドラインの形でまとめたというわけです。2013年から活動しているこのプロジェクトは、世界中からの多くのフィードバックを反映し2016年に2回目のリリースを発表しました。
https://www.owasp.org/index.php/OWASP_Proactive_Controls
OWASP Top 10 Proactive Controls 2016は、「OWASP Top 10」の方式にのっとり、10の重要なアクティビティを定義し、解説しています。ここで列挙しているセキュリティ概念は、すべてのソフトウェア開発プロジェクトで考慮しなければならない原則を示しており、それぞれの項目の解説とともに、参照すべき様々なガイドラインやツールへのリンクが含められています。
プロジェクトリーダーのJim Manicoは、最初のドラフトをリリースした際、「このドキュメントは、前向きな言葉を用いたい。全ての設計者と開発者が100%、とにかくすべてのプロジェクトで検討すべきトップ・コントロールを記述するからだ」と述べました。
興味深いのは、このTop 10 Proactive Controlsの各項目と、OWASP Top 10の示す各脆弱性との関連を示す表が記載されていることです。ひとつのコントロールが、どの脆弱性を発生させない、いわゆる事前の対策として有効なのかを示しているのです。中には、1つで複数の脆弱性対策に有効なものもあります。確かに、こうした基本に忠実な開発プロセスを身につけると、セキュリティについても前向きなソフトウェア開発ができます。同時に、出荷前の工程で行う脆弱性テストの位置づけも、一層明確にすることができます。
開発者のみならず、発注や、また教育に関わる方々も、ぜひ、この機会にOWASP Top 10 Proactive Controls 2016をご活用ください。新しいソフトウェアを開発することなしに、新しいIT社会はあり得ません。ソフトウェアに関わるすべての皆さんが、前向きにセキュア開発に関わる助けになりますように。
皆さんのご感想、ご質問、ご意見を歓迎しております。
どうぞ、お気軽にお寄せください。
岡田良太郎