Windowsに組み込まれたコードクローンの脆弱性を発見
「パソコンひとつで世界を救うことができる。なんてかっこいいんだろう、私もそんな人になりたい!――そう思って、セキュリティーの道に進んだんです」
日本電信電話(NTT) サービスイノベーション総合研究所の中島明日香氏(撮影:加藤 康)
こう振り返る中島氏が自らの原点として挙げるのが、サイバーSF小説『Project SEVEN』(七瀬晶、アルファポリス)だ。世界同時サイバーテロを阻止すべく、女子高生ハッカーと天才プログラマーが奔走する冒険譚で、中島氏はこれを14歳のときに読んで心酔。セキュリティーを独学で学び始めた。
中島氏がサイバーセキュリティーに関心を寄せるきっかけとなったサイバーSF小説『Project SEVEN』(©七瀬晶/アルファポリス)
慶應義塾大学環境情報学部へ進学後も、当然のごとくセキュリティーの研究室の一員に。卒業後は『Project SEVEN』の世界を体現するように、セキュリティーの専門家として活動すると同時に、社会のインフラをより良い方向に導ける環境を求めて日本電信電話(NTT)へ入社。サービスイノベーション総合研究所に配属された。実に10代半ばから20年近く、一貫してセキュリティー畑を歩んできた筋金入りのホワイトハッカーだ。
そんな中島氏の研究テーマは、ソフトウエアやIoT(Internet of Things)機器の脆弱性の発見・対策である。脆弱性とは「第三者が悪用可能なバグ(欠陥)」のことで、攻撃者はこれを抜け穴として情報を詐取したり、端末をコンピューターウイルスに感染させる。脆弱性の発見・対策は、ハッカーの攻撃を未然に防ぐうえで極めて重要な取り組みなのだ。
中島氏はこれまで数々の研究成果を挙げてきたが、中でも注目すべきものの1つが「コードクローンの脆弱性の発見」である。コードクローンとは、複数のソフトウエアで重複しているコード(コンピュータプログラム)のこと。コードのコピー&ペーストや共有、プロジェクトの枝分かれなどで発生し、それほど珍しいものではない。ただ、元となるソフトウエアのコードに脆弱性があると、複製先のソフトウエアにも脆弱性が生じてしまう。さらに、オリジナルの脆弱性が見つかって修正されたとしても、複製先の脆弱性は見逃されている可能性がある。そんな仮説から出発したのがこの研究だったわけだ。
脆弱性を持つオリジナルのコードを元に、中島氏が独自の検索アルゴリズムを用いて調査・分析を行ったところ、実際にそれを複製して作られたと見られる脆弱性が発見された。しかもそれがOSの世界トップシェアを誇るWindowsだったというから、見つけた中島氏自身も衝撃を受けたという。
「オリジナルの脆弱性はオープンソースのコードにあって、それをあるソフトウエア会社が自社のソフトに組み込み、さらにマイクロソフトがその会社と業務提携するなどしてWindowsに組み込んだと考えられます」
この発見は2015年7月のことで、元のオープンソースの修正はその前月に行われていた。しかし、複製先の脆弱性が修正されたのは2015年8月。中島氏が発見したタイミングと前後して約2カ月間、複製先は攻撃に対して無防備だったわけだ。それに気づいて攻撃を仕掛ける者がいなかったからよかったものの、コードクローンの脆弱性が実在すること、そして複製先の修正までタイムラグがあることの危うさを、中島氏はあぶり出したのである。
OEM製品が内包する脆弱性の研究で世界の注目を浴びる
デジタルの世界では容易に複製が可能で、だからこそセキュリティーのリスクが潜んでいる。中島氏はソフトウエアのみならず、ハードウエアにも同様のリスクがあるのではないかと考えた。そうして行ったのが、「OEM製造されたIoT機器が内包する脆弱性の発見・対策」にまつわる研究だ。