2011年、ITセキュリティ関連の話題で最も注目を集めたのは「標的型攻撃」だろう。さまざまな攻撃手法を組み合わせ、時に未知のマルウェアやゼロデイ脆弱性をも利用し、企業から重要な情報を窃取する標的型攻撃から、いかに自社の情報資産を守るべきかについて、頭を悩ませたセキュリティ担当者も多いことだろう。

既存の対策では完全な防御が難しい標的型攻撃に有効な最初の手段は、ITシステムの各レイヤに既存のセキュリティ対策を確実に行っていくことだ。新たな攻撃への対策はそのうえで実行されてこそ意味がある。

企業のITセキュリティ全般に対する意識の高まりに合わせ、以前から必要性が叫ばれていた「Webアプリケーションの脆弱性対策」に対する見直しの気運も高まっている。今回、情報セキュリティに関する事業を幅広く手がけるトライコーダの代表取締役である上野宣氏と、SCSK SCSカンパニー IT基盤ソリューション事業部 基盤営業部 基盤営業第1チーム セキュリティ技術セクション 主任 長尾亮氏に話を聞いた。

ITセキュリティを取り巻く環境が刻々と変化するなか、ユーザー企業、アプリケーション開発ベンダーは、Webアプリケーションのセキュリティ問題にどのように取り組んでいくべきだろうか。

最大の問題は「正しい対策方法を知らない」こと

トライコーダ 代表取締役 上野宣氏

--昨年、ITセキュリティの領域では「標的型攻撃」がトレンドの1つでした。情報セキュリティを幅広く見ておられる上野さんはこの傾向をどのようにとらえていますか。--

上野氏: セキュリティの歴史では、常に新たな攻撃手法の登場が繰り返されています。コンピュータがネットワークにつながった当初の攻撃手法は、いわゆる「パスワードアタック」でした。その後、攻撃対象はサーバ、OSといったプラットフォームレイヤに移り、2003年頃からはWebアプリケーションレイヤへの攻撃が行われるようになりました。そして、現在ではあらゆる攻撃手法を組み合わせた「標的型攻撃」というスタイルが生まれています。

こうして見ると、昔からの攻撃手法は残り、それらに新たな手法が加わっていることがわかります。つまり、まずは、「昔から狙われている部分」への対策が必要というわけです。一般的に言われていることですが、パスワードは類推されにくいものを利用し、定期的に変更を行う。サーバやOSといったプラットフォームレイヤであれば、正しく設定をして、脆弱性を修正するためのパッチを当てるといったことです。

一方で、Webアプリケーションにおけるセキュリティ対策は、まだユーザーも開発者も正しい方法を十分に理解できていないケースが多いのではないかと思うことがあります。

トライコーダは、Webアプリケーションセキュリティに関する教育や脆弱性の診断を行っています。私自身もアプリケーション開発に携わった経験がありますが、開発現場の一般的な雰囲気として、「機能要件」「性能要件」を満たすことに意識が向かってしまい、その次に重要であるはずの「セキュリティ要件」については、あまり知識がなくどのように取り組めばいいのかわからないといった状況になっているケースが多いのです。

開発を請け負う際、顧客からも特に指示はされないし、自分たちもどうすればいいかわからない。要件定義書にも、セキュリティに関する要件は特に含まれていないといった状況が少なくないです。

--そのため、Webアプリケーションが狙われやすくなっているということもあるのでしょうか。--

上野氏: はい、残念ですが。細かな部分はともかく、「SQLインジェクション」や「クロスサイトスクリプティング」といったWebアプリケーションに対する攻撃手法はある程度決まってきており、これらへの対策を組み込む枠組みはすでにあります。

だからこそ、根本的な「要件定義」でしっかりと脆弱性対策を行っておくべきなのです。ある調査では、Webアプリケーションの脆弱性への対応を行う場合、稼働してからと要件定義段階ではかかるコストが50倍も違うという試算が出ています。コスト面だけでなく、納入されたアプリケーションにセキュリティ上の問題が発覚した場合、瑕疵担保責任の問題に発展してしまいます。そのためにも、要件定義にセキュリティに関する部分を含めておく必要があるのです。トライコーダは、発注者のためのWebアプリケーションセキュリティ要件定義書をサイトで無償配布しています。

--Webアプリケーションに関して、脆弱性診断サービス「Security Assessment」>や、セキュアな開発支援サービス「Web Security Director」を提供している立場として、SCSKではこの問題をどのようにとらえていますか。--

SCSK SCSカンパニー IT基盤ソリューション事業部 セキュリティソリューション部 主任 長尾亮氏

長尾氏: 私も長くWebアプリのセキュリティ問題に関わっていますが、上野さんのご指摘と同様、数年前までは、開発者の中にも「どのようにセキュリティに取り組めばいいのかわからない」という人が多かったと感じています。私自身も開発畑の出身なのですが、以前は開発者の視点でセキュリティ上の問題点を具体的に報告する必要がありました。やはり、開発者自身がセキュリティについて「ピンときていなかった」というのが事実だと思います。

もっとも最近は、「クロスサイトスクリプティングが出た」と言えば、どんな開発者でも、自分で調べてどのような問題であるかはわかるようになっています。Webアプリケーション自体の脆弱性の件数は、昔に比べて大きく減ってはいないでしょうが、開発者が持っている知識、入手できる情報の量は増えていると感じています。

しかし、そうした知識がまだ実際のコーディングには十分に反映されていないようです。SCSKでは、セキュリティの要項を盛り込んだ要件定義書を示したり、「Security Assessment」や「Web Security Director」といったサービスを提供したりすることで、より効果の高いセキュリティ対策をサポートしていきたいと考えています。

--Webアプリのセキュリティを向上していくにあたり、開発の発注側と受注側の双方にアドバイスはありますか。--

上野氏: 要件定義書にセキュリティに関する要項を盛り込むこともその一環ですが、発注側であるユーザーも知識による「武装」が必要だと思います。発注先を、過度に信用して「任せっきり」にしてしまうと、Webアプリケーションはセキュアにはなりません。セキュアなアプリケーションを開発しようと思うと、当然コストにも反映されるため、「発注者の側から、セキュリティに関する要求を提示して、それを踏まえた見積りをとる」ことが、発注側と受注側の双方が幸せになるために必要な条件だと思います。

「Webアプリ脆弱性診断」のかしこい使い方

--以前に比べて、ユーザー側もITセキュリティを経営リスクの一環ととらえ、投資を行う動きが活発になっているという話も聞きます。実際にWebアプリケーションセキュリティの向上に携わっているお二方の印象としてはいかがでしょうか。--

上野氏: 近年、標的型攻撃などが話題になることで、発注側、受注側双方にセキュリティ意識の高まりが感じられるのは良い傾向です。ただ、この傾向を一過性のもので終わらせてはいけないと思います。

一般的にいわれる「入口・出口」の対策も必要ですが、Webアプリケーションであれば、開発初期の段階からセキュリティを考慮するといった形で、比較的低コストで高い効果が得られるものを優先的に検討していくべきでしょう。例えば、Webアプリの脆弱性診断サービスを利用する際も事前に設定された要件が必要です。診断は「テスト」ですので、テストの答えに当たる「要件」がなければ、効果的な診断はできません。

長尾氏: ユーザーにおけるセキュリティ意識の高まりは、われわれも感じています。昨年までは余った予算での診断依頼や特定のアプリを対象とした脆弱性テストの依頼が多かったのですが、最近は「稼働しているアプリをすべて診断してほしい」という相談も増えています。とはいえ、予算に見合った診断を提供しなければなりませんので、Security Assessmentでは、各企業のサイトが持っている独自の構造を踏まえて費用対効果の高い診断方法を提案しています。

--脆弱性診断サービスを利用する場合のコツを教えてください。--

上野氏: Webアプリの脆弱性診断サービスと一言で言っても、内容は多様です。診断ツールを使って機械的にやるケースもあれば、実際に人が操作しながら1項目ずつ目視していくといった手法が必要な場合もあります。例えば、広く知られているクロスサイトスクリプティングやSQLインジェクションなどのテストはツールでかなりの部分を対応できます。一方で「認証」関連のテストは、人の目で実際に見ながら作業することが重要です。本来、脆弱性診断というのは、丁寧にやろうとすると時間がかかるものなのです。

Webアプリの脆弱性診断を依頼するにあたり、依頼先が「良い会社」かどうかは、その会社に所属するスペシャリストに依存すると言っていいかもしれません。もちろん、ツールでの診断も有効ですが、担当するエンジニアにナレッジが蓄積されているほうがより安心です。

長尾氏: ただ、セキュリティ診断を行えるエンジニアはなかなか数を増やせないという問題もありますね。

上野氏: 先ほどの「余った予算で脆弱性診断」の話もそうなのですが、以前はこうしたサービスは「季節労働」的な要素が強かったですね(笑)。しかし、今年以降は状況が変わってくるかもしれません。

トライコーダはWebアプリ脆弱性の診断方法を教える教育も提供しています。実は、脆弱性のテスト自体は、勉強すれば比較的だれにでもできる作業なのです。経験を積んで熟練すれば、90%の脆弱性は発見できるようになる。しかし、残りの10%を発見するための知識を身につけるために5年や10年は軽くかかってしまう。これは、取り組む人の興味や適性も大いに必要になるところなのですが、おそらくそういう人々が、日本のセキュリティ業界を支えているのではないかと思います。

長尾氏: 確かに、セキュリティ診断自体はどちらかといえば地味な作業で(笑)、覚えることも多いのですが、近年は、コストの面から、ある程度そうした作業を自分たちできるようにしたいというお客様も増えています。

SCSKは、そうした自社内で脆弱性診断を行いたいお客様向けに「Startup Partner」という内製化支援サービスを展開しています。SCSKの脆弱性診断のノウハウとともにその後のオンサイトサポートも提供しています。

診断ツールの効果的な利用法もサポートしています。ツールと知識があっても、いざという時に使えなければ意味がありません。実際に知識を身につけてから、何度も自分でツールを使い、診断を繰り返している開発者はスキルを上げていますし、業務上の効果も高いですね。

上野氏: 脆弱性診断の内製化は、診断ツールが人を育てる部分もあると思います。診断ツールを使って、日々「正しいコーディングの仕方」を開発者が覚えていくことで、全体のスキルが向上していくことも、価値の1つでしょう。今後は、セキュリティの知識があることが開発者の武器になる時代になっていくと思います。

セキュリティを考慮した要件定義、設計、導入のサイクルを繰り返し、その中でコンサルティング的な役割も果たすことで、発注元のお客様からも信頼を得て、長く付き合えるようになるはずです。そうしたことができる開発者を多く抱えていることが開発会社としての競争優位性にもなってくるでしょう。

株式会社トライコーダ
代表取締役
上野 宣
セキュアWebアプリケーション開発などのセキュリティ教育や、脆弱性診断を主な業務としている。独立行政法人情報処理推進機構(IPA)セキュリティセンター研究員なども務める。
近著に『今夜わかるメールプロトコル』、『今夜わかるTCP/IP』、『今夜わかるHTTP』(共に翔泳社)がある。個人ブログは「うさぎ文学日記」、TwitterのIDは@sen_u
SCSK株式会社
IT基盤ソリューション事業部
セキュリティソリューション部
主任 長尾 亮
Webアプリケーションエンジニアを経て2007年よりセキュリティ関連の業務に携わっている。年間40サイト以上の脆弱性診断に従事する一方、数多くの企業においてトレーニングを実施し、セキュリティ診断の内製化支援を手掛けている。
また海外のセキュリティ製品を取り扱っており、ワールドワイドでのセキュリティ事情にも精通

2012年2月28日(火)日本IBM社にて、サイバー攻撃の動向・対策セミナーを緊急開催します!
詳しくはこちらから↓
http://www.scsk.jp/event/2012/20120228.html