脆弱性を見つける人、対応する人、使う人、皆がハッピーになるヒントとは:CODE BLUEレポート(2/2 ページ)
2014年12月18日、19日の2日間にわたって開催された日本発のセキュリティカンファレンス「CODE BLUE」には、国内はもちろん、イスラエルやベルギー、スウェーデン、米国、ロシア、韓国、香港など、多様な国から約450人が参加した。多数の講演の中から、脆弱性情報の扱い方に関する話題をピックアップしてお届けする。
気持ちよく脆弱性を報告させてくれるグーグルの姿勢とは
シードマン氏の講演の直後に登場したのが、バグバウンティプログラムの報奨金で生計を立てているプロのバグハンター、キヌガワマサト氏だ。「趣味は音楽鑑賞とクロスサイトスクリプティング」というキヌガワ氏は、日夜、より正確には「毎夜」、「愉しみ」を追い求め、Webアプリケーション脆弱性の発見に取り組んでいる。
キヌガワ氏は決して生まれながらのプログラマーではなかったそうだ。専門学校に通っていたある日、セキュリティ、特にクロスサイトスクリプティングをはじめとするWebアプリケーションのセキュリティの面白さに目覚め、趣味とするようになった。その趣味を夢中で追求しているうちに、バグハンターを生業とするようになったという。
「自分はただひたすら好きなことを夢中でやっていただけ。好きなことをやっていけば何かいいことがあるかも」(キヌガワ氏)。バグハントに取り組んでいるのは「楽しいから」「好きだから」という同氏の言葉は、リーナス・トーバルト氏を彷彿とさせる。「多くの時間は反復作業の繰り返し。けれど問題を発見したときには、何者にも代え難い達成感がある」という。
同氏は脆弱性報告の報奨金で生計を立てている。2013年の収入は、8進数表記で27135346円に上り、2014年はこれを上回りそうだという。
中でも多く報告しているのがグーグルだ。キヌガワ氏がこれまでGoogle Vulnerability Reward Program(VRP)を通じて報告した脆弱性は127件あり、報奨金の総額は130803.7ドル(10進数表記)。世界でも2番目に多く脆弱性を報告している。
キヌガワ氏はいくつかの理由からGoogle VRPを「素晴らしい」と表する。まず、「中には、報奨金制度を設けていても、返事や修正が遅いところもあるが、Googleは開始以降常に対応が早い。対応が早いことが報告のモチベーションになる」(同氏)。
加えて、「脆弱性の重要度だけでなく、面白さ、ややこしさも評価してくれる」「簡潔な説明でも問題を理解してもらえ、何度もやり取りする必要がない」など、エンジニアならではのツボも心得ているそうだ。加えて、クレジット/謝辞の掲載や、報告数が上位にランクインした報告者にNexusなどをプレゼントとして贈るといった姿勢によって、気持ちよく報告できていると評価する。
現在、グーグルやフェイスブック、マイクロソフトなど、米国の大手IT企業を中心にバグバウンティプログラムが実施されている。日本ではサイボウズが2014年に開始しており、今後、これに続く企業が現れることに期待したい。ちなみに、同氏がGoogle VRPで報告した脆弱性の大半がInternet Explorerがらみだそうで、「修正が遅く、Webサービス側で対応せざるを得ないこともある」と厳しい一言もあった。
参考記事
「職業:バグハンター」にオレはなる? DEF CON 22レポート
http://www.atmarkit.co.jp/ait/articles/1408/29/news011.html
サイボウズ、商用サービスを対象とした脆弱性発見コンテストを開催
http://www.atmarkit.co.jp/ait/articles/1309/24/news137.html
「プログラムにはバグは付きものだが、それに甘んじないで」、IDA Pro生みの親
2日目の基調講演に登場したIDA Proの開発者、イルファク・ギルファノヴ氏は、プログラマー歴30年以上のベテランだ。IDA Proは、セキュリティ専門家、特にマルウェア解析に携わる技術者にとっては必携の逆アセンブラーだ。同氏自身は「IDA Proは専門家にとっての顕微鏡。使いこなすのにスキルが必要だけれど、なくてはならないもの」と表現する。
同氏は、セキュリティ専門家ではなく開発者の立場から、「開発者は脆弱性を作る仕事をしている。プログラムにはバグがつきものだ。でもそれに甘んじるのではなく、効率がよくバグの少ないプログラムにの実現に向けて、コーディングの方法を常に改善していくべきだ」と述べた。
同氏が職業プログラマーとなった25年前ならば「セキュリティを考慮せずとも、プログラムが動くだけで十分。テストという概念も不十分だった」という。だが今は状況がまるで違う。さまざまな情報漏えいや不正アクセスが発生する中、ソフトウェア開発プロセスにおいてもセキュリティを考慮し、厳格にテストすべきという意識が高まっている。
現に、コンパイラーや言語自体の改善、デザインパターンの改良やアジャイル開発など、開発手法は継続的に改善されてきた。また、テストについても「昔はlintぐらいしかなかったが、今はテストフレームワークがあり、デバッガーやファジングツール、メモリ解析ツールなど、ツールもそろってきている」(ギルファノヴ氏)。もちろん、IDAProもそうしたツールの一つ。「インタラクティブな逆アセンブラーが欲しい」と考えたギルファノヴ氏が試行錯誤し、時には開発者仲間の手助けを得ながら開発したソフトウェアだ。
バグを書いたら苦しむのは開発者
ギルファノヴ氏は、「IDA Proはセキュリティ研究者を手助けし、他のプログラムをセキュアにする手助けを行っている。それゆえ、IDA Pro自体のセキュリティも強化しなくてはならない」と述べ、そのためにテストやファジングツールによる内部でのチェックに加え、バグバウンティプログラムを展開するなど、さまざまな取り組みをしていると説明した。バウンティプログラムでは、これまでに20件ほどの脆弱性情報が寄せられたそうだ。
面白いのは「バグ報告については、(コールセンターを設けず)開発者に直接、問い合わせが行くようにしている」ということ。つまり、バグを作り込んだ本人が直接苦しむような仕掛けだ。また、指摘された問題があればその修正を優先するように開発者には伝えているという。「さもないとユーザーに迷惑がかかってしまう。大規模な企業ではなかなか難しいことかもしれないが、ユーザーを第一に考えることを基本にしている」(同氏)。
ギルファノヴ氏は、「ソフトウェアの開発は、目が見えないのに水の漏れない箱を作ろうとするようなもの。指で触って確認してもどこかに穴が残ってしまう。やはりツールの手助けがいる。セキュリティも同じこと」という。今や、テストや検証のためのさまざまなツールがあり、ソフトウェア開発環境が整い、自動化できる範囲が広がっている。攻撃者の考えを理解し、攻撃者の気持ちになって攻撃をかけて穴を見つけ出し、それを改修してテストケースを追加する……こうしたプロセスを通じて、できる範囲で穴をつぶしていくことがソフトウェア開発者にとって重要だという。
Copyright © ITmedia, Inc. All Rights Reserved.