Exec_Shieldとは? わかりやすく解説

Exec Shield

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/08/07 23:06 UTC 版)

ナビゲーションに移動 検索に移動

Exec Shieldレッドハットが2002年後半に開始したプロジェクトであり、Linuxシステムに対するワームなどの自動化された攻撃の危険性を低減することを目的としている。最初の成果は、Linuxカーネルセキュリティパッチであり、NXビットがハードウェアで実装されていないx86マイクロプロセッサでNXビットをエミュレートするものだった。Exec Shield には他にも多数のコンポーネントがあるが、この最初のパッチだけを Exec Shield と呼ぶ人もいる。

概要

この最初のExec Shieldパッチは、データ用メモリページを実行不可能とし、コード用メモリページを書き込み不能とする。これはバッファオーバーランなどの技法を使ってデータの中にコードを挿入するなどの試みを抑止する。Exec Shieldには他に mmap() とヒープのベースアドレスのASLR (Address Space Layout Randomization) も行う。

このパッチは他にシェルコードの挿入と実行をより困難にする効果もある。Exec Shield を利用するにあたって、アプリケーションの再コンパイルは不要だが、一部のアプリケーション (Mono, Wine, XEmacs) は動作が若干変わってしまう。

Exec Shieldプロジェクトから生まれた他の機能としては、いわゆるPosition Independent Executables (PIE) というLinuxカーネル用ASLRパッチ、glibc内部の広範囲なセキュリティチェック、GCC Fortify Source機能、GCCスタックプロテクタの移植とマージなどがある。

実装

Exec Shieldは、x86CPUのコードセグメント境界を利用して動作する。そのため非常に軽量であるが、任意の仮想記憶配置を完全に保護するわけではない。mprotect() で実行可能な範囲を広げると、その範囲内の保護は無効になる。Ingo Molnar は電子メールでの会話でこの点を指摘している。幸いにもほとんどのアプリケーションはその点で問題ない。特に重要なスタックは、アプリケーションが明示的に指定しない限り実行可能にはならない。

2004年8月現在、Exec Shieldプロジェクトの成果物は mprotect() を制限するわけではない。もっとも、初期状態で実行不可能なメモリであっても後から実行可能にすることはできるので、カーネルがアプリケーションに対してメモリページを同時に書き込み可能かつ実行可能にすることがある。しかし、SELinuxと併用することで Fedora Core ディストリビューションの標準ポリシーでは、互換性を理由とした一部の例外を除いて、ほとんどの実行ファイルのそのような動作を禁止している。

歴史

Exec Shield はレッドハットの様々な人々が開発に関わった。最初のパッチを2003年5月にリリースしたのはレッドハットの Ingo Molnar であった。これは Fedora Core 1から6とRed Hat Enterprise Linux 3 (update 3) から4に採用された[1][2]。他に関与した人々としては、Jakub Jelínek、Ulrich Drepper、Richard Henderson、Arjan van de Ven らがいる。

関連項目

脚注

  1. ^ Fedora Core 1 Release Notes”. Red Hat, Inc. (2003年11月). 2003年12月2日時点のオリジナルよりアーカイブ。2007年10月18日閲覧。
  2. ^ van de Ven, Arjan (2004年8月). “New Security Enhancements in Red Hat Enterprise Linux v.3, update 3 (PDF)”. Red Hat, Inc.. 2005年5月12日時点のオリジナルよりアーカイブ。2007年10月18日閲覧。

外部リンク


Exec Shield

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2019/02/17 14:39 UTC 版)

NXビット」の記事における「Exec Shield」の解説

詳細は「Exec Shield」を参照 レッドハットカーネル開発者Ingo MolnarはExec Shieldという32ビットx86CPUでLinuxNX機能活用できるようにするLinuxカーネルパッチを提供した。後にMolnarは32ビットカーネル上でハードウェアNXサポートするLinux NXパッチ提供した。 Exec Shieldパッチ2003年5月2日Linux Kernel Mailing List提供された。このパッチは、複雑なエミュレーション実現するために基礎的なコード重大な改変加えるためカーネルには取り込まれなかった。 ハードウェアサポートしているプロセッサ: NXサポートするLinuxサポートする全てのプロセッサ エミュレーション: NX模倣は、IA-32 (x86) および互換品のコードセグメント制限使用する その他のサポート: なし 標準搭載されているか: Red Hat Linux リリース日: 2003年5月2日

※この「Exec Shield」の解説は、「NXビット」の解説の一部です。
「Exec Shield」を含む「NXビット」の記事については、「NXビット」の概要を参照ください。

ウィキペディア小見出し辞書の「Exec_Shield」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Exec_Shield」の関連用語

Exec_Shieldのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Exec_Shieldのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのExec Shield (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのNXビット (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS