【CODE BLUE 2023】 ジージー・リン/Zeze Lin
●Abstract
シンボリック実行とテイント解析によるWDMドライバーの脆弱性ハンティングの強化[ja]
Enhanced Vulnerability Hunting in WDM Drivers with Symbolic Execution and Taint Analysis[en]
●Bio
ジージー・リン[ja]
Zeze Lin[en]
●Interview
[Ja]インタビュー
CODE BLUE 2023の開催が迫ってきました。本年もスピーカーのインタビューをお届けします。トップバッターは「シンボリック実行とテイント解析によるWDMドライバーの脆弱性ハンティングの強化」の講演を行うジージー・リン氏です。リン氏は台湾セキュリティ企業、TeamT5のセキュリティ研究者。Windowセキュリティを専門としており、Windowsカーネルに関連する数十のCVEを発見・報告しているといいます。
講演のテーマはWDMドライバーの脆弱性探しです。WDMとはWindows Driver Modelの略で、Microsoftが推奨するドライバーの記述規則です。現在、市場に出回っているWindowsカーネルドライバーのほとんどがこのXに従い作成されたものだと言われています。それ故に、攻撃者によって悪用されるケースも多く、これまでに多くの脆弱性が発見されています。
講師のリン氏は、IOCTL(Device Input Out Control)に着目し、「シンボリック実行」と「テイント解析」というソフトウェアのセキュリティの手法を用い、“IOCTLance”というツールを開発しました。WDMドライバーの脆弱性を発見する機能を強化し、より効率的に行えるようになり、26の異なるドライバーで117の脆弱性を発見したといいます。講演は、IOCTLanceの仕組みに始まり、発見した脆弱性の解説などが行われる予定です。
前述のとおり、WDMドライバーは攻撃者に悪用されることから、先行研究も多い分野です。そのような中で、数多くの脆弱性を発見したという成果は驚きに値すると言えるでしょう。
ーーーー
Q1. 今回、カンファレンスで発表する研究を始めたきっかけを教えてください。
A1. 最初に、私は調査を行い、以前のCVEに文書化されたIOCTLに関するさまざまな攻撃ベクターを発見しました。これらの攻撃ベクターの共通点を特定することで、同様の脆弱性を明らかにするプロセスを自動化しようとしました。これが、私が開発したIOCTLanceというツールの原点であり、このツールはシンボリック実行とテイント分析を使用して脆弱性を探すことを目的としています。
Q2. 研究の過程でどのような点で苦労しましたか?
A2. この研究の最も挑戦的な側面は、ドライバーが事例ごとに独特のシナリオを提示するという事実にあります。私のタスクは、脆弱性の検出とパフォーマンスの最適化の両方を考慮に入れて、これらの異なる状況を効果的に対応できるツールを開発することです。
Q3. CODEBLUEの参加者、参加を検討している人に向けてメッセージをお願いします。
A3. 私はIOCTLanceによって見つかった実際の例を通じて、WDMドライバー内のさまざまな攻撃面を紹介します。その後、WDMドライバー内の脆弱性を探る際の私の経験を共有し、シンボリック実行とテイント分析を使用して、これらのタイプの脆弱性を同時にスキャンする方法を示します。
[en]Interview
Q1. How did you initiate your journey into the topic that you are presenting?
A1. Initially, I conducted surveys and discovered various attack vectors about IOCTL documented in previous CVEs. By identifying common points among these attack vectors, I tried to automate the process of uncovering similar vulnerabilities. This led me to develop IOCTLance, a tool designed to hunt vulnerabilities using symbolic execution and taint analysis.
Q2. What were some challenges you faced during this research?
A2. The most challenging aspect of this research lies in the fact that drivers present unique scenarios case by case. My task is to develop a tool that can effectively accommodate these different situations, taking into consideration both vulnerability detection and performance optimization.
Q3. What message would you like to convey to those considering attending this talk?
A3. I will present various attack surfaces within WDM drivers through real-world examples found by IOCTLance, then share my experiences in hunting vulnerabilities within WDM drivers and demonstrate how to simultaneously scan these types of vulnerabilities using symbolic execution and taint analysis.