
世の中には悪質な方法で「楽」を手に入れる輩がいる。
それは人間の本能の1部なのだろう。
インターネットの世界にも悪質な方法と言うものが数多く存在する。
むしろ現実世界より顔が見えない分、インターネットの世界の方が悪質の「質」が高い可能性は十分ある。
今回はその手法の1つ「マルウェア」が発見された。
「マルウェア」を発見したキッカケは「Google Analytics」を観察したことによる。
なぜかサイトのPVが下がっていた。
わたしのウェブサイトの価値が下がるだと!
そんなバカな!
と、躍起になり原因を探してみると「マルウェア」を発見したのだ。
今回発見した「マルウェア」は記事の最下部にスクリプトを自動生成して配置する仕組みになっており、わたしのサイトへアクセスしたユーザーは自動でマルウェアが指定したサイトへ遷移する仕組みを作っている。
これが現行犯逮捕した瞬間だ!
実はこのスクリプトがいつから発生したのかは定かではない。
ただ明らかに記憶になく意表を突かれた攻撃である。
ITエンジニアとして悪質なスクリプトは排除しなければならない。
と正義感があるわけでもなく調べてみるとスクリプトは「マルウェア」の仕業であることがわかった。
スクリプト「マルウェア」を駆除する手順
「マルウェア」の駆逐を行うにあたり該当のスクリプトの元を調べてみる。
“<script src=’https://cdn.examhome.net/cdn.js?ver=1.0.5′ type=’text/javascript’></script>”</span>
スクリプト遷移先のウェブサイトにはアクセスせぬように、責任は負いかねる。
調べてみると今回の「マルウェア」はデーターベースの中に潜んでいると言う結果に至った。
その手順を簡単だが箇条書きしておこう。
- データーベースバックアップの作成
- データーベースにてSQL実行(駆逐作業)
- 物理ファイルをインスペクション
手順は大きく分けて3つある。
まずはデーターベースバックアップの作成からだ。
データーベースバックアップの作成については別途記事に詳しく書いているので割愛する。
サクラサーバーでデーターベースを自動的にバックアップする方法!
データーベースバックアップを作成したら駆逐するためのSQLを実行と言いたい。
しかしデーターベースはウェブサイトの心臓的存在。
そんな粗末に扱えるわけがないのがITエンジニアである。
バックアップ取得済みとは言え、まずはテスト環境で実施SQLを実行することにした。
テスト環境と言っても全く同じウェブサイトをサブドメインに作成しただけだ。
サブドメインの環境は「エックスサーバー」に用意した。
【Wordpress】エックスサーバーでサブドメインを設定する方法!
作成したテスト環境にデーターベースのバックアップファイルと物理ファイルを丸ごとコピーする。
この作業は簡単に言ってしまえば、ウェブサイトの引越し作業となんら変わりない。
【完全網羅】ロリポップからXServerへサーバ引っ越し手順!
以前「ロリポップサーバー」から「エックスサーバー」へウェブサイトの引越し経験があるので「朝飯前だ」とでも言わせていただこう。
「マルウェア」撃退SQL発動
完全に同じウェブサイトをテスト環境に構築したのでいよいよSQLを実行する。
SQLでスクリプトを一掃する
実行するSQLで自動生成されたスクリプトを撃破する。
「マルウェア」を撃退するSQLとはこちら。
UPDATE `wp_posts` SET post_content = REPLACE (post_content, “<script src=’https://cdn.examhome.net/cdn.js?ver=1.0.5′ type=’text/javascript’></script>”, ” “)
必要に合わせてアップデートするテーブル名を変更すれば良い。
SQLを実行した結果なんと驚きの結果に。
仕込まれたスクリプトが大量に検出された。
これが「マルウェア」の拡散力である。
テスト環境でSQLを実行した後はウェブサイトが正しく表示されるか検証を行う。
硬い作業だがIT業界とは一発で全てが消し飛ぶ可能性が高いのでこれくらいのレベルで操作したい。
テスト環境では表示に問題なかったので本番環境(坊やだからさ)にもSQLを実行して対処した。
ここまでがステップ1だ。
物理ファイルの検疫
その後、確認作業として物理ファイルの検証を行う。
FTPツールもしくは「ファイルマネージャー」でFTPサーバーへ接続する。
その後、ドメインフォルダ配下のファイル(wp関連)全てを圧縮してローカルへ保存する。
圧縮形式は「.zip」が望ましい。
圧縮したファイルをテキストエディタで開く。
すると数値が並んで表示されるだろう。
そこで次のコマンドを使って置換作業を行う。
該当する数値が圧縮ファイル内に存在すれば空白へリプレースする。
わたしはこの検証したが該当する数値は存在しなかった。
もしリプレースが発生する場合、検証作業を終えた後に圧縮ファイルを回答する。
その後、回答したファイル群をFTPサーバーのディレクトリへ移行する。
以上で作業は全て完了だ。
「マルウェア」との戦いは終わった
これで長くはなかったが「マルウェア」との戦いは終わった。
果たしてそうだろうか?
今回の「マルウェア」の発生源を突き止めなければ再発は十分にあり得る。
調査した結果、いくつかのウェブサイトへアクセスする際に「.js」ファイルをインストールされる可能性があることがわかった。
対処法の1つに「Google Chrome」を使用するとセキュリティ管理においてポップアップがある。
ウェブサイトからのファイルダウンロード許可や実行許可などで表示されるものだ。
ポップアップが表示された際には十分に注意し、必要なければ「拒否」もしくは「Denny」を選択する。
また今回の様な事態になった時はWordpressのユーザー名とパスワードを変更するのも手段の1つ。
インターネット上での対策はこれで完了。
今回の「マルウェア」は「スパイウェア」に分類される。
つまり一度侵入するとローカルのパソコンでも再現性は十分にある。
こればかりはウイルスソフトを用いて対応するべきで、ウイルスソフトなしのインターネットサーフィンがどれほど危険か判断できる。
動きに怪しさを感じるのであれば一度スキャンすると良い。
トレンドマイクロの無料体験版で十分だ。
セキュリティについては今後さらに深い内容で書いていくことにした。
世の中には「奪う」という行為に躊躇わない人間はいる。
確実にいる。
だが我々は頭を使い防ぐことができる。
しかし、どうせ奪うのであれば「あなたの心」を奪いたいものだ。
今日も良い1日を。
[…] WordPressの記事に勝手にスクリプトが挿入される問題を解決! […]
[…] WordPressの記事に勝手にスクリプトが挿入される問題を解決! […]