Webアプリケーションに対する脅威は2006年に大幅に増大したが、2007年にもその勢いが衰えることはなさそうだ。
オンラインセキュリティのコンサルティング企業、SPIダイナミクスのアプリケーションセキュリティ専門家らは先ごろ、セキュリティ脅威をめぐる2007年の展望について話し合った。この会合では、Web 2.0技術の利用が拡大する一方で、攻撃が金銭獲得の手段になり得るという状況の中、Webアプリケーションは今後もハッカーのターゲットになるという結論に達した。
SPIの研究者らは、2007年に拡大が予想されるセキュリティ脅威を7つリストアップした。
SPIダイナミクスのセキュリティエバンジェリスト、マイケル・サットン氏は、アプリケーションを迅速に開発できるのが魅力のRAD(Rapid Application Development)では、ソフトウェアの品質とセキュリティがないがしろにされることが多いと指摘する。締め切りに間に合わせるために、品質が後回しにされるからだ。
「RADそれ自体は悪い手法ではない。問題は、品質という部分が犠牲になっていることだ。また人々が品質について考えるとき、セキュリティのことまで考えないことが多い」と同氏は語る。
この問題はどのように解決すればいいのだろうか。サットン氏によると、ソフトウェア開発ライフサイクル(SDLC)全体にわたってセキュリティを組み込まなければならないという。最初の設計会議の段階から開発プロセス全体を通じて、セキュリティを意識しなければならないということだ。

ファイルフォーマットの脆弱性は、ファイルの中に存在するのではない。実際には、この脆弱性は、ファイルを解釈するアプリケーションに存在するのだ。このため、1つの悪質なファイルでも、欠陥のある同じライブラリを利用することによって複数のアプリケーションを悪用することができるのだ。
こういった攻撃のターゲットになるのは、グラフィックスソフト、ワープロ、メディアプレーヤー、Webブラウザ、表計算ソフトなどだ。サットン氏によると、マイクロソフトが2006年に提供したパッチの約4分の1が、この脆弱性に関係したものだという。
「この種のゼロデイ攻撃はよく見かける。送られてきた偽装電子メールをユーザーが開いてしまうのは、実行ファイルではないからだ」と同氏は指摘する。
サットン氏によると、この欠陥に対する真の解決策は、ソフトウェアメーカーが脆弱なソフトウェアをリリースしないことだという。これは、SDLC全体にわたってセキュリティを組み込むとともに、ファジングツールを使って脆弱性を検出することによって実現できる。
欠陥のあるソフトウェアは今後もなくならないだろうから、企業は必ずアプリケーションにパッチを適用する必要がある。フィックスが存在しないのであれば、特定のタイプの添付ファイルを受け付けないようにするかどうか決める必要があるだろう。
「これは難しい問題だ。これらのタイプのファイルを受け入れる必要があっても、それがセキュリティ侵犯につながる可能性があるのだ」とサットン氏は話す。
この新しいトレンドは、2つのサイト間のリンクあるいは「ブリッジ」に関連したものである。ブリッジとは、一方のサイトが、はるかに大規模なもう1つのサイト(Amazon.comなど)に検索リクエストを送信できる仕組みである。ブリッジは専用のセキュリティメカニズムを備えていないため、ハッカーにとって魅力的な巨大サイトを攻撃するための手段を提供するのだ。
「コンテンツへのアクセスを許可しているサイトは、RSSフィードやAPIにコンテンツが渡される際のセキュリティにあまり注意を払っていない」とサットン氏は話す。このため、ハッカーはこれらの2つのサイト間の信頼関係に便乗することができる。「一般向けのポータルに適用するのと同等のセキュリティをブリッジに適用すべきである」とサットン氏は語る。
最近では、プリンタやルータなど、ユーザーが普段使っているハードウェアにもWebサーバが組み込まれていることを忘れがちだ。Webサーバが組み込まれていれば、ユーザーはWebブラウザからハードウェアの状態をチェックすることができる。サットン氏によると、問題は、これらは非常にシンプルなサーバであるため、大したセキュリティテストを受けていないことだという。
言い換えれば、これらのサーバは攻撃に対して無防備であるということだ。例えば、トラフィックを攻撃者に転送するようにスイッチが設定される可能性もある。
さらに厄介なことに、こういったデバイスはめったにアップグレードされたり、パッチが適用されたりすることがないという事実である。「デスクトップと同じくらい頻繁にプリンタソフトウェアをアップデートする人はいない」(サットン氏)のである。
サットン氏によると、Web 2.0は、Webアプリケーションをよりダイナミックかつインタラクティブなものにする可能性があるが、その一方で、これらのアプリケーションに対する潜在的脅威も増大させるという。
「アプリケーションに脆弱性が存在する場合、その十中八九はユーザーの入力が認証されないことが原因だ。Web 2.0アプリケーションが増加するのに伴い、こういった認証されない入力が大幅に増えるだろう」とサットン氏は話す。
その結果、多くの侵入手段が攻撃者に与えられるわけである。こういった入力は表面には現れないため、ユーザーには見えないが、攻撃者には見えるのだ。
「Webアプリケーションが複雑化しているため、開発者がセキュリティに注意を払うことが不可欠だ」とサットン氏は指摘する。
フィッシング攻撃やなりすましの激増のせいで、クライアント側の脆弱性が一層深刻な問題になってきた。ユーザーが悪質なWebサイトにアクセスするだけで、ブラウザに障害が発生し、ユーザーのデータを盗む手段が攻撃者に提供される可能性がある。
「人々は、クライアント側の脆弱性が深刻なものであると認識し始めた。この問題は一筋縄では解決できない。組織内のすべてのユーザーのブラウザにパッチを適用するとなれば、大変な作業になる」とサットン氏は語る。
Webアプリケーションワームは全面的な攻撃に適した手法であり、ユーザーのマシンおよび情報にアクセスするための新たな媒介手段を攻撃者に提供する。
これらのワームは、ソーシャルネットワーキングWebサイトにとって特に深刻な脅威となっている。こういったサイトでは、クライアントが用意するスクリプトに関する規定が甘く、会員は自分のページをコーディングすることができるのだ。Yahoo!やMySpaceもWebアプリケーションワームの犠牲になった。
こういったサイトでワームを寄せ付けないようにするには、セキュリティをもっと優先させる必要がある。
サットン氏によると、Webアプリケーションへの攻撃の増加をもたらしているもう1つの要因は、開発する人間が増えたことだという。Webアプリケーションは比較的簡単に作成できるからだ。しかしこういった人々はセキュリティの知識を持ち合わせていない、と同氏は指摘する。
「問題は、誰もがセキュリティの専門家であるわけではないということだ。このため、多数のWebアプリケーションが開発されるのに伴い、セキュリティ上の過ちが数多く犯されることになる」(同氏)
この問題に対処するには、Webアプリケーション開発フレームワークが、セキュリティ責任の一部を担う必要があるだろう、とサットン氏は言う。
「Webアプリケーション開発フレームワークは、それがあらゆる人々に利用されるということを前提とする必要がある。そしてほとんどの人々は、セキュリティの知識を持ち合わせていない。このため、開発者自身を守るために、アプリケーション開発フレームワークにセキュリティを組み込む必要があるのだ」(同氏)