JP2009223908A - コンピュータウイルス検査装置及び半導体集積回路 - Google Patents

コンピュータウイルス検査装置及び半導体集積回路 Download PDF

Info

Publication number
JP2009223908A
JP2009223908A JP2009127137A JP2009127137A JP2009223908A JP 2009223908 A JP2009223908 A JP 2009223908A JP 2009127137 A JP2009127137 A JP 2009127137A JP 2009127137 A JP2009127137 A JP 2009127137A JP 2009223908 A JP2009223908 A JP 2009223908A
Authority
JP
Japan
Prior art keywords
pattern
data
collation
circuit
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2009127137A
Other languages
English (en)
Other versions
JP4392461B2 (ja
Inventor
Kiyotoshi Yoshii
清敏 吉井
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.)
Xaxon R & D Corp
Original Assignee
Xaxon R & D 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 Xaxon R & D Corp filed Critical Xaxon R & D Corp
Priority to JP2009127137A priority Critical patent/JP4392461B2/ja
Publication of JP2009223908A publication Critical patent/JP2009223908A/ja
Application granted granted Critical
Publication of JP4392461B2 publication Critical patent/JP4392461B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware

Landscapes

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

Abstract

【課題】大規模で高速なネットワークを流れるデータのコンピュータウイルス感染有無を高速に検査する。
【解決手段】ホストCPU101とは別に1つ以上のコンピュータウイルス検査装置1を備え、これによりコンピュータウイルスの感染有無の検査処理において処理負荷の高いパターンマッチング処理を実行する。コンピュータウイルス検査装置1を複数搭載することにより、コンピュータウイルス検査処理の全体としてのスループットを向上する。また、前記装置1を一つないしは複数搭載したプロキシサーバを提供して、ネットワークのゲートウェイにおいてコンピュータウイルス検査を実施する場合のネットワークスループットの向上を図る。
【選択図】図1

Description

本発明は、コンピュータウイルスを検査するためのコンピュータウイルス検査装置及び方法に関する。
WO97/12321及びWO97/39399は、コンピュータウイルスを検査もしくは除去するためのコンピュータウイルス検査プログラムを開示する。これら従来のプログラムには次のような問題があった。
問題(A)
パターンマッチング処理をホストCPUで処理していたため処理中のCPU負荷が高かった。しかも、一つのCPUにつき同時に瞬間的には一つの処理しかできず、処理に時間がかかるとともに、当CPUが処理する他のプロセスに大きな影響を与えた。コンピュータウイルス検出のためのパターンマッチング処理は、通常、大量のデータ同士の照合処理であるため、データ量(発見すべきウイルスパターンの数)に応じて処理時間が増大する。
問題(B)
前記のパターンデータおよびパターンマッチングプログラムを、処理を高速化するためにメインメモリ上に常駐させておく必要があり、メインメモリを大量に消費した。
問題(C)
前記のパターンデータおよびパターンマッチングプログラムが書き換えの容易なメインメモリ上に存在するため、コンピュータウイルスによるコンピュータウイルス検査プログラムやパターンデータの破壊行為に対して非常に脆弱であった。
日本特開平8−179942は、上記課題(A)(B)(C)に対する回避方法を開示する。しかしながら、この先行技術による方法には次のような問題がある。
問題(D)
先行技術の外付けの第2のCPUは、従来の方法においてホストCPUが行っていたパターンマッチングプログラムの実行を単に代行しているにすぎず、全体としての処理速度はほとんど改善しない。
WO97/12321公報 WO97/39399公報 特開平8−179942公報
本発明は、前記(A)から(D)の問題を同時に解決し、コンピュータウイルスの検査を高速に行うための手段を提供することを目的とする。
この発明に係るコンピュータウイルス検査装置は、データを含むファイルを一意に特定するファイル情報を受け、これを保持するタスクキューメモリと、前記タスクキューメモリの前記ファイル情報によって特定されるファイルを取得して記憶するファイルバッファメモリと、コンピュータウイルスを識別するためのパターンデータを記憶するパターンデータメモリと、前記ファイルバッファメモリに記憶されたファイルと前記パターンデータを照合し、一致するパターンがあるか否かを判定する一つ以上のパターンマッチング回路と、前記タスクキューメモリの前記ファイル情報に基づいて少なくとも一つの前記パターンマッチング回路を起動するスケジューラと、前記パターンマッチング回路の判定結果を前記ファイル情報に関連づけて通知する通知手段と、を備える。
図1は、本発明の実施の形態1に係る装置の機能ブロック図である。 図2は、ファイル等を識別するために用いられるテーブルの一例である。 図3は、本装置を複数搭載したプロキシサーバの実施例を示す概念図である。 図4は、負荷分散を行うために用いられるテーブルの一例である。 図5は、本発明の実施の形態2における回路構成を示す模式図である。 図6は、本発明の実施の形態2に係る変形例1における回路構成を示す模式図である。 図7は、本発明の実施の形態2に係る変形例2における回路構成を示す模式図である。 図8は、本発明の実施の形態3における回路構成を示す模式図である。 図9は、ホワイトスペース除去回路の1例を示す模式図である。 図10Aは、本発明の実施の形態4を示す模式図である。 図10Bは、本発明の実施の形態4の概略フローチャートである。 図11は、本発明の実施の形態5の装置構成を表す模式図である。 図12は、インデックスファイルのデータ構造を示す一例である。 図13は、発明の実施の形態5の動作フローチャートである。 図14は、発明の実施の形態5の動作フローチャート(続き)である。
発明の実施の形態1.
図1を用いて本発明の実施形態を説明する。ホストCPU101,メインメモリ102を備えるコンピュータはネットワークに接続されている。このコンピュータはバスインターフェース201を通してコンピュータウイルス検査装置1(以下、本装置という)に接続される。
ホストCPU101により実行される通信ソフトウェアによりネットワークから受信されたデータは、一旦メインメモリ102上に記憶される。データサイズの大きい場合、そのデータの一部または全部を、ホストCPU101からアクセス可能な図示しない外部記憶装置に一時的に記憶することもある。
メインメモリ102上に記憶されたデータは、通信のセッション単位、パケット単位、ないしはファイル単位などあらかじめ決められた単位(単位が複数種類に渡っても良い)で一つないしは複数のデータブロックを構成する。ここでは一例としてファイル単位で取り扱う場合を述べる。
ファイル単位でメインメモリ102に記憶されたデータブロックの開始アドレスとデータ長は図2に示すメインメモリ上のテーブルに記憶される。ホストCPUにより実行されるプログラムをホストプロセスと呼ぶ。メインメモリ102に記憶されたデータブロックはホストプロセス104により記述される。以下、前記テーブルの情報を「タスク情報」と呼ぶ。
前記データブロックの一部ないしは全部が外部記憶装置に記憶される場合、開始アドレスが不定になる可能性があるため、開始アドレスの代わりにID(任意の識別文字列)を定義し、前記開始アドレスの代替としてIDを用いてデータブロックを一意に定義しても良い。
前記テーブルにデータブロックが定義されると、ホストプロセス104は本装置のタスクキュー202に前記テーブルの内容の一部または全部をバスインターフェース201を介して転送する。なお、タスクキューは一般にはFIFO(FIRST IN FIRST OUT)形式のメモリまたはレジスタセットにより構成される。
タスクキュー202にタスク情報が転送されたことを検知したスケジューラ203は、本装置のDMA回路204を起動する。DMAコントローラ204は、タスク情報に基づいてメインメモリ102上のデータブロックを取得して、これを本装置のファイルバッファメモリ205上に置くとともに、スケジューラ203にファイルバッファメモリ205の準備完了状態を通知する。
前記手順において、本装置のファイルバッファメモリ205に十分な余裕があるときは、一度に複数のデータブロックを同時にDMA転送してもよい。
起動されたスケジューラ203は、パターンマッチング回路206を起動するとともに、これにファイルバッファメモリ205中のアドレスとデータ長を渡す。パターンマッチング回路が複数ある場合には、その一部又は全部をあらかじめ決められた手順で選定する。
スケジューラ203及びパターンマッチング回路206は論理回路、あるいは、これと等価なコンピュータプログラム、プロセッサ(ホストCPU101が兼ねてもよい)及びメモリで構成される。
起動されたパターンマッチング回路206は、パターンデータメモリ210からパターンデータを読み出すとともに、これとデータブロックを照合する。回路206は、一致するパターンを検出したとき,フラグ207を立てる(フラグレジスタの所定のビットをオンにする)。
フラグ207の変化を検出した検知回路(NOTIFIER)208は、バスインターフェース201を介してホストプロセス104に通知する。ホストプロセス104(またはホストプロセスと並列に実行される検知プログラム105)は、例えば前記検知回路208のレジスタをバスインターフェース201を介して定期的にポーリングすることによってフラグ207の変化を検出し、変化があれば表示装置に注意を促すメッセージを表示して操作者にコンピュータウイルスと合致するパターンを検知したことを示す警告を行う。
検知回路208自身が発光ダイオードや発音装置などを備えるインジケータ209を起動し、コンピュータウイルスと合致するパターンを検知したことをホストプロセスとは無関係に知らせるようにしてもよい。
前記パターンデータメモリ210の内容は、パターン更新装置211により定期的に、あるいはユーザによる操作によって更新される。パターン更新装置211は、パターン更新プログラムとそれを実行するプロセッサ及びメモリを備える。パターン更新プログラムはメインメモリ上にあってもよく(図1の103)、また、前記プロセッサはホストCPU101が兼ねてもよい。更新データはインターネット等のネットワーク上のファイルサーバから取得し更新する。そのための方法として、パターン更新装置211がネットワーク接続手段を備え、装置211により前記ファイルサーバに接続する方法と、ネットワーク接続機能を備えたコンピュータがファイルサーバに接続し、取得した更新データをバスインターフェース201を介してパターンデータメモリ210に書き込む方法が考えられる。
図1において、複数のパターンマッチング回路206が並列に接続されている。スケジューラ203はファイルバッファメモリ205上の複数のデータブロックをそれぞれのパターンマッチング回路206に分散して起動する。
分散して起動するとは、例えば、第1のパターンマッチング回路に一つ目のデータブロックの情報(開始アドレス、データ長など)を渡した後、第1のパターンマッチング回路の実行完了を待つことなく第2のパターンマッチング回路に2つ目のデータブロックの情報を渡すことである。
例えば、データブロックの先頭アドレスを第1のパターンマッチング回路206に渡すと共に、例えばデータブロックの先頭に1024を加えたアドレスを第2のパターンマッチング回路に渡すことによって、1024バイトを超えるデータブロックを分散して処理する。ただし、この方法はマッチングすべき全てのパターンデータのサイズが1024バイト未満であることが必要になり、全ての場合に利用できるわけではない。
他のやり方として、パターンデータメモリに2つ以上の照合されるべきパターンデータが存在する場合、そのうちの少なくとも1つのパターンデータを第1のパターンマッチング回路へ渡し、残りの少なくとも1つのパターンデータを第2のパターンマッチング回路へ渡すことにより、1つのファイルを多数のパターンデータと照合する場合の合計処理時間を短縮できる。
図1に示す回路のうち、バスインターフェース201を含む本装置の一部ないしは全部はワンチップの半導体集積回路による実装が可能である。
次に、図1の本装置を複数搭載したコンピュータの制御プログラム及び本装置を搭載したプロキシサーバに関して説明する。
以下、図3に示すように、本装置402(図1の符号1に相当)を402A、402Bの2つ備えるコンピュータをプロキシサーバ401として用いる場合について説明する。本装置402の搭載台数は2つに限定されない。図3では、インターネットとの接続にネットワークインターフェースカード404を備え、LAN(LOCAL AREA NETWORK)との接続に同403を備えている。
これらの複数のコンピュータをネットワーク上で識別するために、IP(INTERNET PROTOCOL)アドレスを付与したパケットデータをネットワーク上に流す。これにより発信元及び送付先コンピュータを識別する。プロキシサーバは複数のIPアドレスによって識別されるパケットデータの中継を行う。
402Aおよび402Bのそれぞれに対し、負荷を分配する方法はいくつか考えられるが、一例としてIPアドレスにより分配することを考える。つまり、P1およびP3というIPアドレスはAに処理を行わせ、P2というIPアドレスはBに処理を行わせるように定義する。IPアドレスに加えて、ポート番号を利用してもよい。この定義値は、図4に示すメインメモリ102内のテーブルに記憶される。メインメモリの代わりにCAM(Content Addressable Memory:連想メモリ)を利用してもよい。
図3において、図4のテーブルの記述に従い、受信したパケットデータを402Aまたは402Bのどちらに処理させるかが決められる。このとき、図4のテーブル中の処理カウンタ501をカウントアップし、これらカウント値を監視して402Aおよび402Bの処理カウンタ501がほぼ同じになるように配分を行うことによって、ある程度均一な負荷分散を実現できる。また、P1〜P3のどちらでもない新たなIPアドレスPxを受信したときは、402Aまたは402Bのうちカウンタ値の小さい方に処理をさせるとともに、Pxをテーブルに追記する。これにより、新たなIPアドレスを持つパケットデータを適切に分配できる。
次に、ネットワークインターフェース回路をともなうコンピュータウイルス検査装置について図1を用いて説明する。これはMAC301並びにPHY302を備え、本装置全体がネットワークインターフェース装置(NIC)の役目を兼ねる。
このようにすることにより無駄なデータ転送を省くことができる。例えば、図3に示すようにNIC404が本装置402と独立している場合、インターネットから受信したデータが404からホストバス105を経由してメインメモリ102へ転送され、その後メインメモリ102から本装置402へと転送される。つまりホストバス105を2回経由する。これに対し、図1の装置においてNIC404と本装置402が同一装置を構成するため、これを図3に適用するとホストバス105を経由する回数が1回少なくなり、無駄なデータ転送を省くことができる。
なお、MAC301はメディアアクセスコントローラと呼ばれ、イーサネット(登録商標)・ネットワークで接続された相互機器間のネゴシエーションやハンドシェイクなどの通信手順を管理するデバイスである。また、PHY302は物理レイヤーと呼ばれ、ネットワークを接続するケーブル等の種類によって適切な物を選んで装備するデバイスである。例えば10BASE−T規格のイーサネット(登録商標)であればツイストペアケーブルを用いるので、バイトデータからシリアルデータへの変換、ビット列から電圧信号への変換などを行う。
この装置において、コンピュータウイルス検査がオフ(無効)の状態であれば、ネットワークからの受信データはPHY302からMAC301を経由してファイルバッファメモリ205へ一時的にバッファされ、バスインターフェース201を介してメインメモリ102に転送される。
ここで、コンピュータウイルス検査のオン・オフの設定は、例えばファイルバッファメモリ205に設定変数を設け、当該変数をホストCPU101によって実行されるコンピュータプログラムから設定してやればよい。あるいは、当該フラグのオン・オフを切り替える電気接点スイッチを直接本装置上に設けてもよい
コンピュータウイルス検査がオン(有効)の状態であれば、ファイルバッファメモリ205に受信データが一時的にバッファされたのち、デコーダ303(MIMEデコーダを含む)が起動されファイルバッファメモリ中の受信データをファイル形式のデータブロックにデコードする。デコードが開始された後、パターンマッチング回路206が起動され、デコードが完了した部分のデータについてコンピュータウイルス検査を開始する。コンピュータウイルスが検出されなかったときに限り、DMA204を起動して一時的にバッファされていた受信データをメインメモリ102に転送する。例えば、ファイルバッファメモリ205に設定変数を設け、これに基づきデコード前のデータ、または、デコード後のデータのいずれかを選択して転送する。
データを送信する場合、データを受信する場合と同様の処理を行うことができる。ファイルバッファメモリ205に送信すべきデータがバッファされたとき、これをデコーダ303に入力する。デコーダ303を通したデータはパターンマッチング回路206に入力される。コンピュータウイルスが検出されなかったときに限り、ファイルバッファメモリ205からMAC301へのデータ転送が実行され、PHY302を経由して外部に送信される。
この発明の実施の形態1によれば、多大な計算負荷を掛けるコンピュータウイルス検査処理を、ホストCPUとは別のハードウェアで処理するので、ホストCPUの負荷を軽減できる。
更に、主要な機能のほとんどがホストCPUとは別のハードウェアとして構成されているので、他のソフトウェアへの干渉による動作不良等の影響を軽減できる。
発明の実施の形態2.
この発明の実施の形態2は、パターンマッチング回路206に含まれるデータ照合回路、特にワイルドカード指定方法及びその回路に関する。図5は発明の実施の形態2に係る回路の模式図である。
この回路は、照合パターンメモリA(1101)、被照合バッファメモリB(1102)及び照合回路1201を備える。図では簡単のため、被照合メモリB(1102)側にシフトレジスタを用いてFIFO(FIRST IN FIRST OUT)型バッファとしているが、照合パターンメモリA(1101)の側にシフトレジスタ機能を備えても良い。図5ではFビットは1ビットとし、F=1のときにワイルドカードとして認識するよう定義しているが、Fビットは2ビット以上であってもよい。図5の例では、F=1であれば照合回路201では当該バイト部分について無条件にA=Bと見なし、F=0であればAとBの排他的論理和(XOR)を算出してXOR値がゼロであれば合致と見なす。
また、Fビットの代わりにDビット(2ビット以上)を用い、D>0の時は下位Nビットと同一バイトがDバイトだけ連続するものとして扱うようにしてもよい。Fビットフラグを合わせて用いればDバイト連続するワイルドカードも定義することが出来る。
発明の実施の形態2の変形例1.
図6はマスクビットを持つ形態の一実施形態である。
図6の照合回路は、照合パターンメモリA(1101)のNビットの照合データ値の上位にMビット(図では一例として32ビット)のマスクビットを備える。まず、マスクビットMの値と被照合バッファメモリB(1102)の値から照合回路(1201)にて論理積(AND)を算出し、当該出力に対してNビット部分の排他的論理和(XOR)を算出する。これにより、マスクビットが0となっているビットに対してワイルドカード(無条件合致)が行われる。また、マスクビットが全ビットゼロである場合は被照合バッファメモリB(1102)との論理積がゼロになるので、Nビットの全部がワイルドカードとして扱われる。
発明の実施の形態2の変形例2.
図7はこの変形例2を示す。
連続したデータストリームは被照合バッファメモリB(1102)の終端より入力される。このバッファメモリは照合すべきパターンのうち最大長のものより、大きなサイズを記憶できるようになっている。また、このレジスタ群にはパターンを照合する位置をずらすのに必要なレジスタシフト機能が備わっていても良い。
一方、被照合バッファメモリB(1102)の先頭KバイトをインデックスIとしてアクセスすることが可能なルックアップテーブル(1301)が備えられている。ルックアップテーブルには、その先頭KバイトがインデックスIであるパターンが存在するかどうかを示す値が書き込まれる。図7では一例としてパターンリストの先頭アドレスを示すポインタが納められている。あるいは先頭NバイトがインデックスIであるパターンの個数を書き込んでも良い。その場合、ルックアップテーブルのビット幅で保持できる最大値mを定め、先頭KバイトがインデックスIであるパターン数がm個以上である場合には、ルックアップテーブルにmを超過したことを意味する特定値を書き込むように定めても良い。
インデックスIを用いてルックアップテーブル(1301)にアクセスして、そのインデックスIに対応するパターンの数が0であることが判明した場合は、パターン照合を終える。この際、終了信号を出すことにより、入力バッファのレジスタシフト機能をトリガーして、次のパターン照合を行っても良い。インデックスIの値に対応した位置にルックアップテーブルの値Pが、後述するパターン照合回路の入力の一つとなる。
ルックアップテーブル(1301)に書き込む値の決め方は次のとおりである。まずルックアップテーブルの全ての値を初期値Zにする。次に照合すべきパターン全部に対して順番にインデックスの計算を行う。パターンの長さが入力バッファの長さより小さい場合は、不足している部分にはワイルドカードであることを示す値を入れておく。このときインデックスの計算に必要な特定位置の内、もっとも後方にある位置に至る長さの分だけ最低限書き込めばよい。インデックスの算出に必要な特定位置のバイトの値を読み込み、その値を連結あるいは予め決めておいた計算式を使用してインデックスIを算出する。次にルックアップテーブルのインデックスIに対応する場所の値を増加させる。予め定めておいた最大値mを超える場合には、最大値mより変化させない。なおこの値の算出は予めこの回路の使用前に行い、ルックアップテーブルには最終的な値のみ書き込んでも良いし、この初期化ルールを初期化回路として組み込んでも良い。
一方、パターン照合回路(1201)は、前述のルックアップテーブルの値Pを受ける。値Pが対応するパターンが存在しないことを示す値である場合は、パターン照合動作を行わない。値Pが対応するパターンが存在することを示す値である場合には、照合パターンメモリA(1101)の中の、インデックスIに対応する複数のパターンを記憶したパターンリストにアクセスする。このパターンリストはルックアップテーブルの値Pと連続した位置に存在しても良いし、別のルックアップテーブルを参照する形になっていても良いし、ルックアップテーブルにはパターンリストへのポインタが書き込まれており、そのポインタを利用して参照する形になっていても良い。
パターンリストはパターンの内、インデックスIの算出に利用した以外の部分が記憶されたものである。インデックスIの算出に利用した部分も記憶しておいてパターン照合の対象としても良いが、回路が冗長となるので予め省いておく。またパターンといっしょに、そのパターンのパターン番号を組として記憶し、どのパターンに合致したかが判別できるように構成しておいても良い。
このパターン照合回路の出力は合致するパターンが存在したかどうかである。また必要であれば合致したパターン番号も出力する。パターンが可変長である場合には、残りパターン長を記憶する方式と、照合回路が参照する長さに不足する部分に任意のデータと合致するワイルドカードをパターンの一部として持つ方式がある。前者の場合は、パターン長より後方のバイトに関しては常に合致すると判断し、後者の場合は照合回路がワイルドカードを任意のバイトと合致すると判断する。
発明の実施の形態2、その変形例1及び変形例2は、互いに組み合わせて用いることもできる。
発明の実施の形態2によれば、照合パターンのバイトにワイルドカードを指定できるので、検索の効率を改善し使用するメモリの消費を抑えることができる。また、変形例2によれば、パターンの一部をインデックスにしてルックアップテーブルを参照しているため、線形探索処理を減らし照合の速度を上げることが出来る。これにより、照合に要する時間の、パターン数や種類への依存度を減らし、より偏差の少ない処理時間でパターン照合を実現することができる。
発明の実施の形態3.
この発明の実施の形態2は、パターンマッチング回路206に含まれるホワイトスペース処理回路に関する。図8は発明の実施の形態3に係る回路のブロック図を示す。
入力されたデータ(ホワイトスペースを含む文字列データ等)は、まず入力データバッファ2101に入力される。入力データバッファ2101はFIFO(FIRST IN FIRST OUT)形式のメモリで構成され、過度の入力があった場合に入力を一時的に吸収し後段にデータを引き継ぐ役目を持っている。
入力データバッファ2101に入力されたデータは、FIFO先端から順次マルチバイト文字判定回路2102に入力される。本回路はASCII文字など、マルチバイトを取り扱わないことが明らかなデータであれば省略することも可能である。マルチバイト文字判定回路2102は、例えばシフトJISコード体系であれば、各入力されたマルチバイト文字列の1バイト目をCとして、以下のように比較回路と論理回路を組み合わせて実現可能である。
((0x81≦C)AND(C≦0x9F))OR((0xE0≦C)AND(C≦0xEF))
ここで0xは16進数を示し、上記演算式の結果が真ならばマルチバイト文字、偽ならばシングルバイト文字とみなす。マルチバイト文字の非先頭バイト(2バイト目以降)と識別された文字コードは、続く処理をバイパスされ被照合データバッファメモリ2110に直接入力される。同時にマルチバイト文字判定回路2102では、入力データバッファから続く1バイトを取得し、無条件で被照合データバッファメモリ2110に転記することにより2バイト文字等を処理する。
なお、マルチバイト文字判定回路2102は設定レジスタ2201によりバイパス(無効化)設定が可能である。
一方、JISコードのようなシフトイン(Kイン)、シフトアウトコード(Kアウト)から構成される文字体系の場合、シフトインコードをマルチバイト文字判定回路2102が検出した場合はマルチバイトステータスレジスタ2203を利用してシフトステータスの保持を行う。例えばシフトインコードの場合はマルチバイトステータスレジスタに1を記憶し、1が記憶されている間はマルチバイト文字と判断して以後の回路をバイパスして被照合データバッファメモリ2110に直接入力する。マルチバイト文字判定回路2102がシフトアウトコードを検出すると、シフトステータスレジスタはゼロにリセットされ、以後の入力データは再びシングルバイト文字として取り扱われる。
JISコードとシフトJISコードの切り替えは設定レジスタ2201で行えるようにしても良い。
マルチバイトチェックを受けたデータは、ホワイトスペース除去回路2103に入力される。ホワイトスペース除去回路では、あらかじめ想定されるホワイトスペース文字コード(一例として0x0D,0x0A,0x20,0x09など)と合致するコードは除去される。これは例えば入力データをCとして以下の論理回路を組み合わせて実現可能である。
(C=0x09)OR(C=0x0A)OR(C=0x0D)OR(C=0x20)
図9はホワイトスペース除去回路の例を示す。図9の装置は、ホワイトスペースに該当するコードを文字登録レジスタ202に記憶しておき、当該レジスタ上の各コードと前記入力データCが一致するか否かでホワイトスペースを判定するものである。一方、ホワイトスペースとして定義する文字種類が多数(例えば数千バイト)にのぼる場合はRAMを使うこともできる。
ホワイトスペース除去が行われた後、ASCIIコードの大文字小文字による照合不一致を避けるために、シングルバイト文字コードについては小文字判定回路2104(または大文字判定回路のいずれか)に入力される。小文字の判定は、例えば入力データをCとして以下の論理回路、
(C≧0x61)AND(C≦0x7A)
により判定できる。小文字と判定された文字コードは大文字に変換される。小文字(C)から大文字(C')の変換には、例えば、
C'←(C AND 0xBF)
で変換できる。
上記一連の処理を経た入力データは、照合回路2111に入力され被照合データバッファメモリ2110に入力され、照合パターンメモリ2112と照合される。この照合は、例えば各バイト単位で排他的論理和(XOR)を取り結果がゼロであったら合致と見なすようにすればよい。
設定レジスタ2201には2102から2105の各回路をバイパス設定するフラグが設けられ、例えば設定レジスタに接続されたコンピュータから操作可能とする。例えばあらかじめマルチバイト文字が含まれないことが明らかである英文文字列などであれば、マルチバイト文字判定回路2102をバイパスできるようにする。これにより判定効率を向上することができる。
この発明の実施の形態によれば、テキストデータやコンピュータプログラムデータなど、ホワイトスペースを含むテキストデータからホワイトスペースを取り除くとともに英文字の大文字小文字の差を吸収した状態でデータ照合を行うことができる。これにより従来困難であったハードウェアによるテキストデータ照合処理が容易かつ高速に実現できる。
発明の実施の形態4.
この発明の実施の形態4は、多段照合によるデータパターン検出方法及びその装置に関する。
図10A及び図10Bは本発明の一実施形態を示す。これはネットワークトラフィック中のコンピュータウイルスを検出する。
ネットワークのゲートウェイとして設置されたホストCPU3101には、第1のNIC(ネットワークインターフェース装置)3102と第2のNIC3103が備えられており、それぞれのネットワーク間のゲートウェイとしてデータの中継(プロキシサーバ)を行っている。ファイヤウォール機能を備えたソフトウェアと共に用いられることもある。
一方、ホストCPU3101には、バス3106を仲介して接続された第1のサブシステム3201としてnバイトのFIFO(1段からn段まで)3202を伴ったチェックサム算出回路3203とパターン照合回路3204、及びデータパターンを記憶したRAM(ランダムアクセスメモリ)3205が備えられている。RAMは好ましくはフラッシュメモリなどの不揮発性メモリである。
前記において、第1のデータパターンとしてRAM3205には、各コンピュータウイルスについて少なくとも1つ以上の、コンピュータウイルスデータ内の特定の連続するnバイトのチェックサム値を算出したものが記憶されている。第2のデータパターンとしてRAM3205には、前記コンピュータウイルスを特徴づけるデータエリアから抽出されたデータ列が各コンピュータウイルスについて記憶されている。
ホストCPU3101からアクセス可能なメインメモリ3104には、コンピュータウイルス検出ソフトウェア3105が読み込まれホストCPU3101にて実行される。従来の技術では、当該ソフトウェア3105によりNIC3102と3103の間でやりとりされる全てのデータに対してコンピュータウイルス検出ソフトウェアを通して処理を行っていたため、多大な処理時間を必要としていた。従来の方法に対して、本発明では以下の流れに沿って処理を行う。
まず、NIC3102(あるいは103)から入力されたデータは、分断されているパケットをシーケンスコードに従って繋いでメインメモリ3104に展開する。この後、サブシステム3201に搭載されたDMA(DIRECT MEMORY ACCESS)回路3210がDMAを起動してメインメモリ上のデータをサブメモリ3209に転送する。DMA回路の起動は、ホストCPU3101のアドレス空間にマップされたDMA回路3208の制御レジスタをアクセスすることによって起動する。
DMAによってサブメモリ3209に転送する際、FIFO(3202)を経由する。このときリアルタイムにチェックサムを算出する。具体的には、FIFO(3202)の出力段(図では第n段)のデータd'がFIFOのシフトと共に廃棄されるときに、当該データd'をアキュムレータレジスタ3206から減算する。一方、入力段(図では第1段)に新たな値dが入力される毎にアキュムレータレジスタ3206に加算する。これにより、アキュムレータレジスタ3206には、FIFOの全段(第1段〜第n段)のチェックサムに相当する値が常に更新され保持される。
より一般的には、前記演算式が正演算と逆演算による準可逆性を備える場合において、データを廃棄するとき、アキュムレータレジスタ(値をAnとする)で破棄データに対して所定の演算式の逆演算が行われ、An'が算出される。新たなデータdが入力されるとき、前記アキュムレータレジスタの値(An')及び当該入力データdを用いて前記演算式の正演算が行われ、(An+1)が算出される。以上のステップが繰り返される。
前記の方法によりチェックサムが更新されると、あらかじめ想定されるデータパターンについて算出したチェックサムデータを記憶したRAM3205の内容と、アキュムレータレジスタ3206に記憶されたチェックサム値とをパターン照合回路3204によって照合する。照合の結果、合致するパターンが見つかれば、そのパターン番号をレジスタ3207に出力する。同時に、ホストCPU3101に対して割り込みをかける、あるいは制御レジスタを設けてホストCPUからアクセス可能なようにホストCPUのアドレス空間にマップし、制御レジスタのフラグを立て、そのフラグをホストCPUからポーリング(監視)するようにしてもよい。
このようにしてパターン照合(粗照合)が行われその結果によってスクリーニング(ふるい分け)されたデータは、大きく分けてコンピュータウイルスの感染可能性があるもの、無いものに分けられる。このうち、感染可能性のあるものについては、パターンデータを変えて、同様にスクリーニングを繰り返してもよい。少なくとも1回以上の上記手順を経て、コンピュータウイルスの感染可能性が無いと判断されたものは、NIC3103(あるいは3102)を経てネットワークに出力される。
一方、上記手順を経てコンピュータウイルスの感染可能性が有ると判断されたものについては、ここで初めてコンピュータウイルス検出ソフトウェア3105によって精密な感染検査が行われる。一般的に、コンピュータウイルス検出ソフトウェアによる精査は、上記で説明した単純なパターン照合処理(特に半導体集積回路を利用したパターン照合回路を用いた場合)に比べ著しく遅いので、精査を通すデータの量を減らすことによって結果として全体的なスループットは大幅に向上する。
一方、ハードウェアを利用せずにソフトウェアのみで本発明はは実現可能である。この場合、図10のサブシステム3201については不要で、照合処理の全てをホストCPU3101とメインメモリ3104に読み込まれたソフトウェアによって前記パターン照合処理を含むスクリーニング処理を実現する。
本発明による方法を実装したコンピュータウイルス検査装置は、従来の技術に比べスループットが高いので、ネットワークゲートウェイ装置への応用や、大規模ネットワークストレージ(記憶装置)のコンピュータウイルス検査装置などに応用できる。
また、コンピュータウイルスではなく、所定の語句や文字列、URLなどネットワーク上のアドレスに基づいて算出されたパターンデータを用いた場合、所定の語句を含むウェブサイトや電子メールの中継を遮断するようなアクセス制限装置が実現可能である。この装置は未成年にふさわしくない用語の閲覧を遮断するための教育機関向けネットワークゲートウェイ装置などに応用できる。
粗照合によるスクリーニングを行って、時間のかかる処理に通すデータ量を減らすことにより、装置全体としてのスループットを大幅に向上することが出来る。
発明の実施の形態5.
この発明の実施の形態5は、キャッシュシステムによるコンピュータウイルス検出装置の負荷低減方法及びその装置に関する。
図11は本発明の一実施形態を示す。これは、コンピュータネットワークのトラフィック中のコンピュータウイルスを検出するゲートウェイプロキシサーバである。
コンピュータネットワークの中継点に設置されたサーバ4101は、ネットワーク的に繋がった外部サーバ4201とクライアントコンピュータ4301間においてデータの中継を行うプロキシサーバとして機能する。サーバ4101は、中継するデータのウィルスチェックを行うソフトウェア4132を記憶したメモリ4103とそれを駆動するためのCPU4102、大容量記憶装置4141、及び、NIC(ネットワークインターフェース装置)4110を備える。NICとCPU及びメモリはバスにより接続されている。ここではNICとメモリは同一バス上に接続されているが、別々のバスに接続されてもよい。
メモリはRAMである。メモリは、ウイルスチェックを実施済みのファイルについての情報を記憶するインデックスファイル4131を記憶する。インデックスファイル4131のデータ構造の一例を図12に示す。なお、メモリ上にインデックスファイルを記憶するのはインデックスファイルへのアクセスを高速化するためであり、記憶を恒久化するために時々大容量記憶装置内に書き出して記憶される。大容量記憶装置としてハードディスク装置などを用いることが出来る。
以下、実際の動作ステップを図13及び図14を用いて説明する。
クライアントコンピュータ301からのファイル要求リクエストは、例えばHTTPプロトコルやFTPプロトコルに代表される手順に従って発行され処理される。
これらのファイル要求リクエストは、サーバ101によって仲介され(ステップ1002)、まずインデックスファイル131と照合される(ステップ1003)。
インデックスファイルに当該ファイルが存在しなければネットワークの先にある外部サーバ4201にファイル要求リクエストが転送される(ステップ1005)。外部サーバ4201は該リクエストにより特定されるファイルを送出する。
外部サーバ4201から送出されたファイルは、一旦サーバ4101に返され(ステップ1005)、さらにウイルスチェックソフトウェア等4132によりウイルスチェックを受ける(ステップ1006)。
ウイルスチェックの結果、ウイルスが検出されなければ当該ファイル実体のコピーをキャッシュファイル4141として大容量記憶装置4104に保存すると共にインデックスファイル4131を更新する(ステップ1008)。
一方、ウイルスが検出されれば、ウイルスチェックソフトウェア等4132はウイルスの駆除を試みる(ステップ1101)。ウイルスの駆除に成功すれば、ウイルス駆除済みフラグをオンにして駆除済みファイルを大容量記憶装置4104に保存し、インデックスファイル4131を更新する(ステップ1104,1105)。
ウイルスの駆除に失敗すれば、ウイルス駆除済みフラグをオフにしてインデックスファイル4131に追記する(ステップ1106,1107)。この場合はウイルスに感染したファイルの実体は大容量記憶装置4104には保存されない。
一方、ステップ1103においてインデックスファイル4131に当該ファイルが存在した場合、インデックスファイルのフラグを照合する(ステップ1011)。
ウイルス感染フラグがオンになっていなければウイルス未感染のファイルを取得済みであることを意味するので大容量記憶装置4104から当該インデックスによって特定されるキャッシュファイル4141の実体を取り出して(ステップ1013)要求元クライアントにファイルを送出する(ステップ1009)。
一方、ステップ1011においてウイルス感染フラグがオンであり、ウイルス駆除済みフラグもオンであればウイルス駆除済みのファイル実体が大容量記憶装置4104に存在することを意味するので、ファイル実体を取り出してクライアントに送出する。ウイルス駆除済みフラグがオフであれば、要求元クライアントにウイルス感染ファイルであることを通知してファイル送出をストップする(ステップ1015)。
このウイルス感染ファイルであることの通知は、電子メールで行っても良い。また、要求されたファイルに対してウイルス警告ファイルにすり替えて送出することによりユーザに注意を喚起するようにしてもよい。
インデックスファイル4131は、例えば1時間に1回、大容量記憶装置4104に転写され記憶の恒久化が行われるようにするとよい。
キャッシュシステムを備える場合、ウイルスチェックを経た対象ファイル自身のコピーを大容量記憶装置にも保管すると共に、前記インデックスファイルに保管日時を記録する。この保管日時は一定期間ごとに再度チェックされ、あらかじめ定めた所定の期間(例えば24時間)を越えた場合は当該ファイルの実体を大容量記憶装置4104から削除すると共に、インデックスファイル4131からも同ファイルを表すインデックス情報を削除する。
このようにして一度取得されたウイルスチェック済みのファイルが所定の期間は大容量記憶装置内にとどまることになるので、同一ファイルのリクエストがあった場合に大容量記憶装置からファイルを取得すればよくなり、外部サーバ4201との通信時間並びに当該ファイルに対してウイルスチェックを再度行う時間を節約できる。
その後は同様に、任意のクライアントコンピュータ4301から前記と全く同一のファイル要求リクエストがサーバ4101に送出された場合、サーバ4101は、まずインデックスファイル4131に同一ファイルへのリクエストが既に存在しないか否かをチェックする(ステップ1002)。
チェックの結果、同一ファイルのインデックスが見つかると、フラグをチェックし、コンピュータウイルスの感染が無かった場合は大容量記憶装置4104から当該ファイルを取り出してクライアントに送出する。この場合は外部サーバ4201へのアクセスが発生しない、ウイルスチェック実施済みであるため再度チェックする必要がない、という理由により高速なレスポンスとサーバ負荷低減が期待できる。
ネットワークの相互接続部分に本発明によるゲートウェイサーバないしはプロキシサーバを設置することにより、ネットワーク間でやりとりされるネットワークトラフィックをリアルタイムに監視するコンピュータウイルス検査装置が実現できる。
この発明の実施の形態によれば、コンピュータウイルス検査装置の負荷を低減することができるので、少ない資源で多くのネットワークトラフィックを処理することが出来る。また、クライアントコンピュータがファイル要求リクエストを送出してからファイルがクライアントコンピュータに送出されるまでの応答時間を短縮できるため、ネットワーク遅延を縮小することができ、快適な操作性を実現できる。

