彼らはすでに知っているでしょう OpenBSDの、BSDファミリのオペレーティングシステム。 あなたがそれを知らないなら、それはオープンソースのUnixライクなシステムであり、明らかにLinuxカーネルに基づいていません。 これはNetBSDから生まれた子孫ですが、移植性を6.2番目の場所に残して、セキュリティを長所として重視しています。 そうですね、OpenBSD XNUMXのリリースに伴い、非常に興味深い機能を備えたカーネルが登場します。
OpenBSD 6.2は、システムユーザーがシステムを再起動または更新するたびに一意のカーネルを作成することがわかりました。 この機能 それはカールと呼ばれています (カーネルアドレスランダム化リンク)そして、内部カーネルファイルをランダムな順序で再リンクすることで機能し、毎回一意のバイナリブロブを生成します。 OpenBSDの現在のバージョンは事前定義された場所を使用しているため、これは新しいことです。その結果、内部ファイルがリンクされ、すべてのユーザーに対して毎回同じバイナリにロードされます。
開発 テオデラド インストール中、更新中、または起動時にこの特定のイメージを生成することで機能します。 ユーザーがマシンを起動、更新、または再起動すると、新しく生成されたカーネルが新しいバイナリに置き換えられます。 そして、これは何のために? これは、アプリケーションとカーネルコードが実行されるメモリアドレスに対してランダムな場所が作成される方法です。各ものに階層またはメモリセグメントがすでに定義されているのではなく、メモリ領域を指すエクスプロイトの使用が複雑になります。セキュリティを向上させます。
と呼ばれる別の同様の技術があります KASLR(カーネル空間配置のランダム化)、KARLとは異なり、毎回異なるバイナリを生成する代わりに、KASLRは同じバイナリをランダムな場所にロードします。これは、WindowsやLinuxベースなどのオペレーティングシステムが現在使用しているものです。 両方とも同じ目的のためです。