11/03/2023

[PC] 中華ミニPCのウィルス感染発覚とその対処について

先日、いわゆる中華系の安価なミニPCを買ったんですけれども。これがウィルスに感染していたのです。いや正確に言えば購入時から感染していたのか、使用するうちに感染したのかは不明につき、"していた"と言えるかはわからないのです。しかし、似たような使い方をしていた他のPCでは長年に渡って感染した事はありませんでした。という事は本機に特有の原因があった筈であり、また購入間もない事からして、おそらくは購入当初から感染していたか、バックドアの類が仕込まれていた可能性が極めて高いだろうと思われるのです。やれやれです。というわけでその内容と対処の経緯をメモ。

対象のPCは、TRIGKEY G3のメモリ8GB、SSD256GB版。CPUはN5095、Jasper Lakeです。今となっては型落ちの、しかも売れ筋だったN5105より下位グレードのものですね。今まさに人気沸騰中なN100等のAlder-Lake Nと比べると数割程度も処理能力が劣ります。とは言っても、Atom系列のCPUはJasper Lakeを境にmeltdown等の影響も概ね脱し、性能も飛躍的に伸びていますから、N100では出来るけれどN5095では出来ない、なんて事はほとんどありません。メインはLinuxな私ですが、Windowsのサブ機にちょうどよさそうだし安くなったら更新用に一台確保しておいてもいいかな、と思っていたのですが、それが数ヶ月前、まさにAlder-Lake N搭載機の登場でJasper Lake機が型落ちになったタイミングで投げ売りされて、捨て値と言うべき1.1万円位にまで下がっていたので購入したわけです。OSがWindows11Proだったので、そのテスト機も入手出来た、という事で都合が良かったのですね。ライセンス的には大丈夫なのか、という気もしますが、まあもし駄目になったらその時はLinuxにすればいいや、と。

使ってみると、予想通り性能面ではほぼ問題はありませんでした。もちろん重い画像処理や科学計算、3Dゲーム等は出来ない事もありますが、逆に言えばそれ以外は特にストレスもなくこなせます。というわけでそれなりに気に入り、BIOSが特殊かつ旧式で思うように設定出来ない等の細かな不安は抱きつつも、サブ機として時々触る程度ながら気持ちよく使っていたのです。

しかし、しばらく経った頃、妙にファンがうるさい事に気づいたのです。触ってみると明らかに熱い。温かいではなく、触り続けていられない位に熱い。最近のAtomラインのSoCは発熱が割と多いとは聞いていましたが、それにしても熱すぎました。処理能力を目一杯使うゲームをしている時等ならいざ知らず、動画の再生等をしているに過ぎない時でも、すぐにファンが回りだすのです。そもそもTDPは15Wなのに。

これは明らかにおかしい、というわけでタスクマネージャを見てみると、あにはからんや、見慣れないプロセスがCPU使用率トップに張り付いています。プロセス名は[Extended Copy Utility]、実行ファイルはxcopy.exe。これが常に30%から50%程度回り続けていたのです。

xcopy.exeと言えば、DOS時代からあるファイルコピーコマンドの拡張版です。昔は標準ではなく、しかしディレクトリのコピー等をするには必要だったのでわざわざ入れたりしていました。当然ながら、これの実行時に消費されるのはストレージの転送帯域で、CPUなど殆ど使われません。本来ありえない状態です。

加えて、当該プロセスをタスクマネージャから強制停止しても、すぐに復活します。単なるコピープログラムではありえない挙動です。これでxcopy.exeがウィルスプロセスである事が確定した、というわけです。以下は分析と対処です。

実行ファイルの所在地を見てみると、C:\Windows\WinSとなっていました。もちろん正規のフォルダではありません。その中には以下の4つのファイルが入っていました。

[ウィルス実行ファイルフォルダ(C:\Windows\WinS)内容]

 xcopy.exe (7.96MB)

 wd.bat (383B)

 WinRing0x64.sys (14.2KB)

 wmpnetwk.exe (323KB)

この内、xcopy.exeがウィルスで、wd.batはWindows Defenderのチェック範囲から本フォルダやexeファイル等を除外する設定を加えるバッチファイルです。残り2つの役割はよくわかりません。おそらくこれらも偽装されたウィルスの一部なのでしょう。なお、ウィルスがxcopy.exeの名前を騙るのは割とよくある話なんだそうで。元々標準ではなく、後付で入れる事が多いプログラムであり、ウィルスの感染経路・偽装先として適していたからってことなんでしょうけど、迷惑な話ですね。

それでこのxcopy.exeは何かと言うと、仮想通貨のマイニングを行うウィルスなんだそうです。英語ではminer virus等と呼ばれているようです。トロイの木馬の一種ですが、基本的には情報の流出やランサム的な挙動をする事はなく、ひたすらCPUの演算リソースを食いつぶすタイプのウィルスです。だから発熱するんですね。ウィルスの中ではまだおとなしい方と言えなくもないでしょうけれど、当然ながら電力は無駄に消費するし、熱がPCの寿命を縮めもします。有害なものには違いありません。というわけでさっさと対処します。

まず、現在実行されているウィルスを止めます。なお、以降の処理(コマンド入力等)は管理者権限が必要なので、管理者権限で起動したコマンドプロンプト(Powershell)上で実行します。

[ウィルスの停止]

 1. 実行ファイルの削除(もしくは名称変更・移動等)

  xcopy.exeを削除します。もしくは適当な別の名前(xcopy_virus.exe等)に変えます。

  その他の3ファイルも同様に。

 2.タスクマネージャからxcopy.exeを停止

  [プロセス]タブから、[Extended Copy Utility]を選択、[タスクの停止]を実行

 3.プロセスが復活しない事を確認

  タスクマネージャ上で、[Extended Copy Utililty]が復活してこなければ成功

以上でとりあえずウィルスの活動は阻止出来ます。が、これで終わりではありません。本ウィルスは、おそらく自身がWindows Defenderに削除されないよう、Windows Defenderにスキャンの除外設定を加えています。そのため、このままだと新たなウィルスの感染を防止出来ず、再発の危険も高いままです。これを修正しておく必要があるのです。

Windows Defenderにどのような設定が加えられたかは。wd.batに記載されています。というか、wd.batによって設定変更が行われたものと思われます。その中身は以下の通りです。

 [wd.bat]

 @echo off

 @powershell.exe Add-MpPreference -ExclusionPath C:\Windows\WinS

 @powershell.exe Add-MpPreference -ExclusionPath C:\

 @powershell.exe Add-MpPreference -ExclusionExtension ".exe"

 @powershell.exe Add-MpPreference -ExclusionExtension ".zip"

 @powershell.exe Add-MpPreference -ExclusionExtension ".bat"

 @powershell.exe Add-MpPreference -ExclusionExtension ".sys"

おわかり頂けたでしょうか。これらは要するに、C:\Windows\WinSとCドライブをスキャン対象から除外し、さらにそれ以外の場所にあるexe,zip,bat,sysの各ファイルもスキャン対象から除外する、というものです。事実上Windows Defenderが無効化されるに等しいものですね。確認のため修正前にWindows Defenderのスキャンを実行してみましたが、スキャンの種類(クイック・フル等)を問わず、スキャンが一瞬で終わるようになっていました。無防備そのものです。

上記の除外設定をそれぞれ逆の処理、すなわち除外リストから削除するコマンドを打って修正します。具体的には以下の通り。管理者権限ありのPowershell上で行います。

[Defender設定修復コマンド]

 $ Remove-MpPreference -ExclusionPath C:\ 

 $ Remove-MpPreference -ExclusionPath C:\Windows\WinS

 $ Remove-MpPreference -ExclusionExtension ".exe"

 $ Remove-MpPreference -ExclusionExtension ".zip"

 $ Remove-MpPreference -ExclusionExtension ".bat"

 $ Remove-MpPreference -ExclusionExtension ".sys"

以上で修正出来ます。実行後、[設定]から各種スキャンをして、スキャンが正常に行われる事を確認し、問題なくスキャンが実行されるならOKです。

ただ、私の環境では、除外設定修正後も、スキャン対象に含まれた筈の上記xcopy.exe(名前は変更)等はウィルス判定されませんでした。おそらく、これらのファイルは、ウィルス一般によく見られる自己複製やファイルの改変等の各種の悪意ある(と判定される)処理を行わず、マイニング処理に特化しているため、現バージョンのWindows Defenderからは通常のマイニングプログラムと判定されているのではないかと思われます。だとすると、wd.batの除外設定は本ウィルスにとっては不要なもので、無駄にPCを危険に晒すものと言えるわけですが。。。なんか間抜けですね。うーん。 

今回やった事はこれで終わりなのですが、一点だけ心残りというか、不明な点が残っています。何かというと、ウィルスプログラムであるところのxcopy.exeが起動されたルートがわかっていない点です。タスクマネージャのスタートアップ、ユーザのスタートアップフォルダ、レジストリのスタートアップを確認し、不要なものは無効にしておきましたが、確実にこれだという確証は得られていない状態なのです。

一番可能性が高いだろうのは、Realtekのオーディオ関連アプリへの偽装でしょうか。レジストリ上のスタートアップ(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run)に、当該アプリ(RAVCpl64.exe)を起動する設定があったのですが、その実行プログラムがある筈のフォルダを見てみるとこれが空だったのです。推測するに、このアプリがウィルスのブートかバックドアの窓口役を担っていて、しかし上記の対処の過程でWindows Defenderのスキャンにより削除されたのではないかと推測しているのですが、今となっては確認も出来ません。原因がわからない、というのはやはり気持ち悪いですね。

ともあれ、以上でウィルスの除去とDefenderの設定修正は完了です。

その後、しばらく様子を見ながら使用してみましたが、ウィルスが復活する事はありませんでした。低負荷動作時にファンが回る事もなくなり、至って静かになったのです。これが本来の姿でしょうし、一安心です。

ただ、静かではあるのですが、発熱はそれなりにしますね。触り続けられない程ではありませんし、ウィルスが動いていた時と比べれば随分とマシなのですが、それでも触ると熱いです。まあ、これが購入前の評判で見聞きしたところの、結構発熱する、という事なのでしょうし、正常な事なのでしょう。しかし、以前のAtom機で見られたような、ファンレスが当たり前に可能だったのと比べると、SSDはもちろん、その他の部品にもダメージは大きそうで、耐久性に不安が残るのはやはり残念ではあります。そこら辺は安かろう悪かろうという事で割り切るしかないのかもしれませんね。ともあれ、今回はこれでおしまい。