MakeSetとウィルス
MakeSetで作成したインストーラーは実行形式です.実行形式のファイルはウィルスに感染する可能性があります.
近頃はメリッサのようなメール関連のものや,マクロウィルスも多くなってきましたが,やはり実行ファイルは一番狙われます.
インストーラーは多くの人に配布することが目的であるため,インストーラーがウィルスに感染していると,周辺に与える被害は大きなものになります.MakeSetでは,1998/08/25に公開のVer4.5から,ウィルス対策としてチェック機能を設けています.
ウィルスにはいろいろなタイプがあって,昔はファイルサイズや,日付の変化を調べていればよかったのですが,今はサイズや日付を変更させないステルスタイプのものも出回っています.
MakeSetで作成したインストーラーはファイルの中身のチェックサムをとっていますので,ほぼ100%検出することができます.ただ,感染を防止することはできません.感染したことを検知するだけです.
以下は実際にあった話です.
1999/10/20に次のようなメールをいただきました.
|
お世話になっております。見多郎作者の齊藤です。 |
見多郎は便利な画像ビューアーで,私も愛用しています.
齊藤さんのホームページでダウンロードできます.
インターネットでは特定の経路を通過すると,ファイル末尾にゴミがついたりすることがあります(現在のMakeSetでは末尾のゴミは自動的にカットします).また,特定の連続文字があるファイルを読めないブラウザが昔ありました.それらの事が記憶にあったので,きっと文字化けに違いないと思いました.
その日の内に,このような返信をしました.
|
こんにちは. |
東風荘というのはフリーで打てるネット雀荘です.あらためて,以前にいただいたメールを見返してみると,「うまくいかない」頻度はもっと低いようです.
1999/10/21に,こんな返信をいただきました.
|
少し返事が遅くなりました。齊藤です。 |
とりあえず調査です.
添付ファイルを通常のファイルに戻して,元のもの(既に別途ダウンロードして持っていました)と比べます.
最初にサイズを比べます.
同じでした.
DOSプロンプトからFCコマンドで比較チェックをします.
ファイルの始めの方で連続して相違があり,通常大半が0x00なところは全く別の値でした.
(この辺でモデムでも不調だったかな.それともこれが認識されない特定文字列かな)
これでチェックできれば,その特定文字列を省けるかも知れないと考えました.
(しかし,この辺はインストーラーの自己解凍ルーチンのはずだから,こんなんで動くのかな)
自己解凍ルーチンに冗長なところがあって,少々の文字化けでも動いているのかと考えました.
実際に動かしてみます.
報告の通りの動作になりました.ER1305を表示してストップする以外におかしな事は起こりませんでした.
(偶然,動作を妨げないところにあるのかな)そんな考えしか浮かびませんでした.
デバッガでステップ実行させてみます.
文字化けの所をどう通過しているのか,プログラム面で興味があったからです.
すると...オリジナルとは全然違うアドレスで動作しています.何らかの処理を行って(この時には「処理」の内容には注目しませんでした)元の流れに戻ってきています.偶然にこんな結果になるはずがありません.
(ウィルスに違いない)青ざめました.
エディタでファイルを開きます.
問題の個所付近を見ると「CIH v1.2」の文字列がありました.
インターネットでCIHを検索すると,出るわ出るわ,ウィルスに関連する情報が山ほど出てきました.いわゆるチェルノブイリウィルスです.
このウィルスは4月26日に発病し,HDDのフォーマットやBIOSの破壊などを行います.
その中にWindowsNTでは発病しないことが記述してあり,とりあえず胸をなでおろしました.
すぐに齊藤さんに連絡です.
|
データ送付ありがとうございました. |
ウィルスチェックソフトは持っていましたが,システムに負担をかけるだけだと考えていたので,インストールしていませんでした.
慌ててインストールし,チェックします.
問題のファイル以外はクリーンでした
想像ですが,齊藤さんに報告された方のマシンが感染していて,それにインストーラーが感染したようです.そしてインストーラーが自分自身を調べて,相違を発見したというわけです.
齊藤さんのマシンも感染してしまったかもしれません.
通常,作者はユーザーから自分のソフトを送ってもらったりしませんから,お願いした私にも責任の一端が,と胸が痛みました.
1999/10/22に,こんな返信をいただきました.
|
この度はどうもありがとうございました。齊藤です。 |
齊藤さんは感染しなかったようで,2度目の「ホッ」です.
教訓
・不用意に問題のあるファイルを実行しない.
デバッガも危険です.必ず最初にウィルスチェックをかけてください.
・MakeSetで作成したインストーラーでER1305,ER2305,ER3305のエラーを甘く見ない.
最近は通信事情がよくなって,文字化けは少なくなっています.
また一部だけの文字化けが発生する可能性は少ないです(それも先頭部分だけに集中している).
以前は自己解凍部分でのエラーは全て「ウィルス」か「改竄」と決め付けていましたが,他の原因で生じるエラーも結構ありました.
今はチェック部分のエラー検出は完全に分離しています.ウィルスである可能性は非常に高くなっています.
実行ファイルを配布されている方にお願いします.
MakeSetの利用者は,ユーザーから同様の報告があったら,すぐにユーザーに危険性を警告してください.ユーザーは配布ファイルのせいにして,なかなか信じないかも知れませんが,その時はこのページを紹介してください.
最初に齊藤さんに報告された方は,3台のマシンが不運にも全てWindows98であったために,言葉通り「全滅」です.
会社のマシンでも実行されたようですが,社内LANでもあって,共有ソフトを使っていたら...などと思うとぞっとします.
警告があって,ユーザーがウィルスチェックできるなら,自分で問題を見つけるでしょう.しかし,そうでない時は作者が協力してあげてください.
今回は私のまずい対応で,同じように感染してしまう危険をおかしましたが,添付ファイルを実行さえしなければ感染する事はありません.
ウィルスチェックソフトがなくても,手元で保管されている原本と比べるだけで,いろんな事がわかるものです.
MakeSetで作成したインストーラーに限らず,実行ファイルを作成して配布されるような方は,コンピュータを深く理解されていることと思います.なるべく他の方の力になってあげてください.ただし,自分が感染しないよう十分に気をつけてください.
みんなで力を合わせてウィルスを撲滅しましょう.