前のトピック: API によるリソースの保護次のトピック: STOP の開始と停止


スタック オーバーフローの防止: STOP

スタック オーバーフローによって、ハッカーは、リモートまたはローカルのシステムに対して、root ユーザ(スーパーユーザ)としてあらゆるコマンドを何度でも実行できます。 ハッカーは、オペレーティング システムや他のプログラムのバグを利用して、スタック オーバーフローを発生させます。 これらのバグにより、ユーザがプログラム スタックを上書きできるようになるので、次に実行するコマンドに変更が加わります。

スタック オーバーフローは単なるバグではありません。戻りアドレスを意味のあるアドレスで上書きするブロックを作成できるので、(通常は同じブロックにある)未承認コードに制御が転送されることになります。

スタック オーバーフロー防止機能(STOP)は、ハッカーがスタック オーバーフローを発生させ、それを利用してシステムに侵入するのを防止する機能です。

: Linux ネイティブ スタックのランダム化(ExecShield randomize)が実行されている場合、Red Hat Linux および SuSe Linux で STOP 機能は有効になりません。

Linux s390 RHEL 4 では、ネイティブ スタックのランダム化は機能せず、STOP を有効にするには、無効にする必要があります。 ネイティブ スタックのランダム化を無効にするには、以下のコマンドを入力します。

echo 0 > /proc/sys/kernel/exec-shield-randomize