Return-to-libc attackとは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > Return-to-libc attackの意味・解説 

Return-to-libc攻撃

(Return-to-libc attack から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2015/10/10 16:18 UTC 版)

Return-to-libc攻撃とは、バッファオーバーランによってコールスタック上のリターンアドレスを別のサブルーチンへのアドレスへ書き換え、さらにスタック上の引数に当たる位置も書き換えることで、サブルーチンを呼び出させるコンピュータセキュリティの攻撃手法である。攻撃者は、悪意あるコードをプログラムに注入することなく、単に既存の関数を呼び出すだけで攻撃を行う。

Unix系システムでは、C言語ランタイムとして "libc" という共有ライブラリが使われる(Windows でも該当するライブラリが存在する)。バッファオーバーランでは攻撃者は任意のコードに戻るように細工できるが、常にリンクされていて攻撃に使い易い機能が多く存在する libc をターゲットとすることが多い(例えば、system() は引数さえ正しく指定すれば、任意のプログラムを実行できる)。このため、全く別の場所を呼び出すようになっていても総称として "return-to-libc" と呼ぶ。

防御方法

スタックに実行コードを書き込むようなバッファオーバーランを利用した攻撃の場合と異なり、NXビットでスタック上のコード実行を防御しても、return-to-libc攻撃ではスタック上のコードを実行するわけではないので、防ぐことができない。Stack smashing protection は、スタック内容の破壊を検出したり、可能であれば破壊されたセグメントを復旧することで、この種の攻撃を防御できる。

ASLR (Address Space Layout Randomization) は、実行プログラムの各モジュールのコードが配置される位置をランダム化することで、狙い撃ちでコードを実行されることを防ぐ。ASLRは、特に64ビットシステム上での攻撃成功確率を劇的に低下させる。32ビットシステムでは、一般的には16ビット分のランダム化しか提供しないため(すなわち65536通り)、総当たり攻撃により分単位で攻撃を成功されてしまう可能性がある。

関連項目

参考文献

外部リンク




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

辞書ショートカット

すべての辞書の索引

Return-to-libc attackのお隣キーワード
検索ランキング

   

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



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

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのReturn-to-libc攻撃 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS