概要
Trend Micro Deep Security の侵入防御イベントに「Invalid Hex Encoding / 無効な16進の符号化」が発生します。このイベントが発生した場合の対応方法を教えてください。
詳細
発生理由
一般にHTTPプロトコルの中で使用されるURI( Uniform Resource Identificaiton)はRFC3986に従います。URIの中にURIへの使用が許可されていない文字が含まれる場合、「'%'+'16進数字2桁'」の形式でパーセントエンコーディングを行います。(http://tools.ietf.org/html/rfc3986#section-2.1)
例)%2F
'%'の直後2文字に16進数字ではない文字が使用されている場合、不正なデータでデコーダの処理にエラーを発生させる攻撃の可能性があるため、このイベントが発生します。
例)GET /test.asp?code=%2x HTTP/1.1 (%2x->'x'が16進数ではない)
例)%2F
'%'の直後2文字に16進数字ではない文字が使用されている場合、不正なデータでデコーダの処理にエラーを発生させる攻撃の可能性があるため、このイベントが発生します。
例)GET /test.asp?code=%2x HTTP/1.1 (%2x->'x'が16進数ではない)
回避方法
該当パケットで送信されているデータが不正なものではない事が確認できた上でこの検出を回避したい場合は、以下の設定を行ってください。
- DSM管理コンソール→[管理]タブを開きます。
- [共通オブジェクト]→[ルール]→[侵入防御ルール]に進みます。
- 「1000128 - HTTP Protocol Decoding」ルールを探し、プロパティを開きます。
- [Configuration / 設定]タブを選択し、「Detect Invalid Hexadecimal Encoding」のチェックボックスからチェックを外します。
- 「OK」ボタンをクリックします。