システム開発コラム集
システム開発に関するコラム集です。
11.悪意ある攻撃からシステムを守る技術-クロスサイトスクリプティング(XSS)
ハッカーなどの悪意ある攻撃からシステムを守る技術をご紹介します。
以下の基本的な事を正しく理解できてないシステム会社が意外に多く存在します。あなたのWebシステムは大丈夫でしょうか?以下の内容を試してみると脆弱が見つかるかもしれません。
■クロスサイトスクリプティング(XSS)
原因:
サイト訪問者の入力により動的に生成される様な個所でセキュリティが足りない部分を狙った攻撃です。
掲示板等やブログ等でも一部のHTMLタグの利用を許可しているタイプ(画像を埋め込んだり、文字の色や大きさを変えたり)がありますが、一般的にはHTMLタグは、利用できない様に規制されています。
しかし、HTMLタグの入力規制処理が全く行われてない場合は、HTMLタグやJavascriptを埋め込む事が可能となり、悪意あるプログラムが実行できてしまいます。
★ツイッターやfacebookでも利用者の意思に関係なく悪意ある書き込みを勝手に行ってしまうスクリプトが埋め込まれた事があります。
仕組解説:
この悪意あるプログラム内に悪意あるサイトへ遷移する様なコードが書かれていた場合、サイト閲覧者は知らないうちに、その悪意あるサイトへ移動してしまいます。
例えば、クレジットカード番号を入力する様なサイトに悪意あるプログラムが埋め込まれた場合、クレジットカード番号を悪意あるサイトへ送信してしまう可能性があります。
対策:
プログラマが慎重に対応するのも当然ですが、テストが十分に行われていない事によって発見されていない様です。
対策としては、入力内容をHTMLエンティティへ変換し表示させる事によりほとんどの問題が解決されます。