私がセキュリティをビジネスとして取り組み始めた1995年ごろ、「Vulnerability」(脆弱性)という単語は、日本語には訳されていませんでした。
今では脆弱性という単語はITに関わる人々には日常的となりました。マイクロソフトをはじめ、メジャーなソフトに脆弱性が発見されるたびに、ITの現場ではパッチを適用する仕事が発生しています。
では、このような脆弱性はそもそもなぜ見つかるのでしょうか? 開発した会社自身がそれを発見することは多くはありません。ほとんどがセキュリティの専門家によって発見されて報告されるのです。
私はかつて、国内での脆弱性発見者として1999年から発見と報告に精力的に取り組んでいました。このころは日本で脆弱性発見に取り組んでいる技術者はほとんどいなくて、報告する先やその手法についても確立されたものはありませんでした。
1999年に英語版Windows NTのWebサーバーであるIISに脆弱性が発見され、そのパッチが公表されました。しかし、日本語版にはパッチが公開されていませんでした。当時は「IISに脆弱性があると大変なことになる」と言うと「みんなApacheだからIISなんて問題にならないさ」と笑われたものです。
私は英語版IISの脆弱性を証明するツールを入手して、どのようなパケットを投げているのかを解析したのですが、そのツールでは日本語版のIISに侵入することはできませんでした。そこで、自分で日本語版IISに侵入できるアプリケーションを作成して日本語版でも侵入が可能であることを証明してマイクロソフト本社のセキュリティ担当者にメールで知らせて対応をお願いしました。
しばらくして日本語版IIS向けにパッチが出たので、「Bugtraq」というメーリングリストにその内容を投稿しました。その後も様々なソフトに脆弱性があることを発見して、開発元に届けて対策パッチが出たらBugtraqに投稿することを繰り返していました。開発元によっては対策パッチが出されない場合や、いろいろな機能改善のためのパッチにひっそりと含ませたりと、様々な対応を経験しました。
当時は明確なルールなどありませんから、脆弱性を発見した技術者の判断でBugtraqに代表されるメーリングリストに投稿されていました。中には開発元が対応しないから、ユーザー自身が対策方法を見つける必要がある(あるいは開発元の危機感を募らせる)という理由でパッチもないままに脆弱性情報が公開されることも珍しくありませんでした。
さらに、攻撃が実現できることを証明するツールも同時に公開されることが多く、それらが攻撃にそのまま流用されてしまうこともありました。悪いことというよりも、脆弱性を明らかにするための副作用として仕方のないことだという考えが一般的でした。
私は当時のBugtraqの管理人を務めていたAlephOne氏に連絡して日本語版のBugtraq-JPを開設・管理することを提案しました。その流れで、私が管理人を努めることになりました。当時の登録者は1万8000人にのぼり、脆弱性への関心が高いことを肌で感じていました。
ある人材派遣会社のサイトに他人の個人情報が閲覧できてしまう脆弱性を発見して、その会社に届けて改善を迫ったりもしていました。
現在では、そのようなコーディネーションをIPA(情報処理推進機構)が主導するようになり、Bugtraqなどのメーリングリストの役割は終わりました。
ところで、なぜ脆弱性の発見者は、脆弱性を発見できるのでしょうか。それは高い技術があるだけではなく、何よりも重要なことはそのモチベーションの高さにあります。
その辺について、次回説明したいと思います。