[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[connect24h:02307] Re: [FYI]: 掲示板の情報など




  北澤です。

| From: Toshiboumi bugbird Ohta <bugbird@xxxxxxxxxxxxx>

| 太田@タイムインターメディア です

| >   UNIX は、いろいろ経験があるのですが、Linux はほとんど使ってないので
| > すが、Linux って(Slackware の話をされているようなので、これを前提に質
| > 問しています)、panic が起きても reboot しないんですか?
| 
|  実は私も Linux については初心者なんで、もっと一般化した
| ものとして…。

  ええと、特にコメントをすることもなかったので、ご説明ありがとうござい
ますメールは書きませんでしたが、No.2287 を送信された、Nakashima-san は
私と同義の kernel panic を panic と言っていて、太田さんは「パニック」
という言葉を、今回の全文で理解しましたが「kernelの不具合」とと言われて
る気がします。しかも、kernel の実装の前提が違っていそう。

  一応説明しますと、UNIX 古来の panic とは、大雑把に言って「kernelがハー
ドの不具合、暴走、デバドラの問題、カーネルの不具合などで、もうおかしな
状態でどうしようもないので OS を再起動しちゃいます」というものです。

|  ご指摘の通り、バッファオーバーランなどが原因で、メモリ
| 上にあるカーネルの構造が破壊されてしまった場合は当然
| リブートしますよね。

  と言うわけで話が通じてなさそうで、それが kernel のバッファオーバーラ
ンが生じる実装になってたとすると、その数値がとんでもないのでほんとにど
うしようもなくなった状態に陥ったら前述の意味で kernel は panic するか
もしれませんが、場合によってはハングアップですかね。
  まあ、私はやっとフレッツに移行しようかと思いつつ、じゃあ OS はどれに
しようかと思ってたところだったので、Linux 固有の妙な何かがあるのかが興
味だったのですが、どうもそういう意味ではなく、太田さんと共通語として 
panic を使っていないと認識しました。
  カーネルのメモリがふみ潰しとかだと、どちらかというとセキュリティーホー
ル以前に不具合として顕著になる可能性のほうが全然大きい気が私はします。
  ましてや、狙って user land (kernel を操作する側)から、狙う技巧があれ
ばすごいと思います。

|  また、アプリケーションからのシステムリクエストが、何等
| かの理由で正常に実行できなかった場合には、通常はエラー
| ステータスを返してサービス終了というのが「建前」で、この
| 場合、実行を中断して終了するかしないかは、プログラム側が
| 処理することです。

  すみません、ノンプリエンプティブマルチタスクとかそういう OS の話をさ
れているのですか?なんか、話が良く分からないです。

|  ただ、かならずしもこの二極のどちらかに落ちるとも限らない
| 場合もあるわけです。

  う〜ん、全然認識が違いそうです。

|  たとえば、システムリクエストを実行しているときに、アプリ
| ケーション側のシステムリクエスト I/F が破壊された場合には、
| 正常にエラーステータスを返すことができなくなってしまうこと
| もあるわけで、この場合は「立ち往生」してしまうことになる
| のではないでしょうか? 

  「I/F が破壊」ってどういう意味でしょうか?
  「正常にエラーステータスを返すことができなくなってしまう」のは
kernel と読めるので、user land 側で既に kernel 領域を触られてたらそも
そもその時点でセキュリティーホールなのですが。

|  そしたらどうなりますかね?
| 
|  たしかに通常はカーネルは壊れたプログラムを強制終了して
| コアダンプをしますが、それはあくまでもプログラムの構造が
| 破壊されたことを、カーネルが検知できた場合です。

  まあこの辺の記述を読んでいて太田さんの OS に対する認識が、私の知る
UNIX と全く異なることが分かりました。
  私は UNIX → Mac(漢字Talk) → DOS & Windows の順で OS の構造を理解し
たので。

|  つまり、バッファがオーバーランしても、他の変数の領域を
| 壊しただけなら(通常は、それが連鎖して早晩プログラムが
| 壊れる)、カーネルはそのプログラムが壊れたとは認識できない
| はずです。

  メモリプロテクションのない OS の話をされてるのか、そこに不具合がある
と仮定して話されてるのか...???

|  ま、こんなあたりがアタックの標的だと思いますが。

  私の感想としては、Linux(が UNIX とほぼ同義で語ってよいとして)で、こ
んな高級なことをするなら、もっと楽なアタック法を考えるんじゃないかなっ
て感じです。

  初めてお会い(?)する方に失礼かもしれませんが、DOS, Windows 3.1 あたり
の系列の OS を OS の常識としてセキュリティーモデルを考えられてる印象を
受けますので、「Linux については初心者」とおっしゃってますし、もし、
Linux系のサーバーで 24h 常時接続するのであれば、先に UNIX 系の OS の
基本構造を何らかの書籍で学び、その次にセキュリティー対策はど言ういうと
ころが重要か知ると幸せ(?)になれるかもしれません。

  参考書がすぐ浮かばなくてすみません。私が読んだ本はもう絶版になってる
気がするし、正式名称も思い出せないし...

-
北澤

------------------------------------------------------------------------
            ★投げる! 打つ! 走る! 春の高校野球放送中!★
○ ◎ http://www.infoseek.co.jp/Kky?pg=kky_top.html&svx=971122 ◎ ○