SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

実例で学ぶ脆弱性対策コーディング

WindowsのDLLだけが危ないのか?
DLL hijacking vulnerability概説(後編)


  • このエントリーをはてなブックマークに追加

 本連載では、最近話題のDLL hijacking vulnerabilityと呼ばれるプログラムのDLL読み込みに関する脆弱性について、前後編の2回に分けて解説します。後編では、DLL hijackingの脆弱性に対し攻撃を受けないアプリケーションを開発するため、Microsoftが開発者向けに公開している対策方法の一部を紹介します。

  • このエントリーをはてなブックマークに追加

はじめに

 前編では、DLL hijackingと呼ばれるプログラムのDLL読み込みに関する脆弱性の概要および、関連するイベントを紹介しました。

 Microsoftはセキュリティアドバイザリ2269637を公開するとともに、Security Research & Defenseブログに「More information about the DLL Preloading remote attack vector」というエントリを追加し、より詳細な技術情報を説明しています。このエントリのなかで、アプリケーション開発者向けのガイダンスとして作成された word 文書「Secure loading of libraries to prevent DLL preloading attacks」が提供されました。現在は、この文書の日本語抄訳「ライブラリを安全にロードして DLL のプリロード攻撃を防ぐ」も提供されています。

 ガイダンス文書の構成は、以下のようになっています。

  • DLLのプリロード攻撃の詳細
    • LoadLibraryベースの攻撃
    • SearchPathベースの攻撃
    • ShellExecuteおよびCreateProcess
  • ソフトウェア開発者向けの推奨されるステップ
    • 開発者が行うべき4項目の作業
      1. 安全でないライブラリロードを行っていないかチェック
      2. 完全修飾パスを使ってライブラリロードするように修正
      3. 既定のDLLの検索順序からカレントディレクトリを削除
      4. SetSearchPathModeを使って安全なプロセス検索モードを有効化
    • 安全でないライブラリロードの特定に関するガイダンス
      ライブラリをロードするコード例として、攻撃に悪用される可能性のあるコード例と安全なコード例を示しています。
  • Process Monitorを用いて、安全でないロードを動的に検出する
    アプリケーションの実行時に安全でないロードを行っているかどうかを、Process Monitorを使って観察する方法について簡単に説明しています。
  • 追加のリソース
    関連するブログ記事やMSDNの情報がリストされています。

 今回はこの文書に基づいて、Windowsアプリケーション開発における対策方法をご紹介します。

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
DLL hijacking攻撃を受けないアプリケーションを開発するために

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
実例で学ぶ脆弱性対策コーディング連載記事一覧

もっと読む

この記事の著者

久保 正樹(JPCERT コーディネーションセンター)(クボ マサキ(JPCERT コーディネーションセンター))

脆弱性アナリストJPCERTコーディネーションセンター慶応義塾大学環境情報学部卒。ソニーでデスクトップPCのソフトウェア開発に携わったのち、米国ダートマス大学にてオーディオ信号処理、電子音響音楽の研究を行い、電子音響音楽修士を取得。2005年4月よりJPCERTコーディネーションセンターにて、脆弱性...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

戸田 洋三(JPCERT コーディネーションセンター)(トダ ヨウゾウ(JPCERT コーディネーションセンター))

リードアナリストJPCERTコーディネーションセンター東京工業大学情報理工学研究科修士課程修了。学生時代は、型理論および証明からのプログラム抽出を研究。その後、千葉大学総合情報処理センターのスタッフとして、学内ネットワークの運営、地域ネットワーク、IPマルチキャストの実験ネットワークであるJP-MB...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/5442 2012/09/19 11:15

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング