JP2019103039A - ファイアウォール装置 - Google Patents

ファイアウォール装置 Download PDF

Info

Publication number
JP2019103039A
JP2019103039A JP2017233687A JP2017233687A JP2019103039A JP 2019103039 A JP2019103039 A JP 2019103039A JP 2017233687 A JP2017233687 A JP 2017233687A JP 2017233687 A JP2017233687 A JP 2017233687A JP 2019103039 A JP2019103039 A JP 2019103039A
Authority
JP
Japan
Prior art keywords
rule
web servers
unit
request
feature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017233687A
Other languages
English (en)
Other versions
JP6375047B1 (ja
Inventor
洋司 渡辺
Yoji Watanabe
洋司 渡辺
友輔 佐々木
Yusuke Sasaki
友輔 佐々木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Cyber Security Cloud Inc
Original Assignee
Cyber Security Cloud Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Cyber Security Cloud Inc filed Critical Cyber Security Cloud Inc
Priority to JP2017233687A priority Critical patent/JP6375047B1/ja
Application granted granted Critical
Publication of JP6375047B1 publication Critical patent/JP6375047B1/ja
Priority to EP18208818.7A priority patent/EP3496362B1/en
Priority to US16/205,824 priority patent/US11088991B2/en
Publication of JP2019103039A publication Critical patent/JP2019103039A/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】個々のWEBサーバにとって必要なルールを自動的に選別することによって、ルールサイズの肥大化を招くことなく、新たな種類の攻撃に対していち早く対応できるファイアウォール装置を提供する。【解決手段】本発明によるファイアウォール装置は、複数のWEBサーバのそれぞれについて、リクエストのブロックに関する1以上のルールを記憶するルールデータベース20と、複数のWEBサーバのそれぞれにおける指標ごとの検知数に基づき、複数のWEBサーバそれぞれの特徴量を算出する特徴量算出部30と、特徴量算出部30によって算出された特徴量に基づき、複数のWEBサーバそれぞれについてルールデータベース20に記憶されているルールを更新するルール更新部31と、を備える。【選択図】図2

Description

本発明はファイアウォール装置に関し、特に、アプリケーションレベルで送受信を管理することによって外部ネットワークからの不正アクセスを防御するファイアウォール装置に関する。
Webアプリケーションファイヤーウォール(以下、「WAF」という)は、アプリケーションレベルで送受信を管理することによって外部ネットワークからの不正アクセスを防御するファイアウォールシステムである。WAFの代表的なサービスとして、非特許文献1に記載の「AWS WAF」が知られている。この技術では、WEBサーバとインターネットの間にフロントエンドサーバが設けられ、さらに、このフロントエンドサーバと通信可能に構成されたWAFサーバが設けられる。フロントエンドサーバは、WEBサーバへのリクエストを受け取ると、そのリクエストを一旦WAFサーバに転送する。WAFサーバは、ブロックすべきリクエストと許可すべきリクエストとを識別するためのルール(具体的には、ブロックの対象となるリクエストが列挙されたシグネチャ)を有しており、転送されたリクエストにこのルールを適用することによって、リクエストのブロック又は許可を決定する。ブロックと決定された場合、フロントエンドサーバは、そのリクエストをWEBサーバに転送することなく、破棄する。一方、許可と決定された場合、フロントエンドサーバは、そのリクエストをWEBサーバに転送する。
特許文献1には、WAFを利用するコンピュータシステムが開示されている。同文献に記載の技術は、不正アクセスが検知された場合にのみWAFを含むファイアウォールをネットワークに組み込むことにより、ファイアウォールのコストを削減しようとするものである。ただし、同技術においては、不正アクセスを検知するための不正アクセス検知装置がファイアウォールとは別に必要になる。不正アクセス検知装置は、WAFと同様に、あらかじめ登録されたシグネチャとのマッチングを行うことにより不正アクセスを検知するよう構成される。
特開2015−50717号公報
「AWS WAF」、[online]、アマゾン・ドット・コム・インコーポレイテッド、[平成29年10月23日検索]、インターネット<URL:https://aws.amazon.com/jp/waf/>
ところで、上記WAFサーバにはWEBサーバごとの記憶領域が用意され、その中にルールが保持されている。したがって、ルールはWEBサーバごとに保持されることになる。このようにしているのは、ブロック又は許可すべきリクエストの内容がWEBサーバによって異なり得るためである。
各WEBサーバに対応するルールは、各WEBサーバの管理者が自身でWAFサーバに設定する必要がある。しかしながら、この方法には、新たな種類の攻撃に対していち早く対応することが困難であるという問題があった。これに対し、コンピュータセキュリティの専門会社によって新たなルールが公開される都度、無条件で自サーバのルールに自動追加するという方法も考えられるが、そうするとルールのサイズが膨大になり、WAFサーバ内の記憶領域を圧迫してしまうという別の問題が発生する。
特許文献1によっても、不正アクセス検知装置に予め登録しておくシグネチャについて、同様の問題が生ずる。
したがって、本発明の目的の一つは、個々のWEBサーバにとって必要なルールを自動的に選別することによって、ルールサイズの肥大化を招くことなく、新たな種類の攻撃に対していち早く対応できるファイアウォール装置を提供することにある。
本発明によるファイアウォール装置は、複数のWEBサーバのそれぞれについて、リクエストのブロックに関する1以上のルールを記憶する記憶部と、前記複数のWEBサーバのそれぞれにおける指標ごとの検知数に基づき、前記複数のWEBサーバそれぞれの特徴量を算出する特徴量算出部と、前記特徴量算出部によって算出された前記特徴量に基づき、前記複数のWEBサーバそれぞれについて前記記憶部に記憶されているルールを更新するルール更新部と、を備えるファイアウォール装置である。
本発明によれば、複数のWEBサーバのそれぞれにおける指標ごとの検知数に基づき、個々のWEBサーバにとって必要なルールを自動的に選別することができる。したがって、ルールサイズの肥大化を招くことなく、新たな種類の攻撃に対していち早く対応することが可能になる。
(a)は、本発明の実施の形態によるファイアウォールシステム1のシステム構成を示す図であり、(b)は、本発明の実施の形態によるファイアウォールシステム1のシステム構成の他の例を示す図である。 (a)は、図1に示したWAFサーバ2のハードウェア構成を示す図であり、(b)は、図1に示したWAFサーバ2の機能ブロックを示す略ブロック図である。 図2(b)に示した特徴量算出部30によって実行される特徴量算出処理の処理フロー図である。 図2(b)に示したユーザ類似度算出部40によって実行されるユーザ類似度算出処理の処理フロー図である。 図2(b)に示したレコメンドスコア算出部41によって実行されるレコメンドスコア算出処理の処理フロー図である。 図2(b)に示したグループ化処理部42によって実行されるグループ化処理の処理フロー図である。 指標がルールである場合に取得される検知数の例を示す図である。 (a)(b)は、指標がルールである場合における特徴量の算出例を示す図である。 指標としてルールを用いて作成される特徴量マトリクスの例を示す図である。 (a)は、それぞれWEBサーバIDがhost000039,host000042である2つのWEBサーバ3間で共起しているルールを示す図であり、(b)は、(a)に示した例において算出される各ルールのユークリッド距離を示す図であり、(c)は、(a)に示した例において算出されるユークリッド距離の合計値及びユーザ類似度を示す図である。 (a)は、WEBサーバIDがhost000039であるWEBサーバ3についての未登録ルールであって、他のWEBサーバ3について登録されている1以上のルールを示す図であり、(b)は、(a)に示した各WEBサーバ3の特徴量を示す図であり、(c)は、(b)に示した各ルールIDについて算出される加重平均を示す図である。 (a)(b)は、指標がリクエスト種別である場合に取得される検知数の例を示す図であり、(c)は、指標がリクエスト種別である場合における特徴量の算出例を示す図である。 指標としてリクエスト種別を用いて作成される特徴量マトリクスの例を示す図である。 クラスタリングによる複数のWEBサーバのグループ化例を示す図である。 DBSCANの出力結果を示す図である。
以下、添付図面を参照しながら、本発明の実施の形態について詳細に説明する。
図1(a)は、本発明の実施の形態によるファイアウォールシステム1のシステム構成を示す図である。同図に示すように、ファイアウォールシステム1は、1つのWAFサーバ2と、複数のWEBサーバ3とを備えて構成される。
WEBサーバ3は、ハイパーテキスト転送プロトコル(HTTP)に従うクライアント(図示せず)からのリクエストを例えばインターネット経由で受信し、リクエストの内容に応じたサービスをクライアントに対して提供するコンピュータである。例えば、リクエストが特定の情報の転送(GET)である場合、WEBサーバ3は、要求された情報がファイル(画像ファイル、HTMLファイル、テキストファイルなど)であればそのファイルの内容をクライアントに対して転送し、要求された情報がPHP(登録商標)やJavaScript(登録商標)などのプログラムの実行結果である場合には、そのプログラムを実行し、その結果として得られた情報をクライアントに対して転送する。また、リクエストがデータの処理(POST)である場合、WEBサーバ3は、クライアントから転送されてきたデータに応じた処理(データベースへの登録など)を行い、その結果として得られた情報をクライアントに対して転送する。さらに、リクエストには、WordPress(登録商標)などの特定のソフトウェアやその中に含まれるファイルの指定(wordpress、wp−cron、wp−contentなど)が含まれ得る。この種のリクエストを受け取ったWEBサーバ3は、対応するソフトウェア又はファイルを実行し、その結果として得られた情報をクライアントに対して転送する。
WAFサーバ2は、アプリケーションレベルで送受信を管理することによって、WEBサーバ3に対する外部ネットワークからの不正アクセスを防御するファイアウォール装置である。通常、WAFサーバ2はWEBサーバ3とは物理的に異なるコンピュータ内に設けられるが、WEBサーバ3と同じコンピュータ内に設けることも可能である。
各WEBサーバ3は、クライアントからリクエストを受信した場合、そのリクエストを一旦WAFサーバ2に転送する。WAFサーバ2は、ブロックすべきリクエストと許可すべきリクエストとを識別するためのルール(具体的には、ブロックの対象となるリクエストが列挙されたシグネチャ)をWEBサーバ3ごとに記憶しており、転送されたリクエストをこのルールに照合することによってリクエストのブロック又は許可を決定し、その結果をWEBサーバ3に返送する。WEBサーバ3は、ブロックと決定された場合には、そのリクエストを破棄する。一方、許可と決定された場合には、そのリクエストに応じたサービスをクライアントに対して提供する。
WAFサーバ2はまた、後述する図2(b)に示す各機能部を定期的に動作させることにより、各WEBサーバ3について記憶しているルールの内容を定期的に更新するように構成される。この処理の具体的な内容については後述するが、この処理を実行することにより、個々のWEBサーバ3にとって必要なルールを自動的に選別することが実現される。
図1(b)は、本発明の実施の形態によるファイアウォールシステム1のシステム構成の他の例を示す図である。同図に示す構成と図1(a)に示した構成の違いは、フロントエンドサーバ4が設けられている点にある。フロントエンドサーバ4は、WEBサーバ3に代わってクライアントからのリクエストを受信し、そのリクエストを一旦WAFサーバ2に転送する。そして、WAFサーバ2がブロックと決定した場合には、そのリクエストをWEBサーバ3に転送することなく破棄し、許可と決定した場合には、そのリクエストをWEBサーバ3に転送する。本発明は、図1(a)の構成によるWAFサーバ2だけでなく、図1(b)の構成によるWAFサーバ2にも同様に適用できる。
図2(a)はWAFサーバ2のハードウェア構成を示す図であり、図2(b)はWAFサーバ2の機能ブロックを示す略ブロック図である。
図2(a)に示すように、WAFサーバ2は、プロセッサ10と、入出力インターフェイス11と、記憶部12とがバス13を介して相互に接続された構成を有して構成される。プロセッサ10は、内蔵しているメインメモリ(図示せず)に記憶されるプログラムに従う処理を行う処理装置であり、後述するWAFサーバ2の各機能はプロセッサ10が実行する処理により実現される。入出力インターフェイス11は、ユーザの入力を受け付けるマウスやキーボードなどの入力手段と、ユーザに対して出力を行うディスプレイやスピーカーなどの出力手段と、各WEBサーバ3を含む他のコンピュータと通信を行う通信手段とを含んで構成される。記憶部12は、ハードディスクなどの補助記憶装置である。後述するルールデータベース20及び履歴データベース21は、この記憶部12内に構築される。
機能的には、WAFサーバ2は、図2(b)に示すように、ルールデータベース20、履歴データベース21、特徴量算出部30、及びルール更新部31を有して構成される。ルール更新部31はさらに、内部にユーザ類似度算出部40、レコメンドスコア算出部41、及びグループ化処理部42を有して構成される。
ルールデータベース20は、複数のWEBサーバ3のそれぞれについて、リクエストのブロックに関する1以上のルールを記憶するデータベースである。各WEBサーバ3についてのルールは、互いに独立してルールデータベース20内に格納される。ルールデータベース20内に格納されるルールは、いわゆるブラックリストを構成する。したがって、WAFサーバ2は、WEBサーバ3又はフロントエンドサーバ4から転送されてきたリクエストがルールデータベース20内に記憶されている場合に、そのリクエストのブロックを決定し、記憶されていない場合に、そのリクエストの許可を決定する。
履歴データベース21は、複数のWEBサーバ3のそれぞれについて、リクエストのログ(アクセスログ)を記憶するデータベースである。アクセスログには、リクエスト送信元のIPアドレス、リクエストが受信された時刻、HTTPメソッドの種類(GET、POSTなど)、アクセスされたファイルのURI(ファイル名及び拡張子を含む)、リクエストを送信したデバイスの情報(OS又はブラウザの種類など)、及びリクエストの処理方法(ブロック又は許可)を示す情報が含まれる。処理方法を示す情報には、ブロック又は許可の根拠となったルールを示す情報が含まれる。
特徴量算出部30は、複数のWEBサーバ3のそれぞれにおける指標ごとの検知数に基づき、複数のWEBサーバ3それぞれの特徴量を算出する機能部である。指標は、例えばルールデータベース20に記憶されるルール、又は、履歴データベース21に記憶されるリクエストの種別である。リクエスト種別には、HTTPメソッド(GET、POSTなど)、アクセスされたファイルのURIから判定されるアクセス先プロセス(logic、wordpress、wp−cron、wp−contentなど)、アクセスされたファイルのURIに含まれる拡張子(php、css、js、gif、jpg、png、txt、htmlなど)などが含まれる。なお、リクエスト種別は、これらのうちの一部をグループ化することによって構成してもよく、以下では、アクセス先プロセス「wordpress」、「wp−cron」、「wp−content」を「wordpress」という1つのリクエスト種別として用い、拡張子「gif」、「jpg」、「png」を「image」という1つのリクエスト種別として用いることとする。
図3は、特徴量算出部30によって実行される特徴量算出処理の処理フロー図である。同図に示すように、特徴量算出部30は、まず初めに複数のWEBサーバ3のそれぞれについて、指標ごとの検知数を取得する(ステップS1)。次いで特徴量算出部30は、複数のWEBサーバ3のそれぞれにおける指標ごとの検知数に基づき、これら複数のWEBサーバ3それぞれの特徴量を算出する(ステップS2)。以下、指標がルールである場合と、指標がリクエスト種別である場合とのそれぞれについて、具体的に説明する。
まず指標がルールである場合に関して、図7は、指標がルールである場合に取得される検知数の例を示す図である。なお、同図に示したWEBサーバIDは個々のWEBサーバ3を識別するための情報であり、ルールIDは個々のルールを識別するための情報である。以下の説明では、WEBサーバID及びルールIDのみの記述により、それぞれWEBサーバ3及びルールを特定する場合がある。特徴量算出部30は、各WEBサーバ3についてのアクセスログを履歴データベース21から読み出し、その中に含まれるブロックされたリクエストの数を対応するルールごとに積算することによって、図7に示すように各WEBサーバ3におけるルールごとの検知数を取得する。
図8(a)(b)は、指標がルールである場合における特徴量の算出例を示す図である。図8(a)は、host000039についての特徴量の算出を示し、図8(b)は、host000041についての特徴量の算出を示している。これらの図に例示するように、特徴量算出部30は、WEBサーバ3ごとに、検知数の総計に占める個々の検知数の割合を各ルールについて算出し、さらに、その結果を1から減じてなる値を各ルールの特徴量として算出する。これを数式で表すと、次の式(1)及び式(2)のようになる。各WEBサーバ3についての特徴量は、こうして当該WEBサーバ3について算出された各ルールの特徴量と、検知されていないルールについての特徴量(=0)とを含む特徴量の集合によって表される。
割合=検知数/総検知数・・・(1)
ルールの特徴量=1−割合・・・(2)
図9は、指標としてルールを用いて作成される特徴量マトリクスの例を示す図である。特徴量算出部30は、上述したようにして算出した各WEBサーバ3の特徴量(ルールごとの特徴量の集合)を、図9に示すようなマトリクス形式で保持するよう構成される。
次に指標がリクエスト種別である場合に関して、図12(b)は、指標がリクエスト種別である場合に取得される検知数の例を示す図である。同図及び後述する図12(a)(c)には、各種のプログラミング言語間で交換されるデータのフォーマットであるJSON(JavaScript(登録商標) Object Notation)に従って作成されたデータを示している。特徴量算出部30は、各WEBサーバ3についてのアクセスログを履歴データベース21から読み出し、その中に含まれるリクエストの数をリクエスト種別ごとに積算することによって、図12(b)に示すように各WEBサーバ3におけるリクエスト種別ごとの検知数を取得する。
ここで、図12(a)は、特徴量算出部30によって一部のリクエスト種別がグループ化される前の状態を示している。図12(a)と図12(b)とを比較すると理解されるように、図12(b)に示すリクエスト種別「wordpress」は、図12(a)に符号A1で示した3つのリクエスト種別「wordpress」、「wp−cron」、「wp−content」をグループ化したものであり、図12(b)に示すリクエスト種別「image」は、図12(a)に符号A1で示した3つのリクエスト種別「gif」、「jpg」、「png」をグループ化したものである。特徴量算出部30は、グループを構成する複数のリクエスト種別(例えば、リクエスト種別「wordpress」、「wp−cron」、「wp−content」)を同一のリクエスト種別(例えば、リクエスト種別「wordpress」)と見なして、上記積算を行う。
図12(c)は、指標がリクエスト種別である場合における特徴量の算出例を示す図である。同図に示すように、特徴量算出部30は、リクエスト種別をその内容ごとに複数の分類B1,B2に分類し、WEBサーバ3ごとかつ分類ごとに、上記式(1)により検知数の総計に占める個々の検知数の割合を各リクエスト種別の特徴量として算出する。各WEBサーバ3についての特徴量は、こうして当該WEBサーバ3について算出された各リクエスト種別の特徴量と、検知されていない各リクエスト種別についての特徴量(=0)とを含む特徴量の集合によって表される。
図13は、指標としてリクエスト種別を用いて作成される特徴量マトリクスの例を示す図である。特徴量算出部30は、上述したようにして算出した各WEBサーバ3の特徴量(リクエスト種別ごとの特徴量の集合)を、図13に示すようなマトリクス形式で保持するよう構成される。
図2に戻る。ルール更新部31は、特徴量算出部30によって算出された特徴量に基づき、複数のWEBサーバ3それぞれについてルールデータベース20に記憶されているルールを更新する機能部である。ルール更新部31の具体的な処理は、指標としてルールを用いて作成される特徴量マトリクスに対してはユーザ類似度算出部40及びレコメンドスコア算出部41を用いて実行され、指標としてリクエスト種別を用いて作成される特徴量マトリクスに対してはグループ化処理部42を用いて実行される。以下、それぞれについて詳しく説明する。
ユーザ類似度算出部40は、特徴量算出部30によって算出された特徴量に基づいて、複数のWEBサーバ3相互の類似度を示すユーザ類似度を算出する機能部である。
図4は、ユーザ類似度算出部40によって実行されるユーザ類似度算出処理の処理フロー図である。同図に示すように、ユーザ類似度算出部40は、複数のWEBサーバ3のすべての組み合わせについて、ステップS12〜S16の処理を実行する(ステップS10,S11)ことにより、ユーザ類似度を算出する。
具体的に説明すると、ユーザ類似度算出部40はまず、特徴量マトリクスから2つの注目WEBサーバ3に対して共起しているルールを抽出する(ステップS12)。ここでいう共起とは、両方のWEBサーバ3において検知数が0より大きい値となっていることを意味する。
図10(a)は、それぞれhost000039,host000042の間で共起しているルールを示す図である。この例では、4つのルール(ルールID:31151,31508,31515,31516)が共起している。図10(a)においてWEBサーバIDとルールIDの交点に示した数値は、特徴量マトリクスに含まれる特徴量の値である。このうちの一部は、図9にも示されている。
図4に戻り、ユーザ類似度算出部40は、抽出した各ルールについて、ユークリッド距離の算出を行う(ステップS13,S14)。ユークリッド距離の算出は、具体的には以下の式(3)により実行される。
ユークリッド距離=(一方のWEBサーバ3の特徴量−他方のWEBサーバ3の特徴量)・・・(3)
図10(b)は、図10(a)に示した例において算出される各ルールのユークリッド距離を示す図である。同図に示すように、ユークリッド距離はルールごとに算出される。
図4に戻り、ユーザ類似度算出部40は続いて、各ルールについて算出したユークリッド距離の合計値を算出し(ステップS15)、算出した合計値に基づいてユーザ類似度を算出する(ステップS16)。ステップS16の算出は、具体的には以下の式(4)により実行される。これにより得られるユーザ類似度は、大きいほど特徴量の差が小さいことを示し、したがって、大きいほど攻撃の状況が似ていることを示す値となる。
ユーザ類似度=1/(1+合計値0.5)・・・(4)
図10(c)は、図10(a)に示した例において算出されるユークリッド距離の合計値及びユーザ類似度を示す図である。この図において、ユークリッド距離の合計値は図10(b)に示したユークリッド距離を合計することによって得られる値であり、ユーザ類似度はユークリッド距離の合計値を式(4)に代入して得られる値となっている。
図2に戻る。レコメンドスコア算出部41は、複数のWEBサーバ3ごとに、当該WEBサーバ3についてルールデータベース20に記憶されておらず他のWEBサーバ3についてルールデータベース20に記憶されている1以上のルールのそれぞれについて、ユーザ類似度算出部40により算出されたユーザ類似度で重み付けした上記特徴量の加重平均であるレコメンドスコアを算出する機能部である。
図5は、レコメンドスコア算出部41によって実行されるレコメンドスコア算出処理の処理フロー図である。同図に示す処理は、レコメンドスコア算出部41が各WEBサーバ3について実行する処理である。同図に示すように、レコメンドスコア算出部41はまず、注目WEBサーバ3について登録されておらず(すなわち、ルールデータベース20に記憶されておらず)、他のWEBサーバ3について登録されている(すなわち、ルールデータベース20に記憶されている)ルールを抽出する(ステップS20)。そして、抽出した各ルールについて、ステップS22の処理を実行する(ステップS21)。
ステップS22では、レコメンドスコア算出部41は、ユーザ類似度算出部40により算出されたユーザ類似度で重み付けした特徴量(特徴量算出部30が算出したもの)の加重平均を算出し、注目WEBサーバ3への推奨の度合いを示すレコメンドスコアとする。具体的には、次の式(5)を用いて、レコメンドスコアの算出を行う。ただし、「登録状況」は、そのルールが登録されているWEBサーバ3については1となり、登録されていないWEBサーバ3については0となる数値である。これにより得られるレコメンドスコアは、大きいほど、対応するルールが攻撃状況の似ている他のWEBサーバ3で頻繁に使用されていることを示す値となる。
レコメンドスコア=Σ(特徴量×ユーザ類似度)/Σ(登録状況×ユーザ類似度)・・・(5)
図11(a)は、host000039についての未登録ルールであって、他のWEBサーバ3について登録されている1以上のルールを示す図である。この例では簡単のため、host000042及びhost000049の2WEBサーバ3のみにそのようなルールが記憶されていた場合を例示している。同図に示すように、この例では、host000042に5つの未登録ルール「31103」、「31510」、「31511」、「31533」、「200002」が登録され、host000049に3つの未登録ルール「31103」、「31153」、「31533」が登録されている。
図11(b)は、図11(a)に示した各WEBサーバ3の特徴量を示す図である。同図に示した特徴量は、図9に示した特徴量マトリクスに含まれるものである。ただし、同図には、特徴量マトリクスに記載される特徴量のうち、図11(a)に列挙したルールに関する部分のみを抜き出して示している。
図11(c)は、図11(b)に示した各ルールIDについて、上記式(5)により算出されるレコメンドスコアを示す図である。このように、レコメンドスコア算出部41は、未登録のルールごとにレコメンドスコアを算出することになる。
図2に戻る。ルール更新部31は、レコメンドスコア算出部41によって算出されたレコメンドスコアに基づいて、複数のWEBサーバ3それぞれについてルールデータベース20に記憶されているルールを更新する。この場合において、レコメンドスコアの参照の仕方は任意である。例えば、レコメンドスコアが所定値以上であるルールを追加することとしてもよいし、大きい方から所定数以内のレコメンドスコアに対応するルールを追加することとしてもよいし、レコメンドスコアの偏差値が所定値以上であるルールを追加することとしてもよい。上記したように、レコメンドスコアが大きいということは、対応するルールが攻撃状況の似ている他のWEBサーバ3で頻繁に使用されていることを意味するので、この方法でルールを更新することにより、個々のWEBサーバ3にとって必要なルールを適切に選別することが可能になる。
図11の例で言えば、例えばレコメンドスコアが大きい方から3つ以内に入るルールを追加することとすると、ルール更新部31は、ルールID「31153」、「200002」、「31510」に対応する3つのルールを、host000039についてルールデータベース20に新たに登録することになる。
図2に戻る。グループ化処理部42は、特徴量算出部30によって算出された特徴量に基づいて、複数のWEBサーバ3をグループ化する機能部である。
図6は、グループ化処理部42によって実行されるグループ化処理の処理フロー図である。同図に示すように、グループ化処理部42は、まず特徴量マトリクスに対してクラスタリングを実行し(ステップS32)、その結果に基づいてWEBサーバ3のグループ化を行う(ステップS33)。クラスタリングの具体的なアルゴリズムとしては各種のものを使うことが可能であるが、例えばDBSCAN(Density-based spatial clustering of applications with noise)を用いることが好適である。DBSCANを用いれば、互いの特徴量の近さによって複数のWEBサーバ3をグループ化することが可能になる。
図14は、クラスタリングによる複数のWEBサーバのグループ化例を示す図である。また、図15は、DBSCANの出力結果を示す図である。図14に示したグループG0〜G2はそれぞれ、図15に示したグループG0〜G2に対応している。図15には、さらにグループG3〜G5も示されている。
図15に示す黒点は、1つ1つがWEBサーバ3を表している。このように、クラスタリングを用いることで、複数のWEBサーバ3を特徴量の近さによってグループ化することができる。この特徴量は、上述したようにリクエスト種別を指標として算出されたものであるから、同一グループに割り当てられたWEBサーバ3は、リクエストの状況が類似していると言うことができる。
図2に戻る。ルール更新部31は、グループ化処理部42によって同じグループに分類された1以上のWEBサーバ3についてルールデータベース20に記憶されているルールを共通化することによって、複数のWEBサーバ3それぞれについてルールデータベース20に記憶されているルールを更新する。リクエストの状況が似ているWEBサーバ3は、必要とするルールも似ていると考えられるので、この方法でルールの更新を行うことにより、個々のWEBサーバ3にとって必要なルールを適切に選別することが可能になる。
以上説明したように、本実施の形態によるWAFサーバ2によれば、複数のWEBサーバ3のそれぞれにおける指標ごとの検知数に基づき、個々のWEBサーバ3にとって必要なルールを自動的に選別することができる。したがって、ルールサイズの肥大化を招くことなく、新たな種類の攻撃に対していち早く対応することが可能になる。
特に、指標としてルールを用いる場合には、攻撃の状況が似ている他のWEBサーバ3での各ルールの使用状況を反映したレコメンドスコアを算出し、このレコメンドスコアに基づいてルールを更新しているので、個々のWEBサーバ3にとって必要なルールを適切に選別することが可能になる。
また、指標としてリクエスト種別を用いる場合には、リクエストの状況が似ているWEBサーバ3をクラスタリングによってグループ化し、グループ内でルールを共通化することによってルールを更新しているので、この場合にも、個々のWEBサーバ3にとって必要なルールを適切に選別することが可能になる。加えて、実際の攻撃状況によらずルールを更新することができるので、あまり攻撃を受けていないWEBサーバ3についても、適切にルールを更新することが可能になる。
以上、本発明の好ましい実施の形態について説明したが、本発明はこうした実施の形態に何等限定されるものではなく、本発明が、その要旨を逸脱しない範囲において、種々なる態様で実施され得ることは勿論である。
例えば、WAFサーバ2は、予めグループ化した状態で複数のWEBサーバ3を記憶しておき、グループ内に閉じて上記各処理を実行することとしてもよい。こうすることで、ルールの更新状態が企業や組織の枠を超えて波及していくことを防止することが可能になる。
また、図2(a)にはWAFサーバ2が1つのコンピュータによって構成される例を示したが、複数のコンピュータの集合体によってWAFサーバ2を構成することとしてもよい。WEBサーバ3やフロントエンドサーバ4についても、同様である。
1 ファイアウォールシステム
2 WAFサーバ
3 WEBサーバ
4 フロントエンドサーバ
10 プロセッサ
11 入出力インターフェイス
12 記憶部
13 バス
20 ルールデータベース
21 履歴データベース
30 特徴量算出部
31 ルール更新部
40 ユーザ類似度算出部
41 レコメンドスコア算出部
42 グループ化処理部

Claims (5)

  1. 複数のWEBサーバのそれぞれについて、リクエストのブロックに関する1以上のルールを記憶する記憶部と、
    前記複数のWEBサーバのそれぞれにおける指標ごとの検知数に基づき、前記複数のWEBサーバそれぞれの特徴量を算出する特徴量算出部と、
    前記特徴量算出部によって算出された前記特徴量に基づき、前記複数のWEBサーバそれぞれについて前記記憶部に記憶されているルールを更新するルール更新部と、
    を備えるファイアウォール装置。
  2. 前記指標は、前記ルールである、
    請求項1に記載のファイアウォール装置。
  3. 前記ルール更新部は、
    前記特徴量算出部によって算出された前記特徴量に基づいて、前記複数のWEBサーバ相互の類似度を示すユーザ類似度を算出するユーザ類似度算出部と、
    前記複数のWEBサーバごとに、当該WEBサーバについて前記記憶部に記憶されておらず他のWEBサーバについて前記記憶部に記憶されている1以上のルールのそれぞれについて、前記ユーザ類似度算出部により算出された前記ユーザ類似度で重み付けした前記特徴量の加重平均であるレコメンドスコアを算出するレコメンドスコア算出部と、を有し、
    前記ルール更新部は、前記レコメンドスコア算出部によって算出された前記レコメンドスコアに基づいて、前記複数のWEBサーバそれぞれについて前記記憶部に記憶されているルールを更新する、
    請求項2に記載のファイアウォール装置。
  4. 前記指標は、前記リクエストの種別である、
    請求項1に記載のファイアウォール装置。
  5. 前記ルール更新部は、前記特徴量算出部によって算出された前記特徴量に基づいて、前記複数のWEBサーバをグループ化するグループ化処理部を有し、
    前記ルール更新部は、前記グループ化処理部によって同じグループに分類された1以上のWEBサーバについて前記記憶部に記憶されているルールを共通化することによって、前記複数のWEBサーバそれぞれについて前記記憶部に記憶されているルールを更新する、
    請求項4に記載のファイアウォール装置。
JP2017233687A 2017-12-05 2017-12-05 ファイアウォール装置 Active JP6375047B1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017233687A JP6375047B1 (ja) 2017-12-05 2017-12-05 ファイアウォール装置
EP18208818.7A EP3496362B1 (en) 2017-12-05 2018-11-28 Firewall device
US16/205,824 US11088991B2 (en) 2017-12-05 2018-11-30 Firewall device to automatically select a rule required for each individual web server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017233687A JP6375047B1 (ja) 2017-12-05 2017-12-05 ファイアウォール装置

Publications (2)

Publication Number Publication Date
JP6375047B1 JP6375047B1 (ja) 2018-08-15
JP2019103039A true JP2019103039A (ja) 2019-06-24

Family

ID=63165861

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017233687A Active JP6375047B1 (ja) 2017-12-05 2017-12-05 ファイアウォール装置

Country Status (3)

Country Link
US (1) US11088991B2 (ja)
EP (1) EP3496362B1 (ja)
JP (1) JP6375047B1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6375047B1 (ja) * 2017-12-05 2018-08-15 株式会社サイバーセキュリティクラウド ファイアウォール装置
CN110381049A (zh) * 2019-07-12 2019-10-25 浙江智贝信息科技有限公司 一种web动态安全防御方法和系统
CN111049842A (zh) * 2019-12-17 2020-04-21 紫光云(南京)数字技术有限公司 利用动态黑名单提高waf防护效率的方法
CN112822211B (zh) * 2021-02-06 2023-03-24 西安热工研究院有限公司 电力工控便携式自学习工业防火墙系统、装置及使用方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011949A (ja) * 2011-06-28 2013-01-17 Nippon Telegr & Teleph Corp <Ntt> 特徴情報抽出装置、特徴情報抽出方法および特徴情報抽出プログラム
US20160191466A1 (en) * 2014-12-30 2016-06-30 Fortinet, Inc. Dynamically optimized security policy management

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7861247B1 (en) * 2004-03-24 2010-12-28 Hewlett-Packard Development Company, L.P. Assigning resources to an application component by taking into account an objective function with hard and soft constraints
US7865582B2 (en) * 2004-03-24 2011-01-04 Hewlett-Packard Development Company, L.P. System and method for assigning an application component to a computing resource
US8019845B2 (en) * 2006-06-05 2011-09-13 International Business Machines Corporation Service delivery using profile based management
US8291466B2 (en) * 2006-10-19 2012-10-16 International Business Machines Corporation Method and system for synchronized policy control in a web services environment
US20080148382A1 (en) * 2006-12-15 2008-06-19 International Business Machines Corporation System, method and program for managing firewalls
US8505092B2 (en) * 2007-01-05 2013-08-06 Trend Micro Incorporated Dynamic provisioning of protection software in a host intrusion prevention system
US8811965B2 (en) * 2008-10-14 2014-08-19 Todd Michael Cohan System and method for automatic data security back-up and control for mobile devices
CN103067344B (zh) * 2011-10-24 2016-03-30 国际商业机器公司 在云环境中自动分发安全规则的非侵入性方法和设备
JP5882961B2 (ja) 2013-09-03 2016-03-09 ビッグローブ株式会社 コントローラ、コンピュータシステム、ネットワーク構成変更方法、及びネットワーク構成変更プログラム
US9215214B2 (en) * 2014-02-20 2015-12-15 Nicira, Inc. Provisioning firewall rules on a firewall enforcing device
US9686173B1 (en) * 2014-10-27 2017-06-20 Narus, Inc. Unsupervised methodology to unveil content delivery network structures
US10284433B2 (en) * 2015-06-25 2019-05-07 International Business Machines Corporation Data synchronization using redundancy detection
US9860279B2 (en) * 2015-08-28 2018-01-02 Nicira, Inc. Defining network rules based on remote device management attributes
US9853993B1 (en) * 2016-11-15 2017-12-26 Visa International Service Association Systems and methods for generation and selection of access rules
US10482086B2 (en) * 2016-11-30 2019-11-19 Salesforce.Com, Inc. Identifying similar database queries
US10755280B2 (en) * 2017-01-13 2020-08-25 Visa International Service Association Segmented data analysis using dynamic peer groupings and automated rule implementation platform
US10595215B2 (en) * 2017-05-08 2020-03-17 Fortinet, Inc. Reducing redundant operations performed by members of a cooperative security fabric
JP6375047B1 (ja) * 2017-12-05 2018-08-15 株式会社サイバーセキュリティクラウド ファイアウォール装置
US10965691B1 (en) * 2018-09-28 2021-03-30 Verizon Media Inc. Systems and methods for establishing sender-level trust in communications using sender-recipient pair data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013011949A (ja) * 2011-06-28 2013-01-17 Nippon Telegr & Teleph Corp <Ntt> 特徴情報抽出装置、特徴情報抽出方法および特徴情報抽出プログラム
US20160191466A1 (en) * 2014-12-30 2016-06-30 Fortinet, Inc. Dynamically optimized security policy management

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
AWS WAF AND AWS SHIELD ADVANCED DEVELOPER GUIDE, API VERSION 2015-08-24, JPN6018006111, 25 July 2016 (2016-07-25), pages 6 - 11, ISSN: 0003745412 *

Also Published As

Publication number Publication date
US20190173844A1 (en) 2019-06-06
JP6375047B1 (ja) 2018-08-15
EP3496362A1 (en) 2019-06-12
US11088991B2 (en) 2021-08-10
EP3496362B1 (en) 2020-09-23

Similar Documents

Publication Publication Date Title
US10757101B2 (en) Using hash signatures of DOM objects to identify website similarity
US9386037B1 (en) Using hash signatures of DOM objects to identify website similarity
JP6530786B2 (ja) Webページの悪意のある要素を検出するシステム及び方法
Rao et al. Jail-Phish: An improved search engine based phishing detection system
US8229930B2 (en) URL reputation system
JP5539863B2 (ja) P2pネットワーク上で広告をするためのシステム及び方法
CN103493061B (zh) 用于应对恶意软件的方法和装置
EP3752949B1 (en) Facilitating entity resolution via secure entity resolution database
JP6375047B1 (ja) ファイアウォール装置
US20090164502A1 (en) Systems and methods of universal resource locator normalization
EP3839785B1 (en) Characterizing malware files for similarity searching
CN108429718B (zh) 账号识别方法及装置
CN109074454B (zh) 基于赝象对恶意软件自动分组
US20240061893A1 (en) Method, device and computer program for collecting data from multi-domain
JP2008535073A (ja) コンピュータネットワーク
GB2555801A (en) Identifying fraudulent and malicious websites, domain and subdomain names
US10511484B1 (en) Membership self-discovery in distributed computing environments
US20170244741A1 (en) Malware Identification Using Qualitative Data
CN108933773A (zh) 在完成文件的接收之前使用元数据标识文件并确定文件的安全性分类
CN103827895A (zh) 实体指纹
Maeng et al. Visualization of Ethereum P2P network topology and peer properties
CN110929185A (zh) 网站目录检测方法、装置、计算机设备及计算机存储介质
US10205679B2 (en) Resource object resolution management
WO2022219792A1 (ja) 収集装置、収集方法、および、収集プログラム
US10915582B2 (en) Comprehensive homographic string detection by mapping similar characters into identifiers to determine homographic strings from queried strings

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171228

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20171228

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20180116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180227

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180410

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180619

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180720

R150 Certificate of patent or registration of utility model

Ref document number: 6375047

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250