パロアルトネットワークスは4月10日、ここのところ流行しているランサムウェア「Locky」や「Teslacrypt」が新たな手法でシグネチャによるアンチウイルスの検知を回避して感染を広げようとしているとして、注意を呼びかけている。

Lockyは2月初旬以降に登場したランサムウェアで、1500以上の亜種、82万回のセッションが確認されている。アメリカを主に狙ったものだが、日本でも6000以上のセッションが確認されている。

Lockyの世界分布図

同社が指摘した新たな手法は、隠匿されたAPIを呼び出すコードを用いたもので、埋め込まれた単語の辞書から生成され、システム関数を解決して、一般的な静的分析ツールから真の機能を隠す。API呼び出しを細工することで、キー名に基づいた分類が機能しなくなり、マルウェアが検出されない確率が上がる。

API呼び出しに渡される変数。一見すると奇妙な文字列としか判別できない

しかも、この機能はあくまで一部に過ぎず、新しいサンプルでは、実行時にライブラリにロードされるインポートテーブルが大きく異なり、実際には実行時にまったく使用されていなかった。そのため、インポートハッシュによる検出ができないという。

ただし、実行ファイルのバージョン情報を確認すると、サンプルによって違いがあるものの、識別に利用できそうな明確なパターンもあるとされる。埋め込み文字列はマルウェアのサンプルごとに異なっており、使われているものと使われていないものがあった。さらに細かく調査すると、作成者は分析を困難にするため、大量の単語を使ってノイズや無意味な命令を生成している。

単語リストは一貫性がない

同社の検出では、Lockyだけでなく、通称「vvvウイルス」ことTeslaCryptやAndromedaマルウェアでも使われているという。