近年、Webサイトを対象とした悪意のある攻撃者からのサイバー攻撃が後を絶ちません。ペンタセキュリティ株式会社とクラウドブリック株式会社が共同で公開した2021年第2四半期のWeb脆弱性トレンド情報によると、Web脆弱性発生件数は上昇傾向にあり、2021年6月は70件が発生しました。Webアプリケーションの脆弱性を狙った攻撃が巧妙化し、セキュリティ対策の必要性はますます高まっています。 そのため、Webアプリケーションを利用したサービス提供をしているのなら、最新のWeb攻撃の動向や事例は、知っておくべきでしょう。
本記事では、Webアプリケーションの脆弱性を狙ったWeb攻撃の動向や事例についてまとめました。
最新版!Web攻撃と脆弱性10選
Webアプリケーションとは、インターネット上で稼働するシステムの総称で、主に、Webサーバー上で動作し、ChromeなどのWebブラウザで操作します。それに対して、スマートフォンなどの端末やパソコンにインストールして利用するアプリケーションはネイティブアプリケーションと呼んでいます。ちなみに、これらの2つの大きな違いは、利用する際にインターネットアクセスの有無で、一般的には、Webアプリケーションはインターネットへアクセスする必要があるため、攻撃者からのサイバー攻撃に遭遇する危険性が伴います。
それでは、最新のWebアプリケーションへ主に発生する10のWeb脆弱性について詳しく見てみましょう。
- クロスサイトスクリプティング
- サービス運用妨害(DoS)
- メール不正中継
- バッファオーバーフロー
- 強制ブラウズ
- ディレクトリトラバーサル
- コマンドインジェクション
- SQLインジェクション
- URLパラメータの改ざん
- ファイルアップロード
過去のWebアプリケーション脆弱性についての記事は、こちらをご覧ください。
クロスサイトスクリプティング(XSS攻撃)
「クロスサイトスクリプティング」とは、悪意のあるスクリプトが挿入されたWebサイト(ページ)を直接的なターゲットとしているのではなく、サイト利用者・閲覧者をターゲットとした攻撃のことです。例えば、攻撃者が悪意のあるスクリプトを埋め込み、それを利用者が閲覧し実行してしまった場合、利用者は偽サイトに移動(クロスサイト)してしまいます。
クロスサイトスクリプティングは、Webアプリケーションへ主に発生するWeb攻撃(脆弱性)の1つとされており、それに気付かずに情報を入力してしまい、フィッシング詐欺やセッションハイジャックに遭う危険性があります。
サービス運用妨害(DoS攻撃)
「サービス運用妨害」とは、処理に時間のかかるアルゴリズムを採用しているなどの脆弱性を狙ったWeb攻撃です。一般的には、Webアプリケーションへ主に発生するWeb攻撃に起因することから、DoS攻撃とも呼ばれています。例えば、Webサーバーに対して通常の範囲を超えたアクセスメール送信などを行い、メモリやCPUを全稼働させて処理速度を低下させます。
また最近、DoS攻撃の進化版でもあるDDoS攻撃(不正な方法で乗っ取った複数のマシンを使ったDoS攻撃)の攻撃・被害件数も増加傾向がみられます。
メール不正中継
メールサーバ(SMTP)はメールが送られてきた際、自身のドメイン宛てのメールではなかった場合、別のメールサーバに転送します。そして、この機能を利用して攻撃者が他人のサーバを使い、送信元の身元が分からない大量の迷惑メールを送信する攻撃のことを「メール不正中継」と呼びます。Webアプリケーションへ発生するWeb攻撃のポイントとしては、主に下記の2つがあります。
- 使用している電子メール配送プログラムに、メール中継に関する制限を設定していない
- そもそも設定がないなどの脆弱性がある
これらの脆弱性により、メール不正中継などのサイバー攻撃を受けてしまう危険性があります。
また、攻撃者から大量の迷惑メールが送られてくることで、サーバが本来必要のないメール配信処理をすることになり、提供しているWebアプリケーションを利用したサービスに影響が出ます。
バッファオーバーフロー
「バッファオーバーフロー」とは、データの受け取りや保管のために用意された領域(バッファ)に想定以上の長さのデータを書き込んでしまうが原因で発生するWebアプリケーションにおけるWeb攻撃のことです。溢れたデータが隣接する領域を不正に書き換えてしまったり、それによって動作異常が発生したりします。
バッファオーパーフローは、典型的なWebアプリケーションの脆弱性の1つで、攻撃者が外部から故意に想定よりも膨大なデータを送り込んでプログラムを異常終了させたり、攻撃用のコードを送り込んで実行させたりするということです。
強制ブラウズ
利用しているWebアプリケーションに、URLへのアクセスを適切に制御していない脆弱性がある場合、「強制ブラウズ」という攻撃に遭遇する危険性があります。強制ブラウズとは、Webページ上からリンクを辿るのではなく、アドレスバーからURLを直接入力して本来システム側では公開していないはずのディレクトリやファイルなどにアクセスを試みること、つまり、強制的にブラウザに表示させられてしまいます。
- ディレクトリの配置ミス
- ファイルの配置ミス
- Webサーバの設定ミス
Webアプリケーションにおける矯正ブラウズの脆弱性発生の原因としては、主に、上記3つが挙げられます。
ディレクトリトラバーサル
「ディレクトリトラバーサル」とは、「../」のような文字列を使ってサーバのディレクトリ・パスを遡る攻撃のことです。Webサーバに置いたままにしている非公開ファイルにアクセスし、そこに保存されている情報を盗まれる危険性があります。
Webアプリケーションを利用して目的のデータを表示させるようなサービスを提供しているサイトに入力される可能性のあるデータに対する考慮不足があった場合、ディレクトリトラバーサルの被害に遭遇する危険性が伴います。
コマンドインジェクション
「コマンドインジェクション」とは、コマンド(コンピュータの利用者がOSのシェルに与える文字列による命令のこと)を利用し、Webアプリケーションの脆弱性を悪用する攻撃です。WebアプリケーションのコードにOSコマンドの呼び出し処理があり、ユーザーが入力したデータがコマンドの一部分を構成している場合に発生します。
- 攻撃者がWebサーバ内に保存されているファイルを読み出す
- システムに関係する操作、プログラムを不正に実行することが可能
- 情報漏洩だけでなく、サーバー自体が乗っ取られてしまう危険性がある
コマンドインジェクションによって、上記のような危険性が伴います。
SQLインジェクション
「SQLインジェクション」とは、データベース言語(SQL)を利用して、Webアプリケーションの脆弱性を悪用する攻撃のことをいいます。コマンドインジェクションと同様に、攻撃者がWebサーバ内に保存されているファイルを読み出したり、システムに関係する操作、プログラムを不正に実行されたりします。
ユーザIDとパスワードを入力するサイトで、入力情報がアプリケーション内部でSQL文として解釈されてしまう脆弱性がある場合に、被害を受けてしまうため注意が必要です。
URLパラメータの改ざん
URLパラメータとは、URLにパラメータというプログラムを付け加えたシステムのことです。URL末尾に「?」が付け加えられ、「?」以降の文字列がパラメータとなります。
このURLに付加されるパラメータ(URLパラメータ)をアドレスバーから直接改ざんして、不正アクセスを行う攻撃が「URLパラメータの改ざん」の手口で、Webサイトが改ざんされたり、Webサーバが誤動作するようにされてしまいます。
ファイルアップロード
「ファイルアップロード」とは、攻撃者がWebシェル(悪意のあるプログラム)をアップロードして、悪意のあるスクリプトを注入することです。Webサーバーなどに意図しない動作を引き起こさせたり、情報を抜き出されたりします。ファイルのアップロード機能のあるページの脆弱性を衝いてくる攻撃です。
Web攻撃による脆弱性に関する事例を紹介!
当社の「EDB/CVEレポート」で公開している通り、2021年第2四半期(4・5・6月)の脆弱性件数は合計169件でした。
ここでは、2021年第2四半期に脆弱性が観察されたWebアプリケーションの事例として、WordPress事例を紹介します。WordPressとは、Webサイトやブログを簡単に作成できるアプリケーションのことで、Webアプリケーションに起因するシステムの脆弱性により、Web攻撃を受けやすいことが特徴です。しかし、インターネット上の40.0%以上のサイト・ブログでWordPressが採用されていることを受け、WordPressの脆弱性を突いたサイバー攻撃が後を絶ちません。
2021年第2四半期で発生した、サイバー攻撃の手口といえばクロスサイトスクリプティングとSQLインジェクション。しかし、WordPressの事例では、ファイルアップロードなども確認されています。
概要について、下表にまとめました。
日付 | 脆弱性カテゴリ | 脆弱性名 |
2021.5.19 | クロスサイトスクリプティング | WordPress Plugin Stop Spammers 2021.8 – ‘log’ Reflected Cross-site Scripting (XSS) |
2021.5.24 | クロスサイトスクリプティング | WordPress Plugin ReDi Restaurant Reservation 21.0307– ‘Comment’ Stored Cross-Site Scripting (XSS) |
2021.5.25 | クロスサイトスクリプティング | WordPress Plugin Cookie Law Bar 1.2.1 – ‘clb_bar_msg’ Stored Cross-Site Scripting (XSS) |
2021.5.28 | クロスサイトスクリプティング | WordPress Plugin LifterLMS 4.21.0 – Stored Cross-Site Scripting (XSS) |
2021.6.1 | クロスサイトスクリプティング | WordPress Plugin WP Prayer version 1.6.1 – ‘prayer_messages’ Stored Cross-Site Scripting (XSS) (Authenticated) |
2021.6.7 | ファイルアップロード | WordPress Plugin wpDiscuz 7.0.4 – Arbitrary File Upload (Unauthenticated) |
クロスサイトスクリプティング | WordPress Plugin Smart Slider-3 3.5.0.8 – ‘name’ Stored Cross-Site Scripting (XSS) | |
2021.6.8 | ファイルアップロード | WordPress Plugin wpDiscuz 7.0.4 – Remote Code Execution (Unauthenticated |
2021.6.9 | クロスサイトスクリプティング | WordPress Plugin visitors-app 0.3 – ‘user-agent’ Stored Cross-Site Scripting (XSS) |
2021.6.23 | SQLインジェクション | WordPress Plugin Poll_ Survey_ Questionnaire and Voting system 1.5.2 – ‘date_answers’ Blind SQL Injection |
クロスサイトスクリプティング | WordPress Plugin WP Google Maps 8.1.11 – Stored Cross-Site Scripting (XSS) | |
2021.6.28 | クロスサイトスクリプティング | WordPress Plugin YOP Polls 6.2.7 – Stored Cross Site Scripting (XSS) |
なかには、深刻度が緊急(Critical)および重要(High)の指標も存在し、悪用された場合、第3者に遠隔から任意のコードを実行される危険性(RCE)もあります。Web脆弱性が確認される度に修正はされていますが、今後も注意が必要です。
まとめ
今回は、Webアプリケーションへ主に発生するWeb脆弱性の種類と事例について解説してきました。攻撃者はさまざまな巧妙な手口で、Webアプリケーションへの攻撃(脆弱性)を狙ってきます。また、WordPressなどのWebアプリケーションはとても便利ですが、脆弱性については数多く報告されています。そのため、脆弱性を狙った攻撃から守るためにも、Webセキュリティは最新の状態に更新しておきましょう。
最新のWeb脆弱性の情報はこちらからご確認ください。
▼WAFをはじめとする多彩な機能がひとつに。企業向けWebセキュリティ対策なら「Cloudbirc WAF+」
▼製品・サービスに関するお問い合わせはこちら