JP7310936B2 - 検査装置、検査方法及びプログラム - Google Patents

検査装置、検査方法及びプログラム Download PDF

Info

Publication number
JP7310936B2
JP7310936B2 JP2021573628A JP2021573628A JP7310936B2 JP 7310936 B2 JP7310936 B2 JP 7310936B2 JP 2021573628 A JP2021573628 A JP 2021573628A JP 2021573628 A JP2021573628 A JP 2021573628A JP 7310936 B2 JP7310936 B2 JP 7310936B2
Authority
JP
Japan
Prior art keywords
expression
signature
nfa
determination
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
Application number
JP2021573628A
Other languages
English (en)
Other versions
JPWO2021152647A1 (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 JPWO2021152647A1 publication Critical patent/JPWO2021152647A1/ja
Application granted granted Critical
Publication of JP7310936B2 publication Critical patent/JP7310936B2/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/60Protecting data
    • G06F21/64Protecting data integrity, e.g. using checksums, certificates or signatures
    • 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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • 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/0245Filtering by information in the payload
    • 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/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • 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/1433Vulnerability analysis

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)

Description

本発明は、検査装置、検査方法及びプログラムに関する。
従来、ネットワークの通信に関するセキュリティオペレーションを行う分野において、セキュリティ装置のセキュリティ設定(アクセスリスト、シグニチャ)を設計、適用する上で、保護対象となるサービスへのユーザ入力に対して、セキュリティ設定が誤検知するかを検査する技術(誤検知有無検査技術)、及び複数のセキュリティ装置にまたがって、セキュリティ設定の重複を検出する技術(セキュリティ設定重複検出技術)が有る。
従来の誤検知有無検査技術には、一定期間においてモニタリングを行い、誤検知の影響が極小であることを確認したうえで遮断を実行するようにセキュリティ装置の設定を変更するステージング方式や、実際に保護対象となるサービスに対して、脆弱性検査を行い、誤検知がないかを確認する脆弱性検査方式が有る。
また、セキュリティ設定重複検出技術については、ファイアーウォールのアクセスリスト重複検知技術が有る(非特許文献1)。
A.Liu et al., "Firewall Compressor: An Algorithm for Minimizing Firewall Policies," the 27th Annual IEEE Conference on Computer Communications (INFOCOM), pages 176-180, April, IEEE, 2008.
しかしながら、従来の誤検知有無検査技術(ステージング方式、脆弱性検査方式)では、ユーザからの入力全てに対して誤検知がないことを判断できないという網羅性の問題、及び検査においては実際の通信を使用して確認が行われるため、数日~数か月の期間を要するという検査時間の問題がある。
また、セキュリティ設定重複検出技術については、セキュリティ設定の一部(アクセスリスト)のみに適用されており、シグニチャについては考慮されていない。
本発明は、上記の点に鑑みてなされたものであって、セキュリティの確保に関連する作業を支援することを目的とする。
そこで上記課題を解決するため、検査装置は、第1のシグニチャの正規表現を非決定性有限オートマトンによる第1の表現に変換し、第2のシグニチャの正規表現を非決定性有限オートマトンによる第2の表現に変換する変換部と、前記第1の表現と前記第2の表現とについて包含関係の有無を判定する判定部と、前記判定部による判定の結果が、前記第1の表現と前記第2の表現とが包含関係を有することを示す場合、前記第1のシグニチャ及び前記第2のシグニチャが前記包含関係を有することを示す情報を出力する出力部と、を有する。
セキュリティの確保に関連する作業を支援することができる。
本発明の実施の形態における検査装置10のハードウェア構成例を示す図である。 本発明の実施の形態における検査装置10の機能構成例を示す図である。 シグニチャ同士の重複の検出方法を説明するための図である。 シグニチャによって誤検知されうるユーザ入力の有無の判定方法を説明するための図である。 重複検出部12が実行する処理手順の一例を説明するためのフローチャートである。 誤検知有無検査部13が実行する処理手順の一例を説明するためのフローチャートである。 2つのNFAについて排他関係有無を判定するための計算処理の一例を説明するためのフローチャートである。 2つのNFAについて排他関係有無を判定するための計算処理の一例の説明を補足するための図である。
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態における検査装置10のハードウェア構成例を示す図である。図1の検査装置10は、それぞれバスBで相互に接続されているドライブ装置100、補助記憶装置102、メモリ装置103、CPU104、及びインタフェース装置105等を有する。
検査装置10での処理を実現するプログラムは、CD-ROM等の記録媒体101によって提供される。プログラムを記憶した記録媒体101がドライブ装置100にセットされると、プログラムが記録媒体101からドライブ装置100を介して補助記憶装置102にインストールされる。但し、プログラムのインストールは必ずしも記録媒体101より行う必要はなく、ネットワークを介して他のコンピュータよりダウンロードするようにしてもよい。補助記憶装置102は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。
メモリ装置103は、プログラムの起動指示があった場合に、補助記憶装置102からプログラムを読み出して格納する。CPU104は、メモリ装置103に格納されたプログラムに従って検査装置10に係る機能を実行する。インタフェース装置105は、ネットワークに接続するためのインタフェースとして用いられる。
図2は、本発明の実施の形態における検査装置10の機能構成例を示す図である。図2において、検査装置10は、入力受付部11、重複検出部12、誤検知有無検査部13及び結果出力部14等を有する。これら各部は、検査装置10にインストールされた1以上のプログラムが、CPU104に実行させる処理により実現される。検査装置10は、また、入力データ記憶部15を利用する。入力データ記憶部15は、例えば、補助記憶装置102、又は検査装置10にネットワークを介して接続可能な記憶装置等を用いて実現可能である。
入力受付部11は、或るネットワークにおける複数の転送装置、複数のセキュリティ装置及び1以上のクラウド基盤装置等から、それぞれの装置に設定されているセキュリティ設定情報の入力を、例えば、ネットワークを介して受け付け、受け付けたセキュリティ設定情報を入力データ記憶部15に保存する。入力受付部11は、また、当該ネットワークのクラウド基盤装置において起動されているサーバ上において動作するサービスに関するユーザ入力リストの入力を、例えば、検査装置10の管理者から受け付け、入力データ記憶部15に保存する。
ユーザ入力リストとは、サービスのユーザによる入力によってユーザ端末からサービスに対して送信されうるリクエスト(以下、「ユーザ入力」という。)の集合のリストである。例えば、サービスがWebサービスであれば、ユーザ入力は、HTTPリクエストの形式を有する。一例として、Webサービスに対するログイン画面に対してユーザID及びパスワードの入力に応じてユーザ端末からWebサービスに対して送信されるリクエストは、以下のような形式を有する。
GET http://example.com/login.php?id=[userin-put]&password=[user-input] HTTP/1.1
ここで、[userin-put]の部分は、ユーザによって入力される可変部分である。ユーザ入力リストを構成する各ユーザ入力では、このような可変な部分が正規表現に置換されている。例えば、Webサービスの仕様としてユーザID及びパスワードについて、半角英数字8文字以上という入力制限が課されている場合、ユーザの入力部分が当該入力制限に従った正規表現に置き換えられて、下記のようにユーザ入力が作成される。
GET http:\/\/example.com\/login.php\?id=\w{8,}\&password=\w{8,} HTTP\/1.1
当該ユーザ入力では、元のリクエストの[user-input]が「\w{8,}」に置換されている。ここで「\w」は、正規表現において特別な意味を有するメタ文字と呼ばれる記号であり、半角英数字の任意の1文字を意味する。したがって、「\w{8,}」は、半角英数字の任意の8文字を意味する。また、当該ユーザ入力では、元のリクエストの「/」、「?」及び「&」の前に「\」が付与されている。当該「\」は、「/」、「?」及び「&」が正規表現におけるメタ文字であるところ、当該ユーザ入力においては、通常の文字として解釈されるようにするため(すなわち、メタ文字として解釈されるのを回避するため)の機能を有する。入力受付部11は、管理者によってこのような形式に変換されたユーザ入力のリスト(すなわち、ユーザ入力リスト)の入力を受け付け、当該ユーザ入力リストを入力データ記憶部15に保存する。
一方、セキュリティ設定情報とは、アクセスリスト又はシグニチャ等である。アクセスリストとは、ACL(Access Control List)とも呼ばれ、送信元及び宛先を特定する情報によって通信の許否を示す情報のリストである。シグニチャとは、通信における攻撃のパターンを示すテキストデータである。シグニチャは、当初から正規表現によって設定される場合もあれば、異なる形式によって設定される場合も有る。後者の場合、入力受付部11は、管理者によって正規表現に変換された後のシグニチャの入力を受け付ける。したがって、入力データ記憶部15に記憶されるシグニチャは、全て正規表現の形式を有する。
重複検出部12は、入力データ記憶部15に記憶されたセキュリティ設定情報同士を比較し、重複する(重複部分を有する)設定を検出する。重複検出部12は、検出した結果を結果出力部14へ出力する。アクセスリスト同士の重複の検出については公知技術が用いられればよい。シグニチャ同士の重複の検出については図3に示されるように行われる。
図3は、シグニチャ同士の重複の検出方法を説明するための図である。図3に示されるように、重複検出部12は、或るセキュリティ装置等に設定されているセキュリティ設定情報Aに含まれる正規表現のシグニチャと、別のセキュリティ装置等に設定されているセキュリティ設定情報Bに含まれる正規表現のシグニチャとのそれぞれを、非決定性有限オートマトン(Non-deterministicFiniteAutomaton(以下「NFA」という。))による表現に変換する。図3では、セキュリティ設定情報Aに含まれるシグニチャのNFAへの変換結果がNFAとして表記され、セキュリティ設定情報Bに含まれるシグニチャのNFAへの変換結果がNFAとして表記されている。重複検出部12は、NFAとNFAとの比較に基づいて、2つのシグニチャの包含関係の有無を判定する。重複検出部12は、包含関係が有れば、2つのシグニチャに重複が有ると判定する。
誤検知有無検査部13は、ユーザ入力リストとシグニチャとを比較し、シグニチャによって攻撃として誤検知されうるユーザ入力の有無を検査(判定)する。誤検知有無検査部13は、検査(判定)の結果を結果出力部14へ出力する。
図4は、シグニチャによって誤検知されうるユーザ入力の有無の判定方法を説明するための図である。図4に示されるように、誤検知有無検査部13は、或るセキュリティ装置等に設定されているユーザ入力リストAに含まれる正規表現のユーザ入力と、別のセキュリティ装置等に設定されているセキュリティ設定情報Bに含まれる正規表現のシグニチャとのそれぞれを、NFAによる表現に変換する。図4では、ユーザ入力リストAに含まれるユーザ入力のNFAへの変換結果がNFAとして表記され、セキュリティ設定情報Bに含まれるシグニチャのNFAへの変換結果がNFAとして表記されている。誤検知有無検査部13は、NFAとNFAとの比較に基づいて、当該ユーザ入力と当該シグニチャとに排他関係が有るか否かを判定する。誤検知有無検査部13は、排他関係が無ければ、当該シグニチャによって当該ユーザ入力が誤検知されると判定する。
結果出力部14は、重複検出部12及び誤検知有無検査部13から出力された情報を、例えば、セキュリティオペレータ等が認識可能な形態で出力する。表示装置への表示、ファイルへの出力、電子メールでの送信等が、結果出力部14による出力の一例として挙げられる。
以下、検査装置10が実行する処理手順について説明する。図5は、重複検出部12が実行する処理手順の一例を説明するためのフローチャートである。
ステップS101において、重複検出部12は、検査対象とされたサーバ又はサービスに関係するセキュリティ設定情報Aに含まれるシグニチャリストsig=[a,a,…,a]と、当該サーバ又は当該サービスに関係するセキュリティ設定情報Bに含まれるシグニチャリストsig=[b,b,…,b]とを入力データ記憶部15から取得する。ここで、セキュリティ設定情報Aとは、或るセキュリティ装置又は転送装置から取得されたセキュリティ設定情報をいい、セキュリティ設定情報Bとは、別のセキュリティ装置又は別の転送装置から取得されたセキュリティ設定情報をいう。
続いて、重複検出部12は、変数iに1を代入し(S102)、変数jに1を代入する(S103)。変数iは、シグニチャリストsigに含まれる各シグニチャを区別するための変数である。変数jは、シグニチャリストsigに含まれる各シグニチャを区別するための変数である。
続いて、重複検出部12は、シグニチャa,(1≦i≦m)の正規表現をNFAによる表現に変換する(S104)。以下、シグニチャaの正規表現のNFAによる表現をNFAaiと表記する。
続いて、重複検出部12は、シグニチャb,(1≦j≦n)の正規表現をNFAによる表現に変換する(S105)。以下、シグニチャbの正規表現のNFAによる表現をNFAbjと表記する。
続いて、重複検出部12は、NFAai及びNFAbjについて包含関係の有無を判定するための計算処理を実行する(S106)。当該計算処理は、公知技術(例えば、特開2006-185176号公報等)に基づいて行われればよい。
計算処理の結果が包含関係が有ることを示す場合(すなわち、NFAai⊆NFAbj、又はNFAbj⊆NFAaiが成立する場合)(S107でYes)、シグニチャaはシグニチャbと重複しているため、重複検出部12は、シグニチャa及びシグニチャbのペアと共に、当該ペアに包含関係が有ること(重複が有ること)を示す情報を結果出力部14へ出力する(S108)。一方、計算処理の結果が包含関係が無いことを示す場合(S107でNo)、重複検出部12は、シグニチャa及びシグニチャbのペアと共に、当該ペアに包含関係がないことを示す情報を結果出力部14へ出力する(S109)。なお、ステップS109は、実行されなくてもよい。
続いて、重複検出部12は、変数jの値がn以上であるか否かを判定する(S110)。jがn未満である場合(S110でNo)、重複検出部12は、jに1を加算して(S111)、ステップS104以降を繰り返す。jがn以上である場合(S110でYes)、重複検出部12は、変数iの値がm以上であるか否かを判定する(S112)。iがm未満である場合(S112でNo)、重複検出部12は、iに1を加算して(S113)、ステップS103以降を繰り返す。iがm以上になると(S113でYes)、重複検出部12は、処理を終了する。
なお、検査対象のサーバ又はサービスに関係するセキュリティ情報が設定されたセキュリティ装置又は転送装置が3台以上有る場合、3台以上の装置の全ての組み合わせごとに当該組み合わせに係る2つのシグニチャリストについて、図5の処理手順が実行される。
図6は、誤検知有無検査部13が実行する処理手順の一例を説明するためのフローチャートである。
ステップS201において、誤検知有無検査部13は、検査対象とされたサーバ又はサービスに関係するユーザ入力リストinp=[a,a,…,a]と、当該サーバ又は当該サービスに関係するセキュリティ設定Bに含まれるシグニチャリストsig=[b,b,…,b]とを入力データ記憶部15から取得する。
続いて、誤検知有無検査部13は、変数iに1を代入し(S202)、変数jに1を代入する(S203)。変数iは、ユーザ入力リストinpに含まれる各ユーザ入力を区別するための変数である。変数jは、シグニチャリストsigに含まれる各シグニチャを区別するための変数である。
続いて、誤検知有無検査部13は、ユーザ入力a,(1≦i≦m)の正規表現をNFAによる表現に変換する(S204)。以下、ユーザ入力aの正規表現のNFAによる表現をNFAaiと表記する。
続いて、誤検知有無検査部13は、シグニチャb,(1≦j≦n)の正規表現をNFAによる表現に変換する(S205)。以下、シグニチャbの正規表現のNFAによる表現をNFAbjと表記する。
続いて、誤検知有無検査部13は、NFAai及びNFAbjについて排他関係の有無を判定するための計算処理を実行する(S206)。当該計算処理において、誤検知有無検査部13は、NFAaiとNFAbjとの積オートマトンを生成し、当該積オートマトンに最終状態が有るか否かに基づいて、排他関係の有無を判定する。誤検知有無検査部13は、当該積オートマトンにおいて最終状態が無い場合、は排他関係が有ると判定し、最終状態が有る場合、排他関係は無いと判定する。
計算処理の結果が排他関係が無いことを示す場合(すなわち、NFAai⊆NFAbj が成立しない場合)(S207でYes)、ユーザ入力aはシグニチャbによって誤検知されるため、誤検知有無検査部13は、ユーザ入力a及びシグニチャbのペアと共に、当該ペアに包含関係が有ること(誤検知の可能性が有ること)を示す情報を結果出力部14へ出力する(S208)。一方、計算処理の結果が排他関係が有ることを示す場合(すなわち、NFAai⊆NFAbj が成立する場合)(S207でNo)、誤検知有無検査部13は、ユーザ入力a及びシグニチャbのペアと共に、当該ペアに包含関係が無いこと(誤検知の可能性が無いこと)を示す情報を結果出力部14へ出力する(S209)。
続いて、誤検知有無検査部13は、変数jの値がn以上であるか否かを判定する(S210)。jがn未満である場合(S210でNo)、誤検知有無検査部13は、jに1を加算して(S211)、ステップS204以降を繰り返す。jがn以上である場合(S210でYes)、誤検知有無検査部13は、変数iの値がm以上であるか否かを判定する(S212)。iがm未満である場合(S212でNo)、誤検知有無検査部13は、iに1を加算して(S213)、ステップS203以降を繰り返す。iがm以上になると(S213でYes)、誤検知有無検査部13は、処理を終了する。
なお、検査対象のサーバ又はサービスに関係するセキュリティ情報が設定されたセキュリティ装置又は転送装置が3台以上有る場合、3台以上の装置の全ての組み合わせごとに当該組み合わせに係るユーザ入力リスト及びシグニチャリストについて、図6の処理手順が実行される。
続いて、ステップS206の詳細について説明する。図7は、2つのNFAについて排他関係有無を判定するための計算処理の一例を説明するためのフローチャートである。
ステップS301において、誤検知有無検査部13は、比較対象の2つのNFAのそれぞれについて、初期状態の集合を生成する。その結果、一方のNFA(以下、「NFA」という。)の初期状態の集合と、他方のNFA(以下、「NFA」という。)の初期状態の集合とのペアが生成される。ここで、初期状態には、初期状態からε遷移による遷移先の状態も含まれる。
図8は、2つのNFAについて排他関係有無を判定するための計算処理の一例の説明を補足するための図である。図8の左側には、NFAとNFAとが示されている。図8のNFAにおいて、初期状態はSである。また、Sからのε遷移による遷移先の状態は、S及びSである。したがって、NFAについては、{S,S,S}が、初期状態の集合として生成される。一方、図8のNFAにおいて、初期状態はSである。また、Sからのε遷移による遷移先の状態は、S及びSである。したがって、NFAについては、{S,S,S}が、初期状態の集合として生成される。その結果、図8の例では、ステップS301において、図8に示されるペアp1([{S,S,S},{S,S,S}])が生成される。なお、ペアの表記において、左側の集合は、NFAの状態集合を示し、右側の集合は、NFAの状態集合を示す。
ステップS301に続いて、誤検知有無検査部13は、NFAの入力集合を構成する入力ごとに、最後の状態集合のペアに対する当該入力の遷移先の状態集合のペアを終了条件が満たされるまで再帰的に生成する(S302)。ここで、NFAの入力集合は、図8において「a」のみである。したがって、図8の例では、「a」が最後の状態集合のペアに入力された場合の遷移先の状態集合のペアが、所定条件が満たされるまで再帰的に生成される。
ステップS302の開始時における最後の状態集合のペアは、ペアp1である。したがって、ペアp1におけるNFAの状態集合の各状態に対してaが入力された場合の遷移先(ε遷移の遷移先も含む)の状態集合が生成され、ペアp1におけるNFAの状態集合の各状態に対してaが入力された場合の遷移先の状態集合が生成(探索)される。その結果、図8におけるペアp2が生成される。
状態集合に対するaの入力は再帰的に実行されるため、続いて、ペアp2の各状態集合に対してaが入力された場合の(ε遷移の遷移先も含む)の状態集合が生成される。その結果、図8におけるペアp3が生成される。
なお、再帰的な処理の終了条件は、「NFA側の状態集合が空集合となること、又は遷移先の状態集合のペアと同一のペアが既に出現していること」である。図8では、ペアp1においてNFA側の状態集合が空集合であるために、終了条件が満たされ、状態集合の探索が終了する。
なお、図8では、NFAの入力集合が「a」のみであるが、NFAの入力の候補は、Ascii文字で¥x00~¥xffの256文字である。したがって、仮に、入力集合を構成する入力が複数である場合、再帰的に複数の入力についてペアの階層が生成される。
ステップS302に続いて、誤検知有無検査部13は、ステップS301及びS302において生成された全てのペアの中に、NFA側の状態集合とNFA側の状態集合の双方にFinalState(最終状態)が含まれているペアが有るか否かを判定する(S303)。図8の例では、NFAの最終状態はSであり、NFAの最終状態はSである。したがって、NFA側の状態集合にSが含まれており、NFAの最終状態にSが含まれているペアの出現の有無が判定される。
該当するペアが有る場合(S303でYes)、誤検知有無検査部13は、排他関係は無いと判定する(S304)。該当するペアが無い場合(S303でNo)、誤検知有無検査部13は、排他関係は有ると判定する(S305)。
なお、ステップS302において再帰的に実行されるペアの生成(探索)は、ステップS303の条件を満たすペアが生成された時点で終了してもよい。この場合、誤検知有無検査部13は、排他関係は無いと判定すればよい。
上述したように、本実施の形態によれば、複数のシグニチャ同士について、事前に(各シグニチャの適用前に)、重複を検出することができる。また、複数のユーザ入力について、複数のシグニチャによる誤検知の有無を事前に検出することができる。したがって、セキュリティの確保に関連する作業を支援することができる。例えば、セキュリティ設定の誤検知の有無や重複の有無を短期間かつ既存より高い網羅率で検出することが可能となる。
なお、従来のセキュリティ設定重複検出技術では、アクセスリストにしか適用できなかったが、本実施の形態によれば、アクセスリストに加えてシグニチャに対しても適用可能である。
また、本実施の形態によれば、従来の誤検知有無検査技術(セキュリティ装置検証/ステージング)と比べ、ユーザ入力がとりうるが、入力上レアな入力(例えば、珍しいUserID等)にも対応可能である。
なお、本実施の形態において、重複検出部12は、請求項1の変換部及び判定部の一例である。誤検知有無検査部13は、請求項2及び3の変換部及び判定部の一例である。
以上、本発明の実施の形態について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
10 検査装置
11 入力受付部
12 重複検出部
13 誤検知有無検査部
14 結果出力部
15 入力データ記憶部
100 ドライブ装置
101 記録媒体
102 補助記憶装置
103 メモリ装置
104 CPU
105 インタフェース装置
B バス

