テストベースホワイトリストとCSPの組み合わせによる効果的なXSS攻撃対策の実現に関する検討

井上 佳祐 , 本多 俊貴 , 向山 浩平 , 大木 哲史 , 堀川 博史 , 西垣 正勝
コンピュータセキュリティ(CSEC),2019-CSEC-84(6), pp.1-8, 2188-8655, March 2019.

Abstract

SaaS などのクラウドサービスの普及に伴い,Web アプリケーションに対する攻撃が急増している.本稿では XSS 攻撃に焦点を当て,その対策を検討する.現在,XSS 攻撃の効果的な対策として CSP が有効になりつつある.XSS 攻撃は攻撃者が注入した開発者の意図しないスクリプトが動作してしまう点が問題であるため,CSP では,インラインスクリプトによるスクリプト動作を完全に無効化し,外部スクリプトとそのコード署名を検証することで意図したスクリプトのみ動作させることが可能である.しかし,サニタイジング処理の不備により意図しないスクリプトがインラインで注入される恐れが依然としてあるため,開発者により基本的な対策を徹底することは重要である.しかし,サニタイジングによる悪性コードの完全な無害化や,CSP の適切な設定は容易に行えるものではない.特に現在の Web サービスにおいてインラインスクリプトを利用していないサイトは数少ないため,CSP の利点を上手く活用できていない.そこで本研究では,CSP によるコード署名が可能な外部スクリプトと対策が難しいインラインスクリプトの対策を組み合わせた手法を採用し,インラインスクリプトの対策としてホワイトリストを利用した対策を提案する.本手法では,開発プロセスの最終段階で行われるソフトウェアテストに焦点を当て,各 Web アプリの仕様に合致するホワイトリストを自動生成する方法を確立する.Web アプリケーションのテストツールにホワイトリスト生成の機能を統合することで,従来のアプリ開発工程を変更することなくホワイトリストの自動生成が可能となる.作成したホワイトリストと CSP を上手く組み合わせて,より容易で効果的な XSS 対策を目指す.

Updated: