| Index | |
|
プロジェクトのセキュリティ上の目標 完全ディスクロージャー方針 ソースコード監査プロセス 「デフォルトでも高セキュリティ」 暗号の使用
|
特定のリリースのセキュリティ警告については、こちらをご覧ください。 2.0、 2.1、 2.2、 2.3、 2.4、 2.5、 2.6、 2.7、 2.8、 2.9、 3.0、 3.1、 3.2、 3.3、 3.4、 3.5、 3.6、 3.7、 3.8。 |
OpenBSD は、強いセキュリティを重視しています。私たちの目標は、 セキュリティについては業界ナンバーワンになることです (もうすでに ナンバーワンという説はありますが)。オープンなソフト開発モデルの おかげで、私たちは Sun、SGI、IBM、HP などのベンダにできるよりも、 セキュリティ強化について妥協のない立場をとることができます。さらに、 ベンダたちならやらないような変更だって加えます。さらに OpenBSD は 各種の暗号つきで出荷されているので、 セキュリティ問題への対応にも暗号を使用した手段が講じられるわけです。
BUGTRAQ メーリングリスト読者のみなさんと同じように、 私たちはセキュリティ問題は完全に公開すべきだと信じています。 オペレーティングシステムの分野では、この考え方を取り入れたのは、 私たちがおそらく最初です。多くのベンダは、フリーソフトのベンダでさえ、 いまだに問題があってもそれをユーザから 隠そうとします。
セキュリティ情報は、クラッカの世界ではものすごい勢いで広まります。一方、 私たちの経験によれば、きちんとしたセキュリティの修正をコーディングして リリースするには、平均で 30 分ほどの作業で済みます――つまり、 修正版の出荷までは、極めて短時間でできます。ですから、完全な公開は、 セキュリティについて本当に気にかける人の役に立つと私たちは考えるわけです。
私たちのセキュリティ監査チームは、だいたい 6 人から 12 人程度のメンバで 構成されて、絶えず新しいセキュリティホールを見つけては塞いでいます。 私たちは 1996 年夏以来、この監査を続けてきました。セキュリティを高めるために 私たちが従うプロセスは、単純に重要なソフトウェアコンポーネントについてすべて、 ファイルをひとつずつ総合的に分析していくことです。私たちが探しているのは、 セキュリティホールというよりはむしろ、基本的なソフトのバグです。 そしてもし何年もたってから誰かが、この問題はセキュリティ上の問題がある ということを発見することがあったとしても、私たちがそれをただのバグだと思って 直していたのなら、それはそれで結構なことでしょう。 システムのほとんどあらゆる部分に欠陥が発見されています。 この監査の過程で、新しいレベルのセキュリティ問題群が発見されたこともありますし、 昔監査を行ったソースコードであっても、新発見の欠陥を念頭に、 監査し直さなくてはならないことも多いのです。コードは何度も監査され、 監査する人も複数で、監査技能も違っています。
セキュリティ監査チームのメンバの中には、Secure Networks 社で働いていた者もいます。 この会社は、業界の先駆的なネットワークセキュリティスキャン用ソフトパッケージ Ballista を作ったところです。(Secure Networks 社はその後 Network Associates 社に買収されて、Ballista は Cybercop Scanner と改名されて、などなど...) Secure Networks 社はセキュリティ関連の研究をいろいろ行っていたので、OpenBSD のスタンスともぴったりあったわけです。OpenBSD は Ballista のテストを最初から 楽々突破したものでした。
私たちのセキュリティ監査プロセスの別の面は、その積極性です。多くの場合、 あるセキュリティホールが悪用可能かどうかを判断する必要はない、ということに 私たちは気がつきました。監査プロセスを続ける中で、私たちはいろいろなバグを 見つけます。そして、それを悪用できることが証明されていなくても、それを 直そうとします。バグを直して、他に直すバグを探しに行くわけです。 簡単ですぐにわかるような、そそっかしいプログラミング上のエラーをコードの中に たくさん見つけますが、数ヶ月して、その問題が実は悪用可能だったということが 発見されるわけです。(あるいは、さらによくあるパターンとして、 BUGTRAQ の誰かが、 他のオペレーティングシステムが「新発見の問題」による危険にさらされている、 という報告をして、しかし OpenBSD では、それが前のリリースで修正済だったというの がわかる、というものです)。他の場合ですと、中間段階のどれかを直してあったがために、 複雑な多段階攻撃で完全な攻撃にさらされずに済んだ、ということもあります。 私たちがこのような成功を収めた一例としては、Secure Networks が出した、 lpd についての問題があります。
私たちはソースコードの監査の結果、問題解決のための新しい方法をいくつか考案しました。 場合によっては、これらのアイディアは、他のところで書かれた、いくつかのバラバラの アプリケーションが以前から使用していたりしますが、おそらく私たちの行ったレベルのものではありません。
この積極的な監査プロセスは、十分にその報いがあるものでした。 BUGTRAQ のような セキュリティ関連フォーラムでは「この問題は OpenBSD では半年前に解決済みです」 というような発言は日常茶飯になっています。
セキュリティ監査が最も重点的に行われたのは、 OpenBSD 2.0 リリース直前と、 2.0->2.1 への移行期でした。これは1996 年最後の四ヶ月ほどと、 1997 年前半です。何千もの (はい、何千、です) セキュリティ問題が、 この一年ほどの期間にわたり急速に修正されました。 通常のバッファオーバーフローなどのバグ、プロトコル実装の弱点、情報収集、 ファイルシステムの競合などです。従って、出くわしたセキュリティ上の問題は、 ほとんどが 2.1 リリース以前に修正され、それ以降、2.2 リリースで直す必要のある 問題はぐっと減りました。もう昔ほど問題は多くは見つかりません。 よくある収益逓減の見本です。最近では、私たちが見つけて直す セキュリティ上の問題は、以前よりものすごくマイナーでややこしいものになっています。 それでも、私たちは監査にこだわり続けます。 理由はいくつかあります:
監査プロセスはまだ終っていません。ご覧のとおり、私たちは新しい セキュリティ上の欠陥を見つけては直し続けていきます。
OpenBSD の初心者ユーザが、一夜にしてセキュリティ専門家にならないで済むように (他のベンダはこれを期待しているようですが)、私たちはオペレーティングシステムを 出荷するとき、デフォルトで高セキュリティモードにしておきます。 あらゆる本質的でないサービスは停止させてあります。利用者・管理者がシステムに 習熟してくれば、システムのデーモンやその他の部分を有効にしなくてはならないことが わかるでしょう。新しいサービスを有効にする方法を学ぶプロセスで、初心者も、 セキュリティ上の問題点を学ぶ見込みが高いのです。
これは、ますます多くのシステムが NFS や mountd、web サーバなど各種の サービスをデフォルトで有効にしてあるのとは、まったく対照的です。こうした システムは、ユーザが初めてインストールして数分のうちに、すぐさま セキュリティ上の問題を作り出してしまうのです。
そしてもちろん、OpenBSD プロジェクトはカナダベースですから、暗号を システムに統合することができます。詳しくは、 私たちが暗号で何をしたかを説明したページを見てください。
OpenBSD 3.5 とそれ以前のリリースは、もやはサポートされていません。ですので、
次の節は、これらがメンテナンスされていたときに発行された警告のリストでしかありません。
これらのリリースは、より最近のリリース向け警告の影響を受ける可能性が高いでしょう。
私たちはセキュリティについて積極的な立場をとりますから、絶えず新しい セキュリティ上の問題を見つけては直しています。そのような問題がすべて広く 報告されるわけではありません。前にも述べたように、その多くは悪用可能か どうかわからないからです。多くの単純なバグは、実は予想しなかった セキュリティ上の問題になっていたりします。そのような変更を、 上のような形式で公開するだけの時間的な余裕がないのです。
従って、最新のメジャーな OpenBSD リリース以降、カレントのソースコードには マイナーなセキュリティ上の修正が含まれています。そのような問題は、影響が小さく、 悪用できることも示されていないという保証を限定つきで行います。 もし、間違いなくセキュリティ上の問題となる問題を見つけたら、パッチは 極めて素早くここに登場します。
本当にセキュリティについて関心のある人は、 いくつか打つ手があるでしょう。
新しいセキュリティ上の問題を見つけたら、
deraadt@openbsd.org にメールしてください。
PGP でエンコードしたい場合には (でもこれは面倒なので、プライバシが非常に重要な場合だけにしてください)、
この PGP キーを使用してください。
OpenBSD チームメンバは、OpenBSD のセキュリティ関連の変更について、 いろいろ論文を書いています。これら文書の postscript 版が以下で 入手できます。