Claims (7)

  1. 第1のシグニチャの正規表現を非決定性有限オートマトンによる第1の表現に変換し、第2のシグニチャの正規表現を非決定性有限オートマトンによる第2の表現に変換する変換部と、
    前記第1の表現と前記第2の表現とについて包含関係の有無を判定する判定部と、
    前記判定部による判定の結果が、前記第1の表現と前記第2の表現とが包含関係を有することを示す場合、前記第1のシグニチャ及び前記第2のシグニチャが前記包含関係を有することを示す情報を出力する出力部と、
    を有することを特徴とする検査装置。
  2. サービスに対するユーザ入力の正規表現を非決定性有限オートマトンによる第1の表現に変換し、シグニチャの正規表現を非決定性有限オートマトンによる第2の表現に変換する変換部と、
    前記第1の表現と前記第2の表現とについて排他関係の有無を判定する判定部と、
    前記判定部による判定の結果が、前記第1の表現と前記第2の表現とが排他関係を有さないことを示す場合、前記ユーザ入力及び前記シグニチャが排他関係を有さないことを示す情報を出力する出力部と、
    を有することを特徴とする検査装置。
  3. 前記判定部は、前記第1の表現と前記第2の表現との積オートマトンに最終状態が有るか否かに基づいて、前記排他関係の有無を判定する、
    ことを特徴とする請求項2記載の検査装置。
  4. 第1のシグニチャの正規表現を非決定性有限オートマトンによる第1の表現に変換し、第2のシグニチャの正規表現を非決定性有限オートマトンによる第2の表現に変換する変換手順と、
    前記第1の表現と前記第2の表現とについて包含関係の有無を判定する判定手順と、
    前記判定手順における判定の結果が、前記第1の表現と前記第2の表現とが包含関係を有することを示す場合、前記第1のシグニチャ及び前記第2のシグニチャが前記包含関係を有することを示す情報を出力する出力手順と、
    コンピュータが実行することを特徴とする検査方法。
  5. サービスに対するユーザ入力の正規表現を非決定性有限オートマトンによる第1の表現に変換し、シグニチャの正規表現を非決定性有限オートマトンによる第2の表現に変換する変換手順と、
    前記第1の表現と前記第2の表現とについて排他関係の有無を判定する判定手順と、
    前記判定手順における判定の結果が、前記第1の表現と前記第2の表現とが排他関係を有さないことを示す場合、前記ユーザ入力及び前記シグニチャが排他関係を有さないことを示す情報を出力する出力手順と、
    コンピュータが実行することを特徴とする検査方法。
  6. 前記判定手順は、前記第1の表現と前記第2の表現との積オートマトンに最終状態が有るか否かに基づいて、前記排他関係の有無を判定する、
    ことを特徴とする請求項5記載の検査方法。
  7. 請求項4乃至6いずれか一項記載の検査方法をコンピュータに実行させることを特徴とするプログラム。
JP2021573628A 2020-01-27 2020-01-27 検査装置、検査方法及びプログラム Active JP7310936B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2020/002671 WO2021152647A1 (ja) 2020-01-27 2020-01-27 検査装置、検査方法及びプログラム

Publications (2)

Publication Number Publication Date
JPWO2021152647A1 JPWO2021152647A1 (ja) 2021-08-05
JP7310936B2 true JP7310936B2 (ja) 2023-07-19

Family

ID=77079499

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021573628A Active JP7310936B2 (ja) 2020-01-27 2020-01-27 検査装置、検査方法及びプログラム

Country Status (3)

Country Link
US (1) US20230088671A1 (ja)
JP (1) JP7310936B2 (ja)
WO (1) WO2021152647A1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014505279A (ja) 2010-11-01 2014-02-27 エヌエスフォーカス インフォメーション テクノロジー カンパニー,リミテッド データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法
WO2014050424A1 (ja) 2012-09-25 2014-04-03 三菱電機株式会社 シグニチャ検証装置及びシグニチャ検証方法及びプログラム
JP2014186410A (ja) 2013-03-22 2014-10-02 Hitachi Systems Ltd 障害メッセージパターン定義支援システム及び障害メッセージパターン定義支援方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9426166B2 (en) * 2013-08-30 2016-08-23 Cavium, Inc. Method and apparatus for processing finite automata
US20150324457A1 (en) * 2014-05-09 2015-11-12 Dell Products, Lp Ordering a Set of Regular Expressions for Matching Against a String
US10009372B2 (en) * 2014-07-23 2018-06-26 Petabi, Inc. Method for compressing matching automata through common prefixes in regular expressions
US9972314B2 (en) * 2016-06-01 2018-05-15 Microsoft Technology Licensing, Llc No loss-optimization for weighted transducer

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014505279A (ja) 2010-11-01 2014-02-27 エヌエスフォーカス インフォメーション テクノロジー カンパニー,リミテッド データ整合デバイスおよび方法、ならびにネットワーク侵入検知デバイスおよび方法
WO2014050424A1 (ja) 2012-09-25 2014-04-03 三菱電機株式会社 シグニチャ検証装置及びシグニチャ検証方法及びプログラム
JP2014186410A (ja) 2013-03-22 2014-10-02 Hitachi Systems Ltd 障害メッセージパターン定義支援システム及び障害メッセージパターン定義支援方法

