<= 2.4.22にローカルセキュリティホール 39
ストーリー by Oliver
開発者は一瞬も気を抜けない 部門より
開発者は一瞬も気を抜けない 部門より
masayang 曰く、 "Debianのセキュリティアナウンスより。カーネル2.4.22/2.6.0-test5までのバージョンには、ローカルで実行されるプログラムがカーネル内の全メモリ空間にアクセスできてしまうバグがあったようです。Debianでは2.4.18-14で修正されている、とのこと。"
不正侵入されたDebianサーバのイメージを解剖調査した結果、暗号化された攻撃ツールを発見。さらなる解析で復号化に成功し、Red HatとSuSEのカーネルチームとの協力でカーネルを攻撃するツールであることが判明した。悪用されたバグはbrk(2)システムコールに存在したInteger Overflowで、新規にマップされるアドレス領域の終端が始まりの前でないかがチェックされていなかったものだ。バグ自体は9月に発見・修正されたが、これまでは悪用が可能とは思われていなかった。興味を持った人は2.4.23および2.6.0-test6以降でmm/mmap.c内do_brk()の冒頭でEINVALが返されるところを見てみよう。
このバグを悪用するコードは現時点では一般に流通していなくとも、実存していて、なおかつ悪意を持って使われているので、古いカーネルを使っている人は早めにアップグレードするか問題の所に2行パッチを当てるべきだろう。
今回の問題の要 (スコア:4, 参考になる)
Re:今回の問題の要 (スコア:1)
この情報ってどこにあるんですか?
前回のストーリーと今回のストーリーのリンク先には
見当たらなかったような気がしたんですが...
Kiyotan
Re:今回の問題の要 (スコア:1)
そこからリンクされている詳報 [debian.org]にも とありますが?
Re:今回の問題の要 (スコア:1)
勝手に、
wiretap: ハード的なもの
sniff: ソフト的なもの
とゆ~イメージを持ってました。
#下の wiretap の意味を教えてくれた AC さんにもごめんなさい。
Kiyotan
Re:今回の問題の要 (スコア:1, 参考になる)
Re:今回の問題の要 (スコア:0)
発見するのは必ずしも善意の人間とは限らない
Re:今回の問題の要 (スコア:0)
発見されたからといってそのリスクが確実に評価されるとも限らない
# 今回はバグの影響を低く見てたのが原因だよね?
Re:今回の問題の要 (スコア:0)
Re:今回の問題の要 (スコア:1)
#クラッキングされたとはいえメモリ全部は痛すぎ。
#Linux使いたいのに使い方分からない俺も痛いが。
1を聞いて0を知れ!
redhat からも errata (スコア:3, 参考になる)
http://rhn.redhat.com/errata/RHSA-2003-392.html [redhat.com]
ZDNet Japan関連記事 (スコア:2, 参考になる)
Linuxカーネル2.4.22にroot不正取得可能な脆弱性 [zdnet.co.jp]
Re:ZDNet Japan関連記事 (スコア:0)
全然関係がない話題だけど、「クローズドなプロダクトはセキュリティホールを秘密にする傾向にあるので、長期間ユーザを危険に晒す可能性がある」というようなFUDを聞いたことがある。
#独り言なのでAC
あげたいんだけど… (スコア:1)
Uncompressing Linux... Ok, booting the kernel.
でストップするんですよ、うちのサーバ。なんでだろ~?
(同じ症状の人いません?)
今回の対策はpatch当てだけで済ませられるけど、今後はどうしようかなー
#local user全然いないので大丈夫っていえば大丈夫なんだけど。
Re:あげたいんだけど… (スコア:3, 参考になる)
(1) LILO なり GRUB なりが圧縮されたカーネルを見つけて
(2) メモリ上にロードし、カーネルの頭に制御を移し
(3) カーネルは自己の解凍ルーチンを実行し、0x100000に飛ぶ
(4) カーネル本体がようやくバナーとかを表示してハードウェアの初期化
という流れになっているので、バナーさえ出ていないということは (3)と(4)の間で止まっているのでしょう。
ということで、具体的なデバイスドライバの指定間違いというよりは プロセッサの指定ミスやカーネルの基本的な部分(例えば仮想コンソールとか)での抜けだろうと思います。
不要だと判断して削った項目を少しずつ増やしながら様子を見るのがよいかと思います。
Re:あげたいんだけど… (スコア:0)
したときに、同じような症状(?)というか現象はありましたね。
当然、コンソールにはつらつらとメッセージが出ていましたが、
最初はビビリました。。。
Re:あげたいんだけど… (スコア:1)
なので、そこらが変わったのでなければ当てはまらないかな、とも思うのですが。
とりあえず、もう一度チェックしてみます。
コメントありがとう。
Re:あげたいんだけど… (スコア:0)
たまにはprintfデバックしてみるとか。
カーネルソースは昔いじっただけなのでAC
Re:あげたいんだけど… (スコア:0)
ちなみに、今回は Uncompress まで動いている感じですので、 printk でもよいですが、そもそもプロテクトモードに移行できてなかったりした場合には、printk さえも使えなかったりします。
Re:あげたいんだけど… (スコア:0)
> でストップするんですよ、うちのサーバ。なんでだろ~?
私も発生しました。
原因は分かりませんが、カーネルに ram=○M オプションを付ければ回避できました。
Re:あげたいんだけど… (スコア:0)
mem=○M
ram=○M
これの違いの分かる人居ますか?
自分では前者を指定したかったのですが、頭に思い浮かんで実際に指定のが後者でした。
ram の方は RAMDISK の容量かと思いましたが、dmesg を見ると指定したサイズは確保されていません。う~ん。
どこか参考になるホームページはないですかね?
Re:あげたいんだけど… (スコア:1)
何かの勘違いなのでは。
付けたのは"mem="だったか、偶然ブート周りのバグを回避出来ただけなんでは。
# rm -rf ./.
Re:あげたいんだけど… (スコア:0)
> $ dmesg | grep command
> Kernel command line: ro root=/dev/hda5 ram=48M
なので、ram= です。ram=4M でもOKでした。
#存在しないパラメータならなんでもOK?
ちなみに mem= では起動に失敗しました。
> 偶然ブート周りのバグを回避出来ただけなんでは。
とりあえず、これで納得しておきます。
Re:あげたいんだけど… (スコア:1)
% cat /proc/cmdline
root=/dev/hda2 devfs=mount
の方が確実です。
# 某Sidな公開サーバより。
# rm -rf ./.
Re:あげたいんだけど… (スコア:1, 参考になる)
ビンゴ。ram= 以外に hoge でも回避できました。
ちなみに環境は次の通り。
Red Hat 7.3, Kernel 2.4.20-24.7, grub 0.91, initrd あり
PPro 200MHz, 48MB RAM
Re:あげたいんだけど… (スコア:1)
家の1台も同じ症状がでるので(確率9/10位)早速試してみます。
Debian sid, Kernel2.4.20-bf2.4-xfs, grub0.93, initrdなし
P2BF Celeron900MHz RAM128MB
#CPU以外ちょっと昔の普通の構成なんだけど。
Re:あげたいんだけど… (スコア:1)
RAMディスクのデフォルトサイズを指定する
昔のオプション「ramdisk=」の間違いじゃない?
今は「ramdisk_size=」というオプションになっております。
PCにECC Registeredメモリの利用を推奨します。
Debianだけが攻撃対象じゃなかったんだよね? (スコア:1)
Linux 全然知らんのでアレなんですが,何で Debian を狙ったんだろう?
他のプロジェクトのサーバでも,同カーネル使ってる所はあったんでは? と思うのですが…
Linux の詳しい人教えてください.
------------------------
いつかきちんと仕上げよう
Re:Debianだけが攻撃対象じゃなかったんだよね? (スコア:1)
Linux系プロジェクトの公開サーバというか、ターゲットが Debian GNU/Linux のプロジェクトのサーバ群だったから、そのホストは Debian で稼動していたというだけでしょう。
RedHat だろうが SuSE だろうがMandrake だろうが、どのサーバにも(2.2系のカーネルで穴がない?サーバは例外として)どこのホストでもディストリビューションでも攻撃を受ける可能性はどこでも同じようにあったんだと思います。たまたま運が悪く Debian GNU/Linux プロジェクトの Debian マシンがやられちゃったってだけで。
Takeshi HASEGAWA
Re:Debianだけが攻撃対象じゃなかったんだよね? (スコア:1, すばらしい洞察)
Re:Debianだけが攻撃対象じゃなかったんだよね? (スコア:1)
セクション (スコア:0)
Re:セクション (スコア:0)
Re:セクション (スコア:0)
debianでは... (スコア:0)
Re:debianでは... (スコア:1)
# rm -rf ./.
Re:debianでは... (スコア:0)
Mon, 1 Dec 2003 21:17:12 +0100
Re:debianでは... (スコア:0)
kernel-image-2.4.18-1-686_2.4.18-12_i386.deb
が最新で、2.4.18-1-14にはなっていなかったみたいだけど。。。
ソースは
kernel-source-2.4.18_2.4.18-14_all.deb
ですが・・。
これでよいのでしょうか。
あれ、バージョンが… (スコア:0)
2.4.18-12 of the kernel source packages, version 2.4.18-14 of the i386 kernel images and ...
下のパッケージの一覧と比較すると、
この部分のバージョンの番号が source と i386 package の間でひっくりかえっているような気がするのですが。
2.2系は… (スコア:0)
2.2系については,今回は問題なしということでよろしいのでしょうか?
カーネルソースの当該箇所(mm/mmap.c)は,2.4系とは異なる実装であり オーバーフローのチェックもしているようです。