2006年11月26日 - ウイルス対策ソフトメーカーは、デジタル署名・コードサイニング証明書が無いマルウェア対策ツールを配布するべきではない

 アンチウイルスソフトを販売するメーカーは、製品とは別に駆除ツールなどのシンプルなプログラムを配布する。
 だが多くの場合コードサイニング証明書・電子署名が無く、本当にウイルス対策ソフトメーカーによるプログラムなのか否かを判別できない。
 これでは悪意がある第三者による改変検出できないし、「正規のファイルと装った罠プログラムの再配布」のリスクを回避できないだろう。
 本文が多少長いので、要点は末尾のConclusionにまとめた。

デジタル署名・コードサイニング証明書とは


 コードサイニング証明書については、コードサイニング証明書辺りを読んでいただきたい。
 粗く要約してしまえば、あるプログラムファイル等が"信頼できるのか"を判別するためにコードサイニング証明書の電子署名・デジタル署名をファイルにくっつけ、署名が"信頼できる団体が発行したものか否か"を証明するために認証局(CA:Certification Authority)が発行する電子証明書・デジタル証明書を利用する。

 信頼できる認証局(CA:Certification Authority)が発行したものではない電子証明書や所謂オレオレ証明書の話も思い浮かぶが、本題は電子署名そのものの有無なのでスルーする。

ファイル作成者・署名者の証明(実在性)


 ファイルに付けられたデジタル署名は、あるプログラムが本当に特定のメーカー・団体が作成したものか否かを確認する手段の一つだ。
 君がMcAFEE社なりSymantec社よりソフトウェアの体験版をダウンロードしたらば、署名者名はMcAfee, Inc.やSymantec Corporationとなっているだろう。
 デジタル署名を確認すればプログラムファイルが確かに当該企業が製造・配布したものと確認でき、更に証明書を確認し信頼できる機関が発行したものであれば間違いは無いだろう。

 もしもダウンロードしたインストーラファイルにてデジタル署名が無くダブルクリック時に「発行元を確認できませんでした。このソフトウェアを実行しますか?」などと警告するダイアログが出たり、署名者名が全く無関係な企業の名称であったらば注意が必要なのだろうか。

 ネット上では多くのダウンロードサイトや個人サイト更には幾つかのいかがわしいサイトにて、アンチウイルスソフトメーカーが提供しているファイルや、どこかの個人・団体が作成したセキュリティ対策ツールが再配布されている。
 ダウンロード後に「ファイルの本当の出所」を判別する手段としては、コードサイニング証明書は有用だろう。

 あくまでも仮定の話だが。ファーミング詐欺やhostsファイルを改変された場合は、どこかのアンチウイルスソフトメーカーのサイトに似せた罠サイトに接続されてしまうやもしれない。

実在性と信頼の罠


 コードサイニング証明書は「署名者が実在する」と証明するに過ぎない。

 「Symantec社よりダウンロードしたファイルにSymantec Corporationの電子署名があり、なおかつVeriSignの証明書がついているので、確かにSymantec社が配布したファイルだろう」との判断は、間違ってはいないだろう。
 しかしシマンテック社(Norton Anti-Virus等のメーカー)に類似した名称の「Synantec Corporation(mをnに入れ替えた)」によるコードサイニング証明書だったらば?
 Symantecと似たようなSynatec社が配布するNorton Anti-Virusのファイルは、さすがに怪しいだろう。
 (McAFEES Inc.とかSynantec Corporationのようなメーカーと類似の名称で証明書を取得し電子署名する攻撃や、信頼できる認証機関の証明書が無い電子署名を利用し騙す攻撃も有り得なくは無いような気がするが、ブログエントリのテーマは「コードサイニング証明書が無いファイルを配布するな」なので省く)

 では、視点を全く切り替えた別の話を一つ。

 君はある日、とあるスパイウェア対策ソフトA-Antivirusを見つけ、ダウンロードしたとする。
 ファイルのコードサイニング証明書には、A社(A-Antivirus販売元)。
 これは安全なのか?
 A-AntivirusのインストーラファイルであるA-Antivirus.exeがA社によるものだと証明されたとして、このファイルが「本当に安全か否か」「消費者を騙す目的の詐欺的ソフトウェアか否か」をコードサイニング証明書は証明できないのだ。
 「詐欺的ソフトウェア」の中には、ファイルに堂々と電子署名が付けられているものもあるだろう。

 個人が配布するプログラムに電子署名を付けるべきか否かに関し、面白いブログがあったので紹介する。

