ワードプレスのハッキングの方法としてよく使われる手法の一つがプラグインの脆弱性を突くことです。
プラグインの脆弱性は深刻な物から、スパムメールにリンクを記載してリダイレクトを行うだけのような軽度のものまでさまざまなものがございます。
今回は最も深刻な脆弱性、Arbitrary file uploadという外部からファイルを直接お使いのサーバーにアップロードできる脆弱性について解説し、こちらを防ぐ方法をお伝えいたします。
Arbitrary file upload(ファイルアップロードの脆弱性)の危険性とどのようなことが可能となるかについて
ワードプレスのプラグインは、公式サイトからダウンロードできるものは全てGPLという無償のライセンスで誰でもコードが読めるようになっています。
プラグインの脆弱性は、常にセキュリティー企業や様々なハッカーを含む人々に発見され続け、オンライン上に共有されています。滅多に出ることはありませんが、外部からファイルをアップロードできる脆弱性が多くのユーザーを持つプラグインで発見されるとハッカーの格好のターゲットとなります。そして実際にそのような脆弱性を含むプラグインが多数のサイトで使用され続けているという事実がございます。
また、未だ公共の場で共有されていない脆弱性を0Dayといい、時にはハッカーの世界で高値で取引されているのです。
例えば下記のようなコードがプラグインのどこかに含まれているとハッカーは好きな内容のプログラムファイルをサーバーにアップロードできることになります。(実際にはもっと複雑なコードですが簡略化してコードを記載しました)
if(isset($_POST['setting']) && isset($_POST['filename'])){ $file = $_POST['filename']; file_put_contents($file, $_POST['setting']); }
このコードには、受け取ったデータを正当かどうか検査していない、ワードプレスの関数と独立している、不正な文字列の回避処理(エスケープ処理)がされていないなど複数の脆弱性がありますがプログラマーは単純ミスでどこかにこのようなコードを置いておいてしまうことがあります。
Arbitrary file upload(ファイルアップロードの脆弱性)で考えられるサーバー上の不正な活動として下記のようなことができてしまいます。
●wp-config.phpの内容をテキスト出力してデータベースの情報を読む
●データベースを閲覧してユーザーを増やす、または既存の管理者権限のユーザーのパスワードを変える
●スパムメール配信プログラム設置
●サイトに仮想通貨の発掘コードの埋め込み
●サイトのユーザーを別のサイトに誘導するコードを埋め込む
●ウィルスの配信コードを埋め込む
ETC
このような脆弱性一つでサーバー上でできること、ワードプレスで出来ることは全てハッカーの手に渡ってしまうと考えてよいかと存じます。
プラグインの脆弱性をハッカーに利用されるのを防ぐには?
1 プラグインの脆弱性がないかを調べる
まずお使いのサイトでプラグインの脆弱性がないかを調べましょう。こちらでお使いのプラグインを検索してみたり、下記の弊社サービスで脆弱性のあるプラグインが使われていないか調べることができます。
2 プラグインのバージョンを隠す
ハッカーは事前調査で、使われているプラグインやそのプラグインのバージョンを調べて脆弱性を突いてきます。
私たちが作った、マルウェアスキャン&セキュリティープラグインでワードプレスやプラグインのバージョンを隠すことができます。是非ご利用ください。
3 Indexリストを出力しないようにする
サーバーは任意のフォルダにIndexファイルが存在しない場合、そのフォルダに含まれるファイルリストを自動生成して出力いたします。
なぜIndexリストが出力されるのが危険かと申しますと、このフォルダ内のパスを含むリストを検索エンジンが拾ってしまい特定の文字列で検索すると検索結果に出てきてしまうからです。
ハッカーはこの手法を利用して攻撃するターゲットを探します。(この手法をDorkといいます)
私たちが作った、マルウェアスキャン&セキュリティープラグインでIndexリストの出力を禁止することができます。
4 常に不正なファイルやコードがサーバー内にアップロードされていないかを検査しましょう
ハッカーがアップロードするコードは難読化されていたり、一般的には複数のサイトに対して大規模に行われるため、ある程度の共通性があります。
ワードプレスドクターマルウェアスキャナは、それら共通のコードをデータベースで常に更新しており、最新のマルウェアコードパターンを検出することができます。
また、深夜に自動的にスキャンを行う機能もございますので不正なコードがアップロードされれば24時間以内に発見し、サイトの改ざんを短時間で認知することの一助にもなります。
5 使用されていないプラグインを削除する
プラグインが有効になっていない場合でも特定のプラグインには直接ファイルにアクセスすることによって脆弱性を利用できるものがございます。
有効にされていないプラグインでも更新をされたり、利用されないのであれば削除すればハッキングのリスクを軽減できます。
6 プラグインのアップデートを行う
プラグインのアップデートはなるべく頻繁に行われることをお勧めいたします。この場合最新のプラグインでは脆弱性が解決している場合もあり、そのプラグインの脆弱性はまだ発見されていないからです。
最新のマルウェアを検出できるワードプレスのセキュリティー向上プラグインをご利用ください(無料)
ワードプレスドクターWorsPressのセキュリティー向上、マルウェアからの復旧や駆除はワードプレスドクターにご依頼ください