皮肉なことですが、マルウェアによる攻撃が激しい勢いで増えている要因の一つは、ウイルス対策ソフト用の技術の進化がもたらしています。理由は極めて単純です。ウイルス対策ソフトのスキャン機能がトロイの木馬やウイルスの活動をうまく阻止できないのであれば、マルウェアの背後にいる犯罪者は新作を開発する必要性など、ほとんど感じないでしょう。「マルウェアの作者は世界中のユーザーを漏れなく捕まえようとして、象が落ちるほど大きな穴を掘っている」と例えることもできます。何故なら、ウイルス対策ソフトが新たに登場する多くのマルウェアへの対応を迫られ、PCの動作を遅くしてしまっているからです。
落とし穴を掘り、マルウェアを隠すという行為はたとえ話であり、実際には主にパッカー(「UPX」や「Petite」など)やプロテクタ(「Armadillo」や「Themida」など)といったツールを使用します。パッカーにはプログラムのサイズを小さくする(ハードディスクの使用量を減らす)という用途、プロテクタにはプログラムに対するパッチ適用やハッキング、リバースエンジニアリングを防ぐという用途が、それぞれ備わっています。ところがマルウェア作者は、マルウェアがウイルス対策ソフトから検出されないようにする目的で、パッカーとプロテクタを利用することがよくあります。
特に商用プロテクタは、マルウェアの中にスパム用ボットをうまく隠せることから、マルウェア作者に非常に好まれます。付け加えておくと、プロテクタを使用したファイルは、同様にプロテクタを使用して難読化した無害なファイルと同じように見えます。この手口を使用したマルウェアの事例は、徐々に増えています。
その結果、パソコン上のウイルス対策ソフトは当然のように、「Themida」でパックしたゲームやスパム用ボットと遭遇します。ウイルス対策ソフトがゲームなのかボットなのかを区別するためには、保護されている「中身」を知る必要があります。しかし残念なことに、中身を手早く見極める簡単な方法はなく、検査処理には非常に時間がかかります。
ソフトウェア保護策を使用する開発者の方々には、ぜひとも、よく考えていただければと思います。自分の作成した無害なファイルがウイルス対策ソフトに誤ってブロックされたり、長くかかる検査処理のせいでパソコンの速度が低下したりするリスクが高まっているのです。いずれもユーザーに迷惑をかけてしまうでしょう。プロテクタによる難読化が不可欠だと思うのであれば、ファイルへのデジタル署名だけは施してください。ファイル提供元を調べることが可能になり、疑われにくくなるからです。
プロテクタはあまりにも悪用されているため、もはや安全なソフトウェア技術とは言えません。使用しないで済むのであれば、使用しないことを推奨します。
※本ページの内容はMcAfee Blogの抄訳です。
原文:Who Digs the Elephant Trap?