JP-Secure Labs Report Vol.04
- 純国産WAF「SiteGuardシリーズ」
- 技術情報
- JP-Secure Labs Report Vol.04
2020年2月26日
JP-Secure Labs
本レポートでは、集計期間中に確認された攻撃・検出の分類に加えて、脅威動向やインシデントの事例を取り上げます。
サマリ
検出総数2億7898万件/1日あたり約76万件の検出
ユーザー数40万超の「ロリポップ!レンタルサーバー」で検出した攻撃の総数は、2019年(年間)で278,987,649件となり、1日あたりの検出数は約76万件となりました。
1日あたりの検出数は、Vol.01を公開した2018年以降、増加の傾向にあります。
OSコマンドインジェクションとWordPresの設定ファイル読み取りの急増
年間を通して、SQLインジェクション攻撃が多い状況はこれまでと変わりませんが、2019年7月から8月にかけてOSコマンドインジェクション攻撃が急増し、4月と9月にはWordPressの設定ファイル(wp-config.php)読み取りを試みる攻撃が急増しました。
2019年1月1日 ~ 2019年12月31日
GMOペパボ株式会社「ロリポップ!レンタルサーバー」
- 本レポートは、情報提供を目的としています。
本レポートの記述を利用した結果に生じた損失等について、EGセキュアソリューションズは責任を負いかねます。 - 本レポートのデータをご利用いただく際には、出典元の明記をお願いいたします。
(例 出典:EGセキュアソリューションズ『JP-Secure Labs Report Vol.04』) - 本レポートに記載されている製品・サービス名、社名は各社の商標または登録商標です。
1. 検出統計(全体)
対象サービスのウェブサイトにおいて、集計期間中(2019年1月~2019年12月)に検出した攻撃の総数は、およそ2億7898万件(278,987,649)でした。
サイトによる検出数の差異や日毎の変動はありますが、平均すると毎日76万件の攻撃を検出していることになります。
- 対象サービスで稼働しているWAF(ウェブアプリケーションファイアウォール)「SiteGuardシリーズ」の検出情報(検出ログ)をもとに集計しています。
(SQLインジェクションに代表されるウェブアプリケーションの脆弱性を悪用した攻撃やWordPressの脆弱性を悪用した攻撃等を検出・防御した総数です。) - 検出名や分類は、「SiteGuardシリーズ」による検出情報をもとにした表記になっています。
- 対象サービスの利用者によるセキュリティ診断等のアクセスが集計対象に含まれている場合があります。
不正ログインの試行(ログインの失敗)のほか、ウェブ以外の不正アクセス(スパムメールやマルウェア等)の情報は含まれていません。
1.1 攻撃種別の分類(全体)
検出した攻撃を分類すると図1.1-Aのようになり、半数近くを占めるSQLインジェクションに次いで、クロスサイトスクリプティング、OSコマンドインジェクションを多数検出し、これらの検出で77%を占めるという結果になりました。
図1.1-A 攻撃種別の分類(全体)
攻撃種別 |
検出した件数 |
SQLインジェクション | 129,658,085 |
クロスサイトスクリプティング | 52,314,522 |
OSコマンドインジェクション | 30,204,796 |
ディレクトリトラバーサル | 11,609,911 |
バッファオーバーフロー | 3,868,054 |
改行コードインジェクション | 1,163,327 |
その他の攻撃 | 50,168,954 |
合計 | 278,987,649 |
表1.1-A 攻撃種別の分類(全体)
SQLインジェクションおよびクロスサイトスクリプティングは、ウェブアプリケーションの脆弱性を悪用した攻撃の代表的な手法であり、脆弱性の届け出件数も多い傾向にあるため、特に注意が必要な対策として取り上げられることがあります。
株式会社ラックより公開されているレポート「JSOC INSIGHT」の重要インシデントの傾向においても、SQLインジェクションとクロスサイトスクリプティングが多数を占めています。
株式会社ラック JSOC INSIGHT Vol.25:
https://www.lac.co.jp/lacwatch/report/20191224_001989.html
分類の対象外となった「その他の攻撃」は、全体の18%を占める結果となりました。
内訳は、図1.1-Bとなり、今回の集計期間においてもWordPressの設定ファイル(wp-config.php)の読み取りを試みる攻撃が最も多いという結果になりました。WordPressのテーマ・プラグインの脆弱性の悪用によるものが殆どで、この傾向は今後も続くと考えられます。
図1.1-B その他の攻撃(内訳)
攻撃種別 | 検出した件数 |
WordPress設定ファイルの読み取り | 23,742,114 |
WebDAV等で利用されるメソッドの禁止 | 12,776,654 |
不正なリクエストヘッダ | 8,694,204 |
Joomla!リモートコード実行 | 2,303,222 |
Drupalの脆弱性悪用(Drupalgeddon 2.0) | 819,430 |
WordPress REST API脆弱性の悪用 | 513,264 |
Apache Struts 2の脆弱性悪用 | 435,334 |
その他 | 884,732 |
合計 | 50,168,954 |
表1.1-B その他の攻撃(内訳)
なお、全体から見た検出数としては5%に満たないものの、リソースの削除やロック、変更などを行うメソッドの利用が多数検出されました。対象サービスでは、これらのメソッドの利用は想定していないため、不正または不要なアクセスとして集計の対象としています。(WebDAV等で利用されるメソッドの禁止)このほか、特殊文字を含んだHostヘッダやX-Forwarded-Forヘッダなど、不正な形式のリクエストヘッダも多数検出しています。
それぞれ2017年、2018年に大きな話題となったWordPress REST API脆弱性の悪用、Drupalの脆弱性悪用(Drupalgeddon 2.0)の検出数が、全体から見るとごく僅かとなったほか、Vol.01~Vol.03の分類では上位に入っていたPHP-CGIリモートコード実行(CVE-2012-1823)の検出も大きく減少し、その他に含まれる結果となりました。過去の脆弱性については、検出数および統計において減少していくものと考えられますが、ウェブサイトで利用しているソフトウェアやフレームワークなどのバージョン、ライフサイクルを把握し、適切に管理・運用することを心がけてください。
1.2 月別の統計
集計期間の月別の検出数は、図1.2-Aのようになり、特に4月と7月、9月の検出数が多いという結果になりました。
図1.2-A 月別統計(2019年:グラフ)
集計対象(月) | 検出した件数 |
2019年1月 | 12,630,505 |
2019年2月 | 14,130,556 |
2019年3月 | 22,201,392 |
2019年4月 | 29,608,691 |
2019年5月 | 26,095,600 |
2019年6月 | 22,544,736 |
2019年7月 | 32,659,528 |
2019年8月 | 24,575,122 |
2019年9月 | 31,385,423 |
2019年10月 | 19,551,730 |
2019年11月 | 20,822,939 |
2019年12月 | 22,781,427 |
合計 | 278,987,649 |
表1.2-A 月別統計(2019年:検出数)
4月と9月は、WordPress設定ファイル(wp-config.php)の読み取りを試みる攻撃が急増したためであり、アメリカ合衆国とフランス、カナダを接続元とした攻撃の増加がありました。また、7月から8月にかけて、アメリカ合衆国を接続元としたOSコマンドインジェクションが急増しており、7月は2019年で最も検出数の多い月となりました。なお、集計期間中のOSコマンドインジェクションの検出総数は、3020万件でしたが、7月から8月にかけて1581万件の検出があり、半数以上の検出がこの2ヶ月に集中していました。
次に、2018年と2019年の検出数と月別の推移について見てみます。
図1.2-A 月別統計(2018年~2019年:グラフ)
集計対象(年) | 検出した件数(年間) |
2018月 | 256,286,645 |
2019月 | 278,987,649 |
2018年は1月までにバッファオーバーフロー攻撃の可能性のあるリクエストを大量に検出していたほか、12月は中華人民共和国を接続元としたWordPress設定ファイル(wp-config.php)の読み取りを試みる攻撃が急増したことが全体の検出数を引き上げていました。2019年も特定の月に攻撃が急増しているケースを確認したほか、年間を通じて検出数は増加の傾向にあります。
- バッファオーバーフロー攻撃の可能性について、「SiteGuardシリーズ」では、長いURLやパラメータの入力があった場合に検出します。
1.3 接続元(国別)の分類
攻撃に使用された接続元IPアドレスを国別で集計した結果が図1.3です。2019年はアメリカ合衆国を接続元とした攻撃が最も多く、年間を通じてチェコが増加しました。チェコについては2019年1月~11月までの間に多数の検出を確認していましたが、12月からは減少しています。
図1.3 接続元(国別)の分類
国名 | 検出した件数 | |
1 | アメリカ合衆国 | 52,663,001 |
2 | チェコ | 34,804,903 |
3 | 日本 | 30,561,176 |
4 | 中華人民共和国 | 26,685,517 |
5 | ロシア連邦 | 22,222,777 |
6 | フランス | 17,599,588 |
7 | ウクライナ | 14,578,136 |
8 | カナダ | 12,110,153 |
9 | イギリス | 10,819,637 |
10 | パナマ | 9,074,628 |
ー | その他の国 | 47,868,133 |
合計 | 278,987,649 |
表2.3 接続元(国別)の分類
接続元(国別)の分類において、アメリカ合衆国と日本が上位に入る傾向がありますが、攻撃者に侵入、制御されたレンタルサーバーや企業のサーバーが踏み台として悪用されるケースが両国に多いと報告されたことがあるため、本集計においても両国が踏み台に悪用されている可能性があります。
ZDNet Japan セキュリティ意識の低いユーザーや企業を狙うマルスパム攻撃--日本も多数被害:
https://japan.zdnet.com/article/35114476/
パロアルトネットワークス Threat Brief: Hancitor Actors:
https://unit42.paloaltonetworks.com/threat-brief-hancitor-actors/
- 以前にCMSを使ってブログを書いていたけど、今は全く更新していない。
- 今は使用していないが、テスト用に構築したウェブサーバーがそのまま残っている。
このようなウェブサイトは適切な管理が行われていないため、攻撃者の侵入を許し、踏み台に悪用される危険性が非常に高いと考えられます。使用しないサイトは停止するなど、適切な対応をしてください。
なお、対象サービスのようなレンタルサーバーでは、CMSの管理画面など、攻撃を受けやすいページについて、海外IPアドレスからのアクセスを禁止する機能が提供されていることがあります。前述の国別の分類のように、日本国外からの不正アクセスは多いと考えられますので、有効活用してください。
GMOペパボ株式会社 ロリポップ!/ヘテムル「海外アタックガード」:
https://lolipop.jp/service/specs/attack-guard/
https://heteml.jp/service/attackguard
さくらインターネット株式会社 さくらのレンタルサーバ「国外IPアドレスフィルタ」:
https://help.sakura.ad.jp/360000208641/
WordPressに対する攻撃の検出傾向
攻撃の検出傾向(全体)2億7898万件について、WordPressに対する攻撃を対象に集計すると、明らかにWordPressを対象にした検出、またはその可能性が高い検出は9497万件になりました。
WordPressは、世界的に有名なCMSであり、CMSのシェアの大半を占めると言われています。
本レポートの集計対象のサービスでも、広くWordPressが有効活用されており、Vol.01から引き続きWordPressを対象とした攻撃の検出が多く、全体の34%を占める結果となりました。
- WordPressのコア(本体)に関するディレクトリである「/wp-includes/」やテーマ・プラグインがインストールされる「/wp-content/」、管理ページ「/wp-admin/」のほか、WordPressに関連するファイルへの検出など、WordPressへの攻撃である、またはその可能性が高いと判定できる条件で集計しています。(WordPressのディレクトリ構成や機能を把握した攻撃と考えられる検出を対象に集計しています。)
2.1 WordPressに対する攻撃(攻撃種別)
検出した攻撃を分類すると図2.1-Aのようになり、全体の検出傾向と同様にSQLインジェクションが最も多く、WordPressの設定ファイル(wp-config.php)の読み取りを含むディレクトリトラバーサル系の攻撃と合わせると7割を超えるという結果になりました。
図2.1-A WordPressに対する攻撃(攻撃種別)
攻撃種別 | 検出した件数 |
SQLインジェクション | 40,657,273 |
WordPress設定ファイルの読み取り | 23,627,960 |
クロスサイトスクリプティング | 11,759,458 |
ディレクトリトラバーサル | 7,693,644 |
OSコマンドインジェクション | 7,041,197 |
改行コードインジェクション | 841,380 |
バッファオーバーフロー | 797,226 |
WordPress REST API脆弱性の悪用 | 513,260 |
その他の攻撃 | 2,044,586 |
合計 | 94,975,984 |
表2.1-A WordPressに対する攻撃(攻撃種別)
WordPress設定ファイルの読み取りの検出については、2019年4月と9月に多数の検出がありました。
集計期間中のWordPress設定ファイルの読み取りを試みる攻撃の検出総数は、2362万件でしたが、4月に462万件、9月に877万件の検出があり、半数以上の検出がこの2ヶ月に集中していました。
本レポートでは、WordPress設定ファイルの読み取りと他のディレクトリトラバーサルの検出を別に分類していますが、「../」を指定してディレクトリを遡ることで、本来アクセスが禁止されているディレクトリ、ファイルにアクセスを試みる攻撃であり、脆弱性および攻撃手法は同じです。
2.2 WordPressに対する攻撃(検出箇所)
検出箇所で分類したのが図2.2-Aです。2019年4月と9月にテーマ・プラグインの脆弱性を悪用したWordPress設定ファイルの読み取りを試みる攻撃の増加があったため、「/wp-content/plugins/」と「/wp-content/themes/」の検出で全体の3分の2近くを占めました。WordPressに対する攻撃としては、この傾向が続くものと思われます。
図2.2-A WordPressに対する攻撃(検出箇所)
検出した箇所 | 検出した件数 |
/wp-content/plugins/ | 31,074,120 |
/wp-content/themes/ | 30,292,454 |
/wp-json/ | 8,731,901 |
/wp-includes/ | 8,458,187 |
/wp-admin/admin-ajax.php | 4,390,175 |
/wp-admin/ | 4,144,630 |
/wp-content/ | 3,020,994 |
xmlrpc.php | 2,721,644 |
その他 | 2,141,879 |
合計 | 94,975,984 |
表2.2-A WordPressに対する攻撃(検出箇所)
おわりに
JP-Secure Labs Reportでは、幅広い役割、年齢層の方々に情報をお届けしたいと考えています。
今後も協力会社との連携をさらに深めていき、インシデントの対応事例で分かったことや新たな脅威への対応にも焦点を当てた有益な情報提供に努めて参ります。
本レポートで焦点となったSQLインジェクション、OSコマンドインジェクション、ディレクトリトラバーサルなどのウェブアプリケーションの脆弱性を悪用する攻撃には、WAF(Web Application Firewall:ウェブアプリケーションファイアウォール)の活用が効果的です。下記のページで解説をしているほか、攻撃・WAFによる防御の動画も公開していますので、参考にしてください。
SiteGuardブログ WAFによるSQLインジェクション攻撃の防御:
https://siteguard.jp-secure.com/blog/protect-for-sql-injection/
SiteGuardブログ WAFによるOSコマンドインジェクション攻撃の防御:
https://siteguard.jp-secure.com/blog/protect-for-oscmd-injection/
SiteGuardブログ WAFによるディレクトリトラバーサル攻撃の防御:
https://siteguard.jp-secure.com/blog/protect-for-directory-traversal/
SiteGuard技術情報 WAFとは「攻撃デモ~WAFによる防御」
https://siteguard.jp-secure.com/video/waf-defense-demo
SiteGuardシリーズにご興味のある方はこちら