カーネルスレッドがNXビットによって保護されたページを実行しようとしたというメッセージ

OSSメッセージペディア 2008年03月27日 15時00分

  • このエントリーをはてなブックマークに追加

Kernel tried to execute NX-protected page - exploit attempt? (uid: user_id)

対処

本メッセージが表示さた後、Oopsが発生し、カーネルの実行が停止する。メモリダンプイメージを取得してcrashなどのコマンドで解析し原因を特定する。

説明

カーネルスレッドがNX(No eXecute)ビットによって保護されたページを実行しようとした。

AMD社及びインテル社はNX機能をそれぞれプロセッサにXDビット(eXecute Disable bit)、NXビット(No eXecute bit)にて実装した。インテル系プロセッサのNX機能はPAE(Page Address Extension)を有効にし且つカーネル側でCONFIG_X86_PAE=yでなければならない。上記の条件を満たすとカーネルが起動時にプロセッサのPTE(Page Table Entry)の64ビット目のXDビットをセットし、ハードウエアのNX機能によりページの保護を行なう。保護されるページにはデータの保存だけが可能である。そこから命令を実行しようとするとプロセッサがページフォルト(Page Fault)を発生し実行を中断し、問題のプロセスにSIGKILLシグナルが送信される仕組になる。これにより悪意を持ったプログラムからバッファオーバーフロー攻撃を免かれる。

  • このエントリーをはてなブックマークに追加
関連キーワード
OS

SpecialPR

  • デジタル変革か?ゲームセットか?

    デジタルを駆使する破壊的なプレーヤーの出現、既存のビジネスモデルで競争力を持つプレイヤーはデジタル活用による変革が迫られている。これを読めばデジタル変革の全体像がわかる!

  • ビジネスの継続的な成長を促す新たなITのビジョン

    多くの企業においてITに求められる役割が、「守り」のコスト削減から「攻め」のビジネス貢献へとシフトしつつある。その中でIBMが提唱する新たなビジョンEnterprise Hybrid ITとは?