セキュリティ研究者によると, Linuxの脆弱性は、検証済みのマイクロカーネルに基づくOS設計を介して、完全に軽減または「重大度未満」の重大度に「低下」させることができます。.
彼らの主張を証明するために, 学術および政府の支援を受けた研究者のグループが、Linuxの重大な欠陥について徹底的な調査を実施しています. 彼らの調査結果は、重大なものよりも軽減できない欠陥はほとんどないことを証明しています. さらに, 研究はそれを明らかにします 40% の欠陥は完全に根絶される可能性があります, 検証済みのマイクロカーネルの助けを借りて. 研究者はData61からグループを形成します, オーストラリア政府の連邦科学産業研究機構 (CSIRO) シドニーのニューサウスウェールズ大学.
研究はAPSysの間に提示されようとしています 2018 (システムに関するACMアジア太平洋ワークショップ). 彼らの論文によると:
システムのトラステッドコンピューティングベースを維持することのセキュリティ上の利点 (TCB) smallは長い間真実として受け入れられてきました, エクスプロイトによって引き起こされる損害を制限するための内部保護境界の使用も同様です。. オペレーティングシステムに適用, これは、TCBのコアとして小さなマイクロカーネルを主張しています, OSサービスが相互に保護されたコンポーネントに分離されている (サーバー) –「モノリシック」デザインとは対照的.
マイクロカーネルの設計に依存すると、ほとんどのコンポーネントが互いに分離されます, 低いセキュリティ特権で実行している. これはそれを作ります 脆弱性がシステム全体の侵害につながることはより困難です. これにより、システムのアクセス権をきめ細かく制御することもできます。, したがって、最小特権の設計が可能になります, 研究者 指摘する. これにより、システムのアクセス権をきめ細かく制御できます。, 真の最小特権設計を可能にします.
モノリシックOSの場合, 妥協する (カーネル提供) サービスはシステム全体を危険にさらします, したがって、数百万のSLOCカーネル全体がすべてのアプリケーションのTCBに含まれています. 対照的に, マイクロカーネルベースのシステムで, アプリケーションのTCBは、使用するシステムサービスに大きく依存するようになります.
このルールは、WindowsとmacOSにも適用される場合があります, 論文はLinuxのみに焦点を当てていますが. Windowsカーネル, 例えば, 大きくなっている, 最近のバージョンでは 60 に 65 MSLOC, 紙は言う.
調査はどのように行われましたか?
研究者は、CVEリポジトリにリストされているLinuxカーネルのすべての重大なセキュリティ上の欠陥を分析しました。 2017. この分析で, 研究者たちは、マイクロカーネルアプローチがセキュリティの状態を改善するかどうかを見たかった. 彼らの調査結果は 96% Linuxの重大なバグの多くは重大ではなくなります マイクロカーネルベースの設計が導入された場合. さらに, 40% これらの欠陥のうち、検証済みのマイクロカーネルを使用すれば完全に排除できます。, と 29% 未確認のマイクロカーネルで駆除されます.
ここでの良い例は、QEMUのhw / net/stellaris_enet.cのstellaris_enet_receive関数のバッファオーバーフローとして説明されているCVE-2015-4001の欠陥です。, Stellarisイーサネットコントローラーが大きなパケットを受け入れるように構成されている場合. この脆弱性により、リモートの攻撃者がサービス拒否を引き起こす可能性があります (QEMUのクラッシュ) 大きなパケットを介して.
どうやら, この脆弱性はマイクロカーネルによって完全に排除されます:
このカテゴリの例はCVE-2015-4001です。, これは、OZWPANドライバーの整数符号エラーを表します. このドライバーは、ハードウェアデバイスが関連付けられていないUSBホストコントローラーデバイスドライバーです。, 代わりに、Wi-Fi経由でワイヤレス周辺機器と通信するために使用されます. 整数の符号エラーは、減算の結果が負になる可能性があります, memcpy操作で、値を、ネットワークから提供された大量のデータをヒープバッファーにコピーする意図として解釈します。. 攻撃者は、細工されたパケットにペイロードを挿入して、エラーをトリガーし、データを挿入することができます. Linuxはドライバーをカーネルにロードするので, カーネルをクラッシュさせることにより、サービス拒否を引き起こす可能性があります, または、カーネル権限で任意のコードを実行する可能性があります.
完全な技術的開示について, 完全に参照してください 紙.