web-dev-qa-db-ja.com

OpenBSDとNetBSDのセキュリティ

http://www.exploit-db.com/ でOpenBSDとNetBSDの2つの単語を検索すると、OpenBSDのセキュリティバグに関して17件、NetBSDのセキュリティバグに関して8件のヒットが得られます。 。

では、正確な違いは何であり、NetBSDとOpenBSDはどのようにしてコードを監査するのでしょうか。

14
LanceBaynes

@rook:2つのカーネルでdiffを実行する必要があります。発散のすべての年(分割後17年)の後にはまだそれほど一般的なことはありませんが、プロジェクト間には雑種が混在しており、非常に優れたアイデアがあります。周りに広がります。

OpenBSDは、セキュリティアーキテクチャの点でさらに進んでいます。たとえば、コンパイラのサポートでバッファオーバーフローを防止し、アドレスをランダム化して攻撃者が予測できないこと、厳密なメモリ保護により書き込み可能なメモリを実行できないこと、そのようなバグが原因です。悪用するのが不可能ではないにしても、その開発者たちの目をこじ開けてしまうでしょう。また、安全でないソフトウェアの実行が少し安全になります。

OpenBSDは、特に実用的な暗号化の分野など、多くの進歩を最初にもたらしました。強力なパスワードハッシュ(bcrypt)、スワップ暗号化...エクスプロイト数に影響を与えないもの(セキュリティメトリックとしては意味がありません。バグを見つけられなかった場合、十分に見ていなかったかもしれません) )しかし、実用的なセキュリティのために多くのことを行います。また、実用的なセキュリティの部分では、権限の分離が広範囲に及ぶこと、悪いことが起こったときにchrootが広く行われることにより、問題が大幅に軽減されることがわかります。

免責事項:私は以前OpenBSDコミッターでしたが、それはずっと前のことです。

17
Bruno Rohée

最初に指摘するのは、特定の脆弱性/エクスプロイトデータベースへのヒット数は、全体的なセキュリティの信頼できる指標ではないということです。これは、セキュリティ研究者の取り組みの焦点や開示ポリシーなど、他の要因によって主に定義される可能性があります。

プロジェクトのWebサイトをざっと読んでも、2つの間の比較可能なセキュリティ体制の指標が提供されます。 OpenBSDは、その核心の1つが「セキュリティのために業界でナンバーワンになること」であることを明確に述べています。彼らは、このタスクを達成するための彼らのアプローチに関する多くの情報と詳細を提供します。私は@BrunoRohéeの答えを繰り返したくありませんが、彼らは多くの高度なセキュリティ機能を実装し、一般的に使用されているc関数(strlcpyとstrlcat、NetBSDとFreeBSDで採用された)の新しい(そして確かに物議を醸す)バージョンを開拓しました、厳密なソースコード監査プロセスに関連する大量の情報を提供し、オペレーティングシステムを「デフォルトで保護」モードと呼ばれる方法で出荷します。

NetBSDは決してジェネラリストの比較によるセキュリティに欠けているわけではありませんが、そのコアプロジェクトの目標はセキュリティについて明確に言及していません。

  • うまく設計された、安定した、高速なBSDシステムを提供し、
  • 厄介なライセンスを回避し、
  • 多くのハードウェアプラットフォームで動作するポータブルシステムを提供します。
  • 他のシステムとうまく相互運用し、
  • 可能な限りオープンシステム標準に準拠します。

... OpenBSDがしている間:

  • セキュリティの問題に注意を払い、他の誰かが行う前にそれらを修正します。 (最も安全なオペレーティングシステムであるようにしてください。)
19
TobyS

現実を見せていない! Apacheとnginxのバグの違いとまったく同じです。 Apacheにはもっとたくさんの機能がありますが、これはnginxよりもずっと多く使用されているからです。

私はNetBSDコード監査について何も知りませんが、OpenBSDはそれについて非常に真剣です。それを読んでください(監査プロセス): http://www.openbsd.org/security.html

信頼できるOSが必要な場合は、OpenBSDを選択する必要があります。

よろしく

4
Sacx