だが、クロスサイトスクリプティングの問題は、リスクの1つに過ぎない。Fortify SoftwareのチーフサイエンティストBrian Chess氏によれば、Ajaxのコードで問題を引き起こすおそれがあるものとして、レースコンディション、妥当でないコード、オブジェクトモデルの違反、不完全な乱数、不適切なエラー処理などがあるという。
このようなエラーから、ユーザーのデータが外部に流出したり、あるユーザーが他のユーザーのセッション制御を奪い、悪意のあるプログラムの実行その他の攻撃を行ったりする可能性があると、Fortify Softwareは説明している。同社が2005年12月に「Foundations of Ajax」というソフトウェア開発者向けの解説書を調べたところ、掲載されているAjaxのサンプルコード中に、こうした問題がすべて見つかったという。
「(同書に載っている)サンプルコードは、おそらく模範的な書き方だと受け止められるだろうから、世界中にいる多くのソフトウェア開発者がセキュリティに問題のあるコーディングを身につけてしまう」(Chess氏)
「Fondations of Ajax」の著者の1人Ryan Asleson氏は、同書のサンプルコードにそうした脆弱性が存在するとは聞いたことがないと語った。しかし、そのような問題が存在する可能性はあるとも述べている。なぜなら、多くの読者が理解しやすいよう、サンプルコードは単純なものにとどめており、「掲載したコードを実際の製品に利用することはまったく意図していない」からだという。
Asleson氏によると、セキュリティ上の問題を防止する鍵となるのは、開発者のトレーニングや実習だという。「セキュリティ問題などないという人がいたら、それは無知というものだと思う。開発者のやり方しだいで、あらゆる種類のセキュリティホールが生じてしまう」(Asleson氏)
Ajax自体が新たな脆弱性を作り出すのではない--Ajaxを利用することで、昔からある過ちが生じやすくなるだけなのだ、とChess氏は言う。ソフトウェア業界はデスクトップアプリケーションの時代を脱しようとしている。今まではバッファオーバーフローが大きなセキュリティ問題だったが、現在、懸念されているのはAjaxに用いられるJavaScriptの部分だ。「またしても、過去の過ちを繰り返そうとしていることに驚く思いだ」(Chess氏)
しかし、Ajax関連の著作が2冊あり、自身も開発者であるAsleson氏は、ウェブ開発者がセキュリティをおろそかにしているという見方に異を唱え、次のように語った。「いくつかの点で、10年ほど前にわれわれがデスクトップアプリケーションで経験したことに似ている部分もある。しかし、当時はセキュリティ問題を意識している人などいなかった。今日ではそんなことはない」
好んでAjaxを採り入れている、ウェブ業界の大手Googleも同じように感じているようだ。同社の技術担当バイスプレジデントDouglas Merrill氏は、電子メールでの取材に対し、「すべてのソフトウェア開発と同じく、Ajaxでの開発においても、セキュリティ問題に取り組み、利用者の利益を最優先に考えて製品を開発していくことが重要だ」と回答している。
ウェブアプリケーションの利点の1つは、たいていユーザーの手を煩わすことなく、迅速かつ容易に修正を施せることだ、とMerrill氏は述べた。
この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ
CNET Japanの記事を毎朝メールでまとめ読み(無料)
ZDNET×マイクロソフトが贈る特別企画
今、必要な戦略的セキュリティとガバナンス
ものづくりの革新と社会課題の解決
ニコンが描く「人と機械が共創する社会」