あなたの困り事は誰かが解決している!あなたの知らないセキュリティ関連ドキュメントの世界【第2回】
セキュリティ対策というと難しく考えがちですが、イチから自分で考えなくても先人たちの知恵の結晶とも言える資料が世の中にはたくさんあります。
もちろん国内にもいろいろありますが、海外にも目を向けてみるとさまざまな有用なセキュリティ関連のドキュメントや資料があります。
そんな中から私が普段の業務でお世話になっているものを紹介したいと思います。
第2回 Webのセキュリティだけじゃない 『OWASP』 ドキュメント
OWASP とは
『OWASP』は非営利団体の名称で、Webを始めとするソフトウェアのセキュリティに関する技術やプロセスなどの情報共有と普及啓発を目的とした、コミュニティ主導のオープンソースソフトウェアプロジェクトです。
OWASP - Open Web Application Security Project という名前ですが、Web以外のソフトウェアについても扱っています。
『OWASP Top 10』という、世界各国のセキュリティガイドラインなどでも参照されている有名なプロジェクトを始めとして、セキュリティ関連のツールやドキュメントを提供したり、定期的なフォーラム開催などを行っています。
OWASP の地方支部(Local Chapter)は全世界200カ所以上にあり、 2001年に発足した[OWASP Foundation]が全世界のOWASP活動を支え、各支部が地域に根ざした活動を主に行っています。
国内にもいくつかの支部があり、私が代表を務める[OWASP Japan Local Chapter]もその1つです。
OWASPはアプリケーションのセキュリティ向上に関心がある方であれば誰でも参加することができます。
c 各種ドキュメントの多くは英語版ですが、有志の人々や組織がボランティア活動として日本語版を作成して提供して頂いているものもあります。
OWASPには[200を超えるプロジェクト]があり、様々なドキュメントやツールが開発されています。
今回はその中から主要なドキュメントをいくつか紹介していきます。
OWASP プロジェクトからいくつかのドキュメントを紹介
世界中が参照するWebアプリの重大リスク OWASP Top 10
OWASPのプロジェクトの中でもっとも活用されているのは、『OWASP Top 10』という重大なWebアプリケーションのセキュリティリスクをランキング形式で紹介したドキュメントです。
単に脅威や脆弱性を紹介しているだけではなく、脆弱性発見のポイントや防止方法、そしてそれに役立つOWASPの各種ドキュメントなども紹介されています。
『OWASP Top 10』は各所で活用されていて、たとえばクレジットカード業界のセキュリティ基準である『PCI DSS』の要件の中でも対処すべき脆弱性の、業界のベストプラクティスとしてOWASPが紹介されています。
執筆時点(2021年5月)での最新版は2017年版で、日本語版ドキュメントもあります。
現在は2021年版のリリースを目指して議論が進められています。
Webアプリケーションのセキュリティ検証標準 ASVS
Webアプリケーションを設計、開発、テストする際に必要になるセキュリティ要件、および管理策のフレームワークを提供するのが『OWASP Application Security Verification Standard』です。
セキュアなWebアプリケーションの開発や保守を行う際に役立つドキュメントです。
セキュリティベンダーだけでなく、開発者や利用者が要件を調整する際にも利用することができます。
ASVS 4.0では以下のような要件が定義されています。
- V1: アーキテクチャ、設計、脅威モデリング要件
- V2: 認証の検証要件
- V3: セッション管理の検証要件
- V4: アクセス制御検証要件
- V5: バリデーション、無害化とエンコーディング要件
- V6: 保存時の暗号化の検証要件
- V7: エラー処理およびログ記録の要件
- V8: データ保護の要件
- V9: 通信の検証要件
- V10: 悪性コードの検証要件
- V11: ビジネスロジックの検証要件
- V12: ファイルとリソースの検証要件
- V13: API、Webサービスの検証要件
- V14: 構成の検証要件
ASVSでは「アプリケーションセキュリティ検証レベル」という、そのアプリケーションに求めるセキュリティレベルによって3つのセキュリティ検証レベルを定義しています。
ASVSで記載されているセキュリティ要件は、各ASVSレベルごとに必須かどうかが決まってきます。
- ASVS レベル1: 低保証レベル向け
- ASVS レベル2: 機密データを含むアプリケーション向け
- ASVS レベル3: 極めて重要なアプリケーション向け
ASVSの日本語版は下記のサイトで公開されています。
Webアプリケーションのセキュリティ要件で、より具体的なものを必要とする場合には、特定非営利活動法人日本ネットワークセキュリティ協会が事務局を務める、日本セキュリティオペレーション事業者協議会のセキュリティオペレーションガイドラインWG(WG1)と、OWASP Japan主催の共同ワーキンググループである 『脆弱性診断士スキルマッププロジェクト』が提供する『Webシステム/Webアプリケーションセキュリティ要件書』を参照すると良いでしょう。
『Webシステム/Webアプリケーションセキュリティ要件書』は、安全なWebアプリケーションの開発に必要なセキュリティ要件書です。
発注者、開発者、テスト実施者、セキュリティ専門家、消費者が活用することで、開発会社・開発者に安全なWebシステム/Webアプリケーションを開発してもらうことを目的としています。
すぐに使える OWASP チートシートシリーズ
OWASP チートシートシリーズは、アプリケーション開発や運用を行う人たちに役立つ一連のグッドプラクティスガイドです。
実用的な内容のものが多く、中にはコピペでそのまま使えるサンプル集的なものもあります。
執筆時点(2021年5月)で73ものチートシートが用意されていて、たとえば下記のようなものがあります。
(リンク先はJPCERT/CCが提供している日本語訳です。
最新版が必要な場合には本家 [OWASP Cheat Sheet Series]のWebサイトも参考にして下さい。)
開発者向け
- アクセス制御に関するチートシート
- 認証に関するチートシート
- パスワードの保存に関するチートシート
- パスワードを忘れた場合に関するチートシート
- HTML5 セキュリティに関するチートシート
- REST セキュリティに関するチートシート
脆弱性診断士向け
他にも多くのドキュメントがありますので、本家サイトやJPCERT/CC によるOWASPドキュメント日本語訳プロジェクトページを参照して下さい。
他にも有用なドキュメントやツールが多数
本稿ですべてを紹介しきれませんが、他にも有用なOWASPドキュメントは多数あります。また、OWASPには有用なツールも多数揃っています。
- Webセキュリティの総合テストガイド 『OWASP Web Security Testing Guide』
- 脆弱性診断士が使うべきWebアプリケーション脆弱性診断ガイドライン 『Webアプリケーション脆弱性診断ガイドライン』
- Webアプリケーション脆弱性診断ツール 『OWASP ZAP Zed Attack Proxy』
- Webアプリケーション脆弱性診断の練習環境 『Juice Shop - Insecure Web Application for Training』
OWASPの各種ドキュメントを活用することで、皆さんの組織のセキュリティレベルが向上することを願います。