ユーザーがログインしたら、絶対に必要な場合を除いて、あらゆる種類のクライアントスクリプトを避けようとします。オンライン金融サービスに関するウェブ作業に推奨する推奨事項は次のとおりです。
1) 同じドメインから HTTPS 経由ですべてのアセットをユーザーに送信します。速度が遅く、帯域幅のコストが最も高くなりますが、すべてのアセットを直接操作から制御できるため、より安全です。すべての資産とは、実際には画像を含むすべての資産を意味します。テキスト コンテンツを含む画像を操作すると、フィッシングの試みに先立って誤った指示を送信するために使用される可能性があるからです。この点で、CDN を使用してアセットを保存することはありません。それはあなたが所有する場所ではないため、保存されたデータの改ざんを監視する制御が少ないためです。
2) XMLHttpRequest オブジェクトで AJAX などを使用しないでください。非同期通信のポイントは、ページのリロード以外のポイント間で情報をビーコンすることです。これは使いやすさには優れていますが、セキュリティを完全に無効にします。クライアント側で実行されるため、侵害されたコードは、ユーザー側で情報が復号化された後、ユーザーからの情報を信頼できない第三者にビーコンすることにより、正当な SSL 暗号化を無効にするためにも使用できます。購入、PII、または財務データを扱うときは、ユーザーからの情報トランザクションごとにページのリロードまたは新しいページが強制的に実行されることを常に確認してください。
3) いかなる種類のクライアント側スクリプトも使用しないでください。その手段は、ActiveX、Flash、さらには Acrobat をまったく使用しません。報告されたすべてのセキュリティ脆弱性の 95% はクライアント側のスクリプトに起因しており、それらの攻撃の 70% は処理ソフトウェアのメモリ破損を標的にしています。通常、JavaScript はバッファ オーバーフローで知られているわけではありませんが、DOM のみを操作するために JavaScript をできるだけ使用しないことをお勧めします。
4) JavaScript の関数またはメソッドで無名関数を引数として渡さないでください。これは一般的に発生するものではありませんが、特定の組み込みメソッドの場合、JavaScript インタープリターを介して処理ソフトウェアに穴が開く可能性があります。これは、バッファ オーバーフローを引き起こすために必要なコードを挿入するための攻撃ベクトルになる可能性があります。
5) onsubmit イベントを使用して、フォーム データの送信にスクリプトの実行を関連付けないでください。実行コードに違反したり、追加の悪意のあるコードを追加したりすると、フォーム データを信頼できるソースに送信する前に、フォーム データを信頼できない第三者に匿名でビーコンする XMLHttpRequest 関数を含めるポイントが作成される可能性があります。属性は HTTPS です。
6) 有効な XHTML、CSS、およびテキストをユーザー エクスペリエンスのほぼすべての可能な側面に固執し、HTTPS のみを使用して通信する限り、ほとんど問題ありません。
銀行や教育機関は既知の攻撃の 40% を受けていることを心に留めておく必要があります。2008 年の 1 回の攻撃の平均コストは 1,130 万ドルでした。セキュリティの完全な深さを考慮していなかったために、銀行がそれらの損害についてあなたを攻撃する可能性がある場合、どのように対応しますか? それに応じて計画を立て、作業が可能な限りロックダウンされるようにします。