Smily Books Blog 2023年7月更新中

ウィルスの原理と対策 一瀬小夜(ソフトバンクパブリッシング株式会社)

1.ウィルスの仕組み
(1)ファイル感染型のキャビティ型(スペースフィラー型)
Windows32ビット実行可能形式のPE(Portable Executable)ファイルにある
多くのスペース(通常リンカによりNULLスペース有り)にウィルスコードを埋め込む
→ファイルサイズ変化なし、ファイル内から完全駆除困難
(2)ブート感染型
ブートセクタ(FD)、ブートパーティション(HDD)共に領域が狭いため、別領域への移動処理だけ行うプログラムで上書きし、
ウィルス本体のメモリ常駐、割り込みフック、ディスクアクセス時の自己複製といった処理は別領域でブート(OS起動)させた後、行う。
ただし、WindowsNTは感染しても、保護モードのディスクドライバが使用されるため、実害なし。
(3)マクロ感染型
Word、Excelでも、Macでのデータ互換タイプもあるため、Macユーザも注意が必要。
Excelのような複雑な組込マクロだけでなく、Wordの標準テンプレートで感染するタイプもあるため注意が必要。

2.進化するウィルス
(1)ワーム=宿主なしで活動可能。メール媒体によりクライアントに潜伏するものとサーバのセキュリティホールを利用するものがある。
(2)メール媒体による自己増殖のしくみ(HAPPY99の場合)
 WSOCK.DLLを改変し、メールやニュースが送信されるたびにska.dllをロードする
 (WSOCK32.DLLのsend()、recv()、connect()といったエクスポートにフックしてska.dllをロードする)
 ska.dllは同じ送信先にHAPPY99.EXEを添付したメールを送信する。
 WSOCK.DLL使用中の場合もマシン起動時にska.exeを実行するようにレジストリを改変する。
 (HKEY_LOCAL_MACHINE\Software\Microsot\windows\CurrentVersion\RunOnceフォルダに
  ska.exeデータを作成する事でマシン起動時にWSOCK.DLLが使用される前にska.exeが実行される。)
(3)添付ファイルの実行ファイルをクライアントに実行させてしまう手口
 二重拡張子(例.通常設定では.doc→拡張子表示設定にすると.doc.exe)
アイコンの変更(例.通常設定ではHTMLのアイコン→種類を見るとアプリケーション.exe)
(4)自己増殖かつシステムクラッシュさせる手口(Magistr)
 Explorer.exeの使用しているメモリ空間にある読み込み可能、書込み可能、初期化済みの領域にコードを挿入する。
 TranslateMessage機能が呼ばれるタイミングで同コードが呼ばれ、コンピュータ名取得、ファイル検索といったあらゆるコントロールを可能とする。
 発病症状としてはファイル、CMOS、FlashBIOSの削除と悪質
(5)メール媒体による自己増殖のしくみ(Sircumの場合)
 独自のSMTPエンジンにより大量メール送信する
(6)クライアントに実行させなくともスクリプトを実行してしまう手口
 HTML形式のメール本文にVBScriptを埋め込む(BubbleBoyの場合)
 InternetExplorerコンポーネント機能により、MIME形式のContent-Typeに適したアプリケーションをname=にあるファイルを実行する。
 よって、OutlookやOutlookExpressのプレビュー機能により、結果的にメールを表示させただけで感染してしまう(Nimdaの場合)
(7)サーバ上で実態となるファイルを送りつけないで実行してしまう手口(CodeRedの場合)
 IISのIndexServerのセキュリティホールをつき、HTTPリクエストパケットで増殖する
 GETコマンドのパラメータに直接機械語を記述し、バッファオーバーフロー(リターンアドレスジャンプ)を実現させる
 本処理は、IndexServerが提供するサービスを呼び出す前に発生するため、
 IISさえ稼動していればこのセキュリティホールが利用されてしまうので要注意

3.ウィルス対策ソフト
(1)パターンマッチング方式
 ウィルスのパターンを定義ファイル化しておき、検査対象のファイル、メモリ、ブートセクタなどと比較
(2)チェックサム方式
 感染していない.com、.exeなどの実行可能ファイルのバイト数などをデータベース登録しておき、検査対象と比較
(3)ヒュ−リスティックスキャン方式
 スタティック方式(ファイルを開く、プログラムを終了するといった動作シグネチャ−をデータベース登録しておく)
 ダイナミック方式(CPUエミュレーションにより、実行形式ファイルをエミュレートして検査)
(4)ルールベース方式
 システム領域の書き換え、実行ファイルへの書込み、特殊なメモリに常駐といった挙動を監視し、ウィルスコードが実行されていないか確認

4.クライアント対策
(1)InternetExplorer
 ActiveXを無効にする、JavaアプレットJavaScriptを無効にする、ダウンロードを無効にする
(2)Outlook
 メールに添付可能なファイル形式の制限、外部プログラムからアクセスがあった場合に警告
(3)OutlookExpress
 プレビュー機能の停止
(4)Explorer
 サムネイルの非表示、登録された拡張子の表示、VBS拡張子とWSH(WindowsScriptingHost)の関連付けを無効化

5.サーバ対策
(1)IIS
 不要な仮想ディレクトリの削除、不要なマッピングの削除、
 (不要であれば)ISAPIエクステンション自体の使用不可
 コンテンツを別ドライブにする(通常コンテンツ格納ドライブC:\inetpubをCドライブ以外とする)