プログラム解析とWebセキュリティ
西田誠幸教授
Webに潜むセキュリティホールを見つける
Q
なぜ、研究を?
A
1990年ごろ生まれたWorld Wide Web は、それから約20年の間に急速に普及して、今では大変身近になっています。このページを読んでいる人の中にも、電車や飛行機、ホテルの予約、それからネットショッピング、SNSなどでWebを使っている人が少なくないのではないでしょうか?こういったWebページに欠陥があるかもしれないといったら、皆さんは驚くでしょうか?
少し話がずれますが、10年ほど前に、変造硬貨による自動販売機の誤動作が大問題になりました。これは当時の自動販売機の欠陥が原因でした。われわれが正規の硬貨を使っている分には、何も問題がないように見えましたが、ある種類の変造硬貨を正規の硬貨と誤認識する欠陥があったのです。
このような問題の解決のため、私はWebサイトに潜む欠陥、セキュリティホールを見つける技術について研究しています。
Q
どんな特徴があるの?
A
Webサイトの欠陥の見つけ方には二通りがあります。一つは不正アクセスを試してみる方法です。もう一つはWebサイトの内部を詳しく見て、欠陥がないか調べる方法です。
一方、Webサイトの内部を詳しく見る方法は、自動販売機の設計書を分析して欠陥を見つけるやり方とよく似ています。もっとも、Webサイトの中にあるのは設計書ではなく、Webサイトのサーバコンピュータで動作するプログラムとデータです。ですので、このプログラムとデータが分析対象になります。
この2つのやり方ともにそうなのですが、人手で欠陥を見つけるのはとても大変です。そこで、欠陥を見つける手助けをするためのソフトウェアあります。不正アクセスを試みて欠陥を発見するソフトウェアを 「脆弱性検査ツール」「Vulnerability Scanner」などと呼びます。一方、Webサイトの内部を分析するソフトウェアのことを「静的解析ツール」などと呼びます。
「コンピュータ上で動作するWebサイトの欠陥をコンピュータに自身に調べさせる」という部分に面白さを感じつつ、日々研究を行っています。
Q
どんな成果があがった?
A
静的解析ツールのプロトタイプを自分自身で作ってみました。
Q
今後の展望は?
A
先ほど述べた2種類のソフトウェアはともに欠陥を正確に全て見つけ出すことが、原理上できないことが知られています。欠陥を発見する精度をもっと高めていきたいです。