コンピューティングにおいて、カーネル同一ページマージ( KSM ) は、カーネル共有メモリ、メモリマージ、メモリ重複排除、ページ重複排除とも呼ばれ、ハイパーバイザシステムが複数のプロセスまたは仮想化ゲスト間で同一内容のメモリ ページを共有できるようにするカーネル機能です。直接リンクされてはいませんが、カーネルベースの仮想マシン(KVM) は KSM を使用して、仮想マシンが占有するメモリ ページをマージできます。
重複排除
KSM は、メイン メモリをスキャンして同じ内容の物理ページを探し、それらの物理ページにマップされている仮想ページを識別することでメモリの重複排除を実行します。1 つのページは変更せずに残し、重複している各ページを同じ物理ページを指すように再マップし、その後、余分な物理ページを再利用のために解放します。また、両方の仮想ページを「コピー オン ライト」(COW) としてマークするため、プロセスが書き込みを開始するとすぐに、カーネルは仮想ページを自動的に再マップして、独自の個別の物理ページを持つようにします。[1]
KSMはもともと、プロセスと仮想マシン間でメモリを共有することで、1 つのホストでより多くの仮想マシンを実行することを目的としていました。Red Hat による KSM の実験的な実装では、1 GB のメモリを搭載した Windows XP の仮想インスタンス 52 個が、16 GB の RAM しかないホスト コンピュータで実行できることが分かりました。 [2]実装後、ユーザーは KSM がメモリが貴重な非仮想化環境でも役立つことを発見しました。[3] [4]
KSM は、2009 年 12 月 3 日にリリースされたバージョン 2.6.32 でLinux カーネルのメインラインに統合されました。 [3] [2]有効にするには、オペレーティング システム カーネルは、異なるプロセスによって保持されている同一のメモリ ページを見つける必要があります。カーネルはまた、ページがあまり頻繁に更新されない可能性が高いため、マージによってプロセッサ リソースを効率的に使用できるかどうかを予測する必要があります。[4]懸念されるのは、メモリ使用量は削減されるものの、CPU 使用量が増加し、パフォーマンスの向上の可能性が打ち消されることです。[1]
セキュリティリスク
セキュリティも懸念事項です。
- アドレス空間レイアウトランダム化(ASLR)の回避を可能にする[5] [6]
- タイミング攻撃による情報の漏洩[7] [8]
- メモリローハンマー攻撃により他の仮想化ゲストの暗号リソースが汚染される可能性がある[9]
参照
- データ重複排除– 重複ファイルを共有することでストレージ要件を削減
- シングルインスタンスストレージ
参考文献
- ^ ab 「KSM が再び試行」。lwn.net . kernel.org . 2010 年8 月 21 日閲覧。
- ^ ab 「Linuxカーネル2.6.32、セクション1.3。カーネル同一ページマージ(メモリ重複排除)」。KernelNewbies.org。2009年12月3日。 2015年8月12日閲覧。
- ^ ab 「Linux カーネル共有メモリの分析」。IBM Developer。IBM。2016年 7 月 9 日時点のオリジナルよりアーカイブ。2010年8 月 21 日閲覧。
{{cite web}}: CS1 メンテナンス: 不適切 URL (リンク) - ^ ab 「KSM を使用したメモリ密度の向上」(PDF)。Kernel.org 。2010年8 月 21 日閲覧。
- ^ 須崎邦康;飯島健吾;八木俊樹シリル・アルソ。 「ゲスト OS に対する脅威としてのメモリ重複排除」(PDF)。2013 年 1 月 5 日のオリジナル(PDF)からアーカイブ。2013 年9 月 16 日に取得。
- ^ Barresi, Antonio; Razavi, Kaveh; Payer, Mathias ; Gross, Thomas R. (2015 年 8 月)。「 CAIN : クラウドで ASLR を静かに破壊する」(PDF)。USENIX。2015年8 月 12 日閲覧。
- ^ Red Hat、Polyakov、Andy。「すべては時間の問題 - OpenSSL に対する AES タイミング攻撃」。access.redhat.com。Red Hat。2016年8 月 4 日閲覧。
- ^ Schwarzl, Martin; Kraft, Erik; Lipp, Moritz; Gruss, Daniel (2021). 「リモートメモリ重複排除攻撃」。ネットワークおよび分散システムセキュリティシンポジウム。 2022年4月2日閲覧。
- ^ 「新しい FFS Rowhammer 攻撃が Linux VM をハイジャック」。2016 年 8 月 14 日。2016年8 月 17 日閲覧。
外部リンク
- Linuxカーネルドキュメント
- Fedora KSM ページ
- カーネルベースの仮想マシンサイト - KSM