プログラムに悪意が無いことを保証するなんてムリ
 技術者ならもちろん、技術者じゃない人でもわかると思うけど、作られたプログラムに悪意があるかどうかなんて、機械に判断できるワケがないでしょう。冷静に考えたらそんなこと誰だって理解できるはず。そんなどう考えても無理なことを、電子署名に期待してる人がいるというのが、私には信じられません。
 個人が趣味で配布するFirefoxの拡張機能が安全であることを、電子署名が保証してくれるのか(2006年11月15日)(むぅもぉ.jp)

 だが個人レベル・どこの何ともわからない企業のコードサイニング証明書はともかく、信頼できる(と利用者が考える)企業が配布するファイルであるのか否かを判別するには、大変有用な手段であるのは間違いないだろう。

ファイルの同一性を証明


 ファイルにつけられたデジタル署名は、署名された後にファイルが改変されていないか否かを判別するための指標となる。同一性を確認するための手段だ。

 コードサイニング証明書があるファイルを破壊・改変すると、どうなるんだろうか?
 ファイルをバイナリエディタでもメモ帳(notepad.exe)でもいいから適当なソフトで開き、どこかの1文字を削除してから上書き保存する。
 改変されたファイルのプロパティでは、デジタル署名タブが消失するだろう。

 一例としてMcAFEE社よりダウンロードしたデジタル署名付きファイルを実行すれば、WindowsXP SP2ではこのようなダイアログが表示される。


 デジタル署名付きファイルが改変されると、実行時のダイアログにて「発行元を確認できませんでした。このソフトウェアを実行しますか?」と警告されるだろう。
 (元々コードサイニング証明書が無かったプログラムファイルでも、同様の警告が表示される)

 更にはファイルのプロパティより、デジタル署名タブが表示されなくなるだろう。

デジタル署名(コードサイニング証明書)の表示と確認


 一例として先日McAfee Internet Security Suite体験版(McAFEE)を導入するために用いた実行形式ファイル、DMSetup.exeを例とする。

 ダウンロードしたファイル上でマウスを右クリックし、プロパティ(R)を押すと、ファイルのプロパティが表示される。

 デジタル署名タブを開けば、電子署名の一覧項目に、署名者名・電子メールアドレス・タイムスタンプが表示されるだろう。

 詳細(D)を押せば、デジタル署名に関する詳細情報が表示される。


 ファイルをダブルクリックし実行した際に、デジタル署名(コードサイニング証明書)が無かったり、デジタル署名の証明書に何か問題があれば、このような警告ダイアログが表示されるやもしれない。


アンチウイルスソフトメーカーが配布する駆除ツールの不思議


 多くのメーカーは、製品を購入せずとも利用できる駆除ツールを配布している。だがこれらの多くは、コードサイニング証明書が無いのだ。
 誰が作ったファイルなのかわからないし、第三者による改変を受けても判別できないだろう。
 セキュリティ対策を謳うならば、まず真っ先に対応すべき業種であるはずなのだが。

 と言う事で、著名メーカーの体験版・総合駆除ツール・個別のマルウェア向け駆除ツールや検出ツール類を、一通りダウンロードしてコードサイニング署名の有無を確認してみよう。

 販売されているソフトウェアの体験版プログラムファイルでは、コードサイニング証明書がまともな認証局が発行した電子証明書による裏づけがあるのか否かを確認した。
 個別の駆除ツール類では、ファイルのプロパティよりデジタル署名タブを開き、コードサイニング証明書を利用しているか否かのみをチェックした。

シマンテック社(Symantec Corp.)


 ノートン インターネットセキュリティ 2007体験版(nis07100jp.exe)には、Symantec Corporationが署名者のコードサイニング証明書があった。

 無償ウイルス駆除ツールリスト(Symantec)にて公開されているファイルは、どうだろうか。
 リンク切れ・重複とSymantec Mobile Threats 駆除ツールとshell\open\command レジストリキーのリセットツールのUnHookExec.infを除く94ファイルをダウンロードした。
 (comファイルはInternet Explorer SP2のインターネットオプションより「拡張子ではなく、内容によってファイルを開くこと」を有効にしなければダウンロードできなかった)
 デジタル署名が無いのは、FunLove.4099用のFixfun.exe、W32.Kriz用の自動解凍圧縮書庫fixkriz.exeと解凍後のファイル、W95.HybrisF 駆除ツールのfixhybf.zipと解凍後のファイルの3つであった。

