【目次】
-
1. はじめに
OWASP TOP 10について解説していきます。OWASP TOP 10とは、Webアプリケーションのセキュリティにおいて、非常に重要なワードであり、セキュリティの担当者であればぜひとも知っておきたい内容になります。
-
a) OWASPとは?
OWASP TOP 10とは、「OWASP」という団体が発行しているセキュリティのレポートです。では、OWASPとは何なのでしょうか。詳しく解説していきます。
OWASP(Open Web Application Security Project:オワスプ)とは、Webセキュリティのプロフェッショナルたちがボランティアとして所属・活動しているセキュリティ団体です。世界中のセキュリティに関する調査を行ったり、調査結果を公開し、啓発活動を実施している団体です。2001年に設立され、現在では世界中で活動しています。
-
b) OWASP TOP 10とは?
OWASP TOP 10とは、OWASPが定期的に発行しているWebセキュリティのレポートです。特に、流行していたり大きな被害が続出していたりして、Webセキュリティとして警戒をしなければいけない項目のTOP10を記載しています。2004年から定期的に発行され、現在では2017年11月に発表されたものが最新版になっております。以下のサイトで具体的なレポートを入手することができます。
※OWASP TOP10のレポート原本
https://owasp.org/www-project-top-ten/
-
-
2. OWASPの具体的な内容
原本の内容を簡単に解説していきます。2017年11月に発表された最新のOWASP TOP 10は以下のようなものです。
- ・インジェクション
インジェクションとは、攻撃者がアプリケーションに攻撃用の文字列を注入(=インジェクション)することです。例えば、Webアプリケーションのログイン用入力画面に、サーバのコマンドや、データベース操作言語であるSQLを注入する行為を指します。
- ・認証の不備
認証とは、「正しいアクセス権をもつ人が、正しくアクセス権を得られること」です。Webアプリケーションへのログイン等をする際に実施する行為です。認証の不備とは、正しく本人確認ができず、不正なアクセスを許してしまうことです。例えば、漏洩したパスワード等で第三者がWebアプリケーションなどにログインをしてしまう場合を指しています。
- ・機密データの露出
意図せず重要なデータが第三者に見られてしまうことを指しています。例えば、クレジットカード番号などのような重要な個人情報が、暗号化されずにインターネット上を流れていると、盗聴がされていれば第三者に見られてしまいます。また、クラウドなどではクラウドストレージ等に保存したデータを意図せず第三者に公開してしまっていた、というようなケースも存在しています。
- ・XML外部実体参照(XXE)
Webアプリケーションなどで多用されているXMLファイルの特徴を逆手に取った攻撃になります。Webアプリケーションはプログラミングを行い構築をしますが、長文のプログラムは作成が大変なので「実体参照」といい、繰り返しを行うことができる仕組みになっています。ただ、この仕組みを悪用して、公開されていない外部のプログラムや機密情報を呼び込むのがこの攻撃になります。
- ・アクセス制御の不備
アクセス制御の不備とは、ユーザが与えられた権限以上の権限を持ってしまっている状態を指します。例えば、会社の平社員が、会社の役員レベルのみが参照できるファイルを見たり、操作できたりすることができる権限を持っているケースがこの「アクセス制御の不備」にあたります。
- ・不適切なセキュリティ設定
いわゆる設定ミスや、知識不足による設定不備がこのケースにあたります。設定ミスはそれ自体がWebアプリケーションの脆弱性となってしまい、セキュリティ攻撃の格好の標的となってしまいます。
- ・クロスサイト・スクリプティング(XSS)
クロスサイトスクリプティングとは、あるWebアプリケーションにわなを仕掛けて、Webアプリケーション利用者を偽のWebアプリケーションに誘導させ、コンピュータウイルスを仕込んだり、ログイン情報を盗んだりする攻撃のことです。一般的に、Webアプリケーション利用者に被害が大きく出てしまう攻撃になります。
- ・安全でないデシリアライゼーション
デシリアライゼーションとは、データ変換のことです。例えば、Webアプリケーションでは、JSONという形式のファイルで書かれたデータを、プログラミング言語であるJava Script動くように変換をおこなう、といった動きを利用することがあります。この変換を「シリアライゼーション」「デシリアライゼーション」と言います。これが安全に行われない場合、攻撃者が悪意のあるプログラムを実行したりデータを抜き取ったりできてしまうことがあります。
- ・既知の脆弱性を持つコンポーネントの使用
Webアプリケーションが動くためのプログラミング言語、フレームワーク、サーバーといった部品は、セキュリティの穴である脆弱性が発見されるたびにアップデートやパッチが公開されます。パッチを適用せずに脆弱性がある状態でアプリケーションを稼働させ続けると、セキュリティ攻撃の標的になることがあり、危険です。
- ・不十分なロギングとモニタリング
万が一攻撃をされてしまっても、きちんとモニタリングをしていれば、早期発見をおこなうことで被害を最小限に食い止めることができます。また、ログをきちんと保管しておくことで、攻撃者に対し訴訟を起こすための証拠にもなります。万が一に備え、十分にロギングとモニタリングを行う仕組みを用意することは大変重要です。
- ・インジェクション
-
3. OWASP TOP 10の活用法
OWASP TOP 10について具体的な内容を見てきました。では、これらをどのように活用すればいいのでしょうか。上記の知識を基に自分で運用しているWebアプリケーションのセキュリティ診断を行い、重大な事故がおこらないようにすれば良いでしょう。また、OWASP TOP 10はあくまでも上位10項目であり、ここで発表されていない内容でも重要な項目があります。強固なセキュリティを考えるのであれば、2017年の最新版のOWASP TOP 10だけではなく、2013年に発表されたOWASP TOP 10も参照してみてください。
加えて、OWASP TOP 10を基準にセキュリティ診断を行ってくれる業者も存在します。合わせて利用していきましょう。
-
4. まとめ
OWASP TOP 10はセキュリティ担当者としてはぜひとも知っておきたい、Webアプリケーションを守るための重要なレポートです。Webアプリケーションのセキュリティを強化し、セキュリティ攻撃の被害にあわないようにするために、ぜひとも活用していきましょう。
※下記のブログもご覧ください。
1. クラウドセキュリティの基本