Windows XPスタンドアロン環境にAvira Free Antivirus

スタンドアロン環境でもウィルス監視が必要な理由は、DVD-RやCD-Rなどのリムーバルメディアを媒体とするスニーカーネットワークによって情報が流通しており、コンピュータウィルスも人の手で運び込まれ伝搬して行くからである。

スタンドアロン環境ではネットワークを使ったソフトウェアの更新ができない。当然ながらアンチウィルスのようなセキュリティソフトにおいてシグネチャの陳腐化してしまう問題がある。シグネチャの陳腐化してしまうと監視体制の能力が十分に発揮できないということになる。

もちろんネットワーク環境がないスタンドアロンでの検証が必要である。今回はネットにつながれているLinux端末にて、インストーラパッケージをダウンロードしてCD-RWに焼き付けてスニーカーネットワークといった原始的な方法でWindows XPのPCに持ち込んでインストールした。

候補の選定

Vector: ソフトライブラリ&PCショップ」より何種類かアンチウィルスを検索した中から、動作可能な要求仕様の低い製品を幾つか検討して、実機でインストールして競合しないで動作できるか検証することにした。

ということで、Microsoft Windows XP スタンドアロン環境で、幾つか試したなかでAvira Free Antivirusが一番良好な挙動をしめしているようなので、ほぼ採用決定とする。

Avira Free Antivirusには、手動更新という機能があってCD-Rメディアのようなリムーバルメディアからシグネチャを更新できる仕組みがある。つまり、外界とつながるネットワークのないスタンドアロン環境でもシグネチャの更新が可能となっているのである。

Avira Antivirusシグネチャ入手は、ネットワークに接続されているWindowsないしLinuxにおいて、AviraのサイトよりAvira Fusebundle Generatorというユーティリティをダウンロードして作業を行う*1

LinuxAvira Fusebundle Generatorでの作業

AviraのサイトよりゲットしたAvira Fusebundle GeneratorのZIPアーカイブを任意のパスに解凍して、cdで出来上がったディレクトリにパスを移動する。

カレントには幾つかのファイルができているであろう。その中にfusebundle.binというコマンドが含まれている。

$ ./fusebundle.bin --help
Usage: fusebundle [options]

Info :  The parameters names are not case sensitive.

Command Line :
  -c, --config=str ..........  Config file
  -q, --quiet ...............  If is present, fusebundle will not log 
                               messages on screen
  -v, --version .............  Display version
  -h, --help ................  Display help

General :
  -l, --log=str .............  Log file
  --log-append ..............  Append to log file
  --log-rotate ..............  Rotate the log files
  --log-template=str ........  Log template
  --show-progress ...........  Show download progress

Fusebundle :
  --platform=str ............  The platform for which is created the archive: 
                               freebsd_v62, linux_glibc22, 
                               linux_glibc22_s390, openbsd_v39, 
                               solaris_sparc, solaris_sparc64_v8, 
                               linux_glibc24_x86_64, macosx_x86_32, 
                               macosx_x86_64, win32, win64, 

Update :
  -i, --install-dir=str .....  Install dir
  -t, --temp-dir=str ........  Temp directory
  --master-file=str .........  Master idx
  --peak-handling-srvs=str ..  Peak handling update servers
  --ipv4-peak-server-limit=N   Ipv4 peak server limit
  --ipv6-peak-server-limit=N   Ipv6 peak server limit
  --internet-protocol=str ...  Internet protocol: auto, ipv4, ipv6
  --no-deltaupdate ..........  Do not use delta update
  --no-signature-check ......  Do not check if the files are signed

Internet update :
  --internet-srvs=str .......  Internet update servers

Network :
  --system-proxy ............  Use proxy from system
  --proxy-host=str ..........  Proxy server
  --proxy-port=N ............  Proxy port
  --proxy-username=str ......  Proxy username
  --proxy-password=str ......  Proxy password
  --username=str ............  Username
  --password=str ............  Password
  --update-auth-type=str ....  Authentication type: basic, digest, ntlm, any
  --retries=N ...............  Number of retries
  --retry-timeout=N .........  Timeout between retries
  --connect-timeout=N .......  Timeout for connect
  --receive-timeout=N .......  Timeout for receiving data