トレンドマイクロ社(Trend Micro Incorporated)


 ウイルスバスター2007 トレンド フレックス セキュリティ体験版(vb27f1500eTE.exe)には、Trend Micro Incorporatedが発行者のコードサイニング証明書があった。

 ウイルス駆除ツール(Trend Micro)では総合駆除ツールのシステムクリーナーと個別の専用ツール、そしてWinny悪用ウイルス駆除ツールが公開されている。「ELF_SADMIND.A」検索ツール(SPARC/X86両用)と「WORM_PRETTYPARK」自動駆除ツールを除く、21ファイルをダウンロードした。
 システムクリーナー(auto_tsc.com)とWinny悪用ウイルス駆除ツール(Fix_VirusOnWinny.exe)、その他ダウンロードできた全てのファイルいずれもデジタル書名は無かった。

マカフィー株式会社(McAfee Co., Ltd.)


 McAfee Internet Security Suite体験版をインストールする際にダウンロードするDMSetup.exeは、McAfee, Inc.が発行者のコードサイニング証明書があった。

 マカフィー社の総合駆除ツールであるStingerv2.6.0(スティンガー)をAVERTウイルス駆除ツール(McAFEE)よりダウンロード。stng260.exeにはコードサイニング証明書は無かった。

 ウイルス駆除ガイド(McAFEE)にてダウンロードした個別の駆除ツール、Nimda 駆除ツール(NimdaScn.zip)とSircam 駆除ツール(scrmove2.zip)は、解凍して作成されたファイルにはデジタル署名は無かった。

エフ・セキュア(F-Secure Corporation)


 F-secure インターネットセキュリティ 2007 体験版(fs2007.exe)には、F-Secure Corporationが発行者のコードサイニング証明書があった。

 ルートキット対策ツールとして著名なF-Secure BlackLightのblbeta.exeはデジタル署名があり、更にはサイト上にMD5とSHA-1のチェックサム(Checksums)が公開されていた。

 Malware Removal Tools(F-Secure)には73種(73 Families)向けの駆除ツールが掲載されており、それぞれexeやzipその他各種バージョンがある。
 reg・Jar・sis・batファイル・解説のtxtファイルを除き、28のexe・5つのcom・実行形式ファイルを圧縮した50のzipファイルのみをダウンロードした。
 f-slammer.zip中のpsapi.dll、getmac11-13.zip中のGETMAC.SCR、また全てのexe・comファイルにてデジタル署名が無かった。


キャノンシステムソリューション株式会社(Canon System Solutions Inc.)


 ダウンロード(キャノンシステムソリューション株式会社)より先日ダウンロードした、NOD32アンチウイルス V2.5 体験版 for Microsoft Windows NT/2000/XP(ndtr2kxp.exe)を検証した。
 ファイルにはコードサイニング署名があり、署名者名は「CANON SYSTEM SOLUTIONS INC.」であった。

コンピュータ・アソシエイツ (CA:Computer Associates International, Inc)


 トライアル版ソフトウェア - 個人、SOHO向け製品ストア(CA)よりダウンロード。

 2006年11月14日にダウンロードした、CA インターネット セキュリティ スイート 2007体験版ファイル(iss3_jp_trial.exe)のコードサイニング署名にて、署名者はInvision.com, Inc.であった。

 CA(Computer Associates International, Inc. (コンピュータ・アソシエイツ・インターナショナル・インク) )とINVISION.com, Incはそれぞれ密接な繋がりがあるようなのだが(INVISION、ネットワークサービス配信強化のためiCan SPを選択(CA)
 大多数の消費者は、Invision.com, Inc.って何だ?だろう。これではコードサイニング署名を見たエンドユーザーは、わざわざInvision.comがどのような企業なのか調べなければならないだろう。
 。。。。。。何を考えているんだ?
 2006年11月24日に同じファイルをダウンロードしたらば、署名者欄はCAとなっていた。

 CA アンチウイルス 2007 特別優待版(av81_jp_trial.exe)、CA アンチスパイウェア 2007(aspy9_jp_trial.exe)、CA アンチスパム 2007(aspam5_jp_trial.exe)、CA パーソナル ファイアウォール 2007(pfw9_jp_trial.exe)はいずれもCAが署名者名のコードサイニング証明書があった。

 CA デスクトップDNA マイグレーター 2007(DNAMigrator_r11SP1.exe)は圧縮書庫であり、解凍したらばsetup.exeを実行するように促すダイアログが出現した。
 圧縮書庫のexeファイルとsetup.exeいずれにもコードサイニング証明書は無かった。

株式会社ジャストシステム(JustSystems Corporation)


 一太郎で有名なジャストシステム社は、何故かウイルス対策ソフトメーカーとして著名なカスペルスキー社より日本国内における独占販売権を取得した。
 (Kaspersky Labs Japan

 ジャストシステムよりKaspersky Internet Security 6.0 試用版(kis6jpta.exe)をダウンロード。
 WinSFX32M形式の自己解凍書庫ファイルには署名者がJUSTSYSTEMS CORPORATIONのデジタル署名があったものの、「このデジタル署名は有効ではありません。」と表示される。

Grisoft


 ewido anti-spyware改めAVG Anti-SpywareをFree download(ewido)よりダウンロード。
 AVG Anti-Spyware free 30-day trial versionのavgas-setup-7.5.0.50.exeには、署名者名GRISOFT LTDのコードサイニング署名があった。


 kis6jpta.exeをダブルクリックすると、エラーダイアログが表示された。何か問題があるファイルをダウンロードしてしまったらしい。


 なお解凍後にできたKISフォルダ中のKLMENU.EXEとAPKASP.DLLには、デジタル署名が無かった。

キングソフト株式会社(Kingsoft)


 キングソフトは中国キングソフト(中国名:金山軟件股有限公司)の日本法人である。KINGSOFT InternetSecurity 2007は無料版(体験版)を6ヶ月間利用でき、有料版でも年間利用価格は980円と破格の金額である。
 個人的にはキングソフトのサポートページ(2006年1月3日)(Semplice)以来、どうも印象が悪い。

 KINGSOFT InternetSecurity 2007無料版のインストーラーファイル(kis2007.EXE)をダウンロード。
 ファイルにはコードサイニング署名がなかった。

( 株 ) Sinwoo communication(SINWOO Co. Ltd.)


 韓国のEUsoft社の製品であるバイドクターは、日本国内では ( 株 ) Sinwoo communication(SINWOO Co. Ltd.)が販売している。
 バイドクターのEUsoft社と検索エンジンスパム(2006年3月2日)(Semplice)でも取り上げたが、悪質な検索エンジンスパムやブログのコメントへの宣伝、不審なスパイウェアを一緒に導入するとの報告など、あまりにも微妙な企業だ。

 インストーラーファイルのvidoctorsetup.exeをダウンロード。
 ファイルにはコードサイニング署名が無かった。

Conclusion


 コードサイニング証明書はデジタル署名をファイルに付記する事により、ファイルの作成者とファイルの署名日時を証明し、ファイルが署名後に改変されていないと保証するための手段である。
 アンチウイルスソフトメーカーが配布する、ソフトウェアの体験版プログラム・総合駆除ツール類・個別の駆除ツール類のデジタル署名を調べてみた。
 幾つかのメーカーでは、体験版ファイルにデジタル署名が無かったり、また署名者名がどこの誰なのかわからないようなデジタル署名であった。
 体験版ファイルと比較し、メーカーが提供するその他の駆除ツールではコードサイニング証明書が無い事例が多かった。

関連記事


 民間有志によるマルウェア対策ツールは、有名になるほど大きな運用リスクを抱える
 署名ツール (SignTool.exe) でファイルにデジタル署名を


この記事へのトラックバック
タイトル間違ってない? いいえ、間違ってない! 「スパイウェアの脅威」はみんなも良く分かってると思う。 今回説明するのは、 「アンチスパイウェアの脅威」 なんだ。 いやー、世の中も恐ろしくなったものだ。知らないでパソコンを使っていると、いつの間にか「キーロガー」...
「アンチスパイウェア」の脅威!【「似非記者ブログ」】at 2006年12月19日 20:17
この記事へのコメント
自ブログ過去記事で、ErrorSafeはデジタル署名をしているから「安心」だと主張してます。
今もまだ同じです。


(ダウンロードをボタンを押すとポップアップにて)
---ここから
<jp.errorsafe.com>
ErrorSafeはエラー検出のためにシステムをスキャンします。
要求されると、「実行」または「開く」を押してください。

このファイルは100%ウィルスフリー、スパイウェアフリー及びアドウェアフリーと証明されデジタル署名がされています。
---ここまで

(知らない人のため念のために書きますが、ソフトそのものがぜんぜん安心じゃないです。)

Posted by itochan at 2006年11月27日 14:27
多くのいかがわしい詐欺的(もしくは本当に詐欺)ソフトウェアにて、デジタル署名は付随しておりますね。

デジタル署名そのものは、署名者が信頼に足る企業なのか否かを判別するための確実な指標には成りえません。
Posted by Luca at 2006年12月01日 00:19