[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:48905] integrity checks in a Debian way?
渡辺です。
Securing Debian Manual を読んでみると、LKM 系の攻撃を受けて
いる可能性も勘案すると、Knoppix STD などで CD-ROM ブート等し
てチェックしなければならないようです。
次のような 3 系統の方法を思案したのですが、
(1) tripwire, aide, integrit など
(2) debsums
(3) bsign(あるいは elfsign)
参考: /usr/share/doc/bsign/README.gz
これらは、read-only な場所に置く対象が異なります。
(1) データベース
(2) データベース(md5sums)
(3) 秘密鍵と bsign バイナリ/公開鍵と bsign バイナリ
また、新しくインストールされたパッケージのために更新すべきと
ころも異なります。
(1) データベース
(2) データベース(md5sums)
(3) 対象システム上に新規にインストールされた ELF ファイル
また、データベース(あるいは ELF ファイル)のデータの管理者も
異なります。
(1) 自分
(2) パッケージメンテナー(無ければ自分)
(3) 自分
3 番の方法では、read-only な場所自体を更新しないので、一見す
ると楽そうなのですが、結局のところ、新しくインストールされた
ファイル(ELF ファイル)に署名をする際に、クリーンな状態のファ
イルに対して安全に行なわなければならず、いずれにしても、offline
で(Knoppix STD などで CD-ROM ブートなどして)安全に、作業を行
なわなければならない点は同じように思えます。
私としては、(2) を採用する予定です。つまり、まず始めに全
md5sums をまとめて CD-R に焼いておき、DSA がリリースされる度
に、CD-R に新規の md5sums を追加で焼いていく、というシンプル
な方法です。もちろん、CD-R に焼くのは、Knoppix 上などで行ない
ます。
現実的には、月に一度くらいのペースで、STD 上での検証を行ない、
通常は、cron などで毎日自動で debsums を実行し、検証するよう
にするのが妥当かと思います。
結局のところ、debsums を用いるのは、Debian において、最も自然
な方法に思えてきました。
また、debsums を用いる利点として考えられるのは、自分でなく
(基本的に)パッケージメンテナーがデータベース(のデータ)を管理
している点かと思います。
例えば、既に汚染されている可能性のあるシステムであっても、
(Knoppix 上などで作成した)CD-R を用いて本当にバックドア等が
仕掛けられているのかどうかを検証でき、クリーンインストールす
る必要があるのかどうかが判断できると思います。一方、(1) や
(3) の一般的な利用の形態だと、クラックされた後からデータベー
スの作成や ELF ファイルへの署名を行なっても安心できず、準備
を整えるためには、クリーンインストールしてからでなければなり
ません。
また、DSA がリリースされたときにすぐに、aptitude update;
aptitude upgrade はするものの、新規 md5sums を CD-R に焼く
作業に関しては、忙しいときには後回しにして、例えば 1 ヶ月に
1 回くらいのペースで焼くとかするような運用ができる点もメリッ
トでしょうか。一方の (1) や (3) では upgrade 時にデータベース
も更新しなければデータの整合性の保証が成り立たないでしょう。
ただ、debsums のデメリットとしては、自分の意志で書き変えたい
くつかの設定ファイル等に関して、エラーが出てしまうことでしょ
うか。
Debian 標準のカーネルを利用している限り、debsums によるチェッ
クは、LKM 系の攻撃に対しても有効だと思います。何故なら、
linux-image-* パッケージの md5sums も含まれるからです。
# bsign の場合なら、署名する際に、/lib/modules/ 下も含めればオーケー?
欲(無理?)を言えば、Debian や Linux カーネルのコミュニティで、
公式に bsign などで LKM や 主要バイナリに署名してくれると、
一番ラクチンかもしれません。
あるいは、debsums をもっと活用し、/var/lib/dpkg/info/*.md5sums
に相当するものを、どこかオンライン上で常にクリーンな状態で提供
するとかしてくれると嬉しいかも。(怠惰で、すみません)
何か誤りがあれば、ツッコミください。