Linux勧告ウォッチ - 2003年6月27日
この場を借りて、先週すばらしい意見を送ってくれた読者たちに感謝したい。先週のLinux勧告ウォッチを見逃した人のために簡単に説明しておこう。先週は、「IDS技術は2005年までに廃れる」と示唆したとGartnerの最新レポートについて話をした。私はこのレポートをとても興味深いと思ったが、これほどの反響があるとは期待していなかった。ほとんどの読者は、「管理者がシステムにパッチを迅速に適用することで、多くのシステムの弱点を軽減できる」という私の結論に同意してくれた。
Jeremyという名前の見識の高い読者は、次のように書いた:「確かに。でも本当は、システム管理者を責めるべきではない」。そして彼は、システムを保守できないのは管理者の落ち度ではないという説明を続けた。彼は、この責任は最終的に上部の経営者にかかることを指摘している。システム管理者は指示されていることをやっているだけだ。安全で安定したシステムを維持するためには、十分な資金と協力が必要だ。
Jeff Coursは次のように書いている。
私が思うに、問題の根本は、ソフトウェアエンジニアリングがまだ非常に若いエンジニアリング分野だということに あると思う。私は自宅でLinuxシステムを使用している。私の本業は管理者ではなく、弱点が公開されてすぐに対応する時間がないので、Red Hat Networkを使用している。それでも、アップデートが送られてくる頻度とその量にはいつも驚かされる。私のシステムにこれほどの保守が必要だという事実は、私たちにはまだ、たとえば橋を作るのと同じくらいの高い信頼性で、ソフトウェアを作成するだけの知識を持っていないことを示していると思う。Jeffはいくつか優れた指摘をしている。私は特に、ソフトウェアエンジニアリングと従来のエンジニアリングとの比較が気に入った。また、私は今週、5大会計事務所のうちの1社のセキュリティコンサルタントを話をした。私は、Gartnerレポートに対する彼の意見を聞いた。彼は、IDSが2005年までに廃れるとは思わない、現在の形ではなくなるだけだ、と答えた。IDSテクノロジはさらに磨かれるだろうが、その必要性はなくならないだろうと述べた。IDSが廃れることについては、彼は同意しなかった。あなたはどう思う? 私もどちらかと言うと彼に賛成だ。技術が進化していくとは思うが、これが廃れていくとは思わない。おそらく、本当の問題は、IDSが万能のソリューションではないことに人々が気付き始めているということだろう。IDSは、数あるツールの中の1つにすぎない。私は、ソフトウェアエンジニアリングでは次の問題の解決が必要だと思っている。
1. ジャンプ(goto)、ポインタ、スレッド
ジャンプ、ポインタ、スレッドはどれも、予測不可能という同じ問題を抱えた概念である。ジャンプはプログラム内の非常に広範囲にわたる場所に制御を転送する。ポインタは非常に広範囲にわたる場所へのデータアクセスを可能にする。そしてスレッドを使うと、実行順序に非常に数多くの可能性が生じる(この点で、例外と割り込みはスレッドに似ているが、どちらもスレッドほとひどくはない)。この3つの概念によって、コード内でこれらを正しく処理できることを確認するために、エンジニアが分析しなければならない状況の数が途方もなく増える。構造化プログラミングによってジャンプの数はかなり減るが、ポインタとスレッドは依然として広く使われている。ジャンプに対する構造化プログラミングのように、スレッドやポインタに対しても、これらと同じくらい便利で、分析すべき状況がこれほど多くならない新しい概念が必要だと思う。もしくは、もっと強力な分析技術が必要だ。
2. 障害の伝播
ゴールデンゲイトブリッジを支えるケーブルは、いくつものワイヤーの束でできている。このような設計が選択された理由の1つは、1つの束が破損したとしても、破損が他の束にまで影響しないようにするためだ。
残念ながら、私たちはまだ、ソフトウェアでこれと同じことを行う方法を知らない。コードの一部で生じたバグは、その一部だけにとどまることもあれば(printステートメントの出力だけに影響するなど)、その影響が広まってアプリケーション全体、場合によってはOS全体がクラッシュすることもある。私の知る限り、ソフトウェアにおける障害の伝播というのは、まだ研究途中の分野である。
3. 予測可能性
エンジニアが橋を作るとき、彼らはその橋が耐えられる風速や地震の規模、負荷の量、交通量を前もってはっきりと予測する。ソフトウェアのエンジニアはまだこの地点に達していない。ただ、出足は悪くない。品質保障技術によって、特定のリリースに残っているバグのだいたいの数を予測することができる。また、複雑さの分析はどのアルゴリズムを選ぶかを決めるのに役立つ。しかし、プログラムの信頼性や実行速度、一般的ではない入力にうまく対処できるかどうか、作成にかかる時間を正確に予測するための分析ツールはまだない。
私は、ソフトウェアエンジニアが怠慢だと言っているわけではない。それどころか、私たちはすばらしい進歩を遂げてきた。私たちは、ソフトウェアを使い始めてからまだ50、60年しか経っていないのだ。発達している他のエンジニアリング分野が、その域に達するまでに何年かかったかを調べてみると面白いのではないだろうか。1つの分野が成熟するまでに100〜150年かかり、その間にいくつかの橋が壊れたとしても、私は驚かない。つまりこれは、今世紀の後半には、数多くのセキュリティパッチが消え去っていくということだ。
それまでの間は、確かにシステムに定期的にパッチを適用しなければならない。これに関しては、Red Hat NetworkやDebianのようなシステムのパッケージ管理は大いに役に立つ。これらのシステムのベンダは、人間の性質というものは技術よりもずっと変えるのが困難だということをよく知っているため、アップデートの必要性を知らせ、それを適用する作業をできるだけ簡単にしてくれている。そう、システムにパッチを適用するようにシステム管理者に忠告するのも重要だが、私にはこれは、もっとずっと大きな問題の中のほんの一部に思える。
古いセキュリティの知恵、『Security Is Not a Product; It’s a Process』( Schneier, Crypto-Gram、1999年12月15日)を読もう。
私は今度の土曜日に結婚する。みんな、幸運を祈ってくれ!
では、また。
Benjamin D. Thomas
Linuxセキュリティに関するその他の記事:
Real-Time Alerting with Snort ─ リアルタイム警報は、許容可能な時間内に事象について担当者に通知する機能で、IDSまたはその他のモニタリング・アプリケーションに組み込まれている。許容可能な時間がどの程度であるかは、人によってさまざまである。Intrusion Detection Systems: An Introduction ─ 侵入検出(Intrusion Detection)とは、データを調べ、悪意のある行為、または不正確/異常な行為を探し出す手順および方法のことである。よく目にする侵入検出システムとしては、最も基本的なレベルではホスト・ベースとネットワーク・ベースの2種類がある。
[ Linux Advisory Watch ] – [ Linux Security Week ] – [ PacketStorm Archive ] – [ Linux Security Documentation ]
Linux勧告ウォッチは、今週中に公開されたセキュリティ上の弱点について説明する包括的なニュースレターである。アップグレード用パッケージへのリンクと、それぞれの弱点の説明を記載している。
[
購読
]
配布元: | Conectiva | |||
2003/6/20 | bugzilla | |||
いくつかの弱点
Conectiva Linux 9に含まれるbugzillaパッケージのいくつかの問題点を修正するアップデートが公開された。
|
||||
2003/6/20 | BitchXのリモートの弱点 | |||
いくつかの弱点
Bitchxの2つのリモートの弱点を修正するアップデートが公開された。
|
||||
2003/6/20 | netpbmの数学オーバーフローの弱点 | |||
いくつかの弱点
Alan CoxとAl Viroは、netpbmバージョン9.20以降にいくつかの弱点を発見した[1]。
|
||||
2003/6/20 | apache 2の弱点 | |||
いくつかの弱点
最近リリースされた[2]2.0.46バージョンで修正された2つのセキュリティ上の弱点に対処するアップデートが公開された。
|
||||
2003/6/25 | ethereal | |||
複数の弱点
etherealバージョン0.9.12以降のいくつかの弱点を修正するアップデートが公開された。
|
||||
配布元: | Debian | |||
2003/6/20 | orville-writeのバッファ・オーバーフロー | |||
複数の弱点
標準write(1)コマンドに代わるOrville Writeに数多くのバッファ・オーバーフローが含まれている。攻撃者がこれらを悪用してgid ttyまたはルート特権(パッケージのインストール時に選択した設定による)を得る可能性がある。
|
||||
2003/6/20 | eldavの一時ファイルの弱点 | |||
複数の弱点
EmacsのWebDAVクライアントであるeldavは、適切なセキュリティ措置を取らずに一時ファイルを作成する。ローカルの攻撃者がこの弱点を悪用して、emacsとeldavを実行するユーザの権限を使用して、ファイルを作成または上書きする可能性がある。
|
||||
2003/6/20 | xblのバッファ・オーバーフロー | |||
複数の弱点
Steve Kempは、ゲームのxblに、長いコマンドライン引数によって引き起こされるいくつかのバッファ・オーバーフローを発見した。ローカルの攻撃者がこの弱点を悪用して、gid ‘games’を得る可能性がある。
|
||||
2003/6/20 | webfsのバッファ・オーバーフロー | |||
複数の弱点
静的コンテンツ用の軽量のHTTPサーバであるwebfsにバッファ・オーバーフローが見つかった。HTTP要求に長いRequest-URIが含まれる場合に、任意のコードが実行される可能性がある。
|
||||
2003/6/20 | oshのバッファ・オーバーフロー | |||
複数の弱点
Steve Kempは、ユーザの操作を制限するためのシェルであるoshの環境変数の処理とファイル・リダイレクトに2つのバッファ・オーバーフローを発見した。攻撃者がこれらの弱点を悪用して任意のコードを実行し、シェルに対する制限を上書きする可能性がある。
|
||||
2003/6/23 | tcptraceroute | |||
ルート特権の弱点
tcptracerouteはルートにセットUIDされた状態でインストールされるプログラムで、生のパケット・キャプチャに使用するファイル記述子を入手した後に、ルート特権を放棄する。しかし、すべての特権を完全に放棄しないので、弱点が悪用された場合には、ルート特権が再度入手される可能性がある。
|
||||
配布元: | Mandrake | |||
2003/6/25 | ethereal | |||
任意のコードの実行の弱点
etherealのパケット・ディスセクタに文字列処理のバグが数多く見つかった。この弱点は、特別に細工されたパケットを使用して悪用される可能性があり、etherealにメモリを過度に消費させたり、クラッシュさせたり、さらには任意のコードを実行したりする可能性がある。
|
||||
配布元: | RedHat | |||
2003/6/20 | Netscape | |||
複数の弱点
複数のバグおよび弱点が修正された。
|
||||
2003/6/25 | ypserv | |||
Denial of Service状態の弱点
バージョン2.7よりも前のypserv NISサーバに弱点が見つかった。
|
||||
2003/6/25 | XFree86 | |||
複数の弱点
XFree86に複数の弱点が見つかった。
|
||||
配布元: | TurboLinux | |||
2003/6/24 | xpdf | |||
任意のコマンドの実行の弱点
悪質なPDFファイルに含まれるハイパーリンクを被害者がクリックすると、その被害者の特権を使用して、任意のコマンドが実行される可能性がある。
|
||||
配布元: | YellowDog | |||
2003/6/25 | foomatic | |||
複数の弱点
foomaticパッケージに複数の弱点が見つかった。
|
||||
2003/6/25 | xpdf | |||
任意のコマンドの実行の弱点
Martyn Gilmoreは各種PDFビューアおよびリーダーに欠陥を発見した。攻撃者は悪質な外部型ハイパーリンクを埋め込み、被害者がそれをアクティブ化したとき、または辿ったときに、任意のシェルコマンドを実行する可能性がある。
|
||||
2003/6/25 | hanterm-xfの任意のコマンドの実行の弱点 | |||
任意のコマンドの実行の弱点
攻撃者は、Hangul Terminalを使って被害者のウィンドウタイトルを任意のコマンドに設定するエスケープシーケンスを作成し、それをコマンドラインに報告する可能性がある。
|