第42章 セキュリティー向上のため、kstack の ランダム化オフセットを有効にする


カーネルスタック (kstack) ランダム化オフセットセキュリティー機能は、システムコールごとにカーネルスタックの位置をランダム化します。これにより、攻撃者がカーネルの脆弱性を悪用することを防ぐことができます。

kstack の ランダム化にサイクルカウンターを使用する他のアーキテクチャーとは異なり、信頼性に欠ける可能性があるこの方法とは対照的に、64 ビット ARM (aarch64) はカーネルの乱数生成器 (RNG) を使用します。このアプローチが好まれる理由はいくつかあります。

  • 常に有効なサイクルカウンターまたは高速サイクルカウンターがない
  • 遍在する高周波タイマーの欠如
  • v8.5 FEAT_RNG 命令セットをサポートしていないシステム

カーネル乱数生成器は一般的に堅牢なソリューションですが、特にリアルタイム (RT) ワークロードにおいては、著しいレイテンシーの急増を引き起こす可能性があります。その結果、aarch64 リアルタイムカーネルでは、kstack の ランダム化オフセット機能はデフォルトで無効になっています。しかし、この決定にはトレードオフが伴う。カーネルのセキュリティーがわずかに低下するのだ。

42.1. 64 ビット ARM で kstack ランダム化オフセットを有効にする

64 ビット ARM(aarch64) システムでは、リアルタイムカーネルにおいて kstack ランダム化オフセット機能はデフォルトで無効になっています。想定される遅延が使用状況において許容範囲内であれば、この機能を再度有効にしてカーネルのセキュリティーを向上させることができます。

前提条件

  • 管理者権限がある。
  • お使いのシステムは 64 ビット ARM(aarch64) アーキテクチャーで動作しています。

手順

  1. grubby を使用して、randomize_kstack_offset カーネルパラメーターを有効にします。

    # grubby --update-kernel=ALL --args="randomize_kstack_offset=y"
  2. システムを再起動して、変更を有効にします。

    # reboot

検証

  • /proc/cmdline ファイルに randomize_kstack_offset=y パラメーターが指定されていることを確認してください。

    # cat /proc/cmdline

    出力には randomize_kstack_offset=y が含まれます。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る