Also Published As

Publication number Publication date
US20230088671A1 (en) 2023-03-23
WO2021152647A1 (ja) 2021-08-05
JPWO2021152647A1 (ja) 2021-08-05

Similar Documents

Publication Publication Date Title
US6880087B1 (en) Binary state machine system and method for REGEX processing of a data stream in an intrusion detection system
US9514246B2 (en) Anchored patterns
US8533824B2 (en) Resisting the spread of unwanted code and data
WO2014112185A1 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
WO2020004315A1 (ja) 異常検知装置、および、異常検知方法
JPWO2004077294A1 (ja) 不正処理判定方法、データ処理装置、コンピュータプログラム、及び記録媒体
WO2003100619A1 (fr) Dispositif, programme et procede de detection d'acces non autorise
JP5779334B2 (ja) 出力制御装置、出力制御プログラム、出力制御方法および出力制御システム
JP2007047884A (ja) 情報処理システム
CN110929259A (zh) 进程安全验证白名单生成方法、装置
US11550920B2 (en) Determination apparatus, determination method, and determination program
JP2008539482A (ja) クライアントをネットワークに接続する方法、システム、及びプログラム製品
JP5868515B2 (ja) シグニチャ検証装置及びシグニチャ検証方法及びプログラム
JP7310936B2 (ja) 検査装置、検査方法及びプログラム
CN114143079B (zh) 包过滤策略的验证装置及方法
EP3545658B1 (en) Evaluation and generation of a whitelist
JP7052870B2 (ja) 仮説推論装置、仮説推論方法、及びプログラム
US20210385235A1 (en) Security analysis assistance apparatus, security analysis assistance method, and computer-readable recording medium
KR101079817B1 (ko) 시그니처 자동생성 시스템을 위한 문자열 포함성 결정장치 및 방법
JP6053450B2 (ja) 情報処理装置、方法およびプログラム
JP6989781B2 (ja) 検査支援装置、検査支援方法、及び検査支援プログラム
JP6760884B2 (ja) 生成システム、生成方法及び生成プログラム
CN115499222A (zh) 恶意请求检测模型的训练方法、恶意请求识别方法及设备
CN117454383A (zh) 一种漏洞分析方法及相关装置
JP2002041173A (ja) プログラムファイル認証方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220526

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230404

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230524

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230619

R150 Certificate of patent or registration of utility model

Ref document number: 7310936

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150