JP4488074B2 - パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法 - Google Patents

パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法 Download PDF

Info

Publication number
JP4488074B2
JP4488074B2 JP2008031477A JP2008031477A JP4488074B2 JP 4488074 B2 JP4488074 B2 JP 4488074B2 JP 2008031477 A JP2008031477 A JP 2008031477A JP 2008031477 A JP2008031477 A JP 2008031477A JP 4488074 B2 JP4488074 B2 JP 4488074B2
Authority
JP
Japan
Prior art keywords
data
pattern
information processing
pattern detection
input
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.)
Expired - Fee Related
Application number
JP2008031477A
Other languages
English (en)
Other versions
JP2009193203A (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.)
NEC Corp
Original Assignee
NEC 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 NEC Corp filed Critical NEC Corp
Priority to JP2008031477A priority Critical patent/JP4488074B2/ja
Priority to US12/366,781 priority patent/US20090204613A1/en
Publication of JP2009193203A publication Critical patent/JP2009193203A/ja
Application granted granted Critical
Publication of JP4488074B2 publication Critical patent/JP4488074B2/ja
Expired - Fee Related 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/56Computer malware detection or handling, e.g. anti-virus arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法に関する。
特許文献1は、ウィンドウのサイズに対応したセルパターンを備えるマルチウィンドウ表示装置を開示する。特許文献2は、情報処理装置に接続されて、ディスクに格納されたファイルのウィルスチェックを行う記憶装置を開示する。特許文献3は、バッファされたCPUへの入力データとパターンデータを比較してウィルスを検出する装置を開示する。特許文献4は、ファイルの保存要求を受けたときにそのファイルのウィルスチェックを行う装置を開示する。特許文献5は、受信データのシーケンス番号に基づいて受信デー タの連続性を監視する装置を開示する。
特開平11-095970号公報 特開平08-328846号公報 特開平06-337781号公報 特開2007-164450号公報 特開2003-169105号公報
上記の特許文献は、いずれも、情報処理装置と外部装置との間を転送される、ファイルの一部データに、ファイル種別に対応した所定パターンが有るか否かを検査して情報処理装置に通知するパターン検出装置に関するものではない。従って、情報処理装置に大きな負荷を増すことなく適切なパターン検出が出来ないという課題が有った。
本発明の目的は、上記課題を解決するパターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法を提供することにある。
本発明の一実施形態のパターン検出装置は、ファイル種別に対応したパターン情報と、情報処理装置と前記情報処理装置に接続された外部装置との間を、データに分割して転送されるファイルに属する前記データを入力する管理部と、前記データに、前記ファイルの前記ファイル種別に対応した前記パターン情報で示されるパターンが有るか否かを検査し、前記情報処理装置に通知される検査結果を報告する演算部と、を備える。
本発明の一実施形態のパターン検出プログラムは、ファイル種別に対応したパターン情報を備えたコンピュータに、情報処理装置と前記情報処理装置に接続された外部装置との間を、データに分割して転送されるファイルに属する前記データを入力する管理処理と、前記データに、前記ファイルの前記ファイル種別に対応した前記パターン情報で示されるパターンが有るか否かを検査し、前記情報処理装置に通知される検査結果を報告する演算処理と、を実行させる。
本発明の一実施形態のパターン検出方法は、ファイル種別に対応したパターン情報を備えたコンピュータが、情報処理装置と前記情報処理装置に接続された外部装置との間を、データに分割して転送されるファイルに属する前記データを入力する管理行程と、前記データに、前記ファイルの前記ファイル種別に対応した前記パターン情報で示されるパターンが有るか否かを検査し、前記情報処理装置に通知される検査結果を報告する演算行程と、を有する。
本発明によれば、情報処理装置に大きな負荷を増すことなく適切なパターン検出が出来る。
図1は、本発明の第1の実施形態のパターン検出システム10を示す。パターン検出システム10は、パターン検出装置50、情報処理装置30、および、外部装置20を包含する。本発明でいうパターンは、ウィルスチェックパターンを含む、特定のビット列、文字列パターンである。
情報処理装置30は、CPU32(Central Processing Unit)、主記憶装置33、IOC34(Input/Output Controller)、OS31(Operating System)を包含する。
外部装置20は、磁気/光等のディスク装置、半導体メモリなどの情報格納装置であり、種々のファイル種別23のファイル21を包含する。ファイル種別23はファイル21の種類であり、例えば、文書、スプレッドシート、画像、音楽のファイル21などの種類を指す。ファイル21は一つまたは複数のデータ22を包含する。データ22はヘッダ24を包含することがある。ファイル種別23はヘッダ24により判別出来る。通常、ファイル21の先頭のデータ22がヘッダ24を包含する。ほかのデータ22が包含していても良い。今後は、先頭のデータ22がヘッダ24を包含しているものとする。
OS31は、CPU32によって実行され、ファイル21を主記憶装置33に入力したり、主記憶装置33から出力したりする。OS31は、通常、ファイル21を複数のデータ22に分割して、順次入出力する。この過程で、OS31は、主記憶装置33に、並行して入出力されるファイル21毎に異なる連続した入力領域を用意し、一連のIO命令40(Input/Output命令)を作成する。OS31は、IOC34を経由して、外部装置20にIO命令40を出力し、外部装置20からデータ22や各種の通知36を入力する。OS31は、外部装置20にデータ22を出力することもある。
パターン検出装置50は、IO命令40、データ22を入力して、データ22の中に、ウィルス検出パターンなどの所定のパターンを持つ情報が含まれるか否かのチェックを行う。パターン検出装置50は、通知36を情報処理装置30に出力して、当該チェックの終了や結果を報告する。
パターン検出装置50は、IO命令40やデータ22を入力して、通知36を情報処理装置30に出力できるように情報処理装置30、外部処理装置20、または、その間のケーブルなどに接続される。具体的な接続ポート、ケーブルや接続方法は、情報処理装置30と外部装置20の入出力インターフェース等(例えば、バス構成)に依存して決定され、本発明では制限しない。
図2は、パターン検出装置50の詳細を示す。パターン検出装置50は、管理部51、制御メモリ60、演算部52、ヘッダDB53(Data Base)、パターンDB55を包含する。
管理部51や演算部52はハードウェアで実装されてもよい。コンピュータ90でもあるパターン検出装置50が、その図示しないメモリに格納されるパターン検出プログラム59を、そのプロセッサで実行して、管理部51や演算部52の機能を果たすように実装されても良い。
制御メモリ60は、管理部51と演算部52の両者からアクセスされる記憶域である。制御メモリ60は制御表61を格納する。ヘッダDB53は管理部51からアクセスされる記憶域である。ヘッダDB53はヘッダ情報54を格納する。ヘッダ情報54は、ファイル種別23ごとに一つまたは複数存在する。ヘッダ情報54は、ヘッダ24の中でファイル種別23に固有の情報を抽出したものである。
パターンDB55は演算部52からアクセスされる記憶域である。パターンDB55はパターン情報56を格納する。パターン情報56は、ファイル種別23に対応して一つ存在する。但し、あるファイル種別23に対応して、パターン情報56が存在しないこともある。パターン情報56は、検出の対象となる単一のデータ22または複数のデータ22を結合したデータ22の大きさ対応にエントリが分かれている。パターン情報56のエントリは、ある大きさに対応するものが存在しない場合もあるし、同一の大きさに対応して複数存在することもある。
図3は、IO命令40の詳細を示す。IO命令40は、メモリアドレス41、外部アドレス42、IOサイズ43、方向44、終端フラグ45を包含する。
メモリアドレス41は、データ22の転送対象となる主記憶装置33内の先頭アドレスを示す。外部アドレス42は、データ22の転送対象となる外部装置20の識別子および外部装置20内の格納域アドレス(例えば、ブロック番号)を示す。IOサイズ43は、IO命令40によって転送されるデータ22の大きさ(例えば、バイト数)を示す。方向44は、入力(読みこみ)か出力(書きこみ)の区別を示す。
終端フラグ45は、IO命令40が、あるファイル21についての一連のIO命令40の最後であることを示す。情報処理装置30が、ファイル21の入出力を行うとき、分割して入出力することが多い。ファイル21のデータ22が、外部装置20上で連続して記録されているとは限らないからである。また、一括して転送できるデータ22の大きさには上限があるからである。つまり、情報処理装置30は、あるファイル21の入出力に際し、複数のIO命令40を出力することが多いのである。終端フラグ45は、この分割した入出力の最後のIO命令40であるかどうかを示す。あるファイル21の入出力に際し、一つのIO命令40しか出力されないときは、当該IO命令40の終端フラグ45は最後であることを示している。
図4は制御表61の詳細を示す。制御表61は複数のエントリを包含する。各エントリは、使用中フラグ62、メモリアドレス41、有効サイズ63、ファイル種別23、バッファ64を包含する。
使用中フラグ62は、当該エントリが空きであるのか使用中で有るのかを示す。使用中である場合、そのエントリは一つのファイル21のために使用されている。バッファ64は、先頭から、ファイル21の一つまたは複数のデータ22を順次連続して(結合して)格納する。有効サイズ63は、データ22がバッファ64に格納されている大きさ(例えば、バイト数)を示す。
図5は、管理部51の動作を示すフローチャートである。
管理部51は、IO命令40と当該IO命令40により転送されたデータ22を入力する(S1)。管理部51は、IO命令40とデータ22の対応関係を情報処理装置30と外部装置20の入出力インターフェースに依存して認識する。例えば、IO命令40の発行と対応するデータ22の転送が逐次的に行われるのであれば、時系列で対応関係を認識する。複数のIO命令40の発行と対応するデータ22の転送が同時並行的に行われるのであれば、IOC34と同じ方法で対応関係を認識する。例えば、管理部51は、対応するIO命令40とデータ22の両者に付された共通の識別情報(IO発行識別子、メモリアドレス41、外部装置20関連のアドレス等)の同一性を判断するのである。
管理部51は、制御表61の使用中エントリから「当該エントリ内に格納されているメモリアドレス41に有効サイズ63を加えた値とIO命令40内のメモリアドレス41が一致する」ものを検索する。
検索できた場合(S2でY、すなわち、ファイル21の継続入出力時)、管理部51は、当該エントリのバッファ64にデータ22を追記し、その後、有効サイズ63にIOサイズ43を加算する(S3)。ここで、データ22の追記とは、バッファ64の有効サイズ63分以降の領域にデータ22を格納して、バッファ64に格納済みのデータ22と追記したデータ22を結合したデータ22を作成することを指す。その後、管理部51は、制御表61のエントリを指定して、演算部52にパターンチェックを依頼して、その完了を待ち合わせる(S4)。
検索できなければ(S2でN、すなわち、新たなファイル21の入出力開始時)、管理部51は、制御表61から、使用中フラグ62を参照して空きエントリを検索して(S8)、当該空きエントリの初期化を行う(S9)。具体的には、管理部51は以下を行う。
1)使用中フラグ62を使用中にセット、
2)メモリアドレス41に、IO命令40のメモリアドレス41の内容をコピー、
3)有効サイズ63に、IOサイズ43をコピー、
4)バッファ64の先頭からデータ22を格納。
次に、管理部51は、データ22にヘッダ情報54を順番にパターンマッチングさせて、マッチするヘッダ情報54のファイル種別23を取得する(SA)。このデータ22は、ファイル21の先頭データ22で有るため、ヘッダ24を包含する。なお、ヘッダ24がファイル21の先頭データ22に含まれないときは、含まれるデータ22をファイル21固有の方法で認識して、このパターンマッチングを行う。固有の方法とは、例えば、最後のデータ22の認識、特定順番のデータ22の認識などである。
その後、管理部51は、制御表61のエントリを指定して、演算部52にパターンチェックを依頼して、その完了を待ち合わせる(S4)。
演算部52からパターン検出無しが報告されると(S5でY)、管理部51はIO命令40の終端フラグ45を確認する(S6)。演算部52からパターン検出有りが報告されると(S5でN)、管理部51は、情報処理装置30に対してパターン検出の通知36を出力する(SB)。このとき管理部51は、パターンの一致を検出したパターン情報56の識別情報とファイル種別23を当該通知36に付加する。なお、このパターン検出の通知36は、演算部52が、管理部51を経由しないで直接行っても良い。当該通知36の出力後、管理部51は、IO命令40の終端フラグ45を確認する(S6)。
終端フラグ45がファイル21の最後のIO命令40を示していなければ(S6でN)、管理部51は、次のIO命令40とデータ22の処理を行う(S1)。終端フラグ45がファイル21の最後のIO命令40を示していれば(S6でY)、管理部51は、使用中フラグ62を空きにして、情報処理装置30に対して検出処理完了の通知36を出力する(S7)。その後、管理部51は、次のIO命令40とデータ22の処理を行う(S1)。
図6は、演算部52の動作を示すフローチャートである。
演算部52は、管理部51からパターンの検出を依頼されると、制御表61の指定されたエントリのファイル種別23に対応するパターン情報56を取り出す(S11)。
演算部52は、当該パターン情報56から、「有効サイズ63以下」の大きさ対応のエントリを取得する(S12)。当該大きさ対応のパターン情報56のエントリが複数取得されることもあるし、取得されないこともある。
演算部52は、取得したエントリについて順次、パターン情報56とバッファ64内に格納されているデータ22とのパターンマッチングを行う(S13)。ここで、データ22は、単一のデータ22または結合されたデータ22であり、その大きさは、有効サイズ63で示される。
取得したエントリのすべてのパターンマッチングが終了して(S14でY)、かつ、いずれかのパターンマッチングでパターン一致を検出した場合(S16でY)、演算部52はその旨を管理部51に報告する(S17)。このとき、演算部52は、一致を検出したパターン情報56エントリの識別情報(例えば、当該エントリのパターンDB55内のアドレス)、ファイル種別23等を付して報告する。パターンマッチングでパターン一致を検出しない場合(S16でN)、演算部52はその旨を管理部51に報告する(S18)。
図7は、パターン検出装置50を使用する情報処理装置30における、OS31の想定される動作フローチャート例である。ここでは、パターン情報56は、ファイル21が感染する可能性のあるウィルスを検出するための情報であるとする。すなわち、パターン検出装置50は、ウィルス検出装置として機能する。
OS31は、入力装置やアプリケーションプログラム等からファイル21の名称等を含む入力指示を受信する(S21)と、ファイル21の名称拡張子やディレクトリ等からファイル種別23を取得する(S22)。
OS31は、主記憶装置33に連続した入力領域を用意、一連のIO命令40を作成して、IOC34経由で外部装置20に対して出力する(S23)。これにより、外部装置20からIOC34に対するデータ22の転送が開始される。データ22はIOC34に転送されると共に、パターン検出装置50にも入力されてバッファ64に蓄積される。パターン検出装置50は、バッファ64内の蓄積データ22に対して、順次パターン情報56を用いたウィルス検出を行う。
OS31は、外部装置20からデータ22の転送完了の通知36が来ると(S24でY)、入力したファイル21に対して、OS31としての独自の異常検出をしても良い(S25)。パターン情報56を用いた検出方法以外にも、有効なファイル21の異常検出方法がある場合もあるからである。例えば、デジタル署名を用いた改ざん検出などが考えられる。パターン検出装置50とは別のパターンを用いたウィルス検出や異なる観点でのウィルス検出も考えられる。
ここで、正常であることが確認されると(S26でY)、OS31はパターン検出装置50の検出処理完了の通知36を待ち合わせて(S27でY)、アプリケーションプログラム等に、入力したデータ22を引き渡して(S28)処理を終了する。異常を検出した場合(S26でN)は、適切な異常対策を行って(S2K)処理を終了する。対策は、入力データ22の破棄、アプリケーションプログラムや情報処理装置30の管理者端末に対する異常報告出力などである。
OS31は、パターン検出装置50の検出処理完了の通知36を待ち合わせ中(S27でN)にパターン一致を検出した通知36を受ける(S29でY)と、当該通知36に付されたファイル種別23を取り出す(S2G)。
OS31は、これと、先に名称拡張子などから取り出したファイル種別23を比較して、同じであれば(S2HでY)、ウィルス対策を行って(S2I)処理を終了する。ウィルス対策は、入力データ22の破棄、アプリケーションプログラムや情報処理装置30の管理者端末に対する異常報告出力などである。同じでなければ(S2HでN)、OS31は、ウィルス感染可能性の報告をアプリケーションプログラムや情報処理装置30の管理者端末に出力して(S2J)処理を続行する。この場合、パターン検出装置50が、ファイル種別23を誤認識していたため、ウィルス感染の有無を断定できないからである。
OS31は、外部装置20からデータ22の転送完了の通知36を待ち合わせ中に(S24でN)、パターン一致を検出した通知36を受ける(S2AでY)と、当該通知36に付されたファイル種別23を取り出す(S2B)。
OS31は、これと、先に名称拡張子などから取り出したファイル種別23を比較して、同じであれば(S2CでY)、ウィルス対策を行って(S2D)処理を終了する。同じでなければ(S2CでN)、OS31は、ウィルス感染可能性の報告をアプリケーションプログラムや情報処理装置30の管理者端末に出力して(S2F)処理を続行する。
なお、ファイル21の入力を行う主体はOS31に限られない。OS31をロードするためのプログラム(初期プログラムローダやブートプラグラム等)が入力主体であっても良い。
本実施の形態によれば、パターン検出システム10は、情報処理装置30の負荷を大きく増加することなく、パターンチェック(例えば、ウィルスチェック)を行うことが出来る。また、パターン検出システム10は、OS31の起動前に、OS31の格納ファイル21等を対象としたにパターンチェックを行うことが出来る。その理由は、パターン検出装置50が、データ22を入力して、情報処理装置30とは別にパターンの検出を実施するからである。
また、本実施の形態によれば、パターン検出システム10は、適切にパターンチェックを行うことが出来る。その理由は、パターン検出装置50が、データ22を入力して、ファイル種別23を認識して、ファイル種別23に適したパターン情報56を用いて、パターンチェックをするからである。
また、本実施の形態によれば、パターン検出システム10は、迅速にパターンチェックを行うことが出来る。その理由は、パターン検出装置50が、データ22を順次蓄積して、ファイル21の転送途中においても、蓄積されたデータ22の有効サイズ63に適用できるパターン情報56を用いて、パターンチェックをするからである。
また、本実施の形態によれば、パターン検出システム10は、安全にパターンチェックを行うことが出来る。その理由は、パターン検出装置50が、データ22から認識したファイル種別23を情報処理装置30に報告するからである。すなわち、OS31が、パターン検出装置50が認識したファイル種別23を検証できるからである。
また、本実施の形態によれば、情報処理装置30とパターン検出装置50はパターン検出を適切に負荷分散出来る。その理由は、パターン検出装置50が、データ22の転送完了報告とは別に、パターンの検出処理完了を報告するからである。転送完了報告と検出処理完了の期間、OS31とパターン検出装置50は、並列してパターンの検出ができる。
図8は、本発明の第2の実施形態のパターン検出システム10で用いられるIO命令40の詳細を示す。本実施形態のIO命令40はファイル種別23を包含する。すなわち、OS31は、IO命令40を作成する際に、自らがファイル21の名称拡張子やディレクトリ等から取得したファイル種別23をIO命令40に包含させる(図7のS21とS22)。
本実施形態では、パターン検出装置50の管理部51は、ファイル種別23を入力したデータ22から取得するのではなく、IO命令40から取得する(図5のSA)。従って、パターン検出装置50はヘッダDB53を備える必要はない。本実施形態は、ほかの点では第1の実施形態と同じである。
本実施形態では、パターン検出装置50はファイル種別23を誤認識する可能性が無くなる。OS31がファイル種別23をパターン検出装置50に与えるからである。
図9は、本発明の第3の実施形態のパターン検出システム10を示す。第1の実施形態と異なるのは、外部装置20からの通知36は直接情報処理装置30に届かず、パターン検出装置50の管理部51を経由する点である。
本実施の形態では、管理部51は、外部装置20からデータ22の転送完了の通知36を入力しても、それをすぐには情報処理装置30に転送しない。管理部51は、演算部52のパターン検出処理が完了するのを待ち合わせてから、情報処理装置30に転送完了の通知36を転送する。
パターンを検出した場合、ファイル種別23やパターン情報56の識別情報は、転送完了の報告36に付加される。なお、管理部51は、外部装置20からデータ22の転送完了以外の通知36を入力した場合は、それをすぐに、情報処理装置30に転送する。
本実施形態では、情報処理装置30はパターン検出装置50導入に伴う外部装置20とのインターフェース変更を最小化できる。パターン検出装置50が、自らのパターン検出処理終了の通知36を外部装置20の転送完了の通知36に含ませて、情報処理装置30に報告するからである。
図10は、本発明の第4の実施形態のパターン検出システム10で用いられるパターン検出装置50の詳細を示す。本実施形態では、演算部52が複数存在し、各々が並列動作可能である。以下、個々の演算部52は、括弧付きの添え字を付けて(例えば、演算部52(1))参照する。
図11は、本実施形態の演算部52の動作を示すフローチャートである。
演算部52(1)は、管理部51からパターンチェックを依頼されると、制御表61の指定されたエントリのファイル種別23に対応するパターン情報56を取り出す(S31)。
演算部52(1)は、当該パターン情報56から、「有効サイズ63以下」の大きさ対応のエントリを取得する(S32)。当該大きさ対応のパターン情報56のエントリが複数取得されることもあるし、取得されないこともある。
演算部52(1)は、取得したエントリについて順次、バッファ64内に格納されているデータ22とのパターンマッチングをほかの演算部52(2〜n)に依頼する(S33)。即ち、演算部52(1)は、当該パターン情報56から取得したエントリが複数ある時に、パターン情報56エントリごとに、ほかの演算部(2〜n)のおのおのにパターンマッチングを依頼するのである。ここで、データ22は、単一のデータ22または結合されたデータ22であり、その大きさは、有効サイズ63で示される。
取得したエントリのすべてのパターンマッチングの依頼が終了すると(S34でY)、演算部52(1)はほかの演算部52(2〜n)すべてからの完了報告を待ち合わせる(S35でN)。待ち合わせが完了し(S35でY)、かつ、いずれかの演算部52(2〜n)のパターンマッチングでパターン一致を検出した場合(S37でY)、演算部52(1)は、その旨を管理部51に報告する(S38)。このとき、演算部52(1)は、一致を検出したパターン情報56エントリの識別情報、ファイル種別23等を付して報告する。パターンマッチングでパターン一致を検出しない場合(S37でN)、演算部52(1)はその旨を管理部51に報告する(S39)。
演算部52(2〜n)は、演算部52(1)から依頼されたパターンマッチングを各々並列に実行して(S3A)、その結果を演算部52(1)に報告する(S3B)。
本実施形態のほかの点は、第1の実施形態と同じである。
本実施の形態によれば、パターン検出システム10は、高速にパターンチェックを行うことが出来る。その理由は、パターン検出装置50が、演算部52を複数備え、並列に動作させているからである。
図12は、本発明のパターン検出装置50を示す。このパターン検出装置50は、ファイル種別23に対応したパターン情報56、管理部51、演算部52を備える。管理部51は、情報処理装置30と情報処理装置30に接続された外部装置20との間を、データ22に分割して転送されるファイル21に属するデータ22を入力する。演算部52は、データ22に、ファイル21のファイル種別23に対応したパターン情報56で示されるパターンが有るか否かを検査し、情報処理装置30に通知36がなされる検査結果を報告する。
図1は、本発明の第1の実施形態のパターン検出システム10を示す。 図2は、パターン検出装置50の詳細を示す。 図3は、IO命令40の詳細を示す。 図4は制御表61の詳細を示す。 図5は、管理部51の動作を示すフローチャートである。 図6は、演算部52の動作を示すフローチャートである。 図7は、パターン検出装置50を使用する情報処理装置30における、OS31の想定される動作フローチャート例である。 図8は、本発明の第2の実施形態のパターン検出システム10で用いられるIO命令40の詳細を示す。 図9は、本発明の第3の実施形態のパターン検出システム10を示す。 図10は、本発明の第4の実施形態のパターン検出システム10で用いられるパターン検出装置50の詳細を示す。 図11は、本実施形態の演算部52の動作を示すフローチャートである。 図12は、本発明のほかの実施形態のパターン検出装置50を示す。
符号の説明
10 パターン検出システム
20 外部装置
21 ファイル
22 データ
23 ファイル種別
30 情報処理装置
31 OS
32 CPU
33 主記憶装置
34 IOC
36 通知
40 IO命令
41 メモリアドレス
42 外部アドレス
43 IOサイズ
44 方向
45 終端フラグ
50 パターン検出装置
51 管理部
52 演算部
53 ヘッダDB
54 ヘッダ情報
55 パターンDB
56 パターン情報
59 パターン検出プログラム
60 制御メモリ
61 制御表
62 使用中フラグ
63 有効サイズ
64 バッファ

