SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

developerWorks Liaison(AD)

Web系開発のトレンドを牽引する
「IBM ソフトウェア・テクノロジー情報」(中編)

  • このエントリーをはてなブックマークに追加

 IBM のエバンジェリストや研究者達が運営するWiki「IBM ソフトウェア・テクノロジー情報」では、クラウドコンピューティングやマッシュアップ、Ajax、Web 2.0、アジャイル開発といったWeb系を中心とした技術情報を提供している。Codezineでは、このサイトのオーナーであるIBMソフトウェア・エバンジェリスト、米持幸寿氏と、開発プロセスプラットフォーム『Jazz』、Web 2.0セキュリティ、DHTML/Ajaxライブラリーの『Dojoツールキット』、Javaベースのスクリプト言語『Groovy』といった4種の技術のキーマンたちを取材した。この模様を前編・中編・後編の三回に分けてレポートする。中編となる今回は、浦本氏によるWeb 2.0セキュリティ、野口氏によるDojoツールキットを紹介する。

  • このエントリーをはてなブックマークに追加

Web 2.0ではコンテンツの多様化により問題が深刻化

 Web 2.0におけるセキュリティについて、浦本直彦氏にうかがった。浦本氏は日本IBMの東京基礎研究所、次世代Webインフラストラクチャの次長であり工学博士でもある。IBMの基礎研究部門は世界8か所にあり、開発グループやサービス部門と協力して先進的なテクノロジを研究している。浦本氏は「『Web 2.0に特有のセキュリティはあるのか』という質問をよく受けますが、これはWeb 1.0とWeb 2.0がどう違うのかということと同じで、基本的には従来からある脅威と同じものが存在します。ただし、Webアプリケーションを取り巻く社会の方が変わってきたことで、より問題が深刻化しています」という。

東京基礎研究所 次世代Webインフラストラクチャ 次長 浦本直彦 氏
浦本氏:Web 2.0セキュリティ

 Web 2.0によって我々を取り巻く社会の方が変わった点を、大きく2つに分けることができるという。一つは、情報(コンテンツ)がコモディティ化し、信頼性や価値が相対的に低下したこと。もう一つは、コモディティ化に伴ってシステムやコンポーネントの作り方や実行環境が変わってきたことである。情報のコモディティ化という観点では、以前は企業や限られた一部のユーザーがインターネットで情報を発信していたが、現在では子供や主婦、高齢者など、幅広い年代のユーザーが、いつでもどこでも情報を発信できるようになった。このようなITに疎いユーザーでも情報を発信できるようにしているのは、Web 2.0の技術が支えているためだと言える。

 このような情報のCGM化(注1)によって情報そのものの量が増え、情報の信頼性や価値が希薄になると同時に、さまざまな脅威が表面化してきた。プログラミング上の問題では、クロスサイト・スクリプティング(XSS)や、クロスサイト・リクエストフォージェリ(CSRF)が挙げられる。XSSは、悪意のある第三者が攻撃対象となるサイトに入力フォームなどを通してJavaScriptなどのコードを押し込み、そこにアクセスしたユーザーの個人情報を盗み出すなど、意図しない操作を実行させるものである。またCSRF攻撃により、例えばショッピングサイトのセッションを乗っ取り、ユーザーが気づかないうちに他人がそのユーザーの個人情報を使って買い物をするといった被害を受ける。ほかにもSQLインジェクションやフィシングなどの従来からの攻撃に加えて、XSSやCSRFは、Web 1.0の時代から存在するものであるが、情報のコモディティ化によって攻撃の機会が増え、顕在化してきた。また、コンテンツの内容に関する問題では、ブログに書いた内容によって誹謗、中傷を受けたり、会社の評判を落としたり、といったケースがある。

注1 CGM

 Consumer Generated Media;消費者生成型のメディア。

 一方、コモディティ化に伴ってシステムやコンポーネントの作り方や実行環境が変わってきたという点では、AjaxのようなWeb 2.0技術の普及により、Webブラウザが静的なHTML文書の閲覧環境から、動的なコンテンツやWebアプリケーションの実行プラットフォームとなってきたため、ロジックがクライアント側でも動くようになった点をあげよう。つまり、従来サーバー側を主に守っていればよかったセキュリティが、クライアント側でのプログラム実行にも注意を払う必要が出てきた。この意味では、守るべき範囲が広くなったということになる。

 また、Web 2.0ではWebブラウザ上に複数の機能やAPIをコンポーネント化してマッシュアップしている。Web 1.0の時代には、複数の会社のサービスを横断して組み合わせることはあまり考えられなかったが、Web 2.0ではそれが可能になり、またそこにマッシュアップとしての大きな可能性がある。このためシステムやコンポーネントの作り方が変わり、それに合わせてセキュリティ上の要件も変わってきている。例えば、Web 2.0ではWebブラウザ上に異なるドメインのサービスを組み合わせているが、そもそもWebブラウザに実装されているセキュリティポリシーは、あるサイトからダウンロードされたJavaScriptコードが他のサイトにアクセスすることを抑制する(このポリシーはSame Origin Policyと呼ばれている)ものであり、マッシュアップは想定されていないシナリオだといえる。

 さらに、Webブラウザは、信用できないドメインではJavaScriptを無効にすることもできるが、現在では多くのWebページでJavaScriptが使用されているため、ドメイン単位で無効にしてしまうとサービスそのものが動かなくなってしまうし、上で述べたXSSでは、悪意を持ったコードが信頼できるサーバーから送られるため注意が必要である。このように、Web 2.0時代では従来のWebブラウザのセキュリティモデルが陳腐化していると言えるだろう。

 では、このようなWeb 2.0時代のセキュリティについて、浦本氏のチームはどのように取り組み、対策しているのだろうか。「Web 2.0のセキュリティは、2006年頃から取り組んでいます。Web 2.0はそもそもコンシューマが簡単に利用できることを目的としていたので、セキュリティについてはあまり議論されていませんでした。しかし現在ではエン タープライズ向けのサービスも多くなり、企業での利用も増加しています。そうするとセキュリティは欠かせないものとなり、IBMがそれを提供することに意味が出てきます。ポイントは、ユーザービリティなどのWeb 2.0の良さを損なわずにエンド・ツー・エンドのセキュリティを提供することです」という。

 IBMは、より良い効果を期待できるさまざまな製品を自社ブランドに取り込んでいる。Web 2.0のセキュリティに有効な製品としては、まず旧Watchfire社の「Rational AppScan」がある。この製品はWebアプリケーションの脆弱性評価ツールで、特定のURLを入力するとトップページから下の階層までをクロールして、ページの情報をためた上でさまざまな疑似攻撃を行い、脆弱性がないかをチェックする。具体的には、入力エリアがあるとそこにスクリプトコードや予想外の値を入れるといったテストを自動的に行い結果をレポートする。このほかにも旧インターネットセキュリティシステムズ(ISS)のセキュリティアプライアンス製品や、古くからある「Tivoli」製品などが有効としている。

