ビジネスサポートポータルアカウントでログイン
クロスサイトスクリプティングおよびSQLインジェクションの検知の仕組みと設定  

クロスサイトスクリプティングおよびSQLインジェクションの検知の仕組みと設定

    • 更新日:
    • 3 Sep 2019
    • 製品/バージョン:
    • Trend Micro Deep Security 10.All
    • Trend Micro Deep Security 11.All
    • Trend Micro Deep Security 12.All
    • Trend Micro Deep Security 9.5
    • Trend Micro Deep Security 9.6
    • OS:
    • Linux すべて
    • Solaris すべて
    • UNIX すべて
    • Virtual Appliance すべて
    • Windows すべて
概要
 
クロスサイトスクリプティングおよびSQLインジェクションを検知する以下のルールの仕組みと設定を教えてください。
  • 1000552 - Generic Cross Site Scripting(XSS) Prevention
  • 1000608 - Generic SQL Injection Prevention
※上記ルールはSQLインジェクションを防御するルールの一例です。
詳細
Public

動作の概要

これらのルールはどちらも同様の動作をします。 パケットデータの先頭から順に設定されたキーワードに合致するものを検索し、合致したキーワードに割り当てられたスコアを合計して、スコアの合計が設定された閾値を超えると接続を拒否またはログを記録します。

設定

●XSS Patterns / SQL Injection Patterns:
それぞれの攻撃に使用されるキーワードグループとスコアを設定します。 1行毎に1グループで、キーワードのリストとそのキーワードグループに割り当てるスコアが定義されています。グループは最大32まで定義できます。
(書式) キーワード1,キーワード2,キーワード3,...:スコア
(例) <,%3c,>,%3e:1
「<」「%3c」「>」「%3e」のいずれかがパケットデータ中に見つかると、1点となります。

各行につき、スコアの追加は一度限り実行されます。

上述の例で、「<」「%3c」「>」「%3e」の全てのキャラクターが単一パケット内に複数存在する場合でも、加算されるスコアは1点となります。

(参考)2017年2月時点での、それぞれの初期設定値は以下の通りです。

  • XSS Paterns

    <,%3c,>,%3e:1
    (,%28,),%29:1
    [,%5b,],%5d,{,%7B,},%7D:1
    ',%27,\x22,%22:1
    script\W,javascript\W,vbscript\W,object\W,iframe,applet\W,embed\W,style:2
    OnLoad,OnError,OnMouse,OnClick,OnKey:1
    .src=,.src%3d,%2esrc=,%2esrc%3d, src=, src%3d,%20src=,%20src%3d,+src=,+src%3d,<form,%3cform,.submit,%2esubmit:1
    eval(,eval%28,<~/,%3c~/,%3c~%2F:1
    XMLHTTPRequest,.XMLHTTP,%2eXMLHTTP,OnReadyStateChange:1
    document.write,document.cookie:1

  • SQL Injection Patterns

    drop table,drop+table,insert into,insert+into,values\W,create table,create+table,delete\W,update\W,bulk insert,bulk+insert,shutdown\W:2
    declare\W,select\W:2
    cast\W,exec\W,load_file:2
    union\W,group by,group+by,order by,order+by,having\W:2
    and\W,or\W,like\W,is null,is+null,is not null,is+not+null,where\W:1
    --,%2D%2D,/*,%2F%2A,*/,%2A%2F:1
    ',%27,\x22,%22,char\W:1
    ;,%3B:1
    %2B,CONCAT\W:1
    %3D:1
    (,%28,),%29,@,%40:1
    ascii,substring:1
    version(,version%28,user(,user%28,system_user(,system_user%28,database(,database%28,@@hostname,%40%40hostname,@@basedir,%40%40basedir,@@tmpdir,%40%40tmpdir,@@datadir,%40%40datadir:2

●Drop Threshold:
接続を拒否する閾値を設定します。パケットデータ中で見つかったキーワードグループのスコアの合計が、この値を超えると、接続が拒否されます。

(例) 4点に設定されている場合、スコアの合計が5点以上になると接続が拒否されます。

●Log Threshold:
ログを記録する閾値を設定します。パケットデータ中で見つかったキーワードグループのスコアの合計が、この値を超えると、ログを記録します。(接続は拒否されません。)

(例) 3点に設定されている場合、スコアの合計が4点以上になるとログを記録します。

●Max distance between matches:
キーワード間の最大文字数を設定します。パケットデータ中で見つかったあるキーワードから、この文字数以内にいずれのキーワードも見つからない場合に、スコアの合計を0にリセットします。

(例) <1234567890123456789012345678901[
最大文字数が30の場合、キーワード「<」(1点)と「[」(1点)の間に31文字以上あるため、スコアは2点ではなく1点になります。

●Pages (resource) with a non-default score to drop on:
特定のページでだけ、接続を拒否する閾値を変更します。 1行に1ページずつ、ページのパスと接続を拒否する閾値を定義します。指定したページでは、「Drop Threshold」の値よりもこちらの値が優先されます。
(書式) ページのパス:閾値

(例) /index.html:5
/index.htmlページのみ、スコアの合計が6点以上になると接続が拒否されます。

●Form parameters with a non-default score to drop on:
特定のページの特定のフォームパラメータでだけ、接続を拒否する閾値を変更します。 1行に1ページずつ、ページのパス、パラメータ名と接続を拒否する閾値を定義します。設定されたページの設定された 指定したページの指定したパラメータでは、「Drop Threshold」の値よりもこちらの値が優先されます。
(書式) ページのパス:パラメータ名1=閾値1,パラメータ名2=閾値2,...

(例) /index.html:userid=5,passwd=7
/index.htmlページのuseridというパラメータでは6点以上、passwdというパラメータでは8点以上になると接続が拒否されます。

検出精度を向上するため、上記で設定できる項目以外にも、内部ではさらに詳細な判定も行っていますが、セキュリティ上の観点からその具体的な内容についてはご案内できませんので、ご了承ください。

ルールの調整

正常な通信がブロックされるなど、ルールによる検出が意図した通りに行われない場合は、「Drop Threshold」および「Log Threshold」を調整してください。

  • より多くの通信をブロック・検出したい場合は、「Drop Threshold」および「Log Threshold」の値を下げます。
  • ブロック・検出される通信を減らしたい場合は、「Drop Threshold」および「Log Threshold」の値を上げます。
Premium
Internal
評価:
カテゴリ:
機能/仕様; 操作方法/設定
Solution Id:
1097099
ご提案/ご意見
このソリューションはお役に立ちましたか?

フィードバックありがとうございました!

いただいたご提案/ご意見に関して、トレンドマイクロから詳細確認のため、Eメールを送付させていただく場合がありますので、Eメールアドレスを入力してください:
入力いただいたEメールアドレスはソリューション改善のためだけに使用いたします.

*こちらに技術的なご質問などをいただきましてもご返答する事ができません.

何卒ご了承いただきますようお願いいたします.


To help us improve the quality of this article, please leave your email here so we can clarify further your feedback, if neccessary:
We will not send you spam or share your email address.

*This form is automated system. General questions, technical, sales, and product-related issues submitted through this form will not be answered.


ユーザーガイド