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を導入しWebサーバーを保護することで、二重のセキュリティで昨今の脅威からWebサイトを保護し情報漏えい等の被害を防ぐことが可能です。

WordPressで作成されたWebサイト、セキュリティ対策は万全ですか?

WordPressで作成されたWebサイト、セキュリティ対策は万全ですか?

Webサイトを作成するために使われているCMS(Contents Management System)ツール。オープンソースCMSといえば、WordPress(ワードプレス)、 Joomla (ジュームラ)、 Drupal (ドルーパル)などが広く使われていますが、世界的に高いシェアを誇っているのがWordPressです。WebサイトにおけるWordPress利用率は30%を超えているという報告もあります。

WordPressは日本でも企業、個人を問わず多く使われています。WordPressが提供するテーマ、プラグイン等、様々な機能を活用すれば誰でも簡単にWebサイトを制作することができます。しかし、誰でも手軽に編集することができるからこそ、セキュリティ問題も付き物になっています。ペンタセキュリティは毎四半期ごとに最新Web脆弱性を分析した結果をまとめたトレンドレポートを公開しておりますが、その結果によると2019年第2四半期から最も多く報告されたのが、WordPressに関する脆弱性ということが分かります。それでは、実際にはWordPressにどのようなセキュリティ問題があるのか、そしてどう対応すればいいのかをご紹介します。

 

セキュリティ問題とその対策

1. WordPressで制作されたといった事実を隠す

WordPressで作成されたWebサイトの場合、普通Webサイト管理者はドメインの後に「wp-admin」 または 「wp-login.php」をつけることでWordPressの管理画面にアクセスすることができます。つまり、ハッカーもドメインに少し手を加えるだけで容易にWordPressの管理画面にアクセスでき、その状況を知ることができるということです。しかし裏を返せば、このような情報を隠すことだけでもセキュリティ面で一定の成果を上げることができるということになります。「Hide My WP Plugin」などのプラグインを使うことで、管理画面のURLやその他「WordPressを利用している」という情報を隠し、簡単に対策をとることができます。

2. 便利なログイン機能はハッカーにも有効。ログインの試行回数を制限する

WordPressは普通のWebサイトと違ってパスワードに有効期限がないため、間違ったパスワードをいくら入力してもログイン機能がロックされません。Webサイト管理者にとっては便利な機能ですが、これはハッカーにも有効で、この脆弱性を狙い、成功するまで無限の数のパスワードで試し続けることができます。これに対応するには、「Limit Login Attempts」などログインの試行回数を制限するプラグインが有効です。

また前述の様に、ドメインの後に「wp-admin」 または 「wp-login.php」をつけることでWordPressの管理画面にアクセスすることができますが、このURLを変えることでけでもハッカーからの無差別攻撃の試しを防ぐことができます。 他にも、Webサイト管理者のアカウント名を変える、特定のディレクトリを閲覧専用に設定する、ディレクトリリスティングを非活性化する等の対策をとることができます。

3. 旧バージョンは弱点が丸見え。常に最新バージョンを使おう

WordPressは他のソフトウェアと同様に定期的なアップデートを実施しています。しかし、使用しているプラグインの互換性などの問題で、アップデートをすぐさま実行するWebサイト管理者はほんの少しにすぎません。ハッカーは、このように新規パッチが発表されたにもかかわらず、旧バージョンを使用しているページを狙います。アップデートは主に旧バージョンの弱点を補完するものであるので、逆に旧バージョンの弱点をさらすものにもなるのです。その為、できる限り迅速なアップデートの適用をおすすめします。

4. Web脆弱性を狙った多数の攻撃。WAFで対応しよう

冒頭で述べたように、WordPressでは多数のWeb脆弱性が発見されており、またそれを狙った攻撃も多発しています。 2020年第1四半期のWeb脆弱性トレンドレポートによると、WordPressのWeb脆弱性を狙った攻撃には以下の3種類がありました。

  • Cross Site Scripting: 特定のWebサイトからブラウザを通じ情報を奪取する攻撃
  • Authentication Bypass: 認証を迂回し、管理者コンソールへ不正アクセスする攻撃
  • CSV Injection: データをCSVファイルに出力するとき、不正な命令語を差し込む攻撃

このようにWeb脆弱性を狙ったサイバー攻撃を防ぐためには、セキュリティ対策を講じる必要があります。特に、WAF(Webアプリケーションファイアウォール)を導入することも一つの有効な対策となります。WAFはWeb脆弱性に対する攻撃に対応するだけではなく、ハッカーがWebサイトにアクセスすること自体を防ぐことができます。つまりWordPressのようなアプリケーション自体に脆弱性が存在する場合も、それによる被害を事前に防ぐことができるということです。

 

最後に

WordPressは業界随一のCMSツールですが、セキュリティ面で問題を抱えていることも事実です。決して「安全ではない」わけではありませんが、Webサイト管理者の不注意によっては脆弱性を抱えることになるでしょう。しかし、簡単な対策をとることでより安全に使用することができます。ご紹介した対策を念頭に置き、安全にWordPressを運用しましょう!

最新Web脆弱性トレンドレポートの情報はこちら

中小企業のためのセキュリティ対策、クラウド型セキュリティサービス

中小企業のためのセキュリティ対策、クラウド型セキュリティサービス

新型コロナウイルスに関する緊急事態宣言が5月末に延長するなど、以違とは違った生活になったり、社会的に混乱な状況が続いています。変わっていく日常だけに目が行きがちですが、こういう時こそセキュリティ対策に気を付けなければいけません。実際、新型コロナウイルスの影響でオンライン教育やWeb会議などが拡大される中、それを狙ったような攻撃も続々発生しています。

オンライン教育に冷や水、ベネッセHD子会社で不正アクセス
ベネッセホールディングス(HD)子会社、Classi(クラッシー)が不正アクセスを受けて情報を流出した可能性があると発表した4月13日、インターネット上のSNSなどには高校生や教員とみられる利用者の不満の声が相次いだ。新型コロナウイルスの感染拡大でオンライン教育が広がる中、利便性の裏側に潜むリスクをあらためて示した。…教員や保護者を含む全利用者約122万人分のユーザーIDと、パスワードを暗号化した文字列、2031人の教員が作成した自己紹介文が流出した可能性がある。…「1人当たり3万3000円」。学校のIT化などに関する調査・研究や情報発信を行う教育ネットワーク情報セキュリティ推進委員会(ISEN)が試算した、生徒の成績情報が流出した場合の損害賠償額だ。
引用:日経ビジネス

このような被害を防ぐためには、セキュリティ対策が必須です。しかしセキュリティ対策となると、大規模な装備を用いて大勢の人が対策する姿を浮かべがちであり、なかなか手が出せないという声が多く聞かれます。そんな方にお勧めするのが、「クラウド型セキュリティサービス」です。

 

クラウド型セキュリティサービスとは

クラウド型セキュリティサービスは、セキュリティ担当者を配置しづらい、もしくは多くの予算を省けない中小企業に適切なセキュリティサービスとして利用されるようになってきました。

クラウド型セキュリティサービスはSaaS型セキュリティサービス、またはSECaaS(Security as a Service、サービスとしてのセキュリテイ)とも呼ばれます。

まず、SaaSとは何かをご紹介しましょう。SaaSとは「Software as a Service」の略で、言葉通り、従来に高価な製品やソフトウェアを導入し利用してきたサービスを、インターネットのクラウド上で簡単に利用できるようにするということです。代表的な例としてはグーグルの「Gmail」等が挙げられます。厳密にはクラウドサービスの中にSaaS等が含まれるという形ですが、同じようなものとして捉えても無理はないでしょう。

つまり、SaaS型セキュリティサービス、すなわちクラウド型セキュリティサービスとは、既存の高度なセキュリティ対策をインターネット経由で利用する形です。SECaaSという言葉通り「セキュリティーをサービスとして受ける」ので機材を導入する必要がなく、使用した分だけ払えるのでリーズナブルな料金で利用できるのが特徴です。クラウド型セキュリティサービスとしてはWebアプリケーションファイアウォール(WAF)、ネットワークセキュリティ、メールのセキュリティ、暗号化等が主に提供されます。

 

クラウド型セキュリティサービスの機能と選び方

Webセキュリティにおいて重要な要素には、Webアプリケーションファイアウォールと暗号化が挙げられます。Webアプリケーションファイアウォール(WAF)とは、ハッカーの攻撃を内部に侵入させぬべくそれを検知し遮断するものです。一方、暗号化はWebサイトのデータが奪取されたとしてもその悪用を防ぐものです。Webサイトの管理者はこれらに関するクラウド型セキュリティサービスを導入することにより、安全なWeb環境を構築できるだけではなくセキュリティへの手間を省くことができるので、一石二鳥の効果を得られると言えるでしょう。

それでは、クラウド型セキュリティサービスを選ぶときにはどのような部分を考慮すべきでしょうか。まず、複数のサービスを導入する場合、相互に互換性が保障されているかを検討しなければいけません。サービス間の衝突が発生した場合、さらなる脅威にさらされる場合があるからです。その他にも、サービスが主なセキュリティ案件に対するログを提供するのか、カスタマーサービスが有効であり信頼できるのかなどを考慮する必要があります。

ペンタセキュリティはクラウド型セキュリティサービスとして、クラウド型WAF(Webアプリケーションファイアウォール)であるクラウドブリック(Cloudbric)を提供しております。Webサイト防衛機能だけではなく、暗号化のためのSSL証明書サービスなど多様な機能と信頼性を併せ持っております。ぜひ、導入をご検討ください。