Webアプリケーションに潜む脆弱性TOP10を分析! 『OWASP Top 10 2017』とその対策

最新のWebアプリケーション脆弱性 Top 10をまとめた「OWASP Top 10」とそのセキュリティ対策を紹介

『OWASP Top 10』をご存知でしょうか? これはOWASP(Open Web Application Security Project:オワスプ)が選定した最も重大なWebアプリケーションセキュリティリスクのリストで、2~3年に一度発表されています。その時期に特に流行していて大きな被害が続出しており、Webセキュリティの警戒をしなければいけない項目がリスティングされています。今回は最新の『OWASP Top 10 2017』の内容を精査し、流行しているWebセキュリティの危機とその対策をご紹介します。

 

OWASP Top 10とは

OWASPはアメリカ東部メリーランド州に本部を持つ非営利組織であり、Webアプリケーションのセキュリティに関する研究や、ガイドラインの作成、脆弱性診断ツールの開発、イベントの開催等、多岐に渡る活動を2001年から行っています。OWASPは Webに関する脆弱性やリスク、攻撃手法、事例、情報漏えい、悪性ファイルやスクリプト、攻撃コードやマルウェアなどを研究しています。そして『OWASP Top 10』はWebセキュリティ上で多発する脅威の中で、その危険度が最も高いと判断された10個のトピックがまとめられたものです。

『OWASP Top 10』では、「悪用のしやすさ」「弱点の蔓延度」「弱点の検出のしやすさ」「技術面への影響」「ビジネスへの影響」の観点で、それぞれに点数をつけリスクの高さを可視化し、危険度の高い10種類の脆弱性を整理しています。具体的にはそれぞれの指針を3段階で評価し、「悪用のしやすさ」「蔓延度」「検出のしやすさ」の平均を求め、その数値と「技術面への影響」の数値の積を求めたものを総得点としています。『OWASP Top 10』は2~3年に1回更新されており、2020年現在の最新版は2017年に発表された「OWASP Top 10 2017」となります。「OWASP Top 10 2017」は、アプリケーションセキュリティの専門企業から寄せられた40以上のデータと、500人以上の個人による業界調査に基づいており、数百の組織の10万以上に上る実際のアプリケーションおよびAPIから集められた脆弱性データをもとにしています。

OWASP 2017で挙げられているTop 10の脅威は次の通りです。

  • A1:2017:インジェクション
  • A2:2017:認証の不備
  • A3:2017:機微な情報の露出
  • A4:2017:XML外部エンティティ参照(XXE)
  • A5:2017:アクセス制御の不備
  • A6:2017:不適切なセキュリティ設定
  • A7:2017:クロスサイト・スクリプティング(XSS)
  • A8:2017:安全でないデシリアライゼーション
  • A9:2017:既知の脆弱性のあるコンポーネントの使用
  • A10:2017:不十分なロギングとモニタリング


引用:OWASP

上記は「OWASP Top 10 2013」と「OWASP Top 10 2017」のリストです。OWASP 2017で取り上げられた問題点のほとんどが2013でも見られ、その内容もまた酷似しています。これは WebアプリケーションのセキュリティがWebの進歩にまだ十分追いついていないことを示しています。次項ではTop 10の脅威について、1つずつ解説します。

 

OWASP 2017の10大脅威

A1: インジェクション

インジェクション攻撃(Injection Attack)とはソフトウェアへの攻撃手法の一つで、外部から文字列の入力を受け付けるプログラムに対し開発者の想定外の不正な文字列を与え、システムを乗っ取ったりデータの改ざんを行ったりする手法です。インジェクションは「悪用のしやすさ」が最高の3、「蔓延度」が2となっていて、依然警戒すべき脅威のひとつです。最も一般的でよく知られたインジェクション攻撃はSQLインジェクション(SQLi)で、攻撃者がデータベースのテーブルを公開するSQLステートメントを挿入することなどを指します。他にもディレクトリシステムを攻撃するLDAPインジェクション、不正なOSコマンドを送信するOSコマンド・インジェクションなどがあります。OWASPの脅威では1位になっていますが、「検出のしやすさ」としては3の評価で、コードを調べることで簡単に発見できるとレポートされています。

A2: 認証の不備

以前は「認証の不備とセッション管理」と呼ばれていました。認証やセッション管理に関連するアプリケーションの機能は、不適切に実装されていることがあります。不適切な実装により攻撃者はパスワード、鍵、セッショントークンを侵害でき、他の実装上の欠陥を利用して一時的または永続的に他のユーザの認証情報を取得します。強力な認証方式とセッション管理を実装し、ユーザが確実に本人であるかを検証しなければいけません。

A3: 機密データの露出

