Article delegate-notes/4 of [1-8] on the server localhost:119
  upper oldest olders older1 this newer1 newers latest
search
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
[Reference:<_A2@delegate-notes.ML_>]
Newsgroups: mail-lists.delegate-notes

[DeleGate-Notes] DeleGateの実行ファイルの検証方法 (-Fesign)
08 Dec 2009 12:53:52 GMT ysato@delegate.org (Yutaka Sato)
The DeleGate Project


DeleGateの実行ファイルの検証方法
DGbeecon-09-12-08-sato

 プロキシサーバのように、セキュリティやプライバシーに関わる情報に触れ
ることの多いプログラムが、スパイウェアに仕立てられたりすり替えられたり
したら大変な事になります。プロキシのプログラムを使う前に、それがその
ようなモノで無いことを確認するに越したことはありません。

さて、その昔DeleGateの開発・配布を始めた頃は、ユーザの方々は皆さん、
ご自身で(フリー)ソフトを入手して来て、コンパイルして、インストールする
というのが当たり前、の時代でした。ソフトの「インストール方法」は、make
の仕方の手順から始まるのが普通でした。
時代はうつり、最近では、Linuxでさえ、デフォルトでは開発環境が(ccやmake
すら)含まれていないのが当たり前、の時代になってきました。
DeleGateでも、バイナリ配布の利用者の割合が、増加し続けています。
DeleGateは、様々な種類のUnixや、Windowsで使われていますが、最近のダウン
ロード状況を見ますと、全体としてバイナリ配布とソース配布の比率は、
3:2 ほどで、バイナリ配布が優勢になっています。今後もこの傾向は
進んで行くものと思います。

ここで、バイナリ配布の場合、そこにどんなコードが含まれているか分からない
という問題があります。開発者から利用者の手に届く過程のどこかで、悪意の
改竄が為されたかも知れません。あるいは、全然別のプログラムが名前だけ
偽っている場合さえ考えられます。
ソースコードからmakeする場合にでも、実際には悪意のコードの有無を検査で
きる機会や人やツールは、まず無いとは思うのですが、バイナリの場合には
ほぼ検査が不可能です。

そこでDeleGateでは 9.2.5 (06年9月) 以降、実行ファイルの作成の際に、実行
ファイルのチェックサム(MD5)と、それに対する非対象鍵(RSA)による署名を、
実行ファイルに組み込むようになっています。
これを検証することで、その実行ファイルが「DeleGateの開発元で作成され、
署名され、その後改竄されていない」ということを検証できます。

この検査を行なうのが、-Fesign オプションです。例えば、

  % delegated -Fesign

とすると、自身の署名情報を表示します。しかし、これも単に偽りの表示かも
知れません。そこで、異なる時期、または異なる経路で入手したDeleGateの
バイナリ同士で、以下のように、相互に検証するのが良いと思います。

  % delegated1 -Fesign delegated2
  % delegated2 -Fesign delegated1

そのような用途のために、DeleGate.ORG ではなく、AIST.GO.JP にも、幾つか
のOS用の、DeleGateのバイナリを置いておきます。
<URL:http://staff.aist.go.jp/y.sato/bin/>

                   9 9  
┌─┐┬┌──┬┐ //\^^ ( e ); {Do the more with the less -- B. Fuller}
├─┤│└─┐│ / 877m\_<   >_ <URL:http://www.delegate.org/delegate/>
┴ └┴──┘┴──────────────────────────────
佐藤豊@情報技術研究部門.産業技術総合研究所(独立行政法人)



  admin search upper oldest olders older1 this newer1 newers latest
[Top/Up] [oldest] - [Older+chunk] - [Newer+chunk] - [newest + Check]
@_@V