FC2ブログ

プロフィール

大山恵弘

  • Author:大山恵弘
  • 公式なサイトはこちら

最近の記事

最近のコメント

最近のトラックバック

月別アーカイブ

ブロとも申請フォーム

ブログ内検索

RSSフィード

リンク

FC2カウンター

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【フック】 Detours: Binary Interception of Win32 Functions 【Windows】

In 3rd USENIX Windows NT Symposium.
http://research.microsoft.com/sn/detours/

Win32の関数にinterception codeを入れるためのライブラリ。
ユーザはアプリケーションコードの中でdetoursライブラリ関数を呼ぶ。その関数の引数には、interceptされるWin32の関数名と、interception codeを提供する関数名を与える。その関数は、メモリ上に存在する、interceptされる関数の先頭の命令列を、interception codeを提供する関数へのジャンプ命令列に書き換える。

Windows上で関数をinterceptする方式について述べている数少ない論文の一つ。

ついついセキュリティへの応用を考えたくなるが、Detoursはセキュリティ用途には使いにくいように思う。資源を操作する重要な関数の呼び出しに検査を挟んで、資源を不正に操作されないようにするなんて処理は、Detoursではうまく実現できない。たとえば、バッファオーバフローによって注入されたコードは、直接System Serviceを呼び出すことによって、悪意の操作を実行できる。注入コードをここに述べられてるような凝ったものにすれば、注入コードはinterceptionをバイパスしてオリジナルの関数に直接飛ぶことができる。

セキュリティ用途に使うなら、System Serviceの直接呼び出し対策やバイパス対策が必須。
もしくは、Detours方式は捨てて、System Serviceフック方式を採用してしまうのが、筋が良いように思われる。
スポンサーサイト

<< 【仮想マシン】 HARPY: A Virtual Machine Based Approach to High-Throughput Cluster Computing 【高性能計算】 | ホーム | 【ディペンダブル】 On the Challenge of Delivering High-Performance, Dependable, Model-Checked Internet Servers 【モデル検査】 >>


コメント

コメントの投稿


管理者にだけ表示を許可する

 BLOG TOP 


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。