JP6676790B2 - リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム - Google Patents

リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム Download PDF

Info

Publication number
JP6676790B2
JP6676790B2 JP2018565512A JP2018565512A JP6676790B2 JP 6676790 B2 JP6676790 B2 JP 6676790B2 JP 2018565512 A JP2018565512 A JP 2018565512A JP 2018565512 A JP2018565512 A JP 2018565512A JP 6676790 B2 JP6676790 B2 JP 6676790B2
Authority
JP
Japan
Prior art keywords
request
variable
sandbox
server
value
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.)
Active
Application number
JP2018565512A
Other languages
English (en)
Other versions
JPWO2018143096A1 (ja
Inventor
揚 鐘
揚 鐘
佐藤 徹
徹 佐藤
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2018143096A1 publication Critical patent/JPWO2018143096A1/ja
Application granted granted Critical
Publication of JP6676790B2 publication Critical patent/JP6676790B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラムに関する。
従来のWebアプリケーションに対する攻撃検知・防御技術として、NIDS(ネットワーク上に流れるパケット、通信等の特徴量から攻撃コードを検知する技術)、HIDS(ホスト内のシステムコールの順序や引数を特徴量として攻撃を検知する技術)がある。また、サンドボックス(プログラムやファイルを保護された領域で動作させ、その挙動から、当該プログラムやファイルが悪性か否かを判断する技術)等もある。
Roesch, Martin. "Snort‐Lightweight Intrusion Detection for Networks." LISA. Vol. 99. No. 1. 1999. Barnett, Ryan. "WAF Virtual Patching Challenge: Securing WebGoat with ModSecurity." Breach Security (2009). Hofmeyr, Steven A., Stephanie Forrest, and Anil Somayaji. "Intrusion Detection using Sequences of System Calls." Journal of computer security 6.3 (1998): 151-180. Mutz, Darren., et al. "Anomalous System Call Detection." ACM Transactions on Information and System Security (TISSEC) 9.1 (2006): 61-93. Guarnieri, C., et al. "Cuckoo Sandbox-open source automated malware analysis." Black Hat USA (2013). Tcpreplay、[平成29年1月16日検索]、インターネット<URL:http://tcpreplay.synfin.net/)
しかし、NIDSは攻撃コードを検知できても、その攻撃コードが実行されるか否かや、攻撃コードによる攻撃が有効であるか否かについて判断できないという問題がある。また、HIDSは、システムコールを取得できるよう、Webサーバ等に対する変更が必要であるという問題がある。
そこで、本発明は、前記した問題を解決し、実環境であるWebサーバ等に対し変更を加えることなく、精度良く、かつ、効率的に攻撃を検知することを課題とする。
前記した課題を解決するため、本発明は、端末装置からサーバへのリクエストを受信し、受信した前記リクエストを前記サーバの環境を再現したサンドボックスで検査させ、前記サンドボックスによる前記リクエストの検査結果が攻撃の検知を示すものではない場合、前記リクエストを前記サーバへ転送し、前記リクエストの検査結果が攻撃の検知を示すものである場合、前記リクエストを前記サーバへ転送しないリクエスト制御部を備えることを特徴とする。ここで言うサンドボックスとは背景技術で述べたプログラムやファイルの挙動を観測するものではなく、ネットワーク上に流れるリクエストを処理する際の挙動を観測するものである。
本発明によれば、実環境であるWebサーバ等に対し変更を加えることなく、精度良く、かつ、効率的に攻撃を検知することができる。
図1は、第1の実施形態のシステムの構成例を示した図である。 図2は、図1のリクエスト制御装置の動作例を説明するための図である。 図3は、図2に示す、(5)リクエスト(オリジナル)に対する(6)レスポンス(オリジナル)と、(3)リクエスト(再現)+リクエストIDに対する(4−A)レスポンス(再現)+リクエストIDとを例示した図である。 図4は、図1のリクエスト制御装置の処理手順の例を示したフローチャートである。 図5は、図1のリクエスト制御部の処理手順の例を示したフローチャートである。 図6は、第2の実施形態のシステムの構成例を示した図である。 図7は、図6のリクエスト制御装置の動作例を説明するための図である。 図8は、図7に示す、(5)リクエスト(オリジナル)に対する(6)レスポンス(オリジナル)と、(3)リクエスト(再現)+リクエストIDに対する(4−A)レスポンス(再現)+リクエストIDとを例示した図である。 図9は、第3の実施形態のシステムの構成例を示した図である。 図10は、図9のリクエスト制御装置の動作例を説明するための図である。 図11は、第4の実施形態のシステムの構成例を示した図である。 図12は、図11の変換ルール作成部の動作例を説明するための図である。 図13は、リクエスト制御プログラムを実行するコンピュータを示す図である。
以下、図面を参照しながら、本発明を実施するための形態(実施形態)を第1の実施形態から第4の実施形態に分けて説明する。本発明は、各実施形態に限定されない。また、各実施形態に登場する構成は、矛盾が生じない範囲で適宜組合せ可能である。
[第1の実施形態]
(全体構成と概要)
まず、第1の実施形態のシステムの全体構成と概要を説明する。システムは、図1に示すように、クライアント(端末装置)10と、Webシステム20と、リクエスト制御装置30とを備える。
クライアント10は、ネットワーク経由でWebシステム20と通信可能なコンピュータであり、例えば、HTTPリクエスト(リクエスト)をWebシステム20へ送信し、当該Webシステム20からのHTTPレスポンス(レスポンス)を受信する。
Webシステム20は、攻撃の検知対象となるシステムである。このWebシステム20は、クライアント10からのリクエストに応じて、様々な処理を実行し、当該クライアント10へレスポンスを返す。このWebシステム20は、例えば、Webサーバ、アプリケーションサーバ、DB(データベース)サーバ等により実現される。
リクエスト制御装置30は、クライアント10とWebシステム20との間に設置され、クライアント10からWebシステム20へのリクエストを受信する。そして、リクエスト制御装置30は、受信したリクエストを、Webシステム20の環境を再現したサンドボックス32で検査し、サンドボックス32による当該リクエストの検査結果が攻撃の検知を示すものではない場合、当該リクエストをWebシステム20へ転送する。一方、サンドボックス32よる当該リクエストの検査結果が攻撃の検知を示すものである場合、リクエスト制御装置30は、当該リクエストをWebシステム20へ転送しない。
このようにリクエスト制御装置30が、クライアント10からWebシステム20へのリクエストに割り込み、Webシステム20の環境を再現したサンドボックス32により、当該リクエストが攻撃を示すものか否かを検査する。これにより、システムは、実環境であるWebシステム20に変更を加えることなく、精度良く、かつ、効率的に攻撃を検知することができる。
(リクエスト制御装置の構成)
次に、引き続き図1を用いて、リクエスト制御装置30の構成を説明する。リクエスト制御装置30は、クローン作成部31と、リクエスト制御部33と、リクエスト再現部34と、変換テーブル341と、状態DB342とを備える。なお、サンドボックス32は、クローン作成部31によるサンドボックス32の生成後に装備される。
クローン作成部31は、攻撃の検知対象となるWebシステム20から、当該Webシステム20のクローンを作成するための情報(クローン情報)を取得し、Webシステム20のクローン(サンドボックス32)を生成する。
例えば、クローン作成部31は、Webシステム20が仮想マシンとして実装されている場合、仮想マシンの機能を活用してWebシステム20のクローンを生成することができる。また、Webシステム20が物理マシンとして実装されている場合、クローン作成部31は、P2V(Physical to Virtual)等の技術を活用して、Webシステム20が実装される物理マシンを一旦仮想マシンに変換し、仮想マシンの機能を活用してWebシステム20のクローンを生成することができる。なお、図1において、サンドボックス32は、リクエスト制御装置30の内部に生成されているが、リクエスト制御装置30の外部に生成されてもよい。
サンドボックス32は、攻撃の検知対象となるWebシステム20の環境(アプリケーションやデータ等)を再現した装置である。このサンドボックス32は、入力されたリクエストが攻撃であるか否かの検査を行う攻撃検知部35を備える。例えば、攻撃検知部35は、リクエスト再現部34からのリクエストの入力を受け付けると((3)リクエスト(再現)+リクエストID)、サンドボックス32内の情報を用いて、当該リクエストの検査を行う。そして、攻撃検知部35は、当該リクエストの検査結果およびリクエストIDを対応付けてリクエスト制御部33へ出力する((4−B)検査結果、リクエストID)。
リクエスト制御部33は、クライアント10からWebシステム20へのリクエストを受信すると、受信したリクエストをサンドボックス32で検査させる。そして、リクエスト制御部33は、サンドボックス32によるリクエストの検査結果が攻撃の検知を示すものではない場合、当該リクエストをWebシステム20へ転送する。一方、リクエストの検査結果が攻撃の検知を示すものである場合、リクエスト制御装置30はリクエストをWebシステム20へ転送しない。
例えば、リクエスト制御部33は、クライアント10からのリクエスト((1)リクエスト(オリジナル))を受信した場合、当該リクエスト(オリジナル)のリクエストIDを生成し、付与する。そして、リクエスト制御部33は、当該リクエストIDが付与されたリクエストをリクエスト再現部34へ転送する((2)リクエスト(制御)+リクエストID)。
なお、リクエスト制御部33は、サンドボックス32から当該リクエストIDのリクエストの検査結果を受信するまで、当該リクエストIDのリクエストを保持しておく。そして、リクエスト制御部33は、サンドボックス32から、当該リクエストIDのリクエストの検査結果を受信し((4−B)検査結果、リクエストID)、当該リクエストの検査結果が攻撃の検知を示すものでなければ、当該リクエストをWebシステム20へ転送する((5)リクエスト(オリジナル))。一方、当該リクエストIDのリクエストの検査結果が攻撃の検知を示すものであれば、リクエスト制御部33は、当該リクエストをWebシステム20へ転送しない。
例えば、検査結果が攻撃の検知を示すものである場合、リクエスト制御部33は、当該リクエストを破棄あるいは通信をリセットする。なお、サンドボックス32から検査結果が所定の時間返答されない場合(つまり、タイムアウトした場合)、リクエスト制御部33は、当該リクエストをWebシステム20に転送してもよいし、破棄してもよい。タイムアウトしたリクエストを転送するか、破棄するかは、例えば、システムの管理者等が予め設定しておく。なお、所定の時間まではリクエストに対するレスポンスのセッションが切断されないよう、クライアントに対しセッション維持のための信号を生成して送信してもよい。
また、リクエスト制御部33は、Webシステム20から、リクエストのレスポンスを受信した場合、当該レスポンスを当該リクエストの送信元のクライアント10へ返す((6)レスポンス(オリジナル)および(7)レスポンス(オリジナル))。
このようにリクエスト制御部33は、Webシステム20との間でやりとりされるリクエストおよびレスポンスに割り込み、Webシステム20の環境を再現したサンドボックス32にリクエストの検査を行わせる。そして、リクエスト制御部33は、リクエストの検査結果が攻撃であれば当該リクエストをWebシステム20へ転送せず、攻撃でなければ当該リクエストをWebシステム20へ転送する。
なお、リクエスト制御部33がリクエストに付与するリクエストIDには、例えば、リクエストの送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、時刻、リクエストのバイト列のハッシュ値等、リクエストのユニーク性を表現できる値を用いる。
例えば、リクエストの、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、時刻、リクエストのバイト列のハッシュ値=(1.1.1.1, 2.2.2.2, 50001, 80, 2016/00/00 00:00:00.000 581fc5e8bc2861213adeacb07b851092)ならば、リクエスト制御部33は、当該リクエストにリクエストID=1を付与する。
また、リクエストの、送信元IPアドレス、送信先IPアドレス、送信元ポート番号、送信先ポート番号、時刻、リクエストのバイト列のハッシュ値=(3.3.3.3, 2.2.2.2, 50002, 80, 2016/00/00 00:00:01.000 bcd899f4235fd90793545bba7fce19d1)ならば、リクエスト制御部33は、当該リクエストにリクエストID=2を付与する。
なお、リクエスト制御部33は、リクエストにリクエストIDを付与する際、Webシステム20やサンドボックス32で用いるアプリケーションの動作に影響を与えないように行う。例えば、リクエスト制御部33は、リクエストIDを、当該リクエストのリクエストヘッダに追加したり、専用パラメタを追加したりしてもよい。
リクエスト再現部34は、入力されたリクエストを、サンドボックス32のアプリケーション等で適切に処理されるよう、当該リクエストの内容を一部変更してサンドボックス32へ出力する。つまり、リクエスト再現部34は、Webシステム20へ入力されるリクエストを、サンドボックス32で処理可能なリクエストに変更する。
これは、例えば、リクエスト等においてユーザの識別に利用されるセッションIDは、Webシステム20等で処理を行うアプリケーションに発行してもらう必要があり、クライアント10からWebシステム20へ送信したリクエストをそのままサンドボックス32に再送してしまうと、サンドボックス32のアプリケーションで正しく処理されないおそれがあるからである。
そこで、リクエスト再現部34は、例えば、変換テーブル341に設定された変換ルール(変換情報)に従い、リクエストを、サンドボックス32のアプリケーション等で適切に処理されるよう変換する。この変換ルールは、例えば、リクエストに含まれる変数ごとに、当該変数の値をどの値に変換すべきかを示したものである。なお、変換先の値は、サンドボックス32内のアプリケーションにおいて処理可能な変数の値が設定される。
例えば、この変換ルールには、リクエストに含まれるセッションIDの変換や、CSRF(Cross-Site Request Forgeries)対策のため、正しいクライアント10から操作が行われているかをチェックする機能として一般的用いられているnonceの変換に関するルールが設定される。
例えば、Webシステム20で用いられるアプリケーションが、セッションIDを利用している場合を考える。この場合、リクエスト再現部34は、リクエスト制御部33から出力されたリクエストに含まれるセッションIDを、過去にサンドボックス32で発行されたセッションIDに書き換える。例えば、リクエスト再現部34は、リクエスト制御部33から出力されたリクエストに含まれるセッションIDを、以下のように、過去にサンドボックス32で発行されたセッションID(PHPSESSID=ffffeeee)に書き換える。
PHPSESSID=1234abcd → PHPSESSID=ffffeeee
また、nonceが用いられる場合、Webシステム20から発行されたnonceをそのままサンドボックス32に用いることは出来ない。そのため、リクエスト再現部34は、過去にサンドボックス32側から取得したnonceがある場合、そのnonceを利用する。例えば、リクエスト再現部34は、リクエストに含まれるnonceの値を、以下のように、過去にサンドボックス32から取得したnonceの値(nonce=5678)に書き換える。
POST /post.php?nonce=1234 → POST /post.php?nonce=5678
なお、上記の変換ルールは、変換テーブル341に設定され、変換時に使用する変数の値は、状態DB342(後記)の値を用いる。
例えば、リクエスト再現部34は、リクエスト制御部33からリクエストの入力を受け付けると((2)リクエスト(制御)+リクエストID)、変換テーブル341および状態DB342を参照して、当該リクエストの内容を一部変更してサンドボックス32へ出力する((3)リクエスト(再現)+リクエストID)。そして、リクエスト再現部34は、サンドボックス32から当該リクエストに対するレスポンスを受け取る((4−A)レスポンス(再現)+リクエストID)。その後、リクエスト再現部34は、サンドボックス32から受け取ったレスポンスに含まれる変数の値を、状態DB342に蓄積する。
変換テーブル341は、リクエスト再現部34が、リクエストに含まれるどの変数の値をどの値に変換するかを示す変換ルールを記憶する。この変換ルールは、例えば、図2に示すように、変数(変数名)ごとに、当該変数の変換元の値と、変換先の値とを示した情報である。
また、状態DB342は、変換ルールにおいて変換の対象となる変数名ごとに、当該変数の変換先の値を示した情報である。この状態DB342は、例えば、過去においてサンドボックス32から出力されたレスポンスに含まれる変数の値に基づき生成される。一例を挙げると、リクエスト再現部34がサンドボックス32からレスポンスを受け取ると、当該レスポンスに含まれる変数の値を状態DB342に追加する。
この変換テーブル341および状態DB342は、リクエスト制御装置30の記憶部(図示省略)に記憶される。なお、変換テーブル341および状態DB342は、リクエスト制御装置30の外部に記憶されてもよい。
(リクエスト制御装置の動作例)
次に、図2および図3を用いてリクエスト制御装置30の動作例を説明する。なお、図3は、図2に示す、(5)リクエスト(オリジナル)に対する(6)レスポンス(オリジナル)と、(3)リクエスト(再現)+リクエストIDに対する(4−A)レスポンス(再現)+リクエストIDとを例示した図である。
例えば、図3に示すように、Webシステム20は、リクエスト(オリジナル)−1に対し、レスポンス(オリジナル)−1に示す、PHPSESSID=1234abcd、nonce=1234を設定したレスポンスを返す。その後、Webシステム20は、リクエスト(オリジナル)−2に示す、PHPSESSID=1234abcd、nonce=1234が設定されたリクエストの入力を受け付けた場合、レスポンス(オリジナル)−2に示すレスポンスを返す。つまり、Webシステム20は正常な処理を行う。また、一方で、サンドボックス32は、リクエスト(再現)−1に対し、レスポンス(再現)−1に示す、PHPSESSID=ffffeeee、nonce=5678を設定したレスポンスを返す場合を考える。
この場合、リクエスト再現部34は、リクエスト制御部33から、図3のリクエスト(オリジナル)−2に示すリクエストの入力を受け付けると、過去に受け取ったレスンポンス(再現)−1に基づき、当該リクエストを、PHPSESSID=ffffeeee、nonce=5678を設定したリクエストに変換し、サンドボックス32へ出力する。これにより、サンドボックス32は、当該リクエストに基づく処理を実行し、レスポンス(再現)−2に示すレスポンスをリクエスト再現部34へ返す。
また、リクエスト再現部34がリクエストID=xxxx(X-REQUEST-ID:xxxx)のリクエストをサンドボックス32へ出力し、サンドボックス32から通知された当該リクエストの検査結果が「攻撃」である場合(図2の(4−B)参照)、リクエスト制御部33で保持する当該リクエストID=xxxx(X-REQUEST-ID:xxxx)のリクエスト(リクエスト(オリジナル)−3)はWebシステム20へ転送しない。
このようにすることで、リクエスト制御装置30は、実環境であるWebシステム20等に対し変更を加えることなく、攻撃を検知することができる。
(処理手順)
次に、図4を用いてリクエスト制御装置30の処理手順の例を説明する。なお、リクエスト制御装置30は、事前にサンドボックス32を生成済みであるものとする。
まず、リクエスト制御装置30は、ユーザより終了命令がなく(S1でNo)、クライアント10から未処理のリクエストが到着した場合(S2でYes)、リクエストの攻撃検知処理を実施する(S3)。つまり、リクエスト制御装置30は、サンドボックス32で当該リクエストが攻撃か否かの検査を行う。そして、検査結果が攻撃であれば(S4でYes)、リクエスト制御装置30は、当該リクエストを破棄する(S5)。一方、検査結果が攻撃でなければ(S4でNo)、リクエスト制御装置30は、当該リクエストをWebシステム20へ転送する(S6)。なお、ユーザより終了命令があった場合(S1でYes)、リクエスト制御装置30はS3〜S6の処理を実行せず、処理を終了する。また、S2で未処理のリクエストが到着しなかった場合(S2でNo)、リクエスト制御装置30は、S1へ戻る。
次に、図5を用いてリクエスト制御部33の処理手順の例を詳細に説明する。リクエスト制御部33は、未処理のリクエストが到着すると(S11)、当該リクエストにリクエストIDを付与し、リクエスト再現部34に転送する(S12)。その後、当該リクエストは、リクエスト再現部34により、サンドボックス32に転送され、サンドボックス32で検査される。
S12の後、S12で転送したリクエストIDのリクエストに対する検査結果が攻撃検知部35により返答され(S13でYes)、当該検査結果が攻撃を示すものであれば(S14でYes)、リクエスト制御部33は、検査結果の対象となるリクエストIDの示すリクエストを破棄する(S15)。一方、検査結果が攻撃を示すものでなければ(S14でNo)、リクエスト制御部33は、検査結果の対象となるリクエストIDの示すリクエストをWebシステム20へ転送する(S16)。
また、S12で転送したリクエストIDのリクエストに対する検査結果が攻撃検知部35により返答されず(S13でNo)、所定の時間が経過した場合(S17でYes)、リクエスト制御部33はタイムアウト処理を行い(S18)、まだ所定の時間が経過していなければ(S17でNo)、S13へ戻る。
このようにすることで、リクエスト制御装置30は、実環境であるWebシステム20等に対し変更を加えることなく、攻撃を検知することができる。
[第2の実施形態]
なお、Webシステム20のコンプライアンスやセキュリティポリシーにより、リクエスト制御装置30がWebシステム20の仮想マシンをクローニングすることができない場合もある。このような場合、Webシステム20に用いられるアプリケーションが、オープンソースなアプリケーションであれば、当該アプリケーションを用いてサンドボックス32を作成し、リクエスト制御装置は、当該サンドボックス32を用いてリクエストに対する攻撃検知を行えばよい。
上記のようなサンドボックス32を用いるリクエスト制御装置を、リクエスト制御装置30aとして説明する。前記した実施形態と同じ構成については同じ符号を付して説明を省略する。
図6に示すようにリクエスト制御装置30aは、変換テーブル341a、リクエスト再現部34aを備える。
変換テーブル341aは、リクエストに含まれるセッションIDの変換や、nonceの変換に関する変換ルールに加え、ログインユーザの変換に関する変換ルール(図7の符号701に示すルール参照)や、動的コンテンツIDの変換に関する変換ルール(図7の符号702に示すルール参照)を含む。そして、リクエスト再現部34aは、この変換テーブル341aに設定された変換ルールに従い、リクエストにおけるログインユーザの変換や、動的コンテンツIDの変換を行った上で、当該リクエストをサンドボックス32へ出力する。
例えば、リクエスト再現部34aは、ログインユーザの変換に関する変換ルールに基づき、リクエスト制御部33から受け取ったリクエストにログイン処理に関する部分があった場合、当該リクエストを、サンドボックス32のユーザのログイン処理に用いても正常に動作するよう、当該リクエストの変換を行う。
一例を挙げると、リクエスト再現部34aは、クライアント10から受信したリクエストに含まれる「POST /login.php?user=admin&password=mypasswd」という記述を、サンドボックス32のユーザのログイン処理に用いても正常に動作するよう「POST /login.php?user=sandbox&password=sandbox_passwd」に変換する。
リクエスト再現部34aが、このようなリクエストの変換を行うことで、サンドボックス32が、Webシステム20のクローンではない場合であっても、サンドボックス32でのログイン処理を正常に実行させることができる。
また、例えば、リクエスト再現部34aは、動的コンテンツIDの変換に関する変換ルールに基づき、リクエスト制御部33から受け取ったリクエストに動的コンテンツ(例えば、ブログ等の記事)に関する記述があった場合、当該リクエストを、サンドボックス32の動的コンテンツへのリクエストに用いても正常に動作するよう、当該リクエストの変換を行う。
一例を挙げると、リクエスト再現部34aは、リクエストに含まれる「GET /index.php?page_id=100」という記述を、サンドボックス32の動的コンテンツへのリクエストとなるよう「GET /index.php?page_id=1」に変換する。
リクエスト再現部34aが、このようなリクエストの変換を行うことで、サンドボックス32が、Webシステム20のクローンではない場合であっても、サンドボックス32での動的コンテンツに対する処理を正常に実行させることができる。
なお、リクエスト再現部34aは、リクエストに静的コンテンツ等に関する記述があった場合は、リクエストの変換を行う必要がないので、リクエストの変換を行わない。例えば、リクエスト再現部34aは、リクエストに「GET /css/style.css」や「GET /favicon.ico」等の静的コンテンツのリクエストが含まれていた場合、リクエストの変換を行わない。
(リクエスト制御装置の動作例)
次に、図7および図8を用いてリクエスト制御装置30aの動作例を説明する。なお、図8は、図7に示す、(5)リクエスト(オリジナル)に対する(6)レスポンス(オリジナル)と、(3)リクエスト(再現)+リクエストIDに対する(4−A)レスポンス(再現)+リクエストIDとを例示した図である。
例えば、図8に示すように、Webシステム20は、リクエスト(オリジナル)−5に対し、レスポンス(オリジナル)−5に示すレスポンスを返す。また、Webシステム20は、リクエスト(オリジナル)−6に示すリクエストの入力を受け付けた場合、レスポンス(オリジナル)−6に示すレスポンスを返す場合を考える。
この場合、リクエスト再現部34aは、リクエスト制御部33から、図8に示す「GET /login.php?nonce=1234&user=admin&password=mypasswd」を含むリクエスト(オリジナル)−5の入力を受け付けると、このリクエストのnonceとユーザID&パスワードの値の変換を行う。例えば、リクエスト再現部34は、上記のリクエストのnonceとユーザID&パスワードの値を、リクエスト(再現)−5に示すように「GET /login.php?nonce=5678&user=sandbox&password=sandbox」に変換する。
これにより、サンドボックス32においても、当該リクエストに基づき、Webシステム20と同じアプリケーションを動作させることができる。その結果、例えば、リクエスト再現部34aは、サンドボックス32から、レスポンス(再現)−5に示すレスポンスを受け取ることができる。
また、リクエスト再現部34aは、リクエスト制御部33から、図8に示す「GET /index.php?page_id=100」を含むリクエスト(オリジナル)−6の入力を受け付けると、このリクエストのpage_idの値の変換を行う。例えば、リクエスト再現部34aは、上記のリクエストのpage_idの値を、リクエスト(再現)−6に示すように「GET /index.php?page_id=1」に変換する。
これにより、サンドボックス32においても、当該リクエストに基づく処理を正常に実行させることができる。その結果、例えば、リクエスト再現部34aは、サンドボックス32から、レスポンス(再現)−6に示すレスポンスを受け取ることができる。
[第3の実施形態]
また、リクエスト制御装置は、リクエストの処理スループットを向上させるため、サンドボックス32で検査済みのリクエストと同種のリクエストについてはサンドボックス32で再度検査を行わないようにしてもよい。上記のようなリクエスト制御装置を、リクエスト制御装置30bとして説明する。前記した各実施形態と同じ構成については同じ符号を付して説明を省略する。
図9に示すようにリクエスト制御装置30bは、リクエスト制御部33aと、検査済みリクエスト情報DB331とを備える。
リクエスト制御部33aは、サンドボックス32で検査済みのリクエストと同種のリクエストについてはリクエスト再現部34へ出力しない。ここでは、リクエスト制御部33aは、検査済みのリクエストと同種のリクエストを識別するために、それぞれのリクエストのバイト列のハッシュ値(リクエストハッシュID)を用いる場合を例に説明する。リクエスト制御部33aは、このリクエストハッシュIDが同じリクエストを同種のリクエストと判断するものとする。
例えば、リクエスト制御部33aは、過去にサンドボックス32で検査したリクエストのリクエストハッシュIDと、当該リクエストの検査結果とを対応付けて検査済みリクエスト情報DB331に蓄積しておく。そして、リクエスト制御部33aは、クライアント10からリクエストを受信すると、当該リクエストのリクエストハッシュIDを求める。そして、リクエスト制御部33aは、検査済みリクエスト情報DB331を参照し、当該リクエストハッシュIDのリクエストが検査済みでなければ、受信したリクエストをリクエスト再現部34へ転送する。つまり、リクエスト制御部33aは、当該リクエストをサンドボックス32で検査させる。
一方、リクエスト制御部33aは、検査済みリクエスト情報DB331を参照し、当該リクエストハッシュIDのリクエストが検査済みであり、かつ、当該リクエストの検査結果が攻撃の検知を示すものではない場合、当該リクエストをWebシステム20へ転送する。また、リクエスト制御部33aは、検査済みリクエスト情報DB331を参照し、当該リクエストハッシュIDのリクエストが検査済みであり、かつ、当該リクエストの検査結果が攻撃の検知を示すものである場合、当該リクエストをWebシステム20へ転送しない。
このリクエスト制御部33aは、情報蓄積部332を備える。この情報蓄積部332は、過去にサンドボックス32で検査したリクエストの検査結果を、検査済みリクエスト情報DB331に蓄積する。具体的には、情報蓄積部332は、サンドボックス32で検査済みのリクエストに対し、当該リクエストのリクエストハッシュIDを求める。このリクエストハッシュIDは、例えば、リクエストのバイト列のハッシュ値、リクエストに含まれるIPアドレス、ポート番号、および、受信時刻の少なくともいずれかを用いて求められる。
その後、情報蓄積部332は、サンドボックス32で検査済みのリクエストに対し、当該リクエストのリクエストハッシュIDと、当該リクエストの検査結果とを対応付けた情報(検査済みリクエスト情報)を検査済みリクエスト情報DB331に蓄積する。
検査済みリクエスト情報DB331は、前記した検査済みリクエスト情報を記憶する。この検査済みリクエスト情報DB331は、リクエスト制御装置30bの記憶部(図示省略)に記憶される。なお、リクエスト情報DB331は、リクエスト制御装置30bの外部に記憶されてもよい。
(リクエスト制御装置の動作例)
次に、図10を用いてリクエスト制御装置30bの動作例を説明する。なお、図10において、検査済みリクエスト情報DB331には、符号101に示す検査済みリクエスト情報が蓄積されているものとする。
例えば、リクエスト制御部33aが、クライアント10から、(1)リクエスト(オリジナル)として、符号102に示すリクエストを受信した場合を考える。この場合、リクエスト制御部33aは、検査済みリクエスト情報DB331に、当該リクエストのリクエストハッシュIDが含まれており、かつ、検査結果が「正常」なので、当該リクエストをそのままWebシステム20へ転送する。
なお、ここでは説明を省略しているが、リクエスト制御部33aは、検査済みリクエスト情報DB331に、当該リクエストのリクエストハッシュIDが含まれているが、検査結果が「攻撃」であれば、当該リクエストを破棄、または、通信のリセットを行い、当該リクエストをWebシステム20へ転送しない。また、リクエスト制御部33aは、検査済みリクエスト情報DB331に、当該リクエストのリクエストハッシュIDが含まれていなければ、当該リクエストをリクエスト再現部34へ出力し、サンドボックス32で検査を行う。そして、リクエスト制御部33aは、当該リクエストの検査結果に応じて、当該リクエストをWebシステム20へ転送するか否かを判断する。
このようなリクエスト制御装置30bによれば、サンドボックス32で検査済みのリクエストとバイト列のハッシュ値が同じ等、同種のリクエストについてはサンドボックス32で再度検査を行わない。よって、リクエスト制御装置30bは、リクエストの処理スループットを向上させることができる。
[第4の実施形態]
また、リクエスト制御装置は、過去におけるWebシステム20へのアクセスログや、通信パケット(例えば、PCAP(Packet CAPture))から、サンドボックス32へのリクエストを転送する際、変換を必要とするリクエストの変数を特定し、この変数を変換テーブル341に設定してもよい。
上記のリクエスト制御装置を、リクエスト制御装置30cとして説明する。前記した実施形態と同じ構成については同じ符号を付して説明を省略する。
リクエスト制御装置30cは、図11に示すように、変換ルール作成部(変換情報設定部)36をさらに備える。この変換ルール作成部36は、過去におけるWebシステム20へのアクセスログや、PCAPから、リクエストに含まれる変数を抽出する。そして、変換ルール作成部36は、抽出した変数のうち、Webシステム20へのアクセスまたは通信のたびに、変数の値が頻繁に変化する変数を特定する。
例えば、変換ルール作成部36は、過去におけるWebシステム20へのアクセスまたは通信のたびに値が変化する度合いが所定の閾値以上である変数を、リクエストにおける変換の対象となる変数として特定する。そして、変換ルール作成部36は、特定した変数を変換テーブル341における変換ルールに設定する。
変換ルール作成部36による、変換ルールの作成手順の一例を挙げる。例えば、変換ルール作成部36は、過去におけるWebシステム20へのアクセスログにおけるリクエストURL、リクエストヘッダ、リクエストデータ部等から、リクエストの変数となる部分を抽出する。
次に、変換ルール作成部36は、抽出した各変数に対して、変数の値の集合Xから、以下の式(1)により定義される分散度Vを求める。式(1)において、uniq(X)は集合Xの中からユニークな要素を取り出す関数である。
Figure 0006676790
ここで、式(1)により求めた、Vが所定の閾値T以上である場合、変換ルール作成部36は、その変数を、セッションIDやnonceのように、Webシステム20へのアクセスまたは通信のたび値が変化する度合いの高い変数と判断する。そして、変換ルール作成部36は、当該変換を必要とする変数として特定する。一方、Vが閾値Tより小さい場合、変換ルール作成部36は、当該変数を、変換を必要としない変数と判断する。
図12を用いて変換ルール作成部36の動作例を説明する。変換ルール作成部36が、符号121に示す過去のアクセスログ、PCAP等を用い、上記の式(1)においてVの閾値T=0.8を設定した場合を例に説明する。
例えば、変換ルール作成部36は、符号121に示す過去のアクセスログ、PCAP等からmodeおよびsessidの2つの変数を抽出し、上記の式(1)によりそれぞれの変数のVを算出したところ、modeのVの値は0.4であり、sessidのVの値は1.0であった場合を考える。この場合、変換ルール作成部36は、modeのVの値は閾値T(0.8)未満なので、変換は必要ない(No)と判定し、sessidのVの値は閾値T(0.8)以上であるので変換の必要がある(Yes)と判定する。そして、変換ルール作成部36は、sessidに関する変換ルールを変換テーブル341に追加する。例えば、変換ルール作成部36は、sessidの値について、状態DB342に登録されたsessidの値「a001」を読み出し、リクエストにおけるsessidの値(例えば「0001」)を「a001」に変換するという変換ルールを変換テーブル341に追加する。
このような変換テーブル341に基づき、リクエスト再現部34は、sessidの値が「a001」であるリクエストについて、このsessidの値を「a001」に変換し、サンドボックス32へ出力する。
このようにリクエスト制御装置30cは、過去のアクセスログ、PCAP等を用い自動で変換テーブル341に変換ルールを追加することができるので、ユーザが変換テーブル341に変換ルールを追加する手間を軽減することができる。
(プログラム)
また、上記の実施形態で述べたリクエスト制御装置30,30a,30b,30cの機能を実現するプログラムを所望の情報処理装置(コンピュータ)にインストールすることによって実装できる。例えば、パッケージソフトウェアやオンラインソフトウェアとして提供される上記のプログラムを情報処理装置に実行させることにより、情報処理装置をリクエスト制御装置30,30a,30b,30cとして機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型のパーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン、携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistants)等がその範疇に含まれる。また、リクエスト制御装置30,30a,30b,30cを、クラウドサーバに実装してもよい。
以下に、上記のプログラム(リクエスト制御プログラム)を実行するコンピュータの一例を説明する。図13は、リクエスト制御プログラムを実行するコンピュータを示す図である。図13に示すように、コンピュータ1000は、例えば、メモリ1010と、CPU(Central Processing Unit)1020と、ハードディスクドライブインタフェース1030と、ディスクドライブインタフェース1040と、シリアルポートインタフェース1050と、ビデオアダプタ1060と、ネットワークインタフェース1070とを有する。これらの各部は、バス1080によって接続される。
メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。ディスクドライブ1100には、例えば、磁気ディスクや光ディスク等の着脱可能な記憶媒体が挿入される。シリアルポートインタフェース1050には、例えば、マウス1110およびキーボード1120が接続される。ビデオアダプタ1060には、例えば、ディスプレイ1130が接続される。
ここで、図13に示すように、ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093およびプログラムデータ1094を記憶する。前記した実施形態で説明した各種データや情報は、例えばハードディスクドライブ1090やメモリ1010に記憶される。
そして、CPU1020が、ハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して、上述した各手順を実行する。
なお、リクエスト制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限られず、例えば、着脱可能な記憶媒体に記憶されて、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、リクエスト制御プログラムに係るプログラムモジュール1093やプログラムデータ1094は、LAN(Local Area Network)やWAN(Wide Area Network)等のネットワークを介して接続された他のコンピュータに記憶され、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。
10 クライアント
20 Webシステム
30,30a,30b,30c リクエスト制御装置
31 クローン作成部
32 サンドボックス
33,33a リクエスト制御部
34,34a リクエスト再現部
35 攻撃検知部
36 変換ルール作成部
331 検査済みリクエスト情報DB
332 情報蓄積部
341,341a 変換テーブル
342 状態DB

Claims (5)

  1. 端末装置からサーバへのリクエストを受信し、受信した前記リクエストを前記サーバの環境を再現したサンドボックスで検査させ、前記サンドボックスによる前記リクエストの検査結果が攻撃の検知を示すものではない場合、前記リクエストを前記サーバへ転送し、前記リクエストの検査結果が攻撃の検知を示すものである場合、前記リクエストを前記サーバへ転送しないリクエスト制御部と
    前記リクエストに含まれる変数ごとに、前記サンドボックス内のアプリケーションにおいて処理可能な前記変数の値を示した変換情報を記憶する記憶部と、
    前記リクエスト制御部で受信した前記端末装置からのリクエストを受信し、前記変換情報を参照して、前記リクエストにおける変数を、前記サンドボックス内のアプリケーションにおいて処理可能な変数の値に変換した上で、前記サンドボックスへ転送するリクエスト再現部と、
    過去における前記サーバへのアクセスログまたは通信パケットから、前記リクエストに含まれる変数を抽出し、抽出した変数のうち、前記サーバへのアクセスまたは通信のたびに前記変数の値が変化する度合いが所定の閾値以上である変数を、前記リクエストにおける変換の対象となる変数として特定し、特定した前記変数を前記変換情報に設定する変換情報設定部と、
    を備えることを特徴とするリクエスト制御装置。
  2. 前記リクエストに含まれる変数のうち、前記変換の対象となる変数は、
    前記リクエストに含まれる、セッションID、nonce、ユーザID、パスワード、および、動的に変化するコンテンツのコンテンツIDの少なくともいずれかであることを特徴とする請求項に記載のリクエスト制御装置。
  3. 前記リクエスト制御部は、さらに、
    過去に前記サンドボックスで検査したリクエストに対し、前記リクエストのIPアドレス、ポート番号、受信時刻、および、前記リクエストのハッシュ値の少なくともいずれかを用いて前記リクエストの識別情報を求め、前記リクエストの識別情報と、前記リクエストの前記サンドボックスにおける検査結果とを対応付けて示した検査済みリクエスト情報を記憶部に蓄積する情報蓄積部を備え、
    前記端末装置からリクエストを受信した場合、受信したリクエストの前記識別情報を求め、前記検査済みリクエスト情報において、前記識別情報に対応するリクエストが検査済みでなければ、受信した前記リクエストを前記サンドボックスで検査させ、前記検査済みリクエスト情報において、前記識別情報に対応するリクエストが検査済みであり、かつ、前記リクエストの検査結果が攻撃の検知を示すものではない場合、受信した前記リクエストを前記サーバへ転送することを特徴とする請求項1に記載のリクエスト制御装置。
  4. 端末装置からサーバへのリクエストを制御するリクエスト制御装置が、
    前記端末装置からサーバへのリクエストを受信するステップと、
    受信した前記リクエストを前記サーバの環境を再現したサンドボックスで検査させるステップと、
    前記サンドボックスによる前記リクエストの検査結果が攻撃の検知を示すものではない場合、前記リクエストを前記サーバへ転送し、前記リクエストの検査結果が攻撃の検知を示すものである場合、前記リクエストを前記サーバへ転送しないステップと
    前記リクエストに含まれる変数ごとに、前記サンドボックス内のアプリケーションにおいて処理可能な前記変数の値を示した変換情報を参照して、前記受信した端末装置からのリクエストにおける変数を、前記サンドボックス内のアプリケーションにおいて処理可能な変数の値に変換した上で、前記サンドボックスへ転送するステップと、
    過去における前記サーバへのアクセスログまたは通信パケットから、前記リクエストに含まれる変数を抽出し、抽出した変数のうち、前記サーバへのアクセスまたは通信のたびに前記変数の値が変化する度合いが所定の閾値以上である変数を、前記リクエストにおける変換の対象となる変数として特定し、特定した前記変数を前記変換情報に設定するステップと、
    を含んだことを特徴とするリクエスト制御方法。
  5. 端末装置からサーバへのリクエストを受信するステップと、
    受信した前記リクエストを前記サーバの環境を再現したサンドボックスで検査させるステップと、
    前記サンドボックスよる前記リクエストの検査結果が攻撃の検知を示すものではない場合、前記リクエストを前記サーバへ転送し、前記リクエストの検査結果が攻撃の検知を示すものである場合、前記リクエストを前記サーバへ転送しないステップと
    前記リクエストに含まれる変数ごとに、前記サンドボックス内のアプリケーションにおいて処理可能な前記変数の値を示した変換情報を参照して、前記受信した端末装置からのリクエストにおける変数を、前記サンドボックス内のアプリケーションにおいて処理可能な変数の値に変換した上で、前記サンドボックスへ転送するステップと、
    過去における前記サーバへのアクセスログまたは通信パケットから、前記リクエストに含まれる変数を抽出し、抽出した変数のうち、前記サーバへのアクセスまたは通信のたびに前記変数の値が変化する度合いが所定の閾値以上である変数を、前記リクエストにおける変換の対象となる変数として特定し、特定した前記変数を前記変換情報に設定するステップと、
    をコンピュータに実行させることを特徴とするリクエスト制御プログラム。
JP2018565512A 2017-01-31 2018-01-26 リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム Active JP6676790B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017015952 2017-01-31
JP2017015952 2017-01-31
PCT/JP2018/002531 WO2018143096A1 (ja) 2017-01-31 2018-01-26 リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム

Publications (2)

Publication Number Publication Date
JPWO2018143096A1 JPWO2018143096A1 (ja) 2019-06-27
JP6676790B2 true JP6676790B2 (ja) 2020-04-08

Family

ID=63039855

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018565512A Active JP6676790B2 (ja) 2017-01-31 2018-01-26 リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム

Country Status (3)

Country Link
US (1) US11657143B2 (ja)
JP (1) JP6676790B2 (ja)
WO (1) WO2018143096A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021229696A1 (ja) * 2020-05-12 2021-11-18 日本電気株式会社 攻撃再現支援装置、攻撃再現支援方法、及びコンピュータ読み取り可能な記録媒体

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3794491B2 (ja) 2002-08-20 2006-07-05 日本電気株式会社 攻撃防御システムおよび攻撃防御方法
JP4288418B2 (ja) 2003-12-02 2009-07-01 日本電気株式会社 計算機システムおよび状態取得方法ならびに状態取得プログラム
JP2010113380A (ja) 2008-11-04 2010-05-20 Fujitsu Ltd テスト基盤装置、テスト基盤プログラム、テスト基盤方法
US10630708B2 (en) * 2016-01-08 2020-04-21 Cyber Detection Services Inc Embedded device and method of processing network communication data

Also Published As

Publication number Publication date
JPWO2018143096A1 (ja) 2019-06-27
WO2018143096A1 (ja) 2018-08-09
US11657143B2 (en) 2023-05-23
US20210406362A1 (en) 2021-12-30

Similar Documents

Publication Publication Date Title
US10637880B1 (en) Classifying sets of malicious indicators for detecting command and control communications associated with malware
US11290484B2 (en) Bot characteristic detection method and apparatus
US11863571B2 (en) Context profiling for malware detection
US11636208B2 (en) Generating models for performing inline malware detection
US9992214B1 (en) Generating malware signatures based on developer fingerprints in debug information
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
US10122722B2 (en) Resource classification using resource requests
US11949694B2 (en) Context for malware forensics and detection
US11374946B2 (en) Inline malware detection
WO2019184664A1 (zh) 恶意文件的检测方法、设备和系统
JP6050162B2 (ja) 接続先情報抽出装置、接続先情報抽出方法、及び接続先情報抽出プログラム
US10701087B2 (en) Analysis apparatus, analysis method, and analysis program
JP5752642B2 (ja) 監視装置および監視方法
JP6864610B2 (ja) 特定システム、特定方法及び特定プログラム
JP2011257901A (ja) 解析システム、解析装置、解析方法及び解析プログラム
US11985151B2 (en) Generation device, generation method, and generation program
JP2024023875A (ja) インラインマルウェア検出
JP6676790B2 (ja) リクエスト制御装置、リクエスト制御方法、および、リクエスト制御プログラム
US20220245249A1 (en) Specific file detection baked into machine learning pipelines
JP6286314B2 (ja) マルウェア通信制御装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190204

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191105

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191225

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: 20200310

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200312

R150 Certificate of patent or registration of utility model

Ref document number: 6676790

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150