JP7206980B2 - COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM - Google Patents
COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM Download PDFInfo
- Publication number
- JP7206980B2 JP7206980B2 JP2019020272A JP2019020272A JP7206980B2 JP 7206980 B2 JP7206980 B2 JP 7206980B2 JP 2019020272 A JP2019020272 A JP 2019020272A JP 2019020272 A JP2019020272 A JP 2019020272A JP 7206980 B2 JP7206980 B2 JP 7206980B2
- Authority
- JP
- Japan
- Prior art keywords
- communication
- identification information
- communication flow
- flow
- unit
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Description
本発明は、通信制御装置、通信制御方法及び通信制御プログラムに関し、例えば、高度なセキュリティを確保し得る通信制御装置、通信制御方法及び通信制御プログラムに関する。 The present invention relates to a communication control device, a communication control method, and a communication control program, and more particularly to a communication control device, a communication control method, and a communication control program capable of ensuring high security.
近年、サイバー攻撃は多様化しており、従来型のアンチウィルスソフトでは検知できないマルウェアによる被害が増加している。 In recent years, cyberattacks have diversified, and the damage caused by malware that cannot be detected by conventional antivirus software is increasing.
特に、最近被害が急増しているマルウェアとして、ファイルレス・マルウェアがある。ファイルレス・マルウェアは、ディスクに実行ファイルを保存することなく、powershell.exeやcmd.exeなど、OSの正規のプロセスを悪用し、プロセス内のメモリ上で動作する。ファイルレス・マルウェアを用いた攻撃の一例としては、まず初めに、docファイルにショートカットファイル(LNKファイル)を埋め込み、メールに添付して、ターゲットに送信する。メールを受け取ったユーザが、添付されたdocファイルに埋め込まれたショートカットファイルをダブルクリックすると、powershell.exeが実行される。そして、外部のWebサイトから、おとり用の文書と、スクリプトがダウンロードされる。その後、ダウンロードされたスクリプトにより、不正プログラムの本体がダウンロードされ、メモリ上で実行される。このように、ファイルレス・マルウェアは、攻撃の中で実行ファイルをディスクに保存しないため、シグネチャベースの従来型のアンチウィルスソフトによるファイルスキャンを回避することができる。 In particular, there is fileless malware as malware whose damage has increased rapidly recently. Fileless malware can run powershell.exe without saving the executable to disk. exe or cmd. It exploits a normal OS process such as exe and operates on the memory within the process. As an example of an attack using fileless malware, first, a shortcut file (LNK file) is embedded in a doc file, attached to an email, and sent to the target. When the user who received the mail double-clicks the shortcut file embedded in the attached doc file, powershell. exe is executed. A decoy document and a script are then downloaded from an external website. The downloaded script then downloads the body of the malicious program and executes it in memory. In this way, fileless malware avoids file scanning by traditional signature-based antivirus software because it does not store executable files on disk in an attack.
特許文献1では、通信を行うアプリケーションの情報を基に通信制御を行うシステムが記載されている。特許文献1に記載されているシステムは、最初に、エージェントが入っている仮想マシンにおいて、アプリケーションが通信を行う。その際、OSI参照モデルのトランスポート層にネットワークソケットイベント要求が到達する前に、エージェントによってインターセプトされる。その後、通信を行うアプリケーションの識別情報をセキュリティサーバに送信し、インターセプトしたネットワークソケットイベント要求の許可又は拒絶の判断を行う。
特許文献1に開示されている通信制御システムでは、OSの正規のプロセスによる、内部ネットワークの特定のサーバとの通信のみを許可する場合には、あらかじめプロセスとサーバ間の通信を許可するルールをセキュリティサーバに登録しておく。これにより、特許文献1に開示されている通信制御システムは、セキュリティを確保することができる。しかし、OSの正規のプロセスによる、外部ネットワークの不特定多数のサーバとの通信を許可する場合、ファイルレス・マルウェア等の正規プロセスを利用したマルウェアの通信もフォワーディングすることとなる。
In the communication control system disclosed in
ファイルレス・マルウェアをはじめとする、OSの正規プロセスを利用したマルウェアの特徴として、攻撃の起点は、フィッシングメール等によって、ユーザがダウンローダのスクリプトを実行することにある。ダウンローダのスクリプトは、MSHTA.exeによって実行されるJavaScript(登録商標)や、powershell.exeによって実行されるPowerShellコードなどがある。この時、ダウンロードしてきたスクリプトが、また、別のファイルを別のWebサイトからダウンロードし、最終的にC&Cサーバに接続する、といったように、複数回に分けて外部ネットワークとの通信が行われるケースが多い。 One of the characteristics of malware that uses the normal process of the OS, including fileless malware, is that the starting point of an attack is that a user executes a downloader script via a phishing email or the like. The downloader script is MSHTA. Javascript (registered trademark) executed by exe, powershell. For example, PowerShell code executed by an exe. At this time, the downloaded script downloads another file from another website, and finally connects to the C&C server. There are many.
このように、正規プロセスを利用したマルウェアによって行われる複数の通信を伴った攻撃に対するセキュリティを確保することが課題となっていた。 In this way, it has been a challenge to ensure security against attacks involving multiple communications carried out by malware using legitimate processes.
本開示の目的は、上述した課題を鑑み、正規プロセスを利用したマルウェアによって行われる複数の通信フローの解析結果を組み合わせ、通信パターンとして通信制御を行うことで、不正な通信パターンをブロックし、高度なセキュリティを確保し得る通信制御装置、通信制御方法及び通信制御プログラムを提供することにある。 In view of the above-mentioned problems, the purpose of the present disclosure is to combine the analysis results of multiple communication flows performed by malware using legitimate processes and perform communication control as communication patterns, thereby blocking unauthorized communication patterns and It is an object of the present invention to provide a communication control device, a communication control method, and a communication control program capable of ensuring high security.
一実施の形態に係る通信制御装置は、サーバ装置との間で通信を行うクライアント装置において実行されるプロセスから送信された複数の通信フローのうち、同一または親子関係にあるプロセスから送信された複数の前記通信フローを、通信パターンとして抽出する通信パターン抽出部と、前記通信パターン抽出部で抽出された前記通信パターンと、不正とされた不正通信パターンとの照合結果に基づいて、前記通信フローの前記サーバ装置への通信制御を行う通信パターン検査部と、を備える。 A communication control apparatus according to an embodiment provides a plurality of communication flows transmitted from the same or parent-child process among a plurality of communication flows transmitted from a process executed in a client apparatus that communicates with a server apparatus. a communication pattern extraction unit for extracting the communication flow of the above as a communication pattern; and a communication pattern inspection unit that controls communication to the server device.
一実施の形態によれば、高度なセキュリティを確保し得る通信制御装置、通信制御方法及び通信制御プログラムを提供することができる。 According to one embodiment, it is possible to provide a communication control device, a communication control method, and a communication control program capable of ensuring high security.
(実施形態1)
実施形態1に係る通信制御装置を説明する。図1は、実施形態1に係る通信制御装置の要部を例示したブロック図である。図1に示すように、通信制御装置200は、クライアント装置100とサーバ装置300との間のデータ通信を制御するための装置である。クライアント装置100からサーバ装置300に対して通信を行う際は、通信制御装置200を経由することとなる。また、通信制御装置200は、クライアント装置100及びサーバ装置300と共に、通信システムを構築している。
(Embodiment 1)
A communication control device according to the first embodiment will be described. FIG. 1 is a block diagram illustrating a main part of a communication control device according to
クライアント装置100は、OS(Operating System)を含んでいる。クライアント装置100は、OS上で動作するプロセス101によって、通信制御装置200を介して、サーバ装置300に対して通信を行う端末である。プロセス101は、サーバ装置300との間で通信を行うクライアント装置100において実行される。例えば、クライアント装置100は、業務用端末である。その場合には、サーバ装置300は、業務用データを格納するデータベースサーバである。また、プロセス101は、業務用データを扱う業務用アプリケーションのプロセスである。
The
クライアント装置100のOS上では、プロセス101だけでなく、複数のプロセスが動いていてもよい。また、本実施形態では、クライアント装置100と同様の動作をする別のクライアント装置が複数台あってもよい。
On the OS of the
通信制御装置200は、通信パターン抽出部210と、通信パターン検査部212とを備えている。通信制御装置200の概要を説明すると、通信パターン抽出部210は、クライアント装置100において実行されるプロセス101から送信された複数の通信フローのうち、同一または親子関係にあるプロセス101から送信された複数の通信フローを、通信パターンとして抽出する。通信パターン検査部212は、通信パターン抽出部210で抽出された通信パターンと、不正とされた不正通信パターンとの照合結果に基づいて、通信フローのサーバ装置300への通信制御を行う。以下、クライアント装置100及び通信制御装置200の詳細を説明する。
The
図2は、実施形態1に係るクライアント装置及び通信制御装置の構成を例示したブロック図である。図2に示すように、クライアント装置100は、識別情報抽出部103と、識別情報送信部104とを備えている。識別情報抽出部103は、クライアント装置100のOS上で実行されるプロセス101がサーバ装置300に対する通信要求を行った場合に、当該通信要求から、識別情報を抽出する。識別情報送信部104は、抽出された識別情報を、通信制御装置200に送信する。
FIG. 2 is a block diagram illustrating configurations of a client device and a communication control device according to the first embodiment. As shown in FIG. 2 , the
図2に示すように、通信制御装置200は、識別情報受信部201と、通信フロー送受信部202と、照合部206と、通信フロー検査部208と、通信パターン抽出部210と、通信パターン検査部212とを備えている。
As shown in FIG. 2, the
識別情報受信部201は、クライアント装置100において実行されるプロセス101が、サーバ装置300に対して、データ通信の通信要求をした場合に、通信要求から抽出された識別情報をクライアント装置100から受信する。具体的には、識別情報受信部201は、クライアント装置100において、識別情報抽出部103が通信要求から抽出し、識別情報送信部104が送信した識別情報を受信する。
The identification
通信フロー送受信部202は、クライアント装置100からサーバ装置300に向けて送信された通信フローを受信する。照合部206は、受信された通信フローのヘッダ部分と、識別情報受信部201が受信した識別情報におけるヘッダ識別情報とを照合し、両者が一致するかどうかを判定する。例えば、照合部206は、両者が一致する場合に、通信フローと、識別情報とを紐付けする。
The communication flow transmitting/receiving
通信フロー検査部208は、照合部206による照合の結果、通信フローのヘッダ部分が識別情報のヘッダ識別情報と一致する通信フローが存在する場合に、一致した通信フローに対して、識別情報と、通信フローのヘッダ部分・データ部分と、から得られる情報に基づいて設定した設定ルールに基づいて、通信制御を実行する。具体的には、通信フロー検査部208は、設定ルールに基づいて、通信フローの送信を許可・不許可する。また、例えば、通信フロー検査部208は、通信フローに紐付けされた識別情報が所定の制御情報と一致する場合に、通信フローを通信パターン抽出部210に出力する。
If there is a communication flow whose header part matches the header identification information of the identification information as a result of collation by the
通信パターン抽出部210は、通信フロー検査部208において、通信フローの送信が許可された場合に、通信フローの受信日時や、通信フローのヘッダ部分、通信フローのデータ部分の解析結果を組み合わせ、通信パターンとして抽出する。通信フローの受信日時や、通信フローのヘッダ部分、通信フローのデータ部分は、プロセス101またはプロセス101と親子関係にあるプロセスから受信した複数の通信フローから得られる。このようにして、通信パターン抽出部210は、同一または親子関係にあるプロセスから送信された複数の通信フローを、通信パターンとして抽出する。また、通信パターン抽出部210は、出力された通信フローが、同一または親子関係にあるプロセスから送信された通信フローである場合に、通信パターンに通信フローを追加する。
When the communication
通信パターン検査部212は、プロセス101またはプロセス101と親子関係にあるプロセスの通信パターンと、不正通信パターンとを照合し、その結果に基づいて、通信制御を行う。具体的には、通信パターン検査部212は、通信パターン抽出部210で抽出された通信パターンと、不正とされた不正通信パターンとの照合結果に基づいて、通信フローのサーバ装置300への通信制御を行う。
The communication
このように、本実施形態では、通信制御装置200は、プロセス101の通信要求より抽出された識別情報をクライアント装置100から取得し、当該識別情報を用いて通信制御を行っている。また、単一の通信フローから得られる情報と識別情報だけでなく、同一または親子関係にあるプロセスから受信した複数の通信フローから得られる情報を組み合わせて通信制御を行っている。つまり、本実施形態によれば、通信制御装置200は、単一の通信フローの解析だけでは得られない情報を利用して、通信制御を行うことができ、その結果、高度なセキュリティの確保が可能となる。
Thus, in this embodiment, the
次に、本実施形態におけるクライアント装置100及び通信制御装置200の構成についてより具体的に説明する。図3は、実施形態1に係るクライアント装置及び通信制御装置の構成を例示したブロック図である。まず、クライアント装置100を説明する。
Next, the configurations of the
<クライアント装置>
図3に示すように、クライアント装置100は、通信フロー送受信部102と、エージェント105と、を備えている。
<Client device>
As shown in FIG. 3, the
通信フロー送受信部102は、プロセス101から通信要求が届いた場合に、通信要求に応じたデータを、サーバ装置300に送信する。通信要求は、例えば、ネットワークソケットイベント要求である。
When receiving a communication request from the
エージェント105は、上述した識別情報抽出部103と、上述した識別情報送信部104とを有している。エージェント105は、クライアント装置100にインストールされたプログラムによって構築されている。よって、識別情報抽出部103及び識別情報送信部104も、プログラムによって構築されている。
The
識別情報抽出部103は、本実施形態では、通信要求がプロセス101から通信フロー送受信部102に届く前に、この通信要求をインターセプトする。そして、識別情報抽出部103は、この通信要求から識別情報(後述)を抽出する。識別情報抽出部103は、抽出した識別情報を識別情報送信部104に出力する。また、この時、識別情報抽出部103は、通信ログを監視し、通信ログに基づいて、識別情報を抽出しても良い。
In this embodiment, the
識別情報は、ヘッダ識別情報と、プロセス識別情報と、クライアント識別情報と、を含む。ヘッダ識別情報は、OSI参照モデルのトランスポート層以下の情報である。ヘッダ識別情報としては、例えば、IPヘッダに含まれるIPアドレス、及び、TCP/UDPヘッダに含まれるポート番号が挙げられる。プロセス識別情報は、通信を行ったプロセスを識別するための情報である。プロセス識別情報としては、例えば、プロセス名、親プロセス名、実行ユーザ名が挙げられる。クライアント識別情報は、クライアント装置100を識別するための識別情報である。クライアント識別情報としては、例えば、コンピュータ名、OS名が挙げられる。
The identification information includes header identification information, process identification information, and client identification information. The header identification information is information below the transport layer of the OSI reference model. The header identification information includes, for example, the IP address included in the IP header and the port number included in the TCP/UDP header. The process identification information is information for identifying the process that communicated. Process identification information includes, for example, a process name, parent process name, and execution user name. The client identification information is identification information for identifying the
識別情報送信部104は、識別情報抽出部103から受け取った識別情報を、通信制御装置200に対して送信する。
The identification
このような構成により、エージェント105は、クライアント装置100が外部と通信を行う際に、通信の要求元であるプロセス101の識別情報と、クライアント装置100の識別情報と、通信フローのヘッダ識別情報と、を紐付け、これらを通信制御装置200に送信する。
With such a configuration, when the
<通信制御装置>
次に、通信制御装置200の構成を具体的に説明する。本実施形態において、通信制御装置200は、クライアント装置100からサーバ装置300に送信される通信フローを検査し、検査結果に応じて通信フローを中継するか否かを判定する。
<Communication control device>
Next, the configuration of the
図3に示すように、本実施形態では、通信制御装置200は、上述した構成に加え、通信フロー記憶部203と、識別情報記憶部204と、制御情報記憶部205と、解析部207と、通信パターン記憶部209と、不正通信パターン記憶部211、一時情報削除部213と、不正通信パターン制御部214とを備える。
As shown in FIG. 3, in this embodiment, the
識別情報受信部201は、本実施形態では、エージェント105がインストールされた複数のクライアント装置100から、識別情報が送信されてくると、これを受信し、受信した識別情報と、受信時刻と、エントリ番号と、を識別情報記憶部204に格納する。エントリ番号は、識別情報記憶部204に格納する識別情報ごとに一意に割り当てられる番号である。
In this embodiment, the identification
識別情報記憶部204は、識別情報を格納する。識別情報記憶部204は、例えば、データベースである。
The identification
図4は、実施形態1に係る通信制御装置において、識別情報記憶部に格納された識別情報を例示した図である。図4に示すように、識別情報記憶部204には、エントリ番号と、各識別情報と、受信時刻と、が格納されている。識別情報は、クライアント識別情報、ヘッダ識別情報、プロセス識別情報を含んでいる。クライアント情報は、コンピュータ名及びOSを含む。ヘッダ識別情報は、送信元IPアドレス及び宛先IPアドレスを有するIPヘッダと、送信元ポート番号及び宛先ポート番号を有するTCPヘッダとを含む。プロセス識別情報は、プロセス名、プロセスID、親プロセス名、親プロセスIDを有するプロセスと、ユーザ名、ユーザID、所属グループ名、所属グループIDを有する実行ユーザと、を含む。
4 is a diagram exemplifying identification information stored in an identification information storage unit in the communication control apparatus according to the first embodiment; FIG. As shown in FIG. 4, the identification
通信フロー送受信部202は、本実施形態では、クライアント装置100からサーバ装置300宛に送信された通信フローを受信する。そして、通信フロー送受信部202は、受信した通信フローと、通信フロー格納位置情報(後述)と、を通信フロー記憶部203に格納する。また、通信フロー送受信部202は、本実施形態では、通信フロー格納位置情報に基づいて、該当する位置に格納された通信フローを送信する。
The communication flow transmitting/receiving
通信フロー格納位置情報は、通信フロー記憶部203における通信フローが格納されている場所を特定するための情報である。通信フロー格納位置情報は、例えば、バッファIDである。
The communication flow storage location information is information for specifying the location in the communication
通信フロー記憶部203は、通信フローを記憶する。通信フロー記憶部203は、例えば、メモリの受信バッファである。
The communication
このような構成により、通信制御装置200は、クライアント装置100から送信された通信フローを中継する。また、通信制御装置200は、本来の宛先であるサーバ装置300への通信フローの送信を保留することができる。
With such a configuration, the
照合部206は、本実施形態では、通信フロー記憶部203に格納されている通信フローのヘッダ部分と、識別情報記憶部204に格納されているエントリ(入力データ)のヘッダ識別情報と、を照合する。照合部206は、照合処理でマッチする通信フローが見つかった場合には、当該エントリ番号と、当該通信フローの通信フロー格納位置情報とを解析部207に出力する。一方、見つからなかった場合、照合部206は、処理を終了する。
In this embodiment, the
なお、照合部206は、照合処理を、定期的に実行してもよいし、通信フロー送受信部202による通信フロー記憶部203への通信フローの格納をトリガーとして、照合処理を実行してもよい。また、照合部206は、識別情報受信部201による識別情報記憶部204への識別情報の格納をトリガーとして、照合処理を実行しても良い。
The
このような構成により、クライアント装置100から送信された通信フローの送信元プロセス、プロセスの実行ユーザ等、通信フローのヘッダ情報から得られない情報と、通信フローとが紐付けられることになる。言い換えると、クライアント装置100のエージェント105が抽出した識別情報と通信フローとが紐付けられる。
With such a configuration, information that cannot be obtained from the header information of the communication flow, such as the transmission source process of the communication flow transmitted from the
解析部207は、照合部206から識別情報記憶部204のエントリ番号と通信フロー格納位置情報を受け取ると、受け取った通信フロー格納位置情報に基づいて、通信フロー記憶部203にある通信フローを特定する。また、解析部207は、特定した通信フローに対して、データ部の解析を行い、データ識別情報(後述)を抽出する。そして、解析部207は、通信フロー格納位置情報と、識別情報記憶部204のエントリ番号と、解析結果から抽出したデータ識別情報(後述)と、を通信フロー検査部208に出力する。なお、解析部207は、本実施形態では、通信制御装置200の内部に含む構成としているが、通信制御装置200の外側から接続する構成としてもよい。
When the
データ識別情報は、解析部207が、通信フローのデータ部から抽出する情報であり、通信フローに含まれるデータの内容を特定する。具体的には、データ識別情報は、データの内容として、例えば、データベースへのレコードの挿入(INSERT)、クレジットカード等の秘密情報の取り出し(SELECT)等を特定する。
The data identification information is information extracted from the data portion of the communication flow by the
制御情報記憶部205は、通信フロー制御情報(後述)を記憶する。制御情報記憶部205は、例えば、データベースである。
The control
通信フロー制御情報は、通信フロー検査部208によって通信フロー送信の許可又は破棄を判定するために使用される情報である。通信フロー制御情報は、予め、制御情報記憶部205に登録されている必要がある。
The communication flow control information is information used by the communication
図5は、実施形態1に係る通信制御装置において、制御情報記憶部に格納された通信フロー制御情報を例示した図である。図5に示すように、通信フロー制御情報は、クライアント識別情報と、ヘッダ識別情報と、プロセス識別情報と、データ識別情報と、制御方法と、を含む。データ識別情報は、データ部の内容を有し、例えば、レコードの削除、レコードの更新、秘密情報の取り出しを含むデータベースと、添付ファイルを含むメートと、を有している。制御方法は、通信パターン検査、許可、破棄を有している。 5 is a diagram exemplifying communication flow control information stored in a control information storage unit in the communication control apparatus according to the first embodiment; FIG. As shown in FIG. 5, the communication flow control information includes client identification information, header identification information, process identification information, data identification information, and control method. The data identification information has the contents of the data part, for example, a database containing record deletion, record update, confidential information retrieval, and a mate containing an attached file. Control methods include communication pattern inspection, acceptance, and drop.
通信フロー制御情報は、クライアント識別情報と、ヘッダ識別情報と、プロセス識別情報と、データ識別情報と、に一致するエントリ(入力データ)がある場合に、通信フロー検査部208が、対象の通信フローの通信制御の内容を決定する情報である。通信フロー制御情報によって決定される通信制御としては、例えば、通信フローの送信の許可、及び、破棄が挙げられる。通信フロー制御情報も、通信フロー検査部208による通信制御のルールを規定している。
If there is an entry (input data) that matches the client identification information, header identification information, process identification information, and data identification information, the communication flow control information is checked by the communication
通信フロー検査部208は、本実施形態では、ヘッダ識別情報と、プロセス識別情報と、クライアント識別情報と、データ識別情報と、通信フロー制御情報とに基づいて、通信制御を行う。具体的には、通信フロー検査部208は、解析部207から受け取ったエントリ番号に基づいて、識別情報記憶部204から当該エントリ(入力データ)のクライアント識別情報と、ヘッダ識別情報と、プロセス識別情報と、を読み込む。そして、通信フロー検査部208は、読み込んだ各情報と、解析部207から受け取ったデータ識別情報とが、制御情報記憶部205に格納されているエントリとマッチする場合に、当該エントリの制御方法に基づいて、通信フローの制御方法を決定する。
In this embodiment, the communication
例えば、制御方法が「通信パターン検査」の場合、通信フロー検査部208は、通信パターン抽出部210に通信フロー格納位置情報と、識別情報記憶部204のエントリ番号と、データ識別情報と、を出力する。また、制御方法が「許可」の場合、通信フロー検査部208は、通信フロー送受信部202に通信フロー格納位置情報を出力する。更に、制御方法が「破棄」の場合、通信フロー検査部208は、不正通信パターン制御部214にプロセス識別情報を出力し、通信フロー記憶部203の通信フローを破棄する。
For example, when the control method is "communication pattern inspection", the communication
このように、通信フロー制御情報は、例えば、所定の制御情報として、クライアント識別情報、ヘッダ識別情報、プロセス識別情報、データ識別情報の他に、制御方法を含んでいる。制御方法は、通信フローを通信パターン抽出部210に出力する通信パターン検査、通信フローをサーバ装置300に送信する許可、及び、通信フローを削除する破棄を含んでいる。
Thus, the communication flow control information includes, for example, client identification information, header identification information, process identification information, data identification information, and a control method as predetermined control information. The control method includes communication pattern inspection for outputting the communication flow to the communication
このような構成により、通信制御装置200によれば、通信フローのヘッダ情報と、データ部の解析結果と、通信フローの送信元プロセスの情報と、クライアント装置100の情報と、を組み合わせた柔軟な通信制御が可能となる。
With such a configuration, according to the
例えば、特定のクライアント-データベースサーバ間の通信において、あるアプリケーションに対しては、データの参照(SELECT)のみ許可し、別のアプリケーションに対しては、参照(SELECT)、挿入(INSERT)、更新(UPDATE)、削除(DELETE)の全てを許可する、という通信制御が可能となる。 For example, in communication between a specific client and database server, only data reference (SELECT) is permitted for one application, and reference (SELECT), insertion (INSERT), update ( It is possible to perform communication control that permits all of UPDATE and DELETE.
しかしながら、プロセス101が外部ネットワークの任意のサーバと通信を行うアプリケーションのプロセスである場合、単一の通信フローの検査だけでは不正な通信なのか判断できないケースがある。そのため、制御情報記憶部205で、プロセス101から外部ネットワークに対する通信の制御方法を「通信パターン検査」とすることで、後述する通信パターン検査部212で、複数の通信フローの解析結果を組み合わせた通信パターンに基づいて、通信制御を行うことが可能である。
However, if the
一方で、DNSのように高頻度で行われる通信や、通信パターン検査が必要ない内部ネットワーク間の通信については、制御情報記憶部205で制御方法を「許可」にしておくことで、通信パターン検査対象から除外することが可能である。
On the other hand, for communications such as DNS that are frequently performed and communications between internal networks that do not require communication pattern inspection, by setting the control method to "permit" in the control
通信パターン記憶部209は、通信パターン(後述)を記憶する。通信パターン記憶部209は、例えば、データベースである。
The communication
通信パターンは、プロセス識別情報と、クライアント識別情報と、ヘッダ識別情報と、データ識別情報とに基づいて決定される情報である。 A communication pattern is information determined based on process identification information, client identification information, header identification information, and data identification information.
図6は、実施形態1に係る通信制御装置において、通信パターン記憶部に格納された通信パターンを例示した図である。図6に示すように、通信パターン記憶部209は、同一または親子関係にあるプロセスが送信する通信フローを1つの通信パターンとして格納する。通信パターンは、例えば、通信パターンIDと、通信フローの受信順序と、PID(プロセスID)と、PPID(親プロセスID)と、プロセス名と、OSと、プロトコルと、ダウンロードファイルタイプと、受信時刻とを含む。図6に示すカラムの他にも、プロセス識別情報と、クライアント識別情報と、ヘッダ識別情報と、データ識別情報と、に含まれる他の情報をカラムに追加してもよい。
6 is a diagram exemplifying communication patterns stored in a communication pattern storage unit in the communication control apparatus according to the first embodiment; FIG. As shown in FIG. 6, the communication
通信パターン抽出部210は、本実施形態では、クライアント識別情報と、ヘッダ識別情報と、プロセス識別情報と、データ識別情報とに基づいて、通信パターンを抽出する。具体的には、通信パターン抽出部210は、通信フロー検査部208から、通信フロー格納位置情報と、識別情報記憶部204のエントリ番号と、データ識別情報とを受け取る。通信パターン記憶部209の中に、プロセス識別情報に含まれるPIDまたはPPIDと、PIDまたはPPIDが一致するエントリ(入力データ)が存在する場合に、当該エントリと同じ通信パターンIDで、通信パターンのエントリを追加する。一致するエントリが存在しない場合は、新規通信パターンIDで、通信パターンのエントリを追加する。その後、通信パターン検査部212に、追加したエントリの通信パターンIDと、通信フロー格納位置情報とを出力する。
In this embodiment, the communication
不正通信パターン記憶部211は、不正通信パターン(後述)を記憶する。通信パターン記憶部209は、例えば、データベースである。
The unauthorized communication
不正通信パターンは、不正なプロセスによる通信パターンを表しており、通信パターン検査部212によって、通信フロー送信の許可又は破棄を判定するために使用される情報である。不正通信パターンは、不正通信パターン制御部214を介して不正通信パターン記憶部211に登録される。
An unauthorized communication pattern represents a communication pattern by an unauthorized process, and is information used by the communication
図7は、実施形態1に係る通信制御装置において、不正通信パターン記憶部に格納された不正通信パターンを例示した図である。図7に示すように、不正通信パターン記憶部211には、不正通信パターンとして、通信パターンID、順序、プロセス名、OS、プロトコル、ダウンロードファイルタイプが格納されている。この他にも、プロセス識別情報と、クライアント識別情報と、ヘッダ識別情報と、データ識別情報と、に含まれる他の情報をカラムに追加してもよい。
7 is a diagram exemplifying unauthorized communication patterns stored in an unauthorized communication pattern storage unit in the communication control device according to the first embodiment; FIG. As shown in FIG. 7, the unauthorized communication
通信パターン検査部212は、本実施形態では、通信パターンと、不正通信パターンとに基づいて、通信制御を行う。具体的には、通信パターン検査部212は、通信パターン抽出部210から受け取った通信パターンIDに基づいて、通信パターン記憶部209から、通信パターンIDが一致するエントリ(入力データ)を読み込む。そして、読み込んだエントリに含まれる各情報(図6の場合、順序、プロセス名、OS、プロトコル、ダウンロードファイルタイプ)が一致する不正通信パターン記憶部211のエントリが存在する場合、不正な通信パターンと見なす。そして、通信パターン検査部212は、通信フロー格納位置情報に基づいて、通信フロー記憶部203の通信フローを破棄する。通信パターン検査部212は、一致するエントリが存在しない場合、通信フロー送受信部202に通信フロー格納位置情報を出力する。
The communication
本実施形態では、通信パターンと不正通信パターンのカラムの値が一致した場合に不正な通信パターンと判定した。しかしながら、別の実施形態では、各カラムに優先度をつけ、優先度の低いカラムの一部が一致していなくても、不正な通信パターンと見なしてもよい。さらに、別の実施形態では、各カラムに重み付けを行い、カラムが一致する度に重みに応じたスコアを加算し、スコアが閾値を超えた場合に不正な通信パターンと見なしてもよい。 In this embodiment, when the values in the columns of the communication pattern and the unauthorized communication pattern match, it is determined as an unauthorized communication pattern. However, in another embodiment, each column may be prioritized and a mismatch of some of the lower priority columns may be considered an illegal communication pattern. Furthermore, in another embodiment, each column may be weighted, a score corresponding to the weight is added each time the column matches, and if the score exceeds a threshold, it may be regarded as an unauthorized communication pattern.
このような構成により、単一の通信フローの検査だけでは不正な通信なのか判断できないケースにおいても、複数の通信フローの解析結果を組み合わせた通信パターンに基づいて、通信制御を行うことが可能である。 With this configuration, even in cases where it is not possible to determine whether or not the communication is unauthorized by examining a single communication flow, it is possible to perform communication control based on the communication pattern that combines the analysis results of multiple communication flows. be.
一時情報削除部213は、識別情報記憶部204と通信パターン記憶部209とを監視し、受信時刻に基づいて、一定時間が経過したエントリを削除する。具体的には、一時情報削除部213は、識別情報記憶部204に格納されたエントリと、通信パターン記憶部209に格納されたエントリの受信時刻を参照し、現在時刻から当該時刻を引いた時間が、予め設定された時間を超えている場合に、当該エントリを削除する。同様に、なお、一時情報削除部213は、削除処理を、定期的に実行してもよいし、別途、プロセス101が終了したタイミングでクライアント装置100から通知を受け取り、通知をトリガーとして実行してもよい。
Temporary
このような構成により、通信制御装置200は、受信してから一定時間が経過した識別情報を削除することで、不要に読み込まれるエントリ数を減らし、照合部206における照合処理および通信パターン抽出部210における通信パターン抽出処理の速度を向上させることができる。
With such a configuration, the
不正通信パターン制御部214は、本実施形態では、不正通信パターン記憶部211へのエントリの追加・更新・削除を行う。具体的には、不正通信パターン制御部214は、通信フロー検査部208から受け取ったプロセス識別情報に基づいて、通信パターン記憶部209の中に、プロセス識別情報に含まれるPIDまたはPPIDと、PIDまたはPPIDが一致するエントリが存在するかを確認する。ここで、エントリが存在する場合、当該エントリの通信パターンを不正通信パターンとして、不正通信パターン記憶部211に新規エントリを追加する。また、不正通信パターン制御部214は、通信制御装置200の外部から、不正通信パターン記憶部211の不正通信パターンの追加・更新・削除依頼を受け付けてもよい。
The unauthorized communication
このような構成により、不正通信パターンをリアルタイムに追加・更新・削除できるため、サイバー攻撃にいち早く対応することができる。例えば、ダウンローダによる外部サーバとの数回の通信を、通信フロー検査および通信パターン検査で許可してしまったものの、その後の秘密文書を持ち出す通信を通信フロー検査で破棄できたとする。この時、何も対策を実施しないと、同様の手法で別の攻撃を実施される恐れがある。しかし、本実施の形態によれば、通信フロー検査で秘密文書を持ち出す通信フローを破棄する際に、当該プロセスと当該プロセスの親子プロセスによって行われた通信の通信パターンを、不正通信パターンとして登録するため、その後、同様の攻撃が実施されても、秘密文書を持ち出す前の通信を破棄することができる。 With this configuration, unauthorized communication patterns can be added/updated/deleted in real time, so it is possible to quickly respond to cyberattacks. For example, assume that communication flow inspection and communication pattern inspection permit a downloader to communicate with an external server several times, but subsequent communications that bring out confidential documents can be discarded in communication flow inspection. At this time, if no countermeasures are taken, another attack may be carried out using the same technique. However, according to this embodiment, when discarding a communication flow that brings out a confidential document in a communication flow inspection, the communication pattern of the communication performed by the process and the parent process of the process is registered as an unauthorized communication pattern. Therefore, even if a similar attack is carried out after that, the communication before the confidential document is stolen can be discarded.
<クライアント装置の動作>
次に、クライアント装置100及び通信制御装置200の動作について、図8~図18を用いて説明する。また、以下の説明においては、適宜、図1~図7を参照する。また、本実施形態では、クライアント装置100と通信制御装置200とを動作させることによって、通信制御方法が実施される。よって、本実施形態における通信制御方法の説明は、以下のクライアント装置100及び通信制御装置200の動作の説明に代える。
<Operation of the client device>
Next, operations of the
最初に、図8を用いて、本実施形態におけるクライアント装置100の動作について説明する。図8は、実施形態1に係るクライアント装置の動作を示すフロー図である。具体的には、図8は、エージェント105の検出処理及び識別情報送信処理を示している。
First, using FIG. 8, the operation of the
図8に示すように、まず、クライアント装置100において、識別情報抽出部103は、クライアント装置100上で動作するプロセス101がサーバ装置300に対して通信要求を出すと、この通信要求が通信フロー送受信部102に到達する前に、これをインターセプトする(ステップS101)。
As shown in FIG. 8, first, in the
次に、識別情報抽出部103は、インターセプトした通信要求から識別情報を抽出する(ステップS102)。
Next, the identification
次に、識別情報抽出部103は、通信フロー送受信部102を介して、サーバ装置300に、インターセプトした通信要求を送信する(ステップS103)。次に、識別情報抽出部103は、抽出した識別情報を識別情報送信部104に出力する(ステップS104)。
Next, the identification
その後、識別情報送信部104は、識別情報抽出部103から出力された識別情報を、通信制御装置200に対して送信する(ステップS105)。
After that, the identification
<通信制御装置の動作>
続いて、図9~図18を用いて、本実施形態における通信制御装置200の動作について説明する。図9は、実施形態1に係る通信制御装置において、通信フロー送受信部における通信フロー受信処理を例示したフロー図である。
<Operation of communication control device>
Next, the operation of the
図9に示すように、まず、通信フロー送受信部202は、クライアント装置100の通信フロー送受信部102からサーバ装置300宛に送信された通信フローを受信する(ステップS201)。すなわち、クライアント装置100から送信された通信フローを受信する。次に、通信フロー送受信部202は、ステップS201で受信した通信フローを、通信フロー記憶部203に格納する(ステップS202)。
As shown in FIG. 9, first, the communication flow transmitting/receiving
図10は、実施形態1に係る通信制御装置において、識別情報受信部における識別情報受信処理を例示したフロー図である。図10に示すように、まず、識別情報受信部201は、クライアント装置100の識別情報送信部104から送信された識別情報を受信する(ステップS301)。すなわち、クライアント装置100において実行されるプロセス101が、サーバ装置300に対して、データ通信の通信要求をした場合に、通信要求から抽出された識別情報をクライアント装置100から受信する。次に、識別情報受信部201は、受信した識別情報と、受信時刻と、エントリ番号と、を識別情報記憶部204に格納する(ステップS302)。
10 is a flowchart illustrating an identification information reception process in an identification information reception unit in the communication control apparatus according to the first embodiment; FIG. As shown in FIG. 10, first, the identification
図11は、実施形態1に係る通信制御装置において、照合部における照合処理を例示したフロー図である。図11に示すように、まず、照合部206は、ステップS202又はステップS302を契機として、ステップS401に進む。ステップS401では、照合部206は、識別情報記憶部204に格納されているエントリ(入力データ)を読み込み、ステップS402に進む。
FIG. 11 is a flowchart exemplifying collation processing in the collation unit in the communication control device according to the first embodiment; As shown in FIG. 11, first, the
ステップS402で、照合部206は、通信フロー記憶部203に格納されている通信フローのヘッダ部を解析する。その後、照合部206は、ヘッダ識別情報が一致するヘッダをもつ通信フローが存在するかどうかを判定する(ステップS403)。
In step S<b>402 , the
ステップS403の判定の結果、ヘッダ識別情報が一致するヘッダをもつ通信フローが存在しない場合は、照合部206は、処理を終了する。一方、ステップS403の判定の結果、ヘッダ識別情報が一致するヘッダをもつ通信フローが存在する場合は、照合部206は、解析部207に、当該エントリのエントリ番号と、当該通信フローの通信フロー格納位置情報とを出力する(ステップS404)。このように、照合部206は、受信された通信フローのヘッダ部分と、識別情報におけるヘッダ識別情報とを照合し、両者が一致する場合に、通信フローと、識別情報とを紐付けする。
If the result of determination in step S403 is that there is no communication flow having a header with matching header identification information, the
図12は、実施形態1に係る通信制御装置において、解析部における解析処理を例示したフロー図である。図12に示すように、まず、解析部207は、照合部206から、通信フロー格納位置情報と、識別情報記憶部204のエントリ番号と、を受け取る(ステップS501)。
12 is a flow chart illustrating analysis processing in an analysis unit in the communication control device according to the first embodiment; FIG. As shown in FIG. 12, the
次に、解析部207は、通信フロー格納位置情報に基づいて特定した通信フロー記憶部203の通信フローを読み込む(ステップS502)。
Next, the
次に、解析部207は、読み込んだ通信フローのデータ部を解析する(ステップS503)。その後、解析部207は、通信フロー格納位置情報と、識別情報記憶部204のエントリ番号と、解析結果に基づいて抽出したデータ識別情報と、を通信フロー検査部208に出力する(ステップS504)。
Next, the
図13は、実施形態1に係る通信制御装置において、通信フロー検査部における通信フロー検査処理を例示したフロー図である。図13に示すように、まず、通信フロー検査部208は、解析部207から、通信フロー格納位置情報と、識別情報記憶部204のエントリ番号と、データ識別情報と、を受け取る(ステップS601)。
13 is a flow diagram illustrating communication flow inspection processing in a communication flow inspection unit in the communication control device according to the first embodiment; FIG. As shown in FIG. 13, the communication
次に、通信フロー検査部208は、エントリ番号に基づいて、識別情報記憶部204の当該エントリを読み込む(ステップS602)。次に、通信フロー検査部208は、制御情報記憶部205のエントリ(入力データ)を読み込む(ステップS603)。
Next, communication
次に、通信フロー検査部208は、識別情報記憶部204のエントリのヘッダ識別情報と、プロセス識別情報と、クライアント識別情報と、受け取ったデータ識別情報とに一致するエントリが、制御情報記憶部205に存在するかどうかを判定する(ステップS604)。
Next, the communication
ステップS604の判定の結果、一致するエントリが制御情報記憶部205に存在しない場合は、通信フロー検査部208は、ステップS605に進む。一方、ステップS604の判定の結果、一致するエントリが制御情報記憶部205に存在する場合は、通信フロー検査部208は、ステップS606に進む(ステップS604)。
If the matching entry does not exist in the control
ステップS605では、通信フロー検査部208は、ステップS602で読み込んだエントリのプロセス識別情報を、不正通信パターン制御部214に出力する(ステップS605)。次に、通信フロー検査部208は、通信フロー格納位置情報に基づいて特定した通信フロー記憶部203の通信フローを破棄する(ステップS610)。
At step S605, the communication
ステップS606では、通信フロー検査部208は、当該エントリの制御方法が「破棄」であるかどうかを判定する。ステップS606の判定の結果、当該エントリの制御方法が「破棄」である場合は、通信フロー検査部208は、ステップS605に進む。一方、ステップS606の判定の結果、当該エントリの制御方法が「破棄」でない場合は、通信フロー検査部208は、ステップS607に進む。
In step S606, the communication
ステップS607では、通信フロー検査部208は、当該エントリの制御方法が「許可」であるかどうかを判定する。ステップS607の判定の結果、当該エントリの制御方法が「許可」である場合は、通信フロー検査部208は、ステップS608に進む。一方、ステップS607の判定の結果、当該エントリの制御方法が「許可」でない場合は、通信フロー検査部208は、ステップS609に進む。すなわち、通信フローに紐付けされた識別情報が、所定の制御情報として、「通信パターン検査」に一致する場合は、ステップS609に進む。
In step S607, the communication
ステップS608では、通信フロー検査部208は、通信フロー格納位置情報を通信フロー送受信部202に出力する。ステップS609では、通信フロー検査部208は、通信フロー格納位置情報等を通信パターン抽出部210に出力する。
In step S<b>608 , the communication
図14は、実施形態1に係る通信制御装置において、通信パターン抽出部における通信パターン抽出処理を例示したフロー図である。図14に示すように、まず、通信パターン抽出部210は、通信フロー検査部208から、通信フロー格納位置情報と、識別情報記憶部204のエントリ番号と、データ識別情報と、を受け取る(ステップS701)。
FIG. 14 is a flowchart exemplifying communication pattern extraction processing in a communication pattern extraction unit in the communication control apparatus according to the first embodiment; As shown in FIG. 14, the communication
次に、通信パターン抽出部210は、エントリ番号に基づいて、識別情報記憶部204の当該エントリを読み込む(ステップS702)。次に、通信パターン抽出部210は、通信パターン記憶部209のエントリを読み込む(ステップS703)。
Next, communication
次に、通信パターン抽出部210は、識別情報記憶部204のエントリのプロセス識別情報に含まれるPIDまたはPPIDが、ステップS703で読み込んだエントリのPIDまたはPPIDと一致するかどうかを判定する(ステップS704)。
Next, the communication
ステップS704の判定の結果、一致するエントリが通信パターン記憶部209に存在する場合は、通信パターン抽出部210は、ステップS705に進む。一方、ステップS704の判定の結果、一致するエントリが通信パターン記憶部209に存在しない場合は、通信パターン抽出部210は、ステップS706に進む(ステップS704)。
If the matching entry exists in the communication
ステップS705では、通信パターン抽出部210は、通信パターンIDをステップS704で一致したエントリと同じ値に、順序を前記エントリの最大値+1に、その他のカラムはステップS702で読み込んだエントリに含まれる情報に基づいて決定して、新規エントリを通信パターン記憶部に追加し、ステップS707に進む(ステップS705)。このように、通信フローが、同一または親子関係にあるプロセスから送信された通信フローであるか判断し、通信フローが、同一または親子関係にあるプロセスから送信された通信フローである場合に、通信パターンに通信フローを追加する。
In step S705, the communication
ステップS706では、通信パターン抽出部210は、通信パターンIDを既存のエントリと重複しない最小の正数に、順序を1に、その他のカラムをS702で読み込んだエントリの識別情報を基に決定して、新規エントリを通信パターン記憶部に追加し、ステップS707に進む(ステップS706)。
In step S706, the communication
ステップS707では、通信パターン抽出部210は、追加したエントリの通信パターンIDと、通信フロー格納位置情報とを通信パターン検査部212に出力する(ステップS707)。
In step S707, the communication
図15は、実施形態1に係る通信制御装置において、通信パターン検査部における通信パターン検査処理を例示したフロー図である。図15に示すように、まず、通信パターン検査部212は、通信パターン抽出部210から、通信パターンIDと、通信フロー格納位置情報と、を受け取る(ステップS801)。
15 is a flow diagram illustrating communication pattern inspection processing in a communication pattern inspection unit in the communication control apparatus according to the first embodiment; FIG. As shown in FIG. 15, the communication
次に、通信パターン検査部212は、通信パターンIDに基づいて、通信パターン記憶部209の当該エントリを読み込む(ステップS802)。次に、通信パターン検査部212は、不正通信パターン記憶部211のエントリを読み込む(ステップS803)。
Next, the communication
次に、通信パターン検査部212は、S802で読み込んだエントリの各カラムの情報が、不正通信パターン記憶部のエントリと一致するかどうかを判定する(ステップS804)。
Next, the communication
ステップS804の判定の結果、一致するエントリが不正通信パターン記憶部211に存在する場合は、通信パターン検査部212は、ステップS805に進む。一方、ステップS804の判定の結果、一致するエントリが不正通信パターン記憶部211に存在しない場合は、通信パターン検査部212は、ステップS806に進む(ステップS804)。
As a result of the determination in step S804, if a matching entry exists in the unauthorized communication
ステップS805では、通信パターン検査部212は、通信フロー格納位置情報に基づいて特定した通信フロー記憶部203の通信フローを破棄する(ステップS805)。ステップS806では、通信パターン検査部212は、通信フロー格納位置情報を通信フロー送受信部202に出力する(ステップS806)。
In step S805, the communication
図16は、実施形態1に係る通信制御装置において、通信フロー送受信部における通信フロー送信処理を例示したフロー図である。図16に示すように、まず、通信フロー送受信部202は、通信フロー検査部208または通信パターン検査部212から、通信フロー格納位置情報を受け取る(ステップS901)。
16 is a flowchart illustrating communication flow transmission processing in a communication flow transmission/reception unit in the communication control device according to the first embodiment; FIG. As shown in FIG. 16, first, the communication flow transmitting/receiving
次に、通信フロー送受信部202は、通信フロー格納位置情報を基に特定した通信フロー記憶部203の通信フローを読み込む(ステップS902)。その後、通信フロー送受信部202は、ステップS802で読み込んだ通信フローをサーバ装置300宛に送信する(ステップS903)。
Next, the communication flow transmitting/receiving
図17は、実施形態1に係る通信制御装置において、一時情報削除部における一時情報削除処理を例示したフロー図である。図17に示すように、まず、一時情報削除部213は、一定時間が経過したこと、又は通信制御装置200で発生するイベントを契機として、ステップS1001に進む。ステップS1001では、一時情報削除部213は、識別情報記憶部204と、通信パターン記憶部209とに格納されているエントリを読み込む。
17 is a flowchart illustrating temporary information deletion processing in a temporary information deletion unit in the communication control apparatus according to the first embodiment; FIG. As shown in FIG. 17, first, the temporary
次に、一時情報削除部213は、読み込んだエントリの受信時刻を、現在時刻から引いた時間が、予め設定した時間を超えているかどうかを判定する(ステップS1002)。
Next, the temporary
ステップS1002の判定の結果、予め設定した時間を超えている場合は、一時情報削除部213は、ステップS1001で読み込んだエントリを削除する(ステップS1003)。
As a result of the determination in step S1002, if the preset time has been exceeded, the temporary
一方、ステップS1002の判定の結果、予め設定した時間を超えていない場合、一時情報削除部213は、処理を終了する。
On the other hand, if the preset time has not been exceeded as a result of the determination in step S1002, the temporary
図18は、実施形態1に係る通信制御装置において、不正通信パターン制御部における不正通信パターン制御処理を例示したフロー図である。図18に示すように、まず、不正通信パターン制御部214は、通信フロー検査部208から、プロセス識別情報を受け取る(ステップS1101)。
FIG. 18 is a flow chart exemplifying unauthorized communication pattern control processing in an unauthorized communication pattern control unit in the communication control apparatus according to the first embodiment; As shown in FIG. 18, first, the unauthorized communication
次に、不正通信パターン制御部214は、通信パターン記憶部209のエントリを読み込む(ステップS1102)。次に、不正通信パターン制御部214は、プロセス識別情報に含まれるPIDまたはPPIDが、ステップS1102で読み込んだエントリのPIDまたはPPIDと一致するかどうかを判定する(ステップS1103)。
Next, the unauthorized communication
ステップS1103の判定の結果、一致するエントリが通信パターン記憶部209に存在しない場合は、そのまま終了する。一方、ステップS1103の判定の結果、一致するエントリが通信パターン記憶部209に存在する場合は、不正通信パターン制御部214は、ステップS1104に進む(ステップS1103)。
If the matching entry does not exist in the communication
ステップS1104では、不正通信パターン制御部214は、ステップS1103で一致したエントリの通信パターンを不正通信パターンとして、不正通信パターン記憶部211に新規エントリを追加する(ステップS1104)。
このようにして、通信制御装置200は、クライアント装置100とサーバ装置300との間の通信を制御することができる。
In step S1104, the unauthorized communication
In this manner, the
次に、本実施形態の効果を説明する。本実施形態の通信制御装置200によれば、通信フローの送信元プロセスと同一または親子関係にあるプロセスが送信する通信フローを解析し、解析した結果を組み合わせた通信パターンに基づいて、クライアント装置100及びサーバ装置300間の通信を制御することができる。これにより、単一の通信フローの解析だけでは実現できない、高度なセキュリティの確保が可能となる。
Next, the effects of this embodiment will be described. According to the
また、本実施形態の通信制御装置200は、クライアント装置100におけるプロセス101の要求から抽出された識別情報を取得し、この識別情報を用いて通信制御を行っている。よって、複数の通信フローを所定の識別情報で抽出・検査することができる。
Further, the
例えば、ファイルレス・マルウェアをはじめとする、OSの正規プロセスを利用したマルウェアによって行われる複数の通信を、通信パターンとして抽出・検査することで、不正な通信をブロックすることが可能である。 For example, it is possible to block unauthorized communications by extracting and inspecting, as communication patterns, multiple communications performed by malware that uses legitimate processes of the OS, such as fileless malware.
また、不正通信パターンを手動で登録するだけでなく、通信フロー検査の結果を基に不正通信パターンを自動登録することで、リアルタイムに同種の攻撃の対策を行うことが可能となる。 In addition to manually registering fraudulent communication patterns, by automatically registering fraudulent communication patterns based on the results of communication flow inspection, it is possible to take countermeasures against similar attacks in real time.
このように、本実施形態の通信制御装置は、正規プロセスを利用したマルウェアによって行われる複数の通信フローの解析結果を組み合わせ、通信パターンとして通信制御を行うことで、不正な通信パターンをブロックし、高度なセキュリティを確保することができる。 In this way, the communication control device of the present embodiment combines analysis results of a plurality of communication flows performed by malware using legitimate processes, and performs communication control as a communication pattern, thereby blocking unauthorized communication patterns, A high level of security can be ensured.
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、本実施形態における通信制御方法をコンピュータに実行させる以下の通信制御プログラムも、実施形態の技術的思想の範囲に含まれる。 It should be noted that the present invention is not limited to the above embodiments, and can be modified as appropriate without departing from the scope of the invention. For example, the following communication control program that causes a computer to execute the communication control method in this embodiment is also included in the scope of the technical idea of the embodiment.
すなわち、サーバ装置との間で通信を行うクライアント装置において実行されるプロセスから送信された複数の通信フローのうち、同一または親子関係にあるプロセスから送信された複数の通信フローを、通信パターンとして抽出させ、
抽出させた前記通信パターンと、不正とされた不正通信パターンとの照合結果に基づいて、前記通信フローの前記サーバ装置への通信制御を行わせる、
ことをコンピュータに実行させる通信制御プログラム。
In other words, among the plurality of communication flows transmitted from the processes executed in the client device that communicates with the server device, the plurality of communication flows transmitted from the same or parent-child processes are extracted as communication patterns. let
Controlling communication of the communication flow to the server device based on a comparison result between the extracted communication pattern and the fraudulent communication pattern determined to be fraudulent;
A communication control program that makes a computer do things.
前記クライアント装置において実行される前記プロセスが、前記サーバ装置に対して、データ通信の通信要求をした場合に、前記通信要求から抽出された識別情報を前記クライアント装置から受信させ、
前記クライアント装置から送信された前記通信フローを受信させ、
受信させた前記通信フローのヘッダ部分と、前記識別情報におけるヘッダ識別情報とを照合させ、両者が一致する場合に、前記通信フローと、前記識別情報とを紐付けさせ、
前記通信フローに紐付けさせた前記識別情報が所定の制御情報と一致する場合に、前記通信フローが、前記同一または親子関係にあるプロセスから送信された通信フローであるか判断させ、
前記通信フローが、前記同一または親子関係にあるプロセスから送信された通信フローである場合に、前記通信パターンに前記通信フローを追加させる、
ことをさらにコンピュータに実行させる請求項8に記載の通信制御プログラム。
when the process executed in the client device requests the server device for data communication, causing the client device to receive identification information extracted from the communication request;
receiving the communication flow transmitted from the client device;
matching the header portion of the received communication flow with the header identification information in the identification information, and linking the communication flow with the identification information when both match;
determining whether the communication flow is a communication flow transmitted from the same or parent-child process when the identification information associated with the communication flow matches predetermined control information;
adding the communication flow to the communication pattern when the communication flow is a communication flow transmitted from the same or parent-child process;
9. The communication control program according to claim 8, further causing the computer to execute:
100 クライアント装置
101 プロセス
102 通信フロー送受信部
103 識別情報抽出部
104 識別情報送信部
105 エージェント
200 通信制御装置
201 識別情報受信部
202 通信フロー送受信部
203 通信フロー記憶部
204 識別情報記憶部
205 制御情報記憶部
206 照合部
207 解析部
208 通信フロー検査部
209 通信パターン記憶部
210 通信パターン抽出部
212 通信パターン検査部
213 一時情報削除部
214 不正通信パターン制御部
300 サーバ装置
100
Claims (6)
前記通信パターン抽出部で抽出された前記通信パターンと、不正とされた不正通信パターンとの照合結果に基づいて、前記通信フローの前記サーバ装置への通信制御を行う通信パターン検査部と、
前記クライアント装置において実行される前記プロセスが、前記サーバ装置に対して、データ通信の通信要求をした場合に、前記通信要求から抽出された識別情報を前記クライアント装置から受信する識別情報受信部と、
前記クライアント装置から送信された前記通信フローを受信する通信フロー送受信部と、
受信された前記通信フローのヘッダ部分と、前記識別情報におけるヘッダ識別情報とを照合し、両者が一致する場合に、前記通信フローと、前記識別情報とを紐付けする照合部と、
前記通信フローに紐付けされた前記識別情報が所定の制御情報と一致する場合に、前記通信フローを前記通信パターン抽出部に出力する通信フロー検査部と、
を備え、
前記通信パターン抽出部は、出力された前記通信フローが、前記同一または親子関係にあるプロセスから送信された通信フローである場合に、前記通信パターンに前記通信フローを追加し、
前記識別情報は、前記クライアント装置を識別するクライアント識別情報、前記ヘッダ識別情報、及び、前記プロセスを識別するプロセス識別情報を含み、
前記所定の制御情報は、前記通信フローを前記通信パターン抽出部に出力する通信パターン検査、前記通信フローを前記サーバ装置に送信する許可、及び、前記通信フローを削除する破棄を含む、
通信制御装置。 extracting, as a communication pattern, a plurality of communication flows transmitted from the same or parent-child process among a plurality of communication flows transmitted from a process executed in a client device that communicates with a server device; a communication pattern extraction unit;
a communication pattern inspection unit that controls communication of the communication flow to the server device based on a result of matching between the communication pattern extracted by the communication pattern extraction unit and the fraudulent communication pattern determined to be fraudulent;
an identification information receiving unit configured to receive, from the client device, identification information extracted from the communication request when the process executed in the client device requests the server device for data communication;
a communication flow transmitting/receiving unit that receives the communication flow transmitted from the client device;
a collation unit for collating a header portion of the received communication flow with header identification information in the identification information, and linking the communication flow with the identification information when both match;
a communication flow inspection unit that outputs the communication flow to the communication pattern extraction unit when the identification information linked to the communication flow matches predetermined control information;
with
The communication pattern extracting unit adds the communication flow to the communication pattern when the output communication flow is a communication flow transmitted from the same or parent-child process,
the identification information includes client identification information that identifies the client device, the header identification information, and process identification information that identifies the process;
The predetermined control information includes communication pattern inspection for outputting the communication flow to the communication pattern extraction unit, permission for transmitting the communication flow to the server device, and discard for deleting the communication flow.
Communications controller.
前記所定の制御情報は、前記クライアント識別情報、前記ヘッダ識別情報、前記プロセス識別情報、及び、前記データ識別情報を含む、
請求項1に記載の通信制御装置。 further comprising an analysis unit that extracts data identification information from the data portion of the communication flow;
the predetermined control information includes the client identification information, the header identification information, the process identification information, and the data identification information;
The communication control device according to claim 1 .
抽出された前記通信パターンと、不正とされた不正通信パターンとの照合結果に基づいて、前記通信フローの前記サーバ装置への通信制御を行うステップと、
前記クライアント装置において実行される前記プロセスが、前記サーバ装置に対して、データ通信の通信要求をした場合に、前記通信要求から抽出された識別情報を前記クライアント装置から受信するステップと、
前記クライアント装置から送信された前記通信フローを受信するステップと、
受信された前記通信フローのヘッダ部分と、前記識別情報におけるヘッダ識別情報とを照合し、両者が一致する場合に、前記通信フローと、前記識別情報とを紐付けするステップと、
前記通信フローに紐付けされた前記識別情報が所定の制御情報と一致する場合に、前記通信フローが、前記同一または親子関係にあるプロセスから送信された前記通信フローであるか判断するステップと、
前記通信フローが、前記同一または親子関係にあるプロセスから送信された前記通信フローである場合に、前記通信パターンに前記通信フローを追加するステップと、
を備え、
前記識別情報は、前記クライアント装置を識別するクライアント識別情報、前記ヘッダ識別情報、及び、前記プロセスを識別するプロセス識別情報を含み、
前記所定の制御情報は、前記通信フローを前記通信パターンとして抽出する通信パターン検査、前記通信フローを前記サーバ装置に送信する許可、及び、前記通信フローを削除する破棄を含む、
通信制御方法。 extracting, as a communication pattern, a plurality of communication flows transmitted from the same or parent-child process among a plurality of communication flows transmitted from a process executed in a client device that communicates with a server device; a step;
a step of controlling communication of the communication flow to the server device based on the result of matching the extracted communication pattern with the fraudulent communication pattern determined to be fraudulent;
a step of receiving, from the client device, identification information extracted from the communication request when the process executed in the client device requests the server device for data communication;
receiving the communication flow sent from the client device;
a step of collating the header portion of the received communication flow with the header identification information in the identification information, and linking the communication flow with the identification information when they match;
determining whether the communication flow is the communication flow transmitted from the same or parent-child process when the identification information associated with the communication flow matches predetermined control information;
adding the communication flow to the communication pattern if the communication flow is the communication flow transmitted from the same or parent-child process;
with
the identification information includes client identification information that identifies the client device, the header identification information, and process identification information that identifies the process;
The predetermined control information includes communication pattern inspection for extracting the communication flow as the communication pattern, permission for transmitting the communication flow to the server device, and discard for deleting the communication flow.
Communication control method.
前記所定の制御情報は、前記クライアント識別情報、前記ヘッダ識別情報、前記プロセス識別情報、及び、前記データ識別情報を含む、 the predetermined control information includes the client identification information, the header identification information, the process identification information, and the data identification information;
請求項3に記載の通信制御方法。 The communication control method according to claim 3.
抽出させた前記通信パターンと、不正とされた不正通信パターンとの照合結果に基づいて、前記通信フローの前記サーバ装置への通信制御を行わせ、
前記クライアント装置において実行される前記プロセスが、前記サーバ装置に対して、データ通信の通信要求をした場合に、前記通信要求から抽出された識別情報を前記クライアント装置から受信させ、
前記クライアント装置から送信された前記通信フローを受信させ、
受信させた前記通信フローのヘッダ部分と、前記識別情報におけるヘッダ識別情報とを照合させ、両者が一致する場合に、前記通信フローと、前記識別情報とを紐付けさせ、
前記通信フローに紐付けさせた前記識別情報が所定の制御情報と一致する場合に、前記通信フローが、前記同一または親子関係にあるプロセスから送信された通信フローであるか判断させ、
前記通信フローが、前記同一または親子関係にあるプロセスから送信された通信フローである場合に、前記通信パターンに前記通信フローを追加させる、
ことコンピュータに実行させる通信制御プログラムであって、
前記識別情報は、前記クライアント装置を識別するクライアント識別情報、前記ヘッダ識別情報、及び、前記プロセスを識別するプロセス識別情報を含み、
前記所定の制御情報は、前記通信フローを前記通信パターンとして抽出する通信パターン検査、前記通信フローを前記サーバ装置に送信する許可、及び、前記通信フローを削除する破棄を含む、
通信制御プログラム。 extracting, as a communication pattern, a plurality of communication flows transmitted from the same process or processes having a parent-child relationship among a plurality of communication flows transmitted from a process executed in a client device that communicates with a server device;
Controlling communication of the communication flow to the server device based on the result of matching the extracted communication pattern with the fraudulent communication pattern ,
when the process executed in the client device requests the server device for data communication, causing the client device to receive identification information extracted from the communication request;
receiving the communication flow transmitted from the client device;
matching the header portion of the received communication flow with the header identification information in the identification information, and linking the communication flow with the identification information when both match;
determining whether the communication flow is a communication flow transmitted from the same or parent-child process when the identification information associated with the communication flow matches predetermined control information;
adding the communication flow to the communication pattern when the communication flow is a communication flow transmitted from the same or parent-child process;
A communication control program to be executed by a computer,
the identification information includes client identification information that identifies the client device, the header identification information, and process identification information that identifies the process;
The predetermined control information includes communication pattern inspection for extracting the communication flow as the communication pattern, permission for transmitting the communication flow to the server device, and discard for deleting the communication flow.
Communication control program.
前記所定の制御情報は、前記クライアント識別情報、前記ヘッダ識別情報、前記プロセス識別情報、及び、前記データ識別情報を含む、 the predetermined control information includes the client identification information, the header identification information, the process identification information, and the data identification information;
請求項5に記載の通信制御プログラム。 The communication control program according to claim 5.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019020272A JP7206980B2 (en) | 2019-02-07 | 2019-02-07 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2019020272A JP7206980B2 (en) | 2019-02-07 | 2019-02-07 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2020129162A JP2020129162A (en) | 2020-08-27 |
| JP7206980B2 true JP7206980B2 (en) | 2023-01-18 |
Family
ID=72174592
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2019020272A Active JP7206980B2 (en) | 2019-02-07 | 2019-02-07 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP7206980B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2023006953A (en) * | 2021-07-01 | 2023-01-18 | サイエンスパーク株式会社 | Malware detection method, electronic computer, program, and its recording medium |
| CN116668372B (en) * | 2023-08-01 | 2023-11-03 | 腾讯科技(深圳)有限公司 | Flow control method and related device |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006119754A (en) | 2004-10-19 | 2006-05-11 | Fujitsu Ltd | Network type virus activity detection program, processing method and system |
| JP2006304108A (en) | 2005-04-22 | 2006-11-02 | Ntt Communications Kk | Log total support device, log total support system, log total support program, and log total support method |
| JP2011053893A (en) | 2009-09-01 | 2011-03-17 | Hitachi Ltd | Illicit process detection method and illicit process detection system |
| WO2016147944A1 (en) | 2015-03-18 | 2016-09-22 | 日本電信電話株式会社 | Device for detecting terminal infected by malware, system for detecting terminal infected by malware, method for detecting terminal infected by malware, and program for detecting terminal infected by malware |
-
2019
- 2019-02-07 JP JP2019020272A patent/JP7206980B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2006119754A (en) | 2004-10-19 | 2006-05-11 | Fujitsu Ltd | Network type virus activity detection program, processing method and system |
| JP2006304108A (en) | 2005-04-22 | 2006-11-02 | Ntt Communications Kk | Log total support device, log total support system, log total support program, and log total support method |
| JP2011053893A (en) | 2009-09-01 | 2011-03-17 | Hitachi Ltd | Illicit process detection method and illicit process detection system |
| WO2016147944A1 (en) | 2015-03-18 | 2016-09-22 | 日本電信電話株式会社 | Device for detecting terminal infected by malware, system for detecting terminal infected by malware, method for detecting terminal infected by malware, and program for detecting terminal infected by malware |
Also Published As
| Publication number | Publication date |
|---|---|
| JP2020129162A (en) | 2020-08-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11503044B2 (en) | Method computing device for detecting malicious domain names in network traffic | |
| RU2680736C1 (en) | Malware files in network traffic detection server and method | |
| US12432225B2 (en) | Inline malware detection | |
| US8893278B1 (en) | Detecting malware communication on an infected computing device | |
| US8978137B2 (en) | Method and apparatus for retroactively detecting malicious or otherwise undesirable software | |
| US11636208B2 (en) | Generating models for performing inline malware detection | |
| RU2677361C1 (en) | Method and system of decentralized identification of malware programs | |
| US10757135B2 (en) | Bot characteristic detection method and apparatus | |
| JP6408395B2 (en) | Blacklist management method | |
| WO2017086837A1 (en) | Method for detecting malicious programs and elements | |
| US12430437B2 (en) | Specific file detection baked into machine learning pipelines | |
| US20240028707A1 (en) | In-memory scan for threat detection with binary instrumentation backed generic unpacking, decryption, and deobfuscation | |
| JP7206980B2 (en) | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD AND COMMUNICATION CONTROL PROGRAM | |
| JP6943313B2 (en) | Log analysis system, analysis equipment, method, and analysis program | |
| CN114072798A (en) | Inline Malware Detection | |
| US11126722B1 (en) | Replacement of e-mail attachment with URL | |
| CN117955739A (en) | A method, device, computing device and storage medium for identifying interface security | |
| JP6635029B2 (en) | Information processing apparatus, information processing system, and communication history analysis method | |
| JP7067187B2 (en) | Communication control device, communication control method, and program | |
| US20250227116A1 (en) | Systems and methods for structural similarity based hashing | |
| JP5986695B2 (en) | Information processing apparatus, processing method, and program | |
| CN111641611A (en) | Data processing method, device and system and computer storage medium | |
| JP2020107335A (en) | Information processing system, server device, control method of server device, and program | |
| KR20140119379A (en) | Reward system and method for uploading malware |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20220107 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20220914 |
|
| A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20220920 |
|
| A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20221024 |
|
| 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: 20221206 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20221219 |
|
| R151 | Written notification of patent or utility model registration |
Ref document number: 7206980 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |