キヤノンMJ/サイバーセキュリティ情報局
世界中で利用されているウェブページ管理ソフト「WordPress」プラグインに潜むリスクとその対策
本記事はキヤノンマーケティングジャパンが提供する「サイバーセキュリティ情報局」に掲載された「WordPressのプラグイン経由でマルウェア感染?どのように防ぐのか?」を再編集したものです。
世界中で多く利用され、導入率トップを誇るCMSがWordPressだ。その利便性の反面、導入率の高さを要因とするセキュリティリスクも存在する。中でも、プラグインは無償で利用できるものも多く、導入も容易なため見過ごされがちなリスクのひとつだ。WordPressのプラグインに潜むリスクとその対策について解説する。
WordPressのプラグインとは
WordPressとは、ウェブサイトを管理するための「CMS(Content Management System:コンテンツ管理システム)」のひとつだ。CMSを導入することで、ウェブページや画像データなどを総合的に管理できる。中でもWordPressは導入がしやすく、ウェブサイトの構築・アップデートが容易になるため、世界で多くの組織・個人に利用されている。
プラグインはWordPressの機能を拡張するためのソフトウェアの一種だ。WordPress本体だけでもウェブサイトの管理はできるが、プラグインを導入することで、手軽に機能追加が可能だ。基本的に大きなカスタマイズを伴わないで、WordPressの管理画面上から容易に追加できるため、多くのWordPressユーザーに利用されている。代表的なプラグインとして、以下のようなものが挙げられる。
・Contact Form 7: メールフォーム機能を容易に追加
・All in One SEO Pack: SEO対策に関連する情報を投稿画面から編集
・Jetpack: バックアップやセキュリティの強化
・Table of Contents Plus: 目次を簡単に設定、追加
・Instagram Feed(Smash Balloon): インスタグラムの画像埋め込み
WordPressの公式サイト「WordPress.org」のプラグインページによると、2022年4月時点でおよそ5.9万ものWordPressのプラグインが公開されている。
利便性が高く、普及しているがゆえに狙われるWordPress
先述のとおり、WordPressは世界で広く利用されるCMSだ。W3Techsの調査によると、2022年4月時点で、CMSが導入されているウェブサイトのうちおよそ65%でWordPressが使われており、そのほかのCMSを大きく引き離していることがわかる。世界中のすべてのウェブサイトを母数とした場合でも、およそ43%でWordPressが導入されていることからも、その人気ぶりがわかる。ただし裏を返せば、WordPressの脆弱性を突く攻撃手法を開発することで、世界中の40%を超えるウェブサイトを標的にできるということでもある。攻撃者にとってはリソースを割くことに価値があると言えるだろう。
また、企業や個人ブログなどで幅広く導入されているがゆえに、メンテナンスが行き届いていないケースも見受けられる。ベンダーから脆弱性に対するセキュリティアップデートが提供されているにもかかわらず、適用されていないウェブサイトも散見される。WordPressの本体だけでなく、プラグインの脆弱性がマルウェア感染を誘発するケースも少なくない。このような背景もあり、WordPressはサイバー攻撃者から格好の標的となっているのだ。
今一度、おさらいしておきたいWordPressのセキュリティ
https://eset-info.canon-its.jp/malware_info/special/detail/210120.html
WordPressにおけるマルウェア感染のパターン
WordPressの運用におけるマルウェア感染リスクは、大きく以下3つのパターンが存在する。
1) WordPress本体の脆弱性によるマルウェア感染
WordPress本体の脆弱性を突かれてマルウェアに感染するパターン。ソフトウェアには脆弱性が付きものであり、WordPressも例外ではない。例えば、2017年に発表されたWordPressのバージョン4.7.2ではREST APIに関する脆弱性があり、およそ10万件に及ぶ改ざん被害が発生した。
2) ウェブサイト管理者の端末への不正アクセスによるマルウェア感染
ウェブサイト管理者の端末が不正アクセスを受け、認証情報が漏えいしてしまうケースも考えられる。管理者の端末にバックドアを仕込まれ、裏側でWordPressの管理画面やFTPへの不正なアクセスを許してしまった結果、Web改ざんなどの被害に遭遇してしまう。
3) WordPressプラグインの脆弱性によるマルウェア感染
プラグインもソフトウェアであることから、脆弱性の発覚は付きものだ。また、サードパーティ製のものをはじめ、有償・無償を問わず多くのプラグインが出回っており、複数のプラグインをインストールしているウェブサイトも少なくない。WordPress本体はアップデートしていても、プラグインのアップデートを怠っているケースもある。無償で容易に導入できてしまうことで、アップデートが行なわれていないなど、適切な管理がされていないウェブサイトも散見される。
最近は、有名なWordPressのプラグインで脆弱性の発覚が相次いでいる。脆弱性を放置しておくと、攻撃者の格好の標的となりかねないため、速やかに対応するようにしたい。
WordPressプラグインで発覚した主な脆弱性
これまで多くのWordPressプラグインで脆弱性が発覚している。以下、多くのユーザーが利用しているプラグインで発覚した脆弱性の事例を紹介する。
1) 利便性が高いファイル管理プラグインの脆弱性
2020年9月、ファイルやフォルダーの管理がWordPress上で行なえるプラグインに脆弱性が発覚。リモートでのコード実行が可能になる脆弱性で、情報窃取や改ざん、システム破壊などのリスクが、プラグインを導入済みのおよそ35万以上のウェブサイトに生じた。最新バージョンでは脆弱性は修正されている。
2) 導入率が高いSEOプラグインの脆弱性
2021年12月、導入率が高いSEOプラグインにて権限昇格やSQLインジェクションの脆弱性が発覚した。このプラグインを導入済みの300万以上のウェブサイトに影響を与えた。最新版では修正されている。
3) 50万以上のサイトに影響を与えたサイトの統合管理プラグインの脆弱性
2020年1月、複数サイトを統合管理できるプラグインの脆弱性が発覚。認証を突破できてしまう脆弱性で、パスワードなしで管理画面へログインできるリスクがあったという。同プラグインを導入している50万以上のサイトへ影響を与えた。現時点ではアップデート版がリリースされ、修正されている。
また、jQueryやGoogle Analyticsのコードに偽装するマルウェアも確認されている。クリプトジャッキングに代表されるこの手のマルウェアに感染すると、ウェブサイトに訪問したユーザーのコンピューターのリソースを、暗号資産のマイニングに利用するためのプログラムを読み込ませようとする。
意図せずサイバー攻撃の温床になってしまう場合も
2021年11月以降、一時期は沈静化していた「Emotet(エモテット)」の活動が再活発化している。Emotetは非常に感染力が強いマルウェアで、過去には世界的な流行を引き起こした。
Emotetの感染プロセスにおいて、WordPressの脆弱性を悪用するケースも確認されている。脆弱性を突き、不正に改ざんしたウェブサイトからEmotetのダウンローダーが添付されたメールを配信する。このように、WordPressやプラグインの脆弱性を放置することで、知らないうちに攻撃に加担してしまうこともあり得るため、注意が必要だ。
Web改ざんはどのように行なわれるのか? その手口と対策
https://eset-info.canon-its.jp/malware_info/special/detail/210105.html
WordPressにおけるセキュリティ対策
WordPressにおける主なセキュリティ対策は以下のとおりだ。
1) WordPress本体、プラグインを最新状態に維持
セキュリティ対策の基本だが、常にソフトウェアを最新の状態に保つことだ。アップデートを行なう際は、念のためバックアップも取得しておくこと。
2) ファイルのパーミッションの適切な設定
パーミッションとはファイルの読み書き権限の設定のこと。設定ファイルへの不正アクセスを引き起こさないためにも、重要なファイルはフォルダー単位でパーミッションを適切に設定することが望ましい。例えば、WordPress.orgによると、「wp-config.php」は440または400が推奨されている。
3) IPアドレスなどでの接続制限
IPアドレスをベースに接続制限を設け、第三者が外部ネットワークからWordPressの管理画面へのアクセスを遮断する方法も有効だ。ウェブサイトの更新における柔軟性が失われるものの、安全性が重視される場合、検討の余地がある。
4) 不要なプラグインの削除
WordPressのプラグインは無償かつウェブブラウザー上で導入できるものが多い。そのため、試用したものの、本導入に至らず放置されてしまうケースもある。これらの放置されたプラグインが有効化されていない状態であっても脆弱性によるリスクは残ることに注意が必要だ。
5) 適切なパスワード管理、二要素認証の導入
当然ながら、WordPressのログイン時のパスワードは推測しにくいものにすること。また、使い回しは避け、二要素認証を導入できるプラグインなどを利用して、認証を強化するようにしたい。
6) セキュリティ対策用プラグインのインストール
WordPressにはセキュリティを強化するためのプラグインも提供されている。ログインページのURLを定期的に変更する機能、ログイン元のIPアドレス以外からのアクセスをブロックする機能などがプラグインとして提供されている。例えば、SiteGuard WP PluginはWordPressのセキュリティレベルを高める対策を総合的に提供する。
7) 情報の収集
セキュリティ対策には情報収集も欠かせない。中でも、脆弱性にはタイムリーな対応が求められる。JVN(脆弱性対策情報データベース)では脆弱性に関する情報の検索が可能だ。また、「サイバーセキュリティ情報局」ではメールマガジンやTwitterなどでセキュリティに関する最新の情報を発信している。定期的にチェックすることでセキュリティ情報の収集に役立つはずだ。
WordPressはオープンソースであることから、年々使い勝手が向上している。最近では関連するエコシステムも確立し、プラグイン提供もビジネスとして成立するようになっている。このようなエコシステムが機能することで、世界で一番利用されるCMSという地位につながっていると言えよう。しかし、それゆえに攻撃者から狙われやすいという側面もある。WordPressの管理を適切にできているかどうかを見直すためにも、今回紹介した対策を参考にしてほしい。
ウェブサイトの運営で必要なセキュリティ対策とは?
https://eset-info.canon-its.jp/malware_info/special/detail/210511.html