はじめに
今回は、最近話題のDLL hijacking vulnerabilityと呼ばれるプログラムのDLL読み込みに関する脆弱性について解説したいと思います。この脆弱性は、"DLL preloading attack"と呼ばれたり"binary planting vulnerability"と呼ばれたりすることがありますが、これらは同じ問題の別称です。ここでは便宜上「DLL hijacking」という言葉で統一します。
この脆弱性は、スロベニアのセキュリティ会社Acros Security(Acros)が8月18日に公開したWindows向けApple iTunesの脆弱性"Remote Binary Planting in Apple iTunes for Windows"において、メディアの注目を集めました。前後して、UC Davisの研究者が同様の問題に関する学会発表を行っていたり、著名なセキュリティ研究者であるHD Moore氏が独自にツールを開発して同脆弱性の影響を受けるアプリケーションについて調査していた件をブログで公表したり、Acrosが独自に行った調査結果をMicrosoftと共有していたり、とセキュリティ業界ネタとしてさらに注目を集めました。
現在は、8月23日にMicrosoftが公式に対策方法に関するドキュメント(後編で詳述)を公開したことでひとまず騒ぎは落ち着いているという状況です。実は2008年にも同様の問題が公表され、メディアに取り上げられるなど話題になりました。この問題は、Windows OSだけの問題なのでしょうか。また、実際にはどれくらい深刻な問題なのでしょうか。以下に、本問題に関するイベントを時系列にまとめてみました。
DLL hijacking vulnerabilityに関するイベント
2008年
セキュリティ研究者Nitesh Dhanjani氏が"Safari Carpet Bomb"と呼ばれる攻撃手法についてApple社に通知し修正された旨を自身のブログに公表し、注目を集める(CVE-2008-2540)。
Microsoftの研究者David LeBlanc氏のブログに"DLL Preloading Attacks"がポストされる。
- 5月頃
- 8月20日
2010年
スロベニアのセキュリティ会社Acros SecurityがWindows版 VMWare ToolのRemote Binary Plantingについて公表。
カリフォルニア大学デービス校の研究者Taeho Kwon氏、Zhendong Su氏らがISSTA 2010にて論文発表を行う(タイトル:"Automatic Detection of Vulnerable Dynamic Component Loadings")。
Acros Securityが"Remote Binary Planting in Apple iTunes for Windows"と題したセキュリティアドバイザリーを公開。
Microsoftのセキュリティアドバイザリ(2269637)"Insecure Library Loading Could Allow Remote Code Execution"が公開される。
MicrosoftのSecurity Research & Defenseブログに"More information about the DLL Preloading remote attack vector"がポストされる。
David LeBlanc氏のブログに"Another technique for Fixing DLL Preloading attacks"がポストされる。
Inj3ct0rにPoC(Proof of Concept)コードが大量に投稿され始める。
HD MooreがDLLHijackingAuditKit v2を公開。「metasploit blog: Better, Faster, Stronger: DLLHijackAuditKit v2」。
Acros Securityが、本脆弱性の影響有無を無料で調べることができるテスト"Online Binary Planting Exposure Test"を公開した。
- 4月12日
- 7月15日
- 8月18日
- 8月23日
- 同日
- 同日
- 8月24日
- 同日
- 8月31日
今後の予定
DeepSecセキュリティカンファレンスでAcrosの研究者が"Remote Binary Planting -- An Overlooked Vulnerability Affair"を発表予定。
- 11月25日