多くのウェブアプリケーションやAPIは財務情報、健康情報や個人情報といった重要な情報を適切に保護していません。攻撃者はこのように適切に保護されていないデータを窃取または改ざんして、クレジットカード詐欺、個人情報の窃取やその他の犯罪を行う可能性があります。OWASPは機密データについて、保存されているものも一時的なものもすべて暗号化し、できる限り早く廃棄することを強く推奨しています。

A4: XML外部実態参照(XXE)

XMLプロセッサはXMLドキュメントに指定された外部ファイルのコンテンツをロードするように構成されていることがよくあります。この脆弱性は、DoSやディレクトリトラバーサル(パストラバーサル)、SSRF(Server Side Request Forgery / サーバサイドリクエストフォージェリ)、Port Scan(ポートスキャン)といった攻撃にも繋がる脆弱性です。OWASPはXMLプロセッサのこの機能を無効化するよう推奨しています。

A5: アクセス制御の不備

アクセス制御の不備とは、ユーザが自分の権限以上の機能を実行できる場合や他のユーザの情報にアクセスできる場合を意味します。攻撃者はこのタイプの脆弱性を悪用して他のユーザのアカウントへのアクセス、機密ファイルの表示、他のユーザのデータの変更、アクセス権の変更など、権限のない機能やデータにアクセスすることができます。OWASPは機能へのアクセスを信頼したユーザに限定する「deny by default」ルールの徹底、アクセス制御チェックの実装等を推奨しています。

A6: セキュリティ設定のミス

不適切なセキュリティの設定は通常、安全でないデフォルト設定、不完全またはアドホックな設定、公開されたクラウドストレージ、不適切な設定のHTTPヘッダ、機微な情報を含む冗長なエラーメッセージによりもたらされます。すべてのオペレーティングシステム、フレームワーク、ライブラリ、アプリケーションを安全に設定するだけでなく、それらに適切なタイミングでパッチを適用することやアップグレードをすることが求められます。

A7: クロスサイト・スクリプティング(XSS)

クロスサイト・スクリプティングは、Webサイト閲覧者側がWebページを制作できる掲示板やTwitter等の動的サイトに対して、自身が制作した不正なスクリプトを挿入するサイバー攻撃です。攻撃者は信頼性の高いサイト上のページを変更することにより、信頼されていないサイトと通信して重要なデータを公開したり、マルウェアを拡散させたりする可能性があります。

A8: 安全でないデシリアライゼーション

安全でないデシリアライゼーション(Insecure Deserialization)は、リモートからのコード実行を誘発します。デシリアライゼーションの欠陥によるリモートからのコード実行に至らない場合でさえ、リプレイ攻撃やインジェクション攻撃、権限昇格といった攻撃にこの脆弱性を用います。OWASPはデシリアライズするオブジェクトの種類を制限するか信頼されていないオブジェクトを一切デシリアライズしないことを推奨しています。

A9: 機知の脆弱性を持つコンポーネントの使用

ライブラリ、フレームワークやその他ソフトウェアモジュールといったコンポーネントは、アプリケーションと同等の権限で動いています。脆弱性のあるコンポーネントが悪用されると、深刻な情報損失やサーバの乗っ取りにつながります。既知の脆弱性があるコンポーネントを利用しているアプリケーションやAPIは、アプリケーションの防御を損ない、結果的に様々な攻撃や悪影響を受けることになります。

A10: 不十分なロギングと監視

不十分なロギングとモニタリングは、インシデントレスポンスに組み込まれていないか、あるいは非効率なインテグレーションになっている可能性があります。その場合、攻撃者がシステムをさらに攻撃したり、攻撃を継続できたりするようにし、さらには他のシステムにも攻撃範囲を拡げデータを改竄、破棄、破壊することを可能にします。

 

OWASP Top 10の脅威へ対抗するWAF製品

多くの企業ではセキュリティ対策としてファイアウォールを導入しています。しかし、通常のファイアウォールは主にシステム及びネットワークを保護する機能であって、ここに挙げられているようなWebアプリケーションへの攻撃を保護するには限界があります。一般的にはWebアプリケーションファイアウォール(WAF)を導入することでWebアプリケーションに対する攻撃を防ぐことができます。

OWASPが発表した10大脆弱性にすべて対応した「Cloudbric WAF+(クラウドブリック・ワフプラス)」を導入することで、これらの脆弱性に対し対策を講ずることができます。さらに、クラウド型で提供されるため、企業の規模に関係なく簡単に導入することができます。システム及びネットワークを保護するファイアウォールと併せてWAFを導入しWebサーバーを保護することで、二重のセキュリティで昨今の脅威からWebサイトを保護し情報漏えい等の被害を防ぐことが可能です。

 

▼WAFをはじめとする多彩な機能がひとつに。企業向けWebセキュリティ対策なら「Cloudbirc WAF+」

▼製品・サービスに関するお問い合わせはこちら