図1 デジタル署名が付与されたウイルス「W32/Hupigon.OLY」のプロパティ(エフセキュアの情報から引用。以下同じ)。ウイルスプログラムの内容とデジタル署名が対応していないために、「This digital signature is not valid」と表示されている
図1 デジタル署名が付与されたウイルス「W32/Hupigon.OLY」のプロパティ(エフセキュアの情報から引用。以下同じ)。ウイルスプログラムの内容とデジタル署名が対応していないために、「This digital signature is not valid」と表示されている
[画像のクリックで拡大表示]
図2 ウイルス「W32/Agent.DJDO」のデジタル署名で使われている証明書のプロパティ
図2 ウイルス「W32/Agent.DJDO」のデジタル署名で使われている証明書のプロパティ
[画像のクリックで拡大表示]

 フィンランドのセキュリティ企業エフセキュアは2010年6月21日、デジタル署名が付与されたウイルス(悪質なプログラム)を多数確認しているとして注意を呼びかけた。プログラムの正当性を検証できるデジタル署名は有用だが、過信は禁物としている。

 デジタル署名とは、デジタルデータ(ファイルやプログラム)の作成者や完全性(改ざんされていなこと)を証明するために付与されるデータのこと。通常、CA(認証局または認証機関)と呼ばれる第三者機関が、審査をした上で付与する。このため、デジタル署名が付与されたプログラムは、付与されていないプログラムと比べて信頼性が高いと考えられる。

 しかしながらエフセキュアでは、デジタル署名が付与されたウイルスを多数確認しているという。2010年5月時点で、2万3817件のデジタル署名付きウイルスを確認。不審なプログラム(Potentially unwanted programs:ユーザーによっては不要と考えるプログラム。ツールバーやアドウエアなどが該当)については、38万4935件にデジタル署名が付与されていたという。

 ウイルスにデジタル署名を付与する手口の一つは、正当なプログラムに付与された署名をコピーすること(図1)。この場合、デジタル署名は付与されたプログラムには対応していないので、Windows Vistaや7で実行しようとすると、署名が無効であるとの警告が表示される。ただ、ファイルのプロパティなどからは、署名が無効であることは分かりにくく、ユーザーや対策ソフトメーカーなどを欺くには“有効”な手口だという。

 別の手口としては、CAに依頼するのではなく、自分自身でデジタル署名を付与する「自己署名」がある。ただしこの場合も、別プログラムの署名をコピーした場合と同様に、実行時などには警告が表示される。

 企業名を偽るなどしてCAをだまし、正当なデジタル署名を発行してもらう手口もある(図2)。この手口なら、前述の手口とは異なり、警告は表示されない。特に、デジタル署名の取得を代行する業者に頼むと、比較的容易に発行してもらえるという。エフセキュアが所有する「デジタル署名付きウイルス」のうちの295件は、ある特定の代行業者によって署名が取得されている。

 そのほか、ソフトメーカーの開発環境にウイルスを感染させて、開発されるソフトウエアにウイルスを仕込む手口もある。この場合、ソフトメーカー自身が「ウイルス感染ソフト」に対して、CAからデジタル署名を発行してもらうことになる。例としては、プログラム開発ツール「Delphi(デルファイ)」に感染するウイルスを使った手口が確認されている。

 「Induc(インダク)」などと名付けられたそのウイルスは、Delphiのライブラリーに感染。以降、そのDelphiで作成されるソフトウエアすべてに、ウイルスが埋め込まれるようにする。できあがったソフトにデジタル署名を付与すると、知らないうちに「デジタル署名付きウイルス」が作成されることになる。

 デジタル署名には、不正が発覚した場合、CAが無効にできる仕組みがある。しかしながら、実際には適切に機能していないという。エフセキュアのスタッフによれば、ウイルスに付与されているデジタル署名をCAに報告しても、なかなか対処してもらえないとする。

 同社では、デジタル署名の悪用は今後も続くと予測する。対策としては、ウイルス対策業界が連携して、不正なデジタル署名に関する情報を交換したり、CAに報告したりする取り組みが必要だろうとしている。