Claims (7)

  1. あらかじめ想定されるデータパターンから所定の演算式に基づき算出される値を記憶するパターンデータメモリと、
    入力されるデータをバッファリングするバッファメモリと、
    前記演算式に基づき当該バッファメモリの内容から前記値を算出する算出回路と、
    前記算出回路の出力を前記パターンデータメモリの値と照合する照合回路とを備えるコンピュータウイルス検査装置。
  2. 前記算出回路は、
    データを廃棄するときに、アキュムレータレジスタ(値をAnとする)で破棄データの前記演算式の逆演算を行い、An'を算出する第1のステップ、及び
    新たなデータdが入力されるときに、前記アキュムレータレジスタの値(An')及び当該入力データdを用いて前記演算式により正演算を行い、(An+1)を算出する第2ステップ、
    を繰り返すことを特徴とする請求項1記載のコンピュータウイルス検査装置。
  3. コンピュータウイルスを含む可能性のあるビット列を外部から受信する手段と、
    コンピュータウイルスを識別するためのパターンデータを記憶するパターンデータメモリと、
    前記ビット列と前記パターンデータを照合し、一致するパターンがあるか否かを判定する一つ以上のパターンマッチング回路と、
    前記パターンマッチング回路の判定結果をホストCPUに通知する手段と、
    を備え、
    前記パターンマッチング回路は、
    パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、
    検査対象データを記憶する被照合バッファメモリと、
    前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、前記照合回路は下記(ア)乃至(ウ)の少なくともいずれかの処理を行うものであることを特徴とするコンピュータウイルス検査装置。
    (ア)前記照合パターンメモリはビット長N+Fのバイト列を記憶し、前記被照合バッファメモリはビット長Nのバイト列を記憶し、前記照合回路は、Fに含まれる所定のビットが所定の値であるとき、当該バイトを無条件に合致と見なす
    (イ)前記照合パターンメモリはビット長N+Dのバイト列を記憶し、前記被照合バッファメモリはビット長Nのバイト列を記憶し、前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファメモリの複数のバイト列を照合するとき、Dに対応するバイト数のデータビットが連続しているとみなす
    (ウ)前記照合パターンメモリはビット長N+Mのバイト列を記憶し、前記被照合バッファメモリはビット長Nのバイト列を記憶し、前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファメモリの複数のバイト列を照合するとき、前記被照合バッファメモリの対応するバイトとマスクパターンMとの論理積をもとめ、これを前記照合パターンメモリの対応するバイトと照合する
  4. 被照合データ列の格納先アドレスを記憶するレジスタと、
    コンピュータウイルスを識別するためのパターンデータを記憶するパターンデータメモリと、
    前記レジスタにより特定される被照合データ列と前記パターンデータを照合し、一致するパターンがあるか否かを判定する一つ以上のパターンマッチング回路と、
    ホストCPUから信号を受け前記パターンマッチング回路を始動する回路と、
    前記パターンマッチング回路の判定結果をホストCPUに通知する手段と、
    を備え、
    前記パターンマッチング回路は、
    パターンデータメモリから所定のパターンを受けてこれを記憶する照合パターンメモリと、
    検査対象データを記憶する被照合バッファメモリと、
    前記照合パターンメモリのバイト列を前記被照合バッファメモリのバイト列と照合する照合回路とを備え、前記照合回路は下記(ア)乃至(ウ)の少なくともいずれかの処理を行うものであることを特徴とするコンピュータウイルス検査装置。
    (ア)前記照合パターンメモリはビット長N+Fのバイト列を記憶し、前記被照合バッファメモリはビット長Nのバイト列を記憶し、前記照合回路は、Fに含まれる所定のビットが所定の値であるとき、当該バイトを無条件に合致と見なす
    (イ)前記照合パターンメモリはビット長N+Dのバイト列を記憶し、前記被照合バッファメモリはビット長Nのバイト列を記憶し、前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファメモリの複数のバイト列を照合するとき、Dに対応するバイト数のデータビットが連続しているとみなす
    (ウ)前記照合パターンメモリはビット長N+Mのバイト列を記憶し、前記被照合バッファメモリはビット長Nのバイト列を記憶し、前記照合回路は、あるアドレスにおける前記照合パターンメモリと前記被照合バッファメモリの複数のバイト列を照合するとき、前記被照合バッファメモリの対応するバイトとマスクパターンMとの論理積をもとめ、これを前記照合パターンメモリの対応するバイトと照合する
  5. インデックスI及びこれに対応するパターンの存在情報をもつルックアップテーブルを備え、
    前記被照合バッファメモリの一部のデータに基づき前記ルックアップテーブルが検索され、前記パターンの存在情報が出力され、
    前記照合回路は、前記被照合バッファメモリの内容を前記パターンの存在情報に基づき選択されたパターンと照合することを特徴とする請求項3又は請求項4記載のコンピュータウイルス検査装置。
  6. テキストデータからホワイトスペースを取り除くホワイトスペース除去回路を備え、
    前記ホワイトスペース除去回路は、前記被照合バッファメモリの前段に設けられていることを特徴とする請求項3又は請求項4記載のコンピュータウイルス検査装置。
  7. 請求項1乃至請求項6いずれかに記載のコンピュータウイルス検査装置を、ワンチップに集積してなる半導体集積回路。
JP2009127137A 2001-04-16 2009-05-27 コンピュータウイルス検査装置及びアクセス制限装置並びに半導体集積回路 Expired - Fee Related JP4392461B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009127137A JP4392461B2 (ja) 2001-04-16 2009-05-27 コンピュータウイルス検査装置及びアクセス制限装置並びに半導体集積回路

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
JP2001116347 2001-04-16
JP2001184010 2001-06-18
JP2001186108 2001-06-20
JP2001213484 2001-07-13
JP2001234498 2001-08-02
JP2009127137A JP4392461B2 (ja) 2001-04-16 2009-05-27 コンピュータウイルス検査装置及びアクセス制限装置並びに半導体集積回路

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002584171A Division JP4334231B2 (ja) 2001-04-16 2002-04-12 コンピュータウイルス検査装置及び半導体集積回路

Publications (2)

Publication Number Publication Date
JP2009223908A true JP2009223908A (ja) 2009-10-01
JP4392461B2 JP4392461B2 (ja) 2010-01-06

Family

ID=27531869

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2002584171A Expired - Fee Related JP4334231B2 (ja) 2001-04-16 2002-04-12 コンピュータウイルス検査装置及び半導体集積回路
JP2009127137A Expired - Fee Related JP4392461B2 (ja) 2001-04-16 2009-05-27 コンピュータウイルス検査装置及びアクセス制限装置並びに半導体集積回路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP2002584171A Expired - Fee Related JP4334231B2 (ja) 2001-04-16 2002-04-12 コンピュータウイルス検査装置及び半導体集積回路

Country Status (2)

Country Link
JP (2) JP4334231B2 (ja)
WO (1) WO2002086717A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012043439A (ja) * 2010-08-19 2012-03-01 Samsung Sds Co Ltd セキュリティー機能を有したシステムオンチップ及びこれを利用したデバイス、並びにスキャン方法
KR20120093441A (ko) * 2009-12-15 2012-08-22 마이크론 테크놀로지, 인크. 적응형 컨텐츠 검사
JP2012213107A (ja) * 2011-03-31 2012-11-01 Lac Co Ltd ゲートウェイ装置、情報処理装置、処理方法およびプログラム
KR101259696B1 (ko) * 2010-11-30 2013-05-02 삼성에스디에스 주식회사 안티 멀 웨어 스캐닝 시스템 및 그 방법
JP2015149781A (ja) * 2015-04-21 2015-08-20 株式会社ラック 情報処理装置、処理方法およびプログラム
JP2017142744A (ja) * 2016-02-12 2017-08-17 日本電気株式会社 情報処理装置、ウィルス検出方法及びプログラム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2004303220B2 (en) * 2003-09-11 2008-05-22 Bae Systems Plc Real-time network monitoring and security
US7694340B2 (en) * 2004-06-21 2010-04-06 Microsoft Corporation Anti virus for an item store
DE102005014837B4 (de) 2004-08-02 2007-08-30 Mahltig, Holger Sicherheitsmodul und Verfahren zum Steuern und Kontrollieren eines Datenverkehrs eines Personalcomputers
JP4871546B2 (ja) 2005-08-22 2012-02-08 株式会社日立製作所 ストレージシステム
WO2007026423A1 (ja) * 2005-08-31 2007-03-08 Matsushita Electric Industrial Co., Ltd. Icモジュールおよびicモジュールを搭載した携帯通信端末
US8863286B1 (en) 2007-06-05 2014-10-14 Sonicwall, Inc. Notification for reassembly-free file scanning
SE534099C2 (sv) 2008-06-02 2011-04-26 Klaus Drosch Anordning för att skydda data
US9392005B2 (en) * 2010-05-27 2016-07-12 Samsung Sds Co., Ltd. System and method for matching pattern
KR101279213B1 (ko) * 2010-07-21 2013-06-26 삼성에스디에스 주식회사 시스템 온 칩 기반의 안티-멀웨어 서비스를 제공할 수 있는 디바이스 및 그 방법과 인터페이스 방법
KR101518111B1 (ko) * 2012-03-21 2015-05-07 삼성에스디에스 주식회사 안티-멀웨어 시스템 및 상기 시스템에서의 데이터 처리 방법
US9736260B2 (en) 2012-06-21 2017-08-15 Cisco Technology, Inc. Redirecting from a cloud service to a third party website to save costs without sacrificing security
JPWO2014030300A1 (ja) * 2012-08-23 2016-07-28 日本電気株式会社 マッチングシステム、マッチング方法およびマッチングプログラム
JP5987913B2 (ja) * 2012-09-26 2016-09-07 富士通株式会社 情報処理装置、情報処理方法、及び情報処理プログラム
EP3923146B1 (en) * 2019-04-01 2023-11-22 E-Jan Networks Co. Communication system, information providing device, program, and information providing method
JP7304039B2 (ja) * 2019-04-01 2023-07-06 e-Janネットワークス株式会社 通信システム
TWI739405B (zh) * 2020-04-24 2021-09-11 新唐科技股份有限公司 病毒防護晶片及病毒防護方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0795265B2 (ja) * 1985-05-10 1995-10-11 株式会社日立製作所 比較回路
JPS63225824A (ja) * 1987-03-16 1988-09-20 Agency Of Ind Science & Technol 集合演算方式
JPH0748309B2 (ja) * 1987-12-16 1995-05-24 日本電気株式会社 記号列照合メモリおよびそのカスケード接続方式
JPH0795266B2 (ja) * 1988-04-18 1995-10-11 日本電気株式会社 一致検出回路
JPH08179942A (ja) * 1994-12-27 1996-07-12 Hitachi Ltd 免疫ic,およびそれを用いた免疫icカードとコンピュータ
JP3670372B2 (ja) * 1995-12-20 2005-07-13 富士電機ホールディングス株式会社 データ転送装置
JP3754998B2 (ja) * 1997-01-31 2006-03-15 松下電器産業株式会社 情報処理装置
JPH10307776A (ja) * 1997-05-06 1998-11-17 Nec Niigata Ltd コンピュータウイルス受信監視装置及びそのシステム
JP3465815B2 (ja) * 1998-12-28 2003-11-10 株式会社Quick テキストフィルタリングシステム

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101724778B1 (ko) 2009-12-15 2017-04-07 마이크론 테크놀로지, 인크. 적응형 컨텐츠 검사
KR20120093441A (ko) * 2009-12-15 2012-08-22 마이크론 테크놀로지, 인크. 적응형 컨텐츠 검사
US10235627B2 (en) 2009-12-15 2019-03-19 Micron Technology, Inc. Adaptive content inspection
JP2013513895A (ja) * 2009-12-15 2013-04-22 マイクロン テクノロジー, インク. 適応型コンテンツ・インスペクション
US9684867B2 (en) 2009-12-15 2017-06-20 Micron Technology, Inc. Adaptive content inspection
CN102413117A (zh) * 2010-08-19 2012-04-11 三星Sds株式会社 系统级芯片以及使用系统级芯片的装置和扫描方法
JP2012043439A (ja) * 2010-08-19 2012-03-01 Samsung Sds Co Ltd セキュリティー機能を有したシステムオンチップ及びこれを利用したデバイス、並びにスキャン方法
US9098703B2 (en) 2010-08-19 2015-08-04 Samsung Sds Co., Ltd. SOC with security function and device and scanning method using the same
US8719931B2 (en) 2010-11-30 2014-05-06 Samsung Sds Co., Ltd. Anti-malware scanning system and method thereof
KR101259696B1 (ko) * 2010-11-30 2013-05-02 삼성에스디에스 주식회사 안티 멀 웨어 스캐닝 시스템 및 그 방법
JP2012213107A (ja) * 2011-03-31 2012-11-01 Lac Co Ltd ゲートウェイ装置、情報処理装置、処理方法およびプログラム
JP2015149781A (ja) * 2015-04-21 2015-08-20 株式会社ラック 情報処理装置、処理方法およびプログラム
JP2017142744A (ja) * 2016-02-12 2017-08-17 日本電気株式会社 情報処理装置、ウィルス検出方法及びプログラム

Also Published As

Publication number Publication date
JP2004528651A (ja) 2004-09-16
JP4392461B2 (ja) 2010-01-06
JP4334231B2 (ja) 2009-09-30
WO2002086717A1 (en) 2002-10-31

Similar Documents

Publication Publication Date Title
JP4392461B2 (ja) コンピュータウイルス検査装置及びアクセス制限装置並びに半導体集積回路
US10466964B2 (en) Engine architecture for processing finite automata
US9553883B2 (en) Method and an apparatus to perform multiple packet payloads analysis
JP4743894B2 (ja) データ・パケットを伝送しながらセキュリティを改良するための方法及び装置
TWI392288B (zh) 用於多核心通訊處理的系統及方法
US9021582B2 (en) Parallelized pattern matching using non-deterministic finite automata
US8228908B2 (en) Apparatus for hardware-software classification of data packet flows
US7467406B2 (en) Embedded data set processing
US8176300B2 (en) Method and apparatus for content based searching
US20130111021A1 (en) Real-time network monitoring and security
WO2000060793A2 (en) Firewall including local bus
JP2004528651A5 (ja)
JP2007179523A (ja) 悪意データを検出する端末装置及び関連方法
US20030110377A1 (en) Method of and apparatus for data transmission
US20060080467A1 (en) Apparatus and method for high performance data content processing
JP4027213B2 (ja) 侵入検知装置およびその方法
US9160688B2 (en) System and method for selective direct memory access
JP2008271347A (ja) 不正アクセス防止装置および判定結果送信方法
JP4730409B2 (ja) 処理装置
Lin et al. Hardware-software codesign for high-speed signature-based virus scanning
EP1463994A2 (en) Method and system for event distribution
CHAND et al. Efficient Way of Detecting an Intrusion using Snort Rule Based Technique

Legal Events

Date Code Title Description
A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20090703

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20090710

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090818

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090907

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

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

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

Free format text: PAYMENT UNTIL: 20121016

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees