先にご報告させていただいた通り11月13日未明突如ウェブサイトがマルウェアに感染してしまった。
※11月14日現在、復旧済みでGoogleからの審査も済んでおります
大手企業なんかだとけっこう被害にあってるらしいのだが対岸の火事というかまさか自分が?みたいな感じだったのでこの手のニュースを見かけても特に気にも留めてませんでした。
発覚したのはお客様のご指摘。
以下のような表示が突如、自分が運用するサイトに現れたと報告を受けました。
chromeのみの表示だったし友人に相談してもたまに大手サイトでも見かけるねぇくらいだったので安心してたのですが調べれば調べるほどこれはまずいなと本腰いれて調査しました。
この手の話題の告知は普通なら著しくサイトの信用を損なう恐れがあるのですが同じ被害にあわれてる方や悩んでいる方はかなり多い筈なので敢えて対応方法や自分が調べた事を記録、公開しておきます。
ご参考になればと思います。
そもそもマルウェアって何?
wikiによると以下のように説明されています。
マルウェア (Malware) とは、不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称である。マルウェアには、様々な脅威が含まれる。マルウェアの例としては、ウイルス、バックドア、キーロガー、トロイの木馬、WordやExcelのマクロウイルス、ブートセクタウイルス、スクリプトウイルス (BAT、Windowsシェル、JavaScriptなど)、クライムウェア、スケアウェア、スパイウェア、悪質なアドウェア[1]、ミスリーディングアプリケーションなどがある。日本では、「悪意のある不正ソフトウェア」または「不正プログラム」とも呼ばれる。
自分の場合運用するサイトに悪意のあるスクリプトが仕込まれてしまった感じで俗に言う「Gumblar」(ガンブラー)だと思います。
感染経路等はGoogle提供のセーフ ブラウジング等で調べられます。
以下に詳しく解説されているサイトがございますので一読いただければと思います。
検知の仕方
検知の仕方はChrome等でアクセスすると以下のような警告がでてきます。
警告: 不正なソフトウェアが存在する可能性があります
この表示がでたらすぐに対策をとらなければいけません。
まずは詳しい内容を調べます。
セーフ ブラウジングへのリンクがあるのでそこへ進みます。
ウェブマスターツールへ遷移し再審査いついての旨が記述されているのでGoogleウェブマスターツール(登録の仕方等は割愛させていただきます)へ遷移し以下手順に従って下さい。
ウェブマスターツールで対象サイトを設定後、左メニューにある診断→マルウェアをクリックします。
診断をクリックすると以下のような画面が出てくるかと思います。
具体的に検知されたコードがわかると思うのでどこかに控えておきましょう。
感染後の対応方法
サーバー上にある全てのファイルを削除
サーバー上にある全てのファイルを削除します。
後述しますが自分のタイプは特定のファイルだけにしか感染してませんでした。
なので感染された所定のコードだけ削除しアップロードすれば解決なんですが一応万全を期して全てのファイルのバックアップをとった上でサーバー上のファイルを全て消してしまう事を強くお勧めします。(ここのファイルだけ感染してるとかわからないので)
対象ファイルをクリーンアップ
ウェブマスターツールで検出されたスクリプトコードを検索して削除していきます。
Dream Weaver等で検索をかけて該当箇所を割り出すのもいいですが、どこに仕込まれてるのかわからないのでファイル数が少ない場合は全てのファイルを目視した方が安全です。
マルウェアコードの法則性?
これは絶対とは言えないので参考にしないでください。スクリプトのタイプによって違うと思うので。
自分の場合は
indexという文字列が記入されているファイルはほぼ100%の確立でコードが埋め込まれていました。
indexと名のつくファイル名だと大体HTML(shtmlも)とかPHP関係くらいかなと思います。因みにJSやCSSはファイル名indexを扱ってなかったので大丈夫でした。
埋め込まれる位置はDOCTYPE宣言の真下あたりで以下のような感じでJSのコードが埋め込まれています。
<script>eval(function(p,a,c,k,e,d){e=function(c){return(c<a?'':e(parseInt(c/a)))+((c=c%a)>35?String.fromCharC......
eval関数が使われているコードです。これを悪意のあるサイトのURL文字列に返しているみたいですね。僕の場合eval関数とかをつかっているファイルがほとんどないのであまりバッティングしませんでしたが、もしちゃんとした用途でこの関数が使われている場合誤って消さないように注意が必要かもです。
マルウェアコードの法則性?(wordpressの場合)
wordpressもやられていました。前述のようにindexという文字列がついているファイル名のみです。但しルート直下のファイル(index.pho)しかやられていませんでした。一応全てのファイルをなめた方がいいと思いますが。
ローカルマシンのフルスキャン
ウイルス対策ソフト等を使用しローカルマシンをフルスキャンしてください。時間がかかるかもしれませんがフルスキャンを強くお勧めします。ウイルスがでたらそのウイルスが原因かもしれないので必ず駆除、隔離等の措置をとります。
パスワードを変更する
これが一番大事です。既に自分のサーバーのパスワードは割れてしまっていると思って下さい。なので関連するFTPのパス等全て変更してください。メールのパス変更もやっておいた方がいいかもですね。WPのパス等もです。
アップロード
今までの手順
- サーバーから全ファイル削除
- 対象コード削除、クリーンアップ
- ローカルマシンのフルスキャン
- パスワード変更
上記を今一度見直し大丈夫だと確信したらクリーンアップしたファイルをアップロードします。
汚名返上しましょう
道のりが長かったのですが最後の最後に大事な事があります。Google先生に自分は悪い子じゃないよ、もう完治したよと知らせてあげなければいけません。これをやらないといつまでも感染者扱いですし例の
「警告: 不正なソフトウェアが存在する可能性があります」
がでてしまいます。
ウェブマスターツールにアクセスし下記のように審査をリクエストし自分のサイトを診断してもらいましょう。
※自分の例でいえばこの審査が通るようになるまで最低1日以上かかりました。人によっては2週間以上かかる方もいるので気長に待つ以外は方法がなさそうです。
まとめ
とにかく滅茶苦茶厄介でしたし気も病みました。自分のサイトはアクセス数稼いでなんぼなサイトではないので良かったのですがこれがサービスをメインで提供するWEBサイトだったら甚大な被害が想像されます。
アクセスする度に警告がでてたら2度とそのサイトには訪問しないでしょう。
今後これらの事が起こらないようにするにはより一層のウイルスに対する意識、徹底した監視等を行わなければいけません。
本記事では触れませんでしたがWordpressの被害も多いようです。.htaccessが書き換えられたりJSが書き換えられたりの被害です。
被害を未然に防ぐためには以下を徹底して管理していくことを義務づけなければいけません。
- こまめなアップデート(JavaやAdobe)
- 定期的にローカルマシンのウイルスチェックをする
- 期間を決めてFTPのパスやwordpressのパス等を変更していく
- 情報収集の意識
これらは意識づけて自分でも取り組みたいと思います。
あ、後拾い読みしてるとやはりクラウドサービスもまだ全幅の信任をしていいサービスかまだわからないので重要な情報をやりとりするのは余程の大手サービスでない限り止めた方がいいかもですね。
たまにこれがFTPの情報ね、と裸でFTP情報のファイルを置いちゃう方もいる?と思うので