ということで、Windows XPで動作するAvira AntiVirシグネチャをゲットするには

$ ./fusebundle.bin --platform=win32

とかすればよい。

ちなみにオプションなしの場合はダウンロードしている環境のシグネチャがダウンロードされる。

Avira Fusebundle Generatorでは複数環境のシグネチャディレクトリツリー内に持って管理できる様になっている。
ダウンロードしたファイルをlsで確認してみよう。

$ ls -lFR
.:
合計 2244
-rwxrwxr-x 1 UN UG 2273320 2011-10-28 21:02 fusebundle.bin*
-rwxrwxr-x 1 UN UG     691 2011-10-24 17:13 fusebundle.conf*
-rw-rw-r-- 1 UN UG    6929 2012-04-18 02:58 fusebundle.log
-rwxrwxr-x 1 UN UG    5149 2011-10-24 17:13 fusebundle_msg.avr*
drwxr-xr-x 2 UN UG      48 2012-04-18 02:58 install/
drwx------ 3 UN UG       8 2012-04-16 23:20 temp/

./install:
合計 121228
-rw-rw-r-- 1 UN UG 61993991 2012-04-16 23:22 fusebundle-linux_glibc22-int.zip
-rw-rw-r-- 1 UN UG 62139255 2012-04-18 02:58 vdf_fusebundle.zip

./temp:
合計 0
drwx------ 6 UN UG 32 2012-04-16 23:24 fusebundle_tmp_mbplnR/

./temp/fusebundle_tmp_mbplnR:
合計 20
drwx------ 4 UN UG   16 2012-04-16 23:24 ave2/
drwx------ 2 UN UG 4096 2012-04-16 23:24 idx/
drwx------ 2 UN UG 4096 2012-04-16 23:22 n_vdf/
drwx------ 3 UN UG    8 2012-04-16 23:24 scanner/

./temp/fusebundle_tmp_mbplnR/ave2:
合計 0
drwx------ 3 UN UG 8 2012-04-16 23:22 linux_glibc22/
drwx------ 3 UN UG 8 2012-04-16 23:24 win32/

./temp/fusebundle_tmp_mbplnR/ave2/linux_glibc22:
合計 8
drwx------ 2 UN UG 4096 2012-04-16 23:22 en/

./temp/fusebundle_tmp_mbplnR/ave2/linux_glibc22/en:
合計 14548
-rw------- 1 UN UG    6635 2012-04-16 23:22 aebb.so
-rw------- 1 UN UG    3103 2012-04-16 23:22 aebb.so.gz
-rw------- 1 UN UG  146970 2012-04-16 23:22 aecore.so
-rw------- 1 UN UG   70890 2012-04-16 23:22 aecore.so.gz
-rw------- 1 UN UG  411234 2012-04-16 23:22 aeemu.so
-rw------- 1 UN UG  134985 2012-04-16 23:22 aeemu.so.gz
-rw------- 1 UN UG   33899 2012-04-16 23:22 aeexp.so
-rw------- 1 UN UG   16029 2012-04-16 23:22 aeexp.so.gz
-rw------- 1 UN UG  369659 2012-04-16 23:22 aegen.so
-rw------- 1 UN UG  180381 2012-04-16 23:22 aegen.so.gz
-rw------- 1 UN UG  242539 2012-04-16 23:22 aehelp.so
-rw------- 1 UN UG  104416 2012-04-16 23:22 aehelp.so.gz
-rw------- 1 UN UG 6071511 2012-04-16 23:22 aeheur.so
-rw------- 1 UN UG 2377807 2012-04-16 23:22 aeheur.so.gz
-rw------- 1 UN UG   88150 2012-04-16 23:22 aelidb.dat
-rw------- 1 UN UG   86968 2012-04-16 23:22 aelidb.dat.gz
-rw------- 1 UN UG  174750 2012-04-16 23:22 aeoffice.so
-rw------- 1 UN UG   77917 2012-04-16 23:22 aeoffice.so.gz
-rw------- 1 UN UG  884463 2012-04-16 23:22 aepack.so
-rw------- 1 UN UG  430158 2012-04-16 23:22 aepack.so.gz
-rw------- 1 UN UG  746770 2012-04-16 23:22 aerdl.so
-rw------- 1 UN UG  349926 2012-04-16 23:22 aerdl.so.gz
-rw------- 1 UN UG  665527 2012-04-16 23:22 aesbx.so
-rw------- 1 UN UG  203885 2012-04-16 23:22 aesbx.so.gz
-rw------- 1 UN UG   90516 2012-04-16 23:22 aescn.so
-rw------- 1 UN UG   44933 2012-04-16 23:22 aescn.so.gz
-rw------- 1 UN UG  558182 2012-04-16 23:22 aescript.so
-rw------- 1 UN UG  183720 2012-04-16 23:22 aescript.so.gz
-rw------- 1 UN UG    2508 2012-04-16 23:22 aeset.dat
-rw------- 1 UN UG     823 2012-04-16 23:22 aeset.dat.gz
-rw------- 1 UN UG   45296 2012-04-16 23:22 aevdf.so
-rw------- 1 UN UG   20896 2012-04-16 23:22 aevdf.so.gz

./temp/fusebundle_tmp_mbplnR/ave2/win32:
合計 8
drwx------ 2 UN UG 4096 2012-04-16 23:25 int/

./temp/fusebundle_tmp_mbplnR/ave2/win32/int:
合計 12980
-rw------- 1 UN UG   53618 2012-04-16 23:24 aebb.dll
-rw------- 1 UN UG   23620 2012-04-16 23:24 aebb.dll.gz
-rw------- 1 UN UG  201078 2012-04-16 23:25 aecore.dll
-rw------- 1 UN UG  100606 2012-04-16 23:25 aecore.dll.gz
-rw------- 1 UN UG  393589 2012-04-16 23:25 aeemu.dll
-rw------- 1 UN UG  122024 2012-04-16 23:25 aeemu.dll.gz
-rw------- 1 UN UG   82293 2012-04-16 23:25 aeexp.dll
-rw------- 1 UN UG   36108 2012-04-16 23:25 aeexp.dll.gz
-rw------- 1 UN UG  418164 2012-04-17 18:04 aegen.dll
-rw------- 1 UN UG  211607 2012-04-17 18:04 aegen.dll.gz
-rw------- 1 UN UG  254327 2012-04-16 23:25 aehelp.dll
-rw------- 1 UN UG  118166 2012-04-16 23:25 aehelp.dll.gz
-rw------- 1 UN UG 4628855 2012-04-16 23:25 aeheur.dll
-rw------- 1 UN UG 1970593 2012-04-16 23:25 aeheur.dll.gz
-rw------- 1 UN UG   88150 2012-04-16 23:25 aelidb.dat
-rw------- 1 UN UG   86968 2012-04-16 23:25 aelidb.dat.gz
-rw------- 1 UN UG  201082 2012-04-16 23:25 aeoffice.dll
-rw------- 1 UN UG  100525 2012-04-16 23:25 aeoffice.dll.gz
-rw------- 1 UN UG  807287 2012-04-16 23:25 aepack.dll
-rw------- 1 UN UG  422567 2012-04-16 23:25 aepack.dll.gz
-rw------- 1 UN UG  639348 2012-04-16 23:25 aerdl.dll
-rw------- 1 UN UG  328419 2012-04-16 23:25 aerdl.dll.gz
-rw------- 1 UN UG  606579 2012-04-16 23:25 aesbx.dll
-rw------- 1 UN UG  207404 2012-04-16 23:25 aesbx.dll.gz
-rw------- 1 UN UG  131444 2012-04-16 23:25 aescn.dll
-rw------- 1 UN UG   63639 2012-04-16 23:25 aescn.dll.gz
-rw------- 1 UN UG  446842 2012-04-16 23:25 aescript.dll
-rw------- 1 UN UG  175487 2012-04-16 23:25 aescript.dll.gz
-rw------- 1 UN UG    2370 2012-04-17 18:04 aeset.dat
-rw------- 1 UN UG     809 2012-04-17 18:04 aeset.dat.gz
-rw------- 1 UN UG  106868 2012-04-16 23:25 aevdf.dll
-rw------- 1 UN UG   48254 2012-04-16 23:25 aevdf.dll.gz
-rw------- 1 UN UG   77569 2012-04-16 23:25 unacev2.dll
-rw------- 1 UN UG   46510 2012-04-16 23:25 unacev2.dll.gz

./temp/fusebundle_tmp_mbplnR/idx:
合計 100
-rw------- 1 UN UG  5849 2012-04-16 23:20 ave2-linux_glibc22-en.info
-rw------- 1 UN UG  1484 2012-04-16 23:20 ave2-linux_glibc22-en.info.gz
-rw------- 1 UN UG  6927 2012-04-18 02:58 fb_ave2-win32-int.info
-rw------- 1 UN UG  1849 2012-04-18 02:58 fb_ave2-win32-int.info.gz
-rw------- 1 UN UG   344 2012-04-18 02:58 fb_fusebundle-win32-int.info.gz
-rw------- 1 UN UG  1962 2012-04-18 02:58 fb_scanner-win32-int.info
-rw------- 1 UN UG   728 2012-04-18 02:58 fb_scanner-win32-int.info.gz
-rw------- 1 UN UG 19349 2012-04-18 02:58 fb_vdf.info
-rw------- 1 UN UG  2807 2012-04-18 02:58 fb_vdf.info.gz
-rw------- 1 UN UG   571 2012-04-16 23:20 fusebundle-linux_glibc22-int.info
-rw------- 1 UN UG   331 2012-04-16 23:20 fusebundle-linux_glibc22-int.info.gz
-rw------- 1 UN UG   739 2012-04-18 02:58 fusebundle-win32-int.info
-rw------- 1 UN UG   358 2012-04-18 02:58 fusebundle-win32-int.info.gz
-rw------- 1 UN UG 18487 2012-04-16 23:20 vdf.info
-rw------- 1 UN UG  2811 2012-04-16 23:20 vdf.info.gz

./temp/fusebundle_tmp_mbplnR/n_vdf:
合計 113044
-rw------- 1 UN UG     1228 2012-04-18 02:58 aevdf.dat
-rw------- 1 UN UG      494 2012-04-18 02:58 aevdf.dat.gz
-rw------- 1 UN UG 19875328 2012-04-16 23:20 vbase000.vdf
-rw------- 1 UN UG 19881276 2012-04-16 23:20 vbase000.vdf.gz
-rw------- 1 UN UG 13342208 2012-04-16 23:21 vbase001.vdf
-rw------- 1 UN UG 13346296 2012-04-16 23:21 vbase001.vdf.gz
-rw------- 1 UN UG 14374912 2012-04-16 23:21 vbase002.vdf
-rw------- 1 UN UG 14379289 2012-04-16 23:21 vbase002.vdf.gz
-rw------- 1 UN UG  4472832 2012-04-16 23:21 vbase003.vdf
-rw------- 1 UN UG  4474215 2012-04-16 23:21 vbase003.vdf.gz
-rw------- 1 UN UG  4329472 2012-04-16 23:21 vbase004.vdf
-rw------- 1 UN UG  4330815 2012-04-16 23:21 vbase004.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase005.vdf
-rw------- 1 UN UG     2015 2012-04-16 23:21 vbase005.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase006.vdf
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase006.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase007.vdf
-rw------- 1 UN UG     2024 2012-04-16 23:21 vbase007.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase008.vdf
-rw------- 1 UN UG     2032 2012-04-16 23:21 vbase008.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase009.vdf
-rw------- 1 UN UG     2039 2012-04-16 23:21 vbase009.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase010.vdf
-rw------- 1 UN UG     2025 2012-04-16 23:21 vbase010.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase011.vdf
-rw------- 1 UN UG     2035 2012-04-16 23:21 vbase011.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase012.vdf
-rw------- 1 UN UG     2040 2012-04-16 23:21 vbase012.vdf.gz
-rw------- 1 UN UG     2048 2012-04-16 23:21 vbase013.vdf
-rw------- 1 UN UG     2039 2012-04-16 23:21 vbase013.vdf.gz
-rw------- 1 UN UG   221696 2012-04-16 23:21 vbase014.vdf
-rw------- 1 UN UG   221768 2012-04-16 23:21 vbase014.vdf.gz
-rw------- 1 UN UG   224768 2012-04-16 23:21 vbase015.vdf
-rw------- 1 UN UG   224848 2012-04-16 23:21 vbase015.vdf.gz
-rw------- 1 UN UG   142336 2012-04-16 23:21 vbase016.vdf
-rw------- 1 UN UG   142399 2012-04-16 23:21 vbase016.vdf.gz
-rw------- 1 UN UG   247808 2012-04-16 23:21 vbase017.vdf
-rw------- 1 UN UG   247906 2012-04-16 23:21 vbase017.vdf.gz
-rw------- 1 UN UG   161280 2012-04-16 23:21 vbase018.vdf
-rw------- 1 UN UG   161310 2012-04-16 23:21 vbase018.vdf.gz
-rw------- 1 UN UG   148992 2012-04-16 23:22 vbase019.vdf
-rw------- 1 UN UG   149047 2012-04-16 23:22 vbase019.vdf.gz
-rw------- 1 UN UG   207360 2012-04-18 02:58 vbase020.vdf
-rw------- 1 UN UG   207433 2012-04-18 02:58 vbase020.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase021.vdf
-rw------- 1 UN UG     2028 2012-04-18 02:58 vbase021.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase022.vdf
-rw------- 1 UN UG     2027 2012-04-18 02:58 vbase022.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase023.vdf
-rw------- 1 UN UG     2005 2012-04-18 02:58 vbase023.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase024.vdf
-rw------- 1 UN UG     2028 2012-04-18 02:58 vbase024.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase025.vdf
-rw------- 1 UN UG     2039 2012-04-18 02:58 vbase025.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase026.vdf
-rw------- 1 UN UG     2035 2012-04-18 02:58 vbase026.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase027.vdf
-rw------- 1 UN UG     2028 2012-04-18 02:58 vbase027.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase028.vdf
-rw------- 1 UN UG     2033 2012-04-18 02:58 vbase028.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase029.vdf
-rw------- 1 UN UG     2039 2012-04-18 02:58 vbase029.vdf.gz
-rw------- 1 UN UG     2048 2012-04-18 02:58 vbase030.vdf
-rw------- 1 UN UG     2033 2012-04-18 02:58 vbase030.vdf.gz
-rw------- 1 UN UG    12800 2012-04-18 02:58 vbase031.vdf
-rw------- 1 UN UG    12781 2012-04-18 02:58 vbase031.vdf.gz

./temp/fusebundle_tmp_mbplnR/scanner:
合計 0
drwx------ 3 UN UG 8 2012-04-16 23:24 win32/

./temp/fusebundle_tmp_mbplnR/scanner/win32:
合計 4
drwx------ 2 UN UG 64 2012-04-16 23:24 int/

./temp/fusebundle_tmp_mbplnR/scanner/win32/int:
合計 752
-rw------- 1 UN UG 229128 2012-04-16 23:24 avreg.dll
-rw------- 1 UN UG 121968 2012-04-16 23:24 avreg.dll.gz
-rw------- 1 UN UG   6566 2012-04-16 23:24 avreg.yml
-rw------- 1 UN UG   6589 2012-04-16 23:24 avreg.yml.gz
-rw------- 1 UN UG 179208 2012-04-16 23:24 avrep.dll
-rw------- 1 UN UG  65532 2012-04-16 23:24 avrep.dll.gz
-rw------- 1 UN UG  99848 2012-04-16 23:24 avscplr.dll
-rw------- 1 UN UG  52705 2012-04-16 23:24 avscplr.dll.gz

2回目の実行からは、更新されたファイルだけがダウンロードされ./install/ディレクトリ内のシグネチャのZIPアーカイブ内が更新される仕組みで、至って簡便な取扱いである。

あとは、定期的にfusebundle.binを実行して./install/ディレクトリ内にできたシグネチャZIPアーカイブvdf_fusebundle.zipCD-RWに焼き付けてスタンドアロン環境に持ち込めば最新の状態が保てるということになる。