Claims (16)

  1. ファイル種別に対応して存在し、ファイルをデータに分割したときの単一のデータのサイズに対応した第1のパターン情報と、データを複数個結合した結合データのサイズに対応した第2のパターン情報と、
    情報処理装置外部装置、または、両装置間の接続路に接続されて、前記情報処理装置から前記接続路を介して前記外部装置へ、または、前記外部装置から前記接続路を介して前記情報処理装置へ転送されるデータと当該データが属するファイルのファイル種別を入力する管理部と、
    前記管理部が入力した第1の前記データに、前記管理部が入力した前記ファイル種別(入力ファイル種別)に対応した前記第1のパターン情報で示されるパターンがあるか否かの検査を実行し、前記第1の前記データと前記管理部が前記第1の前記データ入力後順次入力した1以上の第2の前記データとを結合した結合データに、前記第2のパターン情報で示されるパターンが有るか否かを検査し、前記情報処理装置に通知される検査結果を報告する演算部と、を備えるパターン検出装置。
  2. 前記入力ファイル種別は、前記管理部が入力した前記データから取得される、請求項1のパターン検出装置。
  3. 前記入力ファイル種別を、さらに、前記情報処理装置に通知する前記管理部を備えた、請求項2のパターン検出装置。
  4. 前記入力ファイル種別は、前記情報処理装置から取得される、請求項1のパターン検出装置。
  5. 前記情報処理装置が前記接続路を介して前記外部装置へ出力した、前記第1と前記第2の前記データに対応する第1と第2のIO命令を入力する前記管理部と、
    前記第1と前記第2のIO命令で指示される前記情報処理装置のメモリアドレスに基づいて、前記第1と前記第2の前記データが連続しているか否かを判断して、連続していれば前記第1と前記第2の前記データから前記結合データを作成する前記演算部を備えた、請求項1乃至4のいずれかのパターン検出装置。
  6. 請求項1ないしのいずれかのパターン検出装置と、前記情報処理装置と、前記外部装置と、を備えるパターン検出システム。
  7. ファイル種別に対応して存在し、ファイルをデータに分割したときの単一のデータのサイズに対応した第1のパターン情報と、データを複数個結合した結合データのサイズに対応した第2のパターン情報を備えたコンピュータに、
    情報処理装置外部装置、または、両装置間の接続路に接続されて、前記情報処理装置から前記接続路を介して前記外部装置へ、または、前記外部装置から前記接続路を介して前記情報処理装置へ転送されるデータと当該データが属するファイルのファイル種別を入力する管理処理と、
    前記管理処理で入力した第1の前記データに、前記管理処理で入力した前記ファイル種別(入力ファイル種別)に対応した前記第1のパターン情報で示されるパターンがあるか否かの検査を実行し、前記第1の前記データと前記管理部が前記第1の前記データ入力後順次入力した1以上の第2の前記データとを結合した結合データに、前記第2のパターン情報で示されるパターンが有るか否かを検査し、前記情報処理装置に通知される検査結果を報告する演算処理と、を実行させるパターン検出プログラム。
  8. 前記入力ファイル種別は、前記管理部が入力した前記データから取得される、請求項のパターン検出プログラム。
  9. 前記コンピュータに、前記入力ファイル種別を、さらに、前記情報処理装置に通知する前記管理処理を実行させる、請求項のパターン検出プログラム。
  10. 前記入力ファイル種別は、前記情報処理装置から取得される、、請求項のパターン検出プログラム。
  11. 前記コンピュータに、
    前記情報処理装置が前記接続路を介して前記外部装置へ出力した、前記第1と前記第2の前記データに対応する第1と第2のIO命令を入力する前記管理処理と、
    前記第1と前記第2のIO命令で指示される前記情報処理装置のメモリアドレスに基づいて、前記第1と前記第2の前記データが連続しているか否かを判断して、連続していれば前記第1と前記第2の前記データから前記結合データを作成する前記演算処理を、実行させる請求項7乃至10のいずれかのパターン検出プログラム。
  12. ファイル種別に対応して存在し、ファイルをデータに分割したときの単一のデータのサイズに対応した第1のパターン情報と、データを複数個結合した結合データのサイズに対応した第2のパターン情報を備えたコンピュータが、
    情報処理装置外部装置、または、両装置間の接続路に接続されて、前記情報処理装置から前記接続路を介して前記外部装置へ、または、前記外部装置から前記接続路を介して前記情報処理装置へ転送されるデータと当該データが属するファイルのファイル種別を入力する管理行程と、
    前記管理工程で入力した第1の前記データに、前記管理工程で入力した前記ファイル種別(入力ファイル種別)に対応した前記第1のパターン情報で示されるパターンがあるか否かの検査を実行し、前記第1の前記データと前記管理部が前記第1の前記データ入力後順次入力した1以上の第2の前記データとを結合した結合データに、前記第2のパターン情報で示されるパターンが有るか否かを検査し、前記情報処理装置に通知される検査結果を報告する演算行程と、を有するパターン検出方法。
  13. 前記入力ファイル種別は、前記管理部が入力した前記データから取得される請求項12のパターン検出方法。
  14. 前記コンピュータが、前記入力ファイル種別を、さらに、前記情報処理装置に通知する前記管理行程を有する、請求項13のパターン検出方法。
  15. 前記入力ファイル種別は、前記情報処理装置から取得される請求項12のパターン検出方法。
  16. 前記コンピュータが、
    前記情報処理装置が前記接続路を介して前記外部装置へ出力した、前記第1と前記第2の前記データに対応する第1と第2のIO命令を入力する前記管理行程と、
    前記第1と前記第2のIO命令で指示される前記情報処理装置のメモリアドレスに基づいて、前記第1と前記第2の前記データが連続しているか否かを判断して、連続していれば前記第1と前記第2の前記データから前記結合データを作成する前記演算行程を、有する請求項12乃至15のいずれかのパターン検出方法。
JP2008031477A 2008-02-13 2008-02-13 パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法 Expired - Fee Related JP4488074B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2008031477A JP4488074B2 (ja) 2008-02-13 2008-02-13 パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法
US12/366,781 US20090204613A1 (en) 2008-02-13 2009-02-06 Pattern detection apparatus, pattern detection system, pattern detection program and pattern detection method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008031477A JP4488074B2 (ja) 2008-02-13 2008-02-13 パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法

Publications (2)

Publication Number Publication Date
JP2009193203A JP2009193203A (ja) 2009-08-27
JP4488074B2 true JP4488074B2 (ja) 2010-06-23

Family

ID=40939780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008031477A Expired - Fee Related JP4488074B2 (ja) 2008-02-13 2008-02-13 パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法

Country Status (2)

Country Link
US (1) US20090204613A1 (ja)
JP (1) JP4488074B2 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8489534B2 (en) 2009-12-15 2013-07-16 Paul D. Dlugosch Adaptive content inspection
CN103034805B (zh) * 2011-09-30 2015-12-16 腾讯科技(深圳)有限公司 多引擎病毒查杀方法和装置
JP5987913B2 (ja) 2012-09-26 2016-09-07 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
US11074273B2 (en) * 2014-03-07 2021-07-27 International Business Machines Corporation Framework for continuous processing of a set of documents by multiple software applications
US10169601B2 (en) 2015-11-18 2019-01-01 American Express Travel Related Services Company, Inc. System and method for reading and writing to big data storage formats
US10360394B2 (en) 2015-11-18 2019-07-23 American Express Travel Related Services Company, Inc. System and method for creating, tracking, and maintaining big data use cases
US10445324B2 (en) * 2015-11-18 2019-10-15 American Express Travel Related Services Company, Inc. Systems and methods for tracking sensitive data in a big data environment
US10055426B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. System and method transforming source data into output data in big data environments
US10055471B2 (en) 2015-11-18 2018-08-21 American Express Travel Related Services Company, Inc. Integrated big data interface for multiple storage types
US10037329B2 (en) 2015-11-18 2018-07-31 American Express Travel Related Services Company, Inc. System and method for automatically capturing and recording lineage data for big data records
US10152754B2 (en) 2015-12-02 2018-12-11 American Express Travel Related Services Company, Inc. System and method for small business owner identification
US10055444B2 (en) 2015-12-16 2018-08-21 American Express Travel Related Services Company, Inc. Systems and methods for access control over changing big data structures
US11295326B2 (en) 2017-01-31 2022-04-05 American Express Travel Related Services Company, Inc. Insights on a data platform
US11250517B1 (en) * 2017-07-20 2022-02-15 American Express Kabbage Inc. System to automatically categorize

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5442699A (en) * 1994-11-21 1995-08-15 International Business Machines Corporation Searching for patterns in encrypted data
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
US6377953B1 (en) * 1998-12-30 2002-04-23 Oracle Corporation Database having an integrated transformation engine using pickling and unpickling of data
US6438546B1 (en) * 1999-07-09 2002-08-20 Pitney Bowes, Inc. Method of standardizing address data
US6851057B1 (en) * 1999-11-30 2005-02-01 Symantec Corporation Data driven detection of viruses
US6971019B1 (en) * 2000-03-14 2005-11-29 Symantec Corporation Histogram-based virus detection
US6785732B1 (en) * 2000-09-11 2004-08-31 International Business Machines Corporation Web server apparatus and method for virus checking
US6928555B1 (en) * 2000-09-18 2005-08-09 Networks Associates Technology, Inc. Method and apparatus for minimizing file scanning by anti-virus programs
US7216366B1 (en) * 2000-11-17 2007-05-08 Emc Corporation Storage based apparatus for antivirus
GB2394382A (en) * 2002-10-19 2004-04-21 Hewlett Packard Co Monitoring the propagation of viruses through an Information Technology network
GB2391419A (en) * 2002-06-07 2004-02-04 Hewlett Packard Co Restricting the propagation of a virus within a network
GB2401280B (en) * 2003-04-29 2006-02-08 Hewlett Packard Development Co Propagation of viruses through an information technology network
JP5118020B2 (ja) * 2005-05-05 2013-01-16 シスコ アイアンポート システムズ エルエルシー 電子メッセージ中での脅威の識別

Also Published As

Publication number Publication date
US20090204613A1 (en) 2009-08-13
JP2009193203A (ja) 2009-08-27

Similar Documents

Publication Publication Date Title
JP4488074B2 (ja) パターン検出装置、パターン検出システム、パターン検出プログラム、およびパターン検出方法
US9553889B1 (en) System and method of detecting malicious files on mobile devices
JP2018041438A (ja) ファイル中の悪意のあるコードの検出システム及び方法
US8677484B2 (en) Providing protection against unauthorized network access
US9977897B2 (en) System and method for detecting stack pivot programming exploit
KR20090052596A (ko) 악성프로그램 탐지장치 및 그 방법
JP5779334B2 (ja) 出力制御装置、出力制御プログラム、出力制御方法および出力制御システム
US20100071064A1 (en) Apparatus, systems, and methods for content selfscanning in a storage system
KR20230084584A (ko) 코드 유사성 검색
EP3113065A1 (en) System and method of detecting malicious files on mobile devices
US11366800B2 (en) System and method to automate validating media redirection in testing process
US9118625B2 (en) Anti-malware system, method of processing data in the same, and computing device
CN109033818B (zh) 终端、验证方法和计算机可读存储介质
US20190073471A1 (en) Information processing apparatus, information processing method, and computer program product
JP4668556B2 (ja) タスク管理システム
JP2013506185A (ja) ウィンドウズ・カーネル改変探知方法
US9104866B2 (en) Pattern matching engine, terminal apparatus using the same, and method thereof
JP2021528773A (ja) ランサムウェア対応の為のデータ処理方法、これを実行させるプログラム及び上記プログラムを記録したコンピュータ読取り可能な記録媒体
EP3848835A1 (en) Systems and methods for protecting against unauthorized memory dump modification
WO2018163274A1 (ja) リスク分析装置、リスク分析方法及びリスク分析プログラム
US11748482B2 (en) Information processing apparatus, and information processing method
JP5340507B2 (ja) ジャーナル管理システム
JP7524978B2 (ja) プログラム解析支援装置、プログラム解析支援方法、及びプログラム
US20230088671A1 (en) Inspection apparatus, inspection method and program
JP5270271B2 (ja) 情報処理装置、情報処理方法、プログラムおよび記録媒体

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091222

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100208

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20100322

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees