\r\n\r\n
長年にわたり、マルウェア開発者とサイバーセキュリティの専門家は、互いに争ってきました。最近、マルウェア開発者のコミュニティでは、検出を回避するための新しい戦術として、画面の解像度をチェックする方法を展開しています。
画面解像度がマルウェアにとって重要である理由と、その意味を探ってみましょう。
マルウェアがなぜ画面の解像度を気にするのかを知るためには、マルウェアの最大の敵である仮想マシンに注目する必要があります。
仮想マシンは、ウイルス研究者にとって便利なツールです。コンピュータの中のコンピュータ」のようなものなので、新しいコンピュータを用意することなく、別のOSを使うことができるのです。
例えば、windows10のコンピュータを持っているが、Linuxを使いたい場合、windows10でLinuxを動かすための仮想マシンをセットアップすることができます。これは、Linuxマシンのようですが、windows10で動いています。
仮想マシンは、デジタル・フライトラップとして機能するため、ウイルス研究者にとって非常に有用である。研究者がプログラムやファイルにウイルスが含まれていると考えた場合、仮想マシンで実行することでテストすることができます。
ファイルにウイルスが含まれている場合、仮想マシンへの感染が始まります。仮想マシンは実際のマシンと同じように設定されているため、ウイルスは仮想マシンではなく実際のコンピュータに感染していると思い込んでしまうのです。その結果、ペイロードの通過を開始し、仮想マシンに被害を与える。幸いなことに、ウイルスはホストコンピュータに「運ばれる」ことはなく、仮想コンピュータにのみ影響を与える。
ウイルスがゲームを流出させたら、研究者はその仕組みを研究し、仮想マシンをリセットすることができる。そして、その仮想マシンから学び、人々の実際のコンピュータを保護するためのウイルス定義ファイルを作成するために使用します。
このように、仮想マシンはマルウェア開発者の悩みの種となっています。あるプログラムにマルウェアが含まれていると疑われた場合、仮想マシン上でそのプログラムを起動し、悪さをしていれば削除することができます。
このようなアプリケーションのテスト方法には、欠陥があります。マルウェア研究者が仮想マシンを作成する場合、すべての追加機能にあまり興味を持ちません。テストに必要なのは、通常のコンピュータと同じように動作する仮想マシンだけで、それ以外はオプションである。
そのため、研究者が仮想マシンのクライアントソフトウェアをインストールしないこともある。このソフトウェアは、研究者が本当に必要としない、より高い画面解像度などのいくつかの追加機能をサポートしています。ユーザーがゲストソフトウェアを使用しない場合、VMは通常、800x600と1024x768の2つの低解像度のうちの1つにユーザーをロックします。
どちらのソリューションも、マルウェア開発者にとって非常に重要なものです。最近のパソコンやノートパソコンには、一般的にそのような解像度の画面はなく、時代遅れになっています。
実際、よく使われる解像度の情報を集めているStatcounterで、いかに時代遅れであるかを知ることができます。本稿執筆時点では、上記のVMの例より大きいか小さいかの解像度になることが多い。
一方、ノートパソコンの解像度は1366x768、PCモニターの解像度は1920x1080。その一方で、360x640の小さな画面が使われているのを見かけるが、これはスマートだ**。
800x600、1024x768は全く表示されません。後者の逆である768x1024は存在し、これはiPadの解像度である。しかし、これでも2.6%に過ぎず、97.4%の端末で異なる解像度が使われていることになる。
したがって、マルウェアがホストに着弾し、800x600または1024x768で動作していると指摘された場合、非常に古いハードウェアを使用しているか、より可能性の高い仮想マシンで監視されているかのいずれかであることが判明します。
このようにウイルスが実行されると、ウイルス研究者の鼻先でゲームを消してしまうのです。そのため、マルウェアはその秘密を守るために、代わりに損害を与えることなく自分自身を終了させます。
研究者の立場からすると、このプログラムはコンピュータに感染することなく実行されるので、良性に違いない。そのため、マルウェアが最終的に捕まる前に、プログラムに誤ったネガティブレポートを付与し、より遠くまで拡散させる可能性があります。
マジシャンは、野生のこの戦略の良い例です。研究者は、最近のTrickBotのコードを解読し、その動作を分析することに成功しました。TwitterユーザーのMakさん(@maciekkotowicz)は、TrickBotに800x600または1024x768の解像度をスキャンするコードの一部を発見しました。
このコードでは、ウイルスはコンピュータの解像度のXとYの値を取り、それらを組み合わせて結果を見ます。この結果、800x600または1024x768となった場合、数値0が返され、マルウェアは仮想マシンで動作していることが分かります。
マルウェアは、自分が仮想マシン内にいることを知ると、検出を避けるために自己破壊します。その結果、仮想マシンのウイルスチェックをする人は、安全であると誤って判断してしまうのです。
これはもちろん、1024x768や800x600の解像度を使用していれば、特定のマルウェアの攻撃から安全であることを意味します。到着すると、あなたの覚悟に気づき、ダメージを与える前に自爆してくれます。しかし、あなたはそのような官僚的な解決コンピュータを使用してあなたの正気を失うだろう保護を得る!?
したがって、この新種のウイルスを撃退する最善の方法は、ウイルス対策ソフトウェアをアップデートすることです。このアンチVMの手口が公開された以上、ハイエンドのセキュリティ企業が再びこの手口に引っかかることはないだろう。
しかし、自分の仮想マシンでファイルをテストすることが多い人は、この点に注意が必要です。VMが800x600または1024x768で動作している場合、より一般的な解像度に設定することが望ましい場合があります。そうでない場合、テストされるファイルにこのアンチVMの予防措置がインストールされているかどうかを判断する方法はありません。
サイバーセキュリティが巨大産業となった今、マルウェア開発者は一歩先を行くために適応していかなければなりません。新しいマルウェアは、準備されていない仮想マシンで実行すると捕捉されないので、ウイルステストに仮想マシンを使用する場合は、この点を覚えておくことが重要です。
最高のウイルス対策ソフトは常識です。ウイルスに感染しないための簡単な方法を学んでみませんか?