xAppのセキュリティ: XSS攻撃の防止
XSS(クロスサイトスクリプティング)とは、ウェブアプリケーションにおけるセキュリティ脆弱性の一種です。ウェブアプリケーションが、適切な検証やエスケープを行わずに、ウェブブラウザへの出力にユーザーからの信頼できないデータを含む場合に発生します。この脆弱性により、攻撃者は他のユーザーが閲覧するウェブページに悪意のあるスクリプトを注入することができます。
xAppをビルドする際には、特定のガイドラインに従ってXSS攻撃のリスクを軽減することが重要です:
- 常にすべての変数を検証し、エスケープまたはサニタイズして脅威から保護してください。
- 信頼できないデータはすべてテキストとして扱い、JavaScriptやHTMLとして扱わないでください。
- HTMLサニタイズを使用し、変数から危険なHTMLを取り除き、安全なHTML文字列を返す。OWASP は HTML のサニタイズに DOMPurify を使うことを推奨します。
- ユーザーが入力したとおりのデータを安全に表示する必要がある場合は、出力エンコーディングをご使用ください。
- 信頼できないデータに JavaScript のエンコーディングを追加することをご検討ください。
参考資料
- Cross Site Scripting Prevention Cheat Sheet のテクニックに従うことで、XSS からアプリケーションを保護することができます。
- また、Content-Security-Policy を実施することによって、ユーザーデータを保護することも重要です、これは、Content Security Policy Cheat Sheet に記述されているように、様々な方法で行うことができます。