Write XOR eXecute
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/05/22 07:15 UTC 版)
「バッファオーバーラン」の記事における「Write XOR eXecute」の解説
典型的なスタックベースのバッファオーバーフロー攻撃では、本来データを格納すべき領域にシェルコードやNOP命令のような実行コードを置き、これをプログラムに実行させる事で攻撃が成立する。そこでこのような攻撃を防ぐため、データを格納すべき領域では実行不可にする、Write XOR eXecute(W ⊕ {\displaystyle {\boldsymbol {\oplus }}} XもしくはW^Xと略す)という対策手法が知られている。W ⊕ {\displaystyle \oplus } XのWindowsにおける実装はDEP(英: Data Execution Prevention, データ実行防止)と呼ばれる。またDEPではSEH例外ハンドラへのポインタが上書きされないように明示的に保護を行う。一部のUNIX(OpenBSDやmacOSなど)はW ⊕ {\displaystyle \oplus } Xなどの実行保護が有効になった状態で出荷されている。それ以外のオプショナルなパッケージとしては以下のものが挙げられる。 PaX Exec Shield Openwall また、プロプライエタリなアドオンとしては以下のものがある。 BufferShield StackDefender なお、2018年現在広く使われているx64アーキテクチャのプロセッサでは、W ⊕ {\displaystyle \oplus } Xを実現する為にデータ領域である事を識別するNXビットという仕組みがハードウェアレベルでサポートされている(インテルではNXビットのことをXDビットと読んでいるが同一のものである)。
※この「Write XOR eXecute」の解説は、「バッファオーバーラン」の解説の一部です。
「Write XOR eXecute」を含む「バッファオーバーラン」の記事については、「バッファオーバーラン」の概要を参照ください。
- Write XOR eXecuteのページへのリンク