C言語系/memos/VC++/11, 構造化例外処理と"/SAFESEH"リンカオプション (v1)
C言語系 / memos / VC++ / 11, 構造化例外処理と" / SAFESEH"リンカオプション (v1)
id: 769 所有者: msakamoto-sf
作成日: 2010-09-02 18:04:32
カテゴリ: C言語 Windows セキュリティ
参考リンク
参考リンクのまとめメモです。
初級:構造化例外処理の使い方を学ぶ
- MSDNの基本情報
- "MSDN Library" > "Windows Development" > "Diagnostics" > "Debugging and Error Handling" > "Structured Exception Handling"
- SEHのサンプル
- "MSDN Library" > "Windows Development" > "Diagnostics" > "Debugging and Error Handling" > "Structured Exception Handling" > "Using Structured Exception Handling"
- "Windows の内部動作 - Web/DB プログラミング徹底解説" : 例外処理の一通りの日本語解説
- VC++構造化例外メモ(Hishidama's VC++2005 SEH Memo)
中級:構造化例外処理の実装とC++の例外処理の関係について学ぶ
アセンブラ知識が必要。内容も非常に濃厚。
- A Crash Course on theDepths of Win32 Structured Exception Handling, MSJ January 1997
- How a C++ compiler implements exception handling - CodeProject
上級:"/SAFESEH"とセキュリティ関連の話題
なぜ"/SAFESEH"を使うべきなのか?それはバッファオーバーフローを使ってスタック上に展開された例外ハンドラのアドレスを書き換える"SEH Overwiting Expoit"という攻撃を防止するためである。しかしロードされる他のモジュールの"/SAFESEH"有無やSoftwareDEPの有効・無効によって回避される場合もあり、万能ではない。
また"/SAFESEH"はx86のみ有効である点も注意が必要である。x64におけるSEHの仕組みについての解説記事へのリンクも載せているので、参照されたい。
- Nothing But Programming - SEH
- Windows における例外ハンドリング - @a4lg の準技術的日記 (See Left side for My Twitter Link)
- Exploit writing tutorial part 6 : Bypassing Stack Cookies, SafeSeh, SEHOP, HW DEP and ASLR | Peter Van Eeckhoutte's Blog
プレーンテキスト形式でダウンロード
現在のバージョン : 1
更新者: msakamoto-sf
更新日: 2010-09-02 18:23:02
md5:150dec004e925a949a6e060c9fb69bc0
sha1:93ab1150a42155c86a8f89bc669ecbdc340fbbd5