テストベースホワイトリストとCSPの組合せによる効果的なXSS対策の実現

井上佳祐, 本多俊貴, 向山浩平, 大木哲史, 堀川博史,西垣正勝
情報処理学会論文誌, vol. 61, no. 9, pp. 1374–1387, Sep. 2020.
[ Paper ]

Abstract

Software as a Service(SaaS)などのクラウドサービスの普及にともない,Webアプリケーションに対する攻撃が急増している.本論文ではクロスサイトスクリプティング(以下,XSS)に焦点を当て,その対策を検討する.現在,XSSの効果的な対策としてContent Security Policy(以下,CSP)が普及しつつある.CSPを利用して,インラインスクリプトに対してはその動作を禁止し,外部スクリプトに対してはそのコード署名を検証することで,開発者が意図したスクリプトのみを動作させることが可能となる.しかし,現在のWebサービスにおいてインラインスクリプトを利用していないWebサイトは数少ないため,CSPのみでは十分なXSS対策を実現し得ない.そこで本論文では,CSPとホワイトリストを併用することによって,効果的なXSS対策を達成する.提案方式は,外部スクリプトに対しては,CSPのコード署名によって開発者の意図したスクリプトのみの実行を許可する.提案方式は,コード署名による対策が難しく,サニタイジングの不備の影響を大きく受けるインラインスクリプトに対しては,テストベースホワイトリストを用いたXSS対策を提案する.テストベースホワイトリスト方式では,開発プロセスの最終段階で行われるソフトウェアテストを通じ,各Webアプリケーションの仕様に合致するホワイトリストが自動生成される.

Updated: