「Webアプリケーションの脆弱性を対策したい」
「OWASPというコミュニティが気になる」
個人情報の漏えいが問題視される今では、開発者が脆弱性を把握して対策することが重要です。安全性の高いアプリ開発を促進するために設立されたコミュニティとしてOWASPがあります。
開発者はOWASPのツールや情報を活用することで、より安全なアプリを開発することが可能です。この記事ではOWASPのメンバーやサービスなどについて解説します。
OWASPとは
アメリカに本部を置くオープン・コミュニティとして「Open Web Application Security Project(以下、OWASP)」があります。ボランティアにより成り立っている組織です。
OWASPはソフトウェアのセキュリティ環境や、セキュリティを高めるための技術を共有・普及することを目的として活動しています。日本国内でも複数の地域で活動していて、地方に住んでいる人でも参加可能です。
活動しているメンバー
非営利団体として活動しているOWASPはリーダーを含めて報酬のないボランティアで成り立っています。活動するための費用は企業や団体、個人からの支援により調達する方針です。
OWASPでは企業・個人向けにメンバーシップを提供していて、寄付することでさまざまな特典を得られます。例えば個人の場合、年間50ドルまたは500ドルを寄付することで以下のようなサービスを利用可能です。
- メンバーへの限定ニュース配信
- ローカルミーティングへの優先入場(実施しない場合あり)
- 「owasp.org」ドメインのメールアドレス付与
セキュリティに強い関心を持っているエンジニアはOWASPのメンバーシップに加入することがオススメです。
提供しているサービス
OWASPは多数のプロジェクトを運営して、セキュリティの情報共有・啓蒙活動を行っています。代表的なプロジェクトは次の5つです。
- OWASP ASVS:Webアプリのセキュリティにおいて検証すべき事項を管理
- OWASP ZAP:安全性を分析できるWebアプリスキャナーを開発
- OWASP OWTF:効率的にセキュリティ検査するためのツールを開発
- OWASP Testing Guide:既知の脆弱性について内容・検査方法を管理
- OWASP Top10:開発者が優先して対処すべき脆弱性を共有
これらの他にもOWASPでは多数のプロジェクトを運営していて、OWASP Projectですべての内容を確認できます。
OWASP Top10とは
開発者やマネージャーなどに向けてアプリの脆弱性を共有することを目的としたプロジェクトがOWASP Top10です。セキュリティの専門企業から集めたデータからランキングを作成しています。
OWASP Top10を見ることで問題になりやすい脆弱性が分かり、優先して対策すべきセキュリティを理解できるのがメリット。プロジェクトデータは誰でも無料で閲覧できます。
2017年のリスクトップ10
OWASPは2017年11月20日に「OWASP Top 10 – 2017」をインターネット上に公開しました。開発者がアプリを制作するときに注意すべきリスクトップ10は以下の通りです。
- インジェクション
- 認証の不備
- 機微な情報の露出
- XML外部エンティティ参照
- アクセス制御の不備
- 不適切なセキュリティ設定
- クロスサイトスクリプティング
- 安全でないデシリアライゼーション
- 既知の脆弱性のあるコンポーネントの使用
- 不十分なロギングとモニタリング
各項目における脆弱性発見のポイントや防止方法についてはリリースノートに掲載されています。
Video OWASP API Security Top 10 – Crunch
OWASP Top 10 2021の紹介
OWASP トップ 10 の最新版へようこそ! 2021年版トップ10では、3つの新しいカテゴリー、4つのカテゴリーの名称とスコープの変更がありました。統合されたものもいくつかあります。
今回のトップ10は、これまで以上にデータを重視していますが、やみくもにデータを重視しているわけではありません。10項目のうち8項目は提供されたデータから、2項目は業界調査から高いレベルで選びました。こうすることにはひとつの根本的な理由があります。提供されたデータを見ることは、過去を見ることを意味している、ということです。アプリケーションセキュリティのリサーチャーが新しい脆弱性や、それをテストする新しい方法を見つけるのには時間がかかります。これらのテストをツールやプロセスに組み込むには時間がかかります。こうした弱点を広く確実にテストできるようになるまでには、何年もかかってしまうことでしょう。そこで、データではわからないような本質的な弱点は何かということについては、業界の第一線で活躍されている方々にお聞きすることでバランスをとる、というわけです。
- A01:2021-アクセス制御の不備 は、5位から順位を上げました。94%のアプリケーションで、何らかの形でアクセス制御の不備が確認されています。また、「アクセス制御の欠陥」にあたる34件のCWEは、他のカテゴリーよりもアプリケーションで多く発生しています。
- A02:2021-暗号化の失敗 は、ひとつ順位を上げて2位になっています。 以前は、「機微な情報の露出」と呼ばれていましたが、これは根本的な原因というより幅広くみられる症状と言えます。ここでは、機密データの漏えいやシステム侵害に多く関連する、暗号技術にまつわる失敗に焦点を当てています。
- A03:2021-インジェクション は、3位に下がっています。94%のアプリケーションで、何らかのインジェクションに関する問題が確認されており、このカテゴリにあたる33のCWEは、アプリケーションでの発生数が2番目に多く見られます。今回から、クロスサイトスクリプティングは、このカテゴリに含まれています。
- A04:2021-安全が確認されない不安な設計 は、2021年に新設されたカテゴリーで、設計上の欠陥に関するリスクに焦点を当てています。一業界として、我々が純粋に「シフトレフト」することを望むのであれば、脅威モデリングや、安全な設計パターンと原則、また、リファレンス・アーキテクチャをもっと利用していくことが必要です。
- A05:2021-セキュリティの設定ミス は、前回の6位から順位を上げました。アプリケーションの90%には何らかの設定ミスが見られます。高度な設定が可能なソフトウェアへの移行が進む中で、このカテゴリーの順位が上がったことは当然と言えます。以前の、XML外部エンティティ参照(XXE)のカテゴリーは、このカテゴリーに含まれています。
- A06:2021-脆弱で古くなったコンポーネント は、以前は「既知の脆弱性のあるコンポーネントの使用」というタイトルでした。この問題は、業界調査では2位であり、データ分析によってトップ10に入るだけのデータもありました。このカテゴリーは2017年の9位から順位を上げました。これは、テストやリスク評価に苦労する、よく知られた問題です。また、含まれるCWEにあたるCVEのない、唯一のカテゴリであるため、デフォルトのエクスプロイトとインパクトの重みは5.0としてスコアに反映されています。
- A07:2021-識別と認証の失敗 以前、第2位で「認証の不備」と呼ばれていましたが、この版では、識別の失敗に関連するCWEをより多く含む意味合いのカテゴリとなっています。このカテゴリーは依然としてトップ10に示すべき重要な項目ですが、標準化されたフレームワークの利用が進んだことが功を奏しているようです。
- A08:2021-ソフトウェアとデータの整合性の不具合 これは2021年に新設されたカテゴリーで、ソフトウェアの更新、重要なデータを、CI/CDパイプラインにおいて整合性を検証せずに見込みで進めることによる問題にフォーカスしています。CVE/CVSSのデータから最も重大な影響を受けたものの1つが、このカテゴリーの10のCWEにマッピングされています。2017年の「安全でないデシリアライゼーション」は、このカテゴリーの一部となりました。
- A09:2021-セキュリティログとモニタリングの失敗 は、従来は「ロギングとモニタリングの不足」でしたが、業界の調査(第3位)から追加され、従来の第10位からランクアップしました。このカテゴリは、より多くの種類の失敗を含むように拡張されています。これは、テストが困難なものであり、かつ、CVE/CVSSのデータにはあまり反映されないものです。とはいえ、このカテゴリーで失敗が起きると、可視性、インシデントアラート、フォレンジックなどに直接影響を与える可能性があります。
- A10:2021-サーバーサイド・リクエスト・フォージェリ は、業界の調査(第1位)から追加されたものです。調査データからわかることは、よくあるテストより広範な範囲において、問題の発生率は比較的低いものの、問題が起きた場合のエクスプロイトとインパクトは平均以上のものとなり得ます。このカテゴリは、現時点でデータとして現れるものではありませんでしたが、複数の業界の専門家により重要との示唆を得たシナリオとして反映しています。
まとめ
ソフトウェアのセキュリティ環境を共有して、安全なアプリ開発を促進するのがOWASPです。セキュリティが気になる開発者はOWASP Top10を参考にして、安全なアプリ開発に努めましょう。
弊社も2015年からベトナムオフショア開発をしてきました。
「ベトナムオフショアは安いからこんなもんだろうと」という経験をしている企業さんがたくさんいます。私たちも、時には失敗をしてそのような印象になってしまったこともあります。
しかしながら日々失敗と成功の経験を積み、PDCAサイクルで改善をかさねお客様の期待に応えられるように日々努力をしています。今後もOWASPなどを勉強してソフトウェアセキュリティに万全を期する目標に向かって努力して今入ります。
ONETECH ASIA – TRUST BUILD TRUST
これが私たちのポリシーです。お客様の課題を解決できるよう精一杯対応いたします。
ベトナムオフショア開発についてご質問があればお気軽にお問い合わせください。