ClamAV のための GMP ライブラリ

ナビゲーションをスキップして本文へ

階層ナビゲーション

前後のナビゲーション

概要

ClamAV を完全にビルドするために必要な The GNU MP Bignum Library のインストールについて説明します。対象は Mac OS X 10.4.8GMP 4.2.1 です。

なぜ必要か

ClamAV 0.88.5 のドキュメントには次のようにあります。

It's very important to install the GMP package because it allows freshclam to verify the digital signatures of the virus databases. If freshclam was compiled without GMP support it will display "SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES" on every update.

Requirements から2006年12月11日に引用

和訳すると次のような意味です。

freshclam がウィルスデータベースの電子署名を確認するようになるので GMP パッケージのインストールはとても重要です。freshclam が GMP のサポート無しにコンパイルされた場合、freshclam はアップデート時に毎回“SECURITY WARNING: NO SUPPORT FOR DIGITAL SIGNATURES”という警告を表示します。

解説します。

freshclam はウィルス定義ファイルの最新版をダウンロードするときに、それに添えられた電子署名を確認することで、そのウィルス定義ファイルが本物であるかどうかを検討します。ウィルス対策ソフトにおいてウィルス定義ファイルはその能力の大きな柱です。ですからそれがもし偽物だったとしたら全く能力を発揮できないからです。これに GMP ライブラリが使用されます。

したがって GMP ライブラリがない状態でビルドされた ClamAVfreshclam はダウンロードするウィルス定義ファイルが本物かどうかを確認することが十分にできません。このため freshclam が偽物のウィルス定義ファイルを掴まされる可能性が上昇します。そしてその結果、ウィルスなどの危険なものを正しく検知できずシステムが危険な状態に晒されてしまいます。

FreshClamDaemon をインストールする Mac OS X には GMP ライブラリが含まれていません。ClamXav に含まれている ClamAVGMP ライブラリ が使用されていません。ですから ClamAV そして ClamXav をより安全に使用するためには自分でインストールしなければなりません。

GMP ライブラリのインストール

C++ のサポートを有効にして GMP ライブラリをビルドしてインストールすると ClamAV のビルド時にがそれを使用できるようになります。ですから、GMP ライブラリをインストールした後、ClamAV を再びソースからビルドする必要があります。ビルドには Mac OS X の開発ツール Xcode が必須です。インストールしていない人はまずこれをインストールしてください。Mac OS X のインストール DVD からインストールするか、アップルのサイトからダウンロードしてインストールしてください。

手順の基本は CPUG4 の場合です。それ以外の場合は G4 と異なる部分のみ説明します。

G4 の場合

G4 の場合は C++ のサポートを有効にする以外は普通の UNIX 用ソフトウェアの場合と同じです。ターミナルを用いて次の手順でビルドしてインストールします。

  1. ソースアーカイブをダウンロードする。

    http://www.swox.com/gmp/#DOWNLOAD から最新のソースアーカイブをダウンロードします。スウェーデンとアメリカ合衆国の二カ所からダウンロードできますが、日本でしたらアメリカ合衆国がよいでしょう。また gzip によって圧縮されたものと bzip2 によって圧縮されたものがあります。Mac OS X のデフォルトの解凍ツールは両方サポートしているのでここは圧縮率が高い bzip2 によって圧縮されたほう(拡張子は bz2)をダウンロードするのがよいでしょう。

    ダウンロード先はここではデスクトップということにしておきます。ダウンロードするとデスクトップに gmp-VERSION.tar.bz2 という形の名前のファイルができます。

  2. ソースアーカイブを解凍する。

    ファインダー上でダウンロードした gmp-VERSION.tar.bz2 を開いて解凍します。

    その結果、gmp-VERSION という形の名前のフォルダーができます。もし gmp-VERSION.tar という中間のアーカイブファイルが残っていたら消してください。不要です。

  3. ターミナルで gmp-VERSION フォルダに移動する。

    Mac OS X 10.3 よりも前の Mac OS X から環境を引き継いでいる人は、ターミナルでユーザからの指示を受け付けるシェルが tcsh になっています。以下の操作は bash 用の操作ですので、最初に bash とターミナルのウィンドウでタイプして改行してください。

    ターミナルを起動し、現れたウィンドウ上で cd に続けてスペースを一つ以上タイプしてください。その後ファインダの gmp-VERSION フォルダのアイコンをターミナルのウィンドウにドラッグ&ドロップし、改行をタイプしてください。

  4. ビルド環境を設定する。

    次のコマンドラインをターミナルウィンドウにタイプして改行してください。

    ./configure --enable-cxx

    システムの構成などをチェックし、ビルドの様々な設定がなされる様子が次々と流れていきます。それが終わるのを待ってください。

  5. ビルドする。

    次のコマンドラインをターミナルウィンドウにタイプして改行してください。

    make

    ビルドされる様子が次々と流れていきます。それが終わるのを待ってください。

  6. ビルド結果をテストする。

    ビルドされたもののセルフテストを行います。次のコマンドラインをターミナルウィンドウにタイプして改行してください。

    make check > make_test.txt 2>&1

    この結果、テストの様子が make_test.txt というファイルに記録されます。テストが終わったらそのファイルをテキストエディタで開いて結果を確認してください。テスト結果のサマリがテストの種類毎に次のように記載されているはずです。

    ==================
    All # tests passed
    ==================

    この形でないサマリがあったらきちんと動作するようにビルドされていません。Xcode を最新版にするなどしてこのテストが全てパスするようにしてください。筆者はこのテストが失敗するケースは経験したことがないのでここに書いたこと以上の情報を提供できません。

  7. インストールする。

    次のコマンドラインをターミナルウィンドウにタイプして改行してください。

    sudo make install

    インストールされる様子が次々と流れていきます。それが終わるのを待ってください。

  8. 後始末をする。

    ターミナルを終了させた後、gmp-VERSION フォルダはもう不要なので削除してください。

G5 の場合

筆者は G5 を持っていないのでこのケースを経験していません。伝聞に基づいて書いています。

G5 上で GMP ライブラリは正常にビルドできないようです。G4 の場合のステップ 6 のテストでエラーが報告されてしい、それを回避する手立てが見つかっていないそうです。

しかし方法はあります。それは G4 のマシンでビルドした GMP ライブラリをそのまま持ってくるとよいそうです。/usr/local/ の下の include/lib/ にインストールされたものは最低限必要なはずです。頑張ってください。

もしインストール後のものを持ってくるのが面倒でしたら G4ステップ 6 まで終わらせたディレクトリを G5 上に持ってきてからステップ 7 をすれば済むかもしれません。持ってくるときにファイルの更新日時が変化しないように tar コマンドなどでアーカイブにして持ってくるのが安全でしょう。

Intel Mac の場合

Intel Mac の場合は G4 と全く同じ手順でビルドしようとすると CPU アーキテクチャが誤解されてしまうようです。そこで CPU アーキテクチャを明示する必要があります。

そのためにステップ 4 で実行する内容を次に差し替えてください。

CFLAGS="-arch i686" ./configure --build=none-apple-darwin`uname -r` --enable-cxx

更にステップ 5 で実行する内容を次に差し替えてください。

LDFLAGS="-arch i686" make

この差し替え以外は G4 の場合と同じように行えばインストールできます。

G3 の場合

筆者は G3 は持っていますが Mac OS X をインストールできないのでこのケースを経験していません。伝聞に基づいて書いています。

G4 の場合と同様にすればインストールできるそうです。