■検出理由
Deep SecurityはHTTPリクエスト中の文字列の文字コードのエンコーディングに「UTF-8」または「Latin-1」が利用できます。(初期設定はLatin-1です)
UTF-8は複数バイトで一文字を表す場合がありますが、送信されたデータ中に一文字の途中までのデータしかなかった場合に、不正なデータを送信する事による攻撃の可能性があるため、このイベントが発生します。
例) GET /test.asp?a=%E3%81 HTTP/1.1 (日本語は3バイトのはずだが、2バイト分のデータしかない)
■回避方法
WebサイトがUTF-8以外の文字コードを使用していて、この検出を回避したい場合は、以下の設定を行ってください。
1. [Deep Packet Inspection]→[DPI Rules / DPIルール]→[Web Application Protection]で「1000128 - HTTP Protocol Decoding」 ルールのプロパティを開きます。
2. [Configuration / 設定]タブを選択し、「Assume URI uses following encoding method:」から「Latin-1」を選択します。
3. 「OK」ボタンをクリックします。
なお、HTTPリクエストの末尾が「%25」で終わる場合、正常なHTTPリクエストにおいて本イベントが発生する不具合が確認されています。これはDeep Security Agentの不具合です。本不具合への対応については、こちらの製品Q&Aをご参照ください。