IBM Rational AppScanによる脆弱性チェックのイメージ(製品パンフレットより一部引用)
IBM Rational AppScan Developer Edition の動的解析のイメージ(製品パンフレットより一部引用)

  浦本氏のチームでは、これらの製品ではカバーできない部分について研究を進めているという。「現在、2つのプロジェクトが進行しています。一つは『セキュアマッシュアップ』で、これは例えば企業でWeb 2.0を利用する場合、信頼できるコンポーネントとそうでないものを組み合わせることがあります。ブラウザ上では一つのサービスになっているため、信頼できないコンポーネントをハッキングされると、そこから顧客データなど機密情報が入ったコンポーネントにアクセスされる可能性があります。個々のコンポーネントを孤立化させて通信できなくすれば安全ですが、それではマッシュアップした意味がありません。そこで、USのワトソン研究所と共同で、コンポーネント同士のセキュアな情報アクセス制御技術を研究しています。IBMはこの技術の実装を、Ajax技術の普及を目指す業界団体であるOpenAjaxに寄付しており、ゆくゆくは標準化してIBMの製品に組み込むことを考えています」。

 「もう一つは『アクティブコンテンツフィルタ』で、これはWebアプリケーションをチェックしてHTMLやJSON、Feedといったコンテンツ中のJavaScriptコードを見つけ出し、設定条件に基づいてそれらを除去するというものです。この機能は、既にいくつかのIBM製品 に搭載されています」という。

 最後に、研究を通じて心がけていることや感じていることをうかがってみると、「開発者は必ずしもセキュリティの専門家ではありません。そこで、信頼できるツールをうまく使い、ベストプラクティスを学んでいく必要があります。しかし、やはりセキュリティは『イタチごっこ』の世界で、攻撃者は通常では考えられないような手法を次々と使ってきます」。

 「また、現在のように多数のWebブラウザが混在している状況は問題であると感じています。ブラウザはバージョンによってさまざまな脆弱性が存在し、そこに組み合わされるプラグインも同様で、これらを乗算した環境が存在しているのが現状で す。このすべてを検証するわけにはいきませんから、できるかぎりブラウザに依存しないようなソリューションやブラウザのセキュリティモデルを共通化していくことが必要になってくるでしょうね。これは、いろいろなフレームワークを使用しているサーバー側にも同じことが言えます」。

 「セキュリティに100%はあり得ません。そこで私たちは複数の技術を組み合わせてより100%に近づけていこうと研究しています。Web 2.0ではサーバーとクライアントの両方にセキュリティ対策が必要で、またマッシュアップしていく上での落とし穴も存在します。あまり表に出るような技術ではありませんが、技術を組み合わせてエンドtoエンドでサービスを提供していくことは、IBMの得意分野なのです。今後も様々な技術が提供される予定です。ご期待ください」と締めくくった(聞き手/吉澤)。

次のページ
豊富な機能でリッチなWebアプリの開発をサポートする「Dojoツールキット」

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
developerWorks Liaison連載記事一覧

もっと読む

この記事の著者

吉澤 亨史(ヨシザワ コウジ)

元自動車整備士。整備工場やガソリンスタンド所長などを経て、1996年にフリーランスライターとして独立。以後、雑誌やWebを中心に執筆活動を行う。パソコン、周辺機器、ソフトウェア、携帯電話、セキュリティ、エンタープライズ系など幅広い分野に対応。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

森 英信(モリ ヒデノブ)

就職情報誌やMac雑誌の編集業務、モバイルコンテンツ制作会社勤務を経て、2005年に編集プロダクション業務やWebシステム開発事業を展開する会社・アンジーを創業。編集プロダクション業務においては、IT・HR関連の事例取材に加え、英語での海外スタートアップ取材などを手がける。独自開発のAI文字起こし・...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3318 2008/11/27 10:16

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング