Black Hat Briefingsの常連である米アトランタのセキュリティ企業SPI Dynamicsは、今年6月にHewlett-Packard (HP)による買収が発表された。買収完了後はHPのテクノロジーソリューション・グループに統合されるという。HP傘下になれば、これまでのように派手に警鐘を鳴らすような活動は行わなくなりそうだ。だが、今年はこれまで通りAjax導入のリスクとHybrid Webワームという話題性の高い2つの講演を行った。

SPIのリードセキュリティ・リサーチャーのBilly Hoffman氏

容易ではない完璧なAjax導入

「Premature Ajax-ulation」は昨年のAjax Securityの続編と呼べるような内容だった。

Ajaxという技術そのものに深刻な脆弱性がある訳ではない。標準に従い、外部にさらされるプログラムロジックや入力検証の仕組みに留意すれば、セキュアに実装できる。ところが周到に行わず、手近なAjaxコードを安易に取り入れている例が少なくない。それがデータや個人情報の流出、バックドア・アクセスなどにつながっているという。SPIでは、適切なセキュリティ対策を講じないまま実装されたAjaxアプリケーションによるリスクをPA (Premature Ajax-ulation)と呼んでいる。

SPIのBryan Sullivan氏とBilly Hoffman氏は、開発者によく知られているWebサイトやマニュアルで紹介されているAjax技術だけを使って試験的に構築したトラベルサイトを使って講演を進めた。

マウス操作だけで、画面上にカレンダーが現れて日付を簡単に入力できたり、スケジュール変更などが画面にすぐに反映される。「操作性に優れた便利なサイト」と呼ばれそうなWebサイトに見える。だが、一見問題のないサイトでも、非同期動作において、マルチスレッドの処理が競合条件やデッドロックなどの問題につながる可能性があり、そこを突かれれば、購入処理などのサーバー側のメソッドが攻撃者にさらされるという。クライアントの段階で実行されたコードは攻撃者に分析される可能性があり、また開示されたまま使われないサーバ機能も危険だとSullivan氏は指摘する。またクライアント側でのXSLTのようなデータ変換は、アプリケーションの性能とスケーラビリティを向上させるが、インジェクション攻撃のリスクも増加させる。

Hoffman氏によると、SPIのような第3者へのセキュリティ監査・診断の依頼を通じて、Ajax実装の脆弱性が見つかるケースが昨年以上に増えているという。そのような報告を受けたとしても、SPIが上記のトラベルサイト構築で参考にしたようなリソースを用いて、企業側の技術者が安易に対応するだけでは解決しない。すべてのリクエストに対して認証ツールを適用するような厳しい対策を採るべきであり、また必要がなければAjaxを用いないのが最善のアドバイスだとしていた。「サイトの80%~90%をAjaxでアップデートするのは、賢いアイディアとは言えない」のが現状だとSullivan氏は説明する。

もう1つの講演「The Little Hybrid Web Worm that Could」は、桁違いの感染力を持ったスーパーワームについてだ。