【コラム】

ITセキュリティのアライ出し

35 久々登場! "アライ出し・再生"の一発目はWindowsセキュリティ

35/47

どうもご無沙汰しております。前回のアライ出しは一昨年の9月、もはや「アライ出し更新しないんですか?」という声も止んで久しい今日この頃であるが、皆様いかがお過ごしでしょうか。この不定期連載の更新を心待ちにしていた方が一人でもいらっしゃったのであれば、それは非常にありがたいことである。

筆者の近況はというと、昨年は経営に携わる仕事が中心であったため、どうしても情報セキュリティの最新事情よりも、会社の事業活動をウォッチして是正することが主となっていた。しかしながら、今年はふたたび研究開発部門を主管する立場となったため、従来どおりの活動が可能となった。そこで、本連載も復活ののろしを上げたい。復活の最初のテーマは、やはりこれしかないだろう。それはもちろんWindowsのセキュリティについてである。

昨年の10月、MicrosoftはEnhanced Mitigation Evaluation Toolkit(EMET)と呼ばれる追加ツールをリリースした。従来は、脆弱性の影響を緩和できる機能を組み込むためには、ソフトウェアをソースコードから再コンパイルする必要があった。また、脆弱性の悪用を抑止する機能はより最新のWindowsに搭載されているため、その恩恵は古いバージョンのWindowsでは受けることができなかった。しかし、EMETツールを使用することでこうした問題点を解決できるという。具体的には、次のような緩和機能を提供する。

1. SEHOP

バッファオーバーフローに代表されるメモリ上書きの脆弱性をWindows上で悪用する場合のテクニックのひとつに、SEH(Structured Exception Handling: 構造化例外処理)の上書きがある。Structured Exception Handler Overwrite Protection (SEHOP)は、このテクニックを抑止するためにWindows Server 2008およびVista SP1から導入された保護機構である。この保護機構により、実際にMS09-032の攻撃コードを失敗させたとMicrosoftは述べている。

2. 動的なDEP

Data Execution Prevention (DEP)は、本来はデータを格納するだけのメモリ領域にシェルコードが書き込まれて実行されてしまうことを抑止する保護機構である。Windows XP SP2から導入された。

3. NULLページ割り当ての防止

これはアドレス0x00000000(NULL)に近いページの割り当てをさせないことで、NULL間接参照の悪用を防止するというものである。ただし、現行のバージョンのEMETはユーザモードでの保護をサポートしており、カーネルモードのNULL間接参照の問題を保護はサポートしていない、とMicrosoftは述べている。

4. Heap Sprayテクニックの防止

Heap Sprayは、ブラウザ用プラグインの脆弱性を悪用する攻撃コードによく用いられるテクニックである。EMETはHeap Sprayで一般に使用されるヒープ領域を事前に確保しておくことでこのテクニックが成功することを阻止する。ただし、この方法は一般的な保護機構ではないとMicrosoftは述べている。

EMETは次のレジストリキーを使用している。

HKey_Local_Machine\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options

このレジストリキーは通常デバッガを設定するために使用される。つまり、ある特定のアプリケーションが起動されるたびにデバッガが起動する、ということになる。これにより、毎回デバッガでアタッチするという手間を省くことができるので、より効率的にアプリケーション開発時にバグを発見することができるという目的を達成できるのだ。

そして、デバッガの代わりにEMETを登録することで、保護対象のプログラムが起動されるたびにEMETが起動する。その結果、上記のような保護を対象のプログラムに適用するというしくみである。

35/47

インデックス

連載目次
第47回 今年で7回目の開催になる日本的なCTFを見学してみた
第46回 EAF出撃す
第45回 再会、EMET
第44回 世界のカンファレンスの景色から - RECON その6
第43回 世界のカンファレンスの景色から - RECON その5
第42回 世界のカンファレンスの景色から - RECON その4
第41回 世界のカンファレンスの景色から - RECON その3
第40回 世界のカンファレンスの景色から - RECON その2
第39回 世界のカンファレンスの景色から - RECON その1
第38回 Adobe Flash PlayerおよびReaderのゼロディ脆弱性を分析する その2
第37回 Adobe Flash PlayerおよびReaderのゼロディ脆弱性を分析する
第36回 続・EMET - メモリアドレスを攻撃者より先に確保せよ
第35回 久々登場! "アライ出し・再生"の一発目はWindowsセキュリティ
第34回 実在するマルウェアのホスティングサービス - 迷惑メールとマルウェア(3)
第33回 感染先の選り好みをするマルウェア - 迷惑メールとマルウェア(2)
第32回 難読化するマルウェア - 迷惑メールとマルウェア(1)
第31回 ボットネットの観測方法をさらに詳しく分析する(2) - Krakenの狙いとは
第30回 ボットネットの観測方法をさらに詳しく分析する(1) - Obfuscationの実際
第29回 Kraken騒動とボットネット観測方法への賛否両論
第28回 マルウェア作成キットの歴史~過去から現在へ(下) - Pinchが作った量産体制
第27回 マルウェア作成キットの歴史~過去から現在へ(中) - Agobotが現れた!
第26回 マルウェア作成キットの歴史~過去から現在へ(上) - VCLからクルニコワまで
第25回 iPhoneの解析が進行中 - "Black Hat Japan 2007"見聞録
第24回 Vistaのカーネルモードドライバへのコード署名要件にかかる問題のまとめ(2)
第23回 Vistaのカーネルモードドライバへのコード署名要件にかかる問題のまとめ(1)
第22回 Windowsにおけるバッファオーバーフロー(6)
第21回 ウイルス分析合宿中につき…「世界のホシザワにしごかれるの巻」
第20回 Windowsにおけるバッファオーバーフロー(5)
第19回 2006年を振り返る
第18回 Windowsにおけるバッファオーバーフロー(4)
第17回 Windowsにおけるバッファオーバーフロー(3)
第16回 Windowsにおけるバッファオーバーフロー(2)
第15回 Windowsにおけるバッファオーバーフロー(1)
第14回 検索エンジンと情報セキュリティ(2)
第13回 検索エンジンと情報セキュリティ(1)
第12回 PoCの内側 - Heap Spray(2)
第11回 PoCの内側 - Heap Spray(1)
第10回 標的型攻撃に関する一考察(7) - 対策とまとめ
第9回 標的型攻撃に関する一考察(6) - 脆弱性発見手法の進化(後編)
第8回 標的型攻撃に関する一考察(5) - 脆弱性発見手法の進化(中編)
第7回 標的型攻撃に関する一考察(4) - 脆弱性発見手法の進化(前編)
第6回 標的型攻撃に関する一考察(3) - 関連資料から探る脅威の実像(後編)
第5回 標的型攻撃に関する一考察(2) - 関連資料から探る脅威の実像(前編)
第4回 標的型攻撃に関する一考察(1) - 0-day Exploit利用形の頻発
第3回 コンピュータウイルスの過去・現在・未来(2) ウイルスに寄生するウイルス
第2回 コンピュータウイルスの過去・現在・未来(1) ウイルスの捕食-被食関係
第1回 統計から読み取るRootkitとボットの関係

もっと見る



転職ノウハウ

あなたが本領発揮できる仕事を診断
あなたの仕事適性診断

シゴト性格・弱点が20の質問でサクッと分かる!

「仕事辞めたい……」その理由は?
「仕事辞めたい……」その理由は?

71%の人が仕事を辞めたいと思った経験あり。その理由と対処法は?

3年後の年収どうなる? 年収予報
3年後の年収どうなる? 年収予報

今の年収は適正? 3年後は? あなたの年収をデータに基づき予報します。

激務な職場を辞めたいが、美女が邪魔して辞められない
激務な職場を辞めたいが、美女が邪魔して辞められない

美人上司と可愛い過ぎる後輩に挟まれるエンジニアの悩み

人気記事

一覧

イチオシ記事

新着記事

求人情報