検索
連載

DEPの仕組みとその回避手法Beyond Zero-day Attacks(5)(3/3 ページ)

ゼロデイ攻撃をめぐる攻防、第5回はコードエリア以外でのプログラム実行を防ぐDEP(Data Execution Prevention)を取り上げます。

Share
Tweet
LINE
Hatena
前のページへ |       

DEPを回避する――Return Oriented Program(ROP)

 「Return Oriented Program(ROP)」はReturn to Libcと同様の攻撃手法ですが、APIではなく、プログラム中に(偶然)存在する、自分が実行したい短いマシン語を見つけて、これに制御を移す手法です。

 この手法はいま最もホットなエリアで、2013年に開催されたBlueHat Prizeコンテストで表彰された上位3手法の全てがROP対策でした。

関連リンク

Microsoft BlueHat Prize Contest(Microsoft)

http://www.microsoft.com/security/bluehatprize/


 ROPは、メモリ上に展開された実行イメージ中で、自分が意図したマシン語に相当するバイナリデータを使います。図5では、本来は“move eax, 0xc3084189”となっているプログラムを、意図的に1バイトずらすことにより、“move [ecx+8], eax; ret”というプログラムとして利用します。

 Return to Libcで解説した例でも、“jmp esp”の命令は、ROPを利用することができます。


図7 Return Oriented Program(ROP)

DEP回避策の対策

 ここで紹介をした攻撃に対して、Windowsではいくつかの対策が用意されています。その一つは「ブートフラグでDEPをAlwaysOn(表1を参照)にする」ことで、DEPの無効化を回避する方法です。ただし、この対策は、VirtualProtectを使った攻撃の対策にはならない点に注意が必要です。

 大きな実行イメージの中から、意図したコードに相当するバイト列を見つけることは、必ずしも難しいことではないようで、ROPの対策が大きな課題となっています。先にご紹介したBlueHat Prizeで表彰されたROP対策の一部は、EMET(Enhanced Mitigation Experience Toolkit)4.1以降から逐次取り込まれています。

結びに

 DEPの回避策に利用されるReturn to Libcや、ShellcodeからAPIを呼び出すためには、APIの絶対アドレスを事前に攻撃者が知る必要があります。このため、APIをはじめとしたさまざまなアドレスが事前に特定ができない場合、攻撃を成功させることが極めて難しくなります。これは「ASLR(Address Space Layout Randomization)」と呼ばれる技術で、WindowsではVistaから導入されています。

 次回は、このASLRについてご紹介をしていきます。

著者プロフィール

高橋 正和(たかはし まさかず)

日本マイクロソフト株式会社

チーフ セキュリティ アドバイザー

1980年代初頭からミニコン、PC-98、8085、4ビットマイコンなどを使った制御システムの開発などを経験。

1980年代中頃から、日本デジタル研究所株式会社で標準ライブラリの開発保守、開発環境の開発保守、独自OSからWindows NT/Windows XPへの移植、品質管理、新入社員向けのC言語の新人教育などを担当した。

標準ライブラリでは、ファイルシステムやSocketライブラリの開発・実装・保守、開発環境では、68K系のCPUにWhite Sims’s Cによるリロケータブルな実行ファイル形式という特性を使って、オーバーレイリンカー・ローダー等も開発した。

1999年にISS(現在はIBM)セキュリティに関わり、2006年から現職(日本マイクロソフト株式会社 チーフセキュリティアドバイザー)を務める。


Copyright © ITmedia, Inc. All Rights Reserved.

前のページへ |       

Security & Trust 記事ランキング

  1. 米国/英国政府が勧告する25の脆弱性、活発に悪用されている9件のCVEとは、その対処法は? GreyNoise Intelligence調査
  2. セキュリティ担当者の54%が「脅威検知ツールのせいで仕事が増える」と回答、懸念の正体とは? Vectra AI調査
  3. OpenAIの生成AIを悪用していた脅威アクターとは? OpenAIが脅威レポートの最新版を公開
  4. インサイダーが原因の情報漏えいを経験した国内企業が約3割の今、対策における「責任の所在」の誤解とは
  5. 英国政府機関が取締役にサイバーリスクを「明確に伝える」ヒントを紹介
  6. 約9割の経営層が「ランサムウェアは危ない」と認識、だが約4割は「問題解決は自分の役割ではない」と考えている Vade調査
  7. セキュリティ専門家も「何かがおかしいけれど、攻撃とは言い切れない」と判断に迷う現象が急増 EGセキュアソリューションズ
  8. 「Amazonプライム感謝祭」に関するフィッシング攻撃を確認、注意すべき7つのポイントとは チェック・ポイント・ソフトウェア・テクノロジーズ
  9. 人命を盾にする医療機関へのランサムウェア攻撃、身代金の平均支払額や損失額は? 主な手口と有効な対策とは? Microsoftがレポート
  10. MicrosoftがAD認証情報を盗むサイバー攻撃「Kerberoasting」を警告 検知/防御方法は?
ページトップに戻る