JP2005522800A - 悪性コードを検知するシステム及び方法 - Google Patents

悪性コードを検知するシステム及び方法 Download PDF

Info

Publication number
JP2005522800A
JP2005522800A JP2003586727A JP2003586727A JP2005522800A JP 2005522800 A JP2005522800 A JP 2005522800A JP 2003586727 A JP2003586727 A JP 2003586727A JP 2003586727 A JP2003586727 A JP 2003586727A JP 2005522800 A JP2005522800 A JP 2005522800A
Authority
JP
Japan
Prior art keywords
crc
code
computer readable
database
readable code
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.)
Pending
Application number
JP2003586727A
Other languages
English (en)
Inventor
イサク カルモナ,
タラス マリバンチャク,
Original Assignee
コンピュータ アソシエイツ シンク,インコーポレイテッド
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 コンピュータ アソシエイツ シンク,インコーポレイテッド filed Critical コンピュータ アソシエイツ シンク,インコーポレイテッド
Publication of JP2005522800A publication Critical patent/JP2005522800A/ja
Pending legal-status Critical Current

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
    • G06F21/562Static detection
    • G06F21/564Static detection by virus signature recognition
    • 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/562Static detection
    • G06F21/565Static detection by checking file integrity

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)
  • Health & Medical Sciences (AREA)
  • Virology (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)
  • Computer And Data Communications (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Radar Systems Or Details Thereof (AREA)
  • Small-Scale Networks (AREA)

Abstract

コンピュータにより読取可能なコードにおいて悪性コードを検知する方法が、コンピュータにより読取可能なコードの第一部分が潜在的に悪性コードを有しているか否かを決定するための初期的決定を実施し、且つ該コンピュータにより読取可能なコードが潜在的に悪性コードを有しているものと決定される場合には、該コンピュータにより読取可能なコードの第一部分を包含することのない第二部分が悪性コードを有しているか否かを決定するための別の決定を実施することを包含している。

Description

本発明は悪性コードを検知するシステム及び方法に関するものである。
毎年、益々多くのコンピュータウイルス及びコンピュータウイルスの変形例に遭遇する。コンピュータシステムをこのようなウイルスがない状態に維持するための所要の努力は著しく増加している。コンピュータシステムをウイルスがない状態に維持するための試みの1つの態様は、ウイルスに対してチェックを行うために周期的にシステムをスキャンすることである。最適な安全性のために、そのようなスキャンは、通常、少なくとも一日に一度実施される。然しながら、コンピュータウイルスの数が増加すると、コンピュータシステムを適切にスキャンするために必要なその結果発生する時間的な増加は厄介なものとなる場合がある。
従って、コンピュータウイルスに対してシステムをチェックするのに必要な時間の量を減少させるシステム及び方法に対する必要性が存在している。
コンピュータにより読取可能なコードにおいて悪性コードを検知するための方法、コンピュータ記録媒体及び装置を開示する。本方法は、コンピュータにより読取可能なコードの第一部分が潜在的に悪性コードを有しているか否かを決定するために第一決定を実施し、且つ該コンピュータにより読取可能なコードが潜在的に悪性コードを有しているものと決定される場合には、該コンピュータにより読取可能なコードの第一部分を包含することのない第二部分が悪性コードを有しているか否かを決定するための別の決定を実施することを包含している。
コンピュータにより読取可能なコードにおいて悪性コードを検知するための方法、コンピュータ記録媒体及び装置も開示し、本方法は、コンピュータにより読取可能なコードの第一部分のCRCを決定し、該コンピュータにより読取可能なコードの第一部分のCRCがCRCのデータベース内に存在するか否かを決定するための初期的決定を実施し、各CRCは、該決定されたCRCが該CRCのデータベース内に存在する場合にどのようにして進行するかについての対応する命令を包含しており、且つ該コンピュータにより読取可能なコードの第一部分のCRCが該CRCのデータベース内に存在することが決定される場合には、該対応する命令を実施する、ことを包含している。
図面に例示した本発明の好適実施例を説明するに当たり、説明の便宜上特定の用語を使用する。然しながら、本発明はそのように選択された特定の用語に制限されることを意図したものではなく、各特定の要素は同様の態様で動作する全ての技術的均等物を包含することを理解すべきである。
図1は本発明の方法及びシステムを実現することが可能なコンピュータシステムの1例を示している。本発明のシステム及び方法は、例えば、メインフレーム、パソコン(PC)、ハンドヘルドコンピュータ、サーバー等のコンピュータシステム上でラン即ち稼動するソフトウエアアプリケーションの形態で実現することが可能である。該ソフトウエアアプリケーションは、例えば、フロッピィディスク、コンパクトディスク、ハードディスク等のコンピュータシステムにより局所的にアクセス可能な記録媒体上に格納することが可能であり、又は、コンピュータシステムから離れており且つ、例えば、ローカルエリアネットワーク又はインターネット等のネットワークへハードワイヤード又は無線接続を介してアクセス可能なものとすることが可能である。
該コンピュータシステムは、通常、システム100として呼称し、且つ中央処理装置(CPU)102、メモリ104、例えばランダムアクセスメモリ(RAM)、プリンタインターフェース106、ディスプレイユニット108、(LAN)ローカルエリアネットワークデータ伝送制御器110、LANインターフェース112、ネットワーク制御器114、内部バス116及び例えばキーボード、マウス等の1個又はそれ以上の入力装置118を包含することが可能である。図示したように、システム100は、例えば、ハードディスク120等のデータ格納装置へリンク122を介して接続することが可能である。
該データ格納装置は、その中に、種々のタイプの多数のファイルを格納している場合がある。格納されている場合のあるファイルのタイプの例は、バッチファイル(BAT)、実行可能コマンドファイル(COM)、実行可能ファイル(EXE)等を包含している。各タイプのファイルは、1つ又はそれ以上のウイルスにより障害を受け易いものである場合がある。本システムは、そのファイルが障害を受けているか否かを決定するために各ファイルの一部に関してチェック(例えば、巡回冗長検査(CRC))を実施することが可能である。このチェックから、そのファイルが障害を受けている場合があると決定される場合には、そのファイルのより大きな部分を検査して、そのファイルが実際に障害を受けているか否かを決定することが可能である。
多数のタイプのファイルは、例えば、EXEファイルのヘッダー等の独特である1つ又はそれ以上の部分を有している。各EXEファイルはヘッダーを有しており、それはそのファイルの始めに位置している512バイトのエリアである。この512バイトのうちで、27バイトのみが、通常、ヘッダー情報を包含している。該ヘッダーはそのファイルをロードし且つ実行する場合にシステムにより使用されるそのファイル自身についての種々のタイプの情報を包含している。該ヘッダーはIDバイト、最後のセクター上の合計バイト、セクターの総数、再配置可能な項目の数、ヘッダー寸法、所要の最小及び最大パラグラフ等を包含する場合がある。そのファイルがウイルスにより障害を受けている場合、即ち汚染されている場合には、該ヘッダーの少なくともいずれかの部分における変化により反映される蓋然性がある。
本システム及び方法の1実施例は、最初に、ファイルのヘッダーのCRCを獲得し、次いで、それをウイルスを包含するファイルのヘッダーのCRC(ウイルスCRC)と比較することによりこのことを利用するものである。それらのCRCが一致する場合には、そのファイルがウイルスを包含していることを表わす可能性がある。次いで、そのファイルがウイルスを包含していることを確認するためにそのファイルのより包括的なチェックを実施することが可能である。例えば、そのファイルのより大きな部分(又は全て)のCRCを決定することが可能である。次いで、このCRCを、ウイルスを包含するファイルのより大きな部分(又は全て)のCRCと比較することが可能である。これらのCRCが一致する場合には、そのファイルは汚染されており且つユーザに通知することが可能である。そのファイルのより大きな部分はファイル全体とするか、又は一定のまま残存し且つ通常変化することのないファイルの一部のみとすることが可能である。
図2に示したように、本システムは、3個のファイル、即ちファイル1、ファイル2、ファイル3を包含している場合がある。各ファイルは夫々ヘッダー1、ヘッダー2、ヘッダー3の記号を付けたヘッダー部分、及び夫々、ボディ1、ボディ2、ボディ3と記号の付けたボディ部分を包含している。ウイルスの記号を付けたファイルは既知のウイルスに感染したファイルである。このウイルスファイルもヘッダーVの記号を付けたヘッダー部分とボディVの記号を付けたボディ部分とを包含している。ウイルスファイルの全体がシステム上に格納される場合があるが、そのようにすることは必ずしも必要なことではない。即ち、ウイルスファイルの全体を格納する代わりに、そのウイルスファイルの1つ又はそれ以上の部分のCRCのみを決定し且つ格納することが可能である。例えば、そのウイルスファイルのヘッダー(ヘッダーV)のCRCを決定し且つ、そのウイルスファイルのボディ(ボディV)のCRCと共に、メモリ内に格納することが可能である。1つのウイルスファイルのみを示してあるが、実際には、多数のウイルスファイルが使用され且つ1個又はそれ以上のCRCが各々に対して決定されることを理解すべきである。
ウイルススキャン期間中に、ファイル(ファイル1,ファイル2,ファイル3)の各々の内容全体をスキャンする代わりに、これらのファイル、ファイル1、ファイル2、ファイル3の各々のヘッダーのCRCを決定することが可能であるようにヘッダーのみをスキャンする。次いで、これらのCRCをウイルスファイルのヘッダーのCRCと比較する。例えば、ファイル1のヘッダーのCRCがウイルスファイルのヘッダーのCRCと一致する場合には、このことは、ファイル1の更なるスキャンをトリガさせる。次いで、例えばファイル1のボディ(ボディ1)のCRCを決定する。次いで、このCRCをウイルスファイルのボディ(ボディV)のCRCと比較する。これらのCRCが一致する場合には、このことは、そのファイルが感染していることを表わす。次いで、ユーザに通知することが可能であり、及び/又はシステムがそのウイルスを除去すべく試みることが可能である。
1個のファイルのボディのCRCが決定される場合に、そのファイル全体がスキャンされるか、又はそのボディの全て又は1つ又はそれ以上の部分がスキャンされる場合がある。そのファイルのボディのCRCは、そのヘッダーのスキャニングも包含する場合がある。例えば、図3に示したように、ファイルはヘッダーと、一定部分と、可変部分とを包含している場合がある。しばしば変化するファイルの場合には、そのファイルの可変部分をスキャンすることなしにそのファイルのCRCを決定することが望ましい場合がある。この場合には、そのファイルの一定部分又は一定部分とヘッダー部分のみをスキャンすることによりCRCを決定することが可能である。
本発明の1実施例によれば、既知のウイルス情報がメモリ内に格納される。そのメモリは図1に示したようなシステムメモリ104とすることが可能であり又は着脱可能な格納媒体又はメモリ、又は例えばインターネットを介してコンピュータシステム100により遠隔的にアクセス可能なデータベースとすることが可能である。そのウイルス情報は、各々が第一ウイルスCRC及び対応する第二ウイルスCRCを包含するウイルス情報の組を包含している。各第一ウイルスCRCは、ウイルスに感染したファイルの一部又は複数部分のCRCを計算することにより決定することが可能である。例えば、第一ウイルスCRCは、ウイルスに感染したファイルのヘッダーのCRCを計算することにより決定することが可能である。各第一ウイルスCRCは少なくとも1個の対応する第二ウイルスCRCを有している。この第二ウイルスCRCは、例えば、ウイルスに感染しているファイルのボディのCRCを計算することにより決定することが可能である。該データベースは、種々のタイプのファイルにおける種々のタイプのウイルスを検知するための多数の組のウイルス情報を包含している場合がある。
図4は本発明の1実施例に基づいて悪性コードを検知する方法のフローチャートを示している。この実施例によれば、種々のタイプのウイルスに感染した種々のタイプのファイルに対してのウイルス情報の組を格納しているデータベースが提供される。各組は第一ウイルスCRCと第二ウイルスCRCとを包含している。第一ウイルスCRCは、ウイルスに感染しているファイルのヘッダーをスキャンすることにより決定される。第二ウイルスCRCは、感染しているファイルの一定部分(図3)をスキャンすることにより決定される。本方法は、コンピュータシステムメモリ100内に格納されているか、又は、例えば、コンピュータシステム100によりアクセス可能な遠隔にあるアプリケーションサービスプロバイダーサイトに遠隔的に格納されているコンピュータにより実行可能なコードの形態で実現することが可能である。本システムが開始した後に(ステップS1)、検査すべきファイルの一部(例えば、第一キロバイト(又はヘッダー))が一時的バッファ内に読み込まれる(ステップS2)。このことは、ウイルスに対してのファイルをスキャンするためのユーザによる特定の要求に応答するか、又はファイルをウイルスについてスキャンすべき設定されている命令に応答して実施することが可能である。ステップS4において、該バッファ内に読み込まれたデータのCRCを決定する(第一CRC)。次いで、この第一CRCは該データベース内に格納されている第一ウイルスCRCと比較する(ステップS6)。この第一CRCが格納されている第一ウイルスCRCのいずれとも一致しない場合には(NO、ステップS6)、ウイルスが見つからないことが決定され、且つ本システムはウイルスについてチェックするための別の技術を継続して行うか及び/又はウイルスが見つからなかったことをユーザに知らせることが可能である(ステップS12)。第一CRCが第一ウイルスCRCと一致する場合には(YES、ステップS6)、そのファイルの一定部分が該一時的バッファ内に読み込まれ、スキャンされ且つその第二CRCが決定される(ステップS8)。次いで、第二CRCが対応する第二ウイルスCRCと比較される(ステップS10)。この第二CRCが対応する第二ウイルスCRCと一致する場合には(YES、ステップS10)、そのファイルがウイルスを包含しているものと決定され且つ適宜のアクションを取ることが可能である(ステップS14)。そのファイルのボディのCRCが感染されているファイルのウイルスのボディのCRCと一致しない場合には(NO、ステップS10)、本プロセスはステップS12へ進行し且つ適宜のアクションが取られる。次いで、本プロセスは終了する(ステップS16)。
本発明の別の実施例によれば、ウイルスCRCは、CRCの一致が発生する場合にどのようにして進行するかを表わす命令と共にデータベース内に格納されている。この実施例は、異なるタイプのウイルスを扱う場合にかなりの柔軟性を与えることを可能とする。何故ならば、各ウイルスCRCは一致を取り扱うための異なる組の命令を包含することが可能だからである。例えば、ファイルヘッダーのCRCがデータベース内のウイルスCRCと一致する場合に、該データベースは、そのファイルの別の部分のCRCを計算すべきであることの命令を包含する場合がある。例えば、その命令は、次のキロバイトのデータのCRCを計算し、次いで、該データベース内のウイルスCRCと比較すべきであることを表わす場合がある。そのCRCが、再度、該データベース内のウイルスCRCと一致する場合には、そのウイルスCRCと共に該データベース内に格納されている命令が、本システムをして、そのファイルの別の部分のCRCを決定し、次いで、それを該データベース内に格納されているウイルスCRCと比較することを命令する場合等がある。幾つかのウイルスCRCは、CRCがそれと一致する場合に、ファイル全体のCRCを計算し且つその結果得られるCRCを該データベース内のウイルスCRCと比較すべきであることを表わす命令をその中に包含している場合がある。幾つかのウイルスCRCは、CRCがそれと一致する場合には、そのファイルの一定部分のみのCRCを計算し、且つその結果得られるCRCを該データベース内のウイルスCRCと比較すべきであることを表わす命令をその中に包含している場合がある。幾つかのウイルスCRCは、CRCがそれと一致する場合には、そのファイルについての別のCRCを計算する代わりに、そのファイルについて別の形態のウイルス検知を実施すべきであることを表わす命令をその中に包含している場合がある。
図5は本発明のこの実施例に基づくプロセスを記述したフローチャートである。本システムが開始した後(ステップS20)、本システムは次のレベルのCRCを計算する(ステップS22)。初期的には、このステップは、そのファイルの第一キロバイト(又はヘッダー)のCRCを計算する。次いで、ウイルスCRCのデータベースを一致に対してサーチする(ステップS24)。一致するウイルスCRCが見つからない場合には(NO、ステップS26)、本プロセスは終了する(ステップS28)。ステップS28は、そのファイルがウイルスではなかったことをユーザに告げるべく指示する場合があり、及び/又は別のタイプのウイルス検知を実施するか又はチェックすべき次のファイルへ進行することを本システムに指示する場合がある。一致するウイルスCRCが見つかった場合には(YES、ステップS26)、そのウイルスCRCと共に格納されている命令が読み取られ且つその命令が実行される(ステップS30)。これらの命令は、CRCが一致したので、ウイルスが検知されており(YES、ステップS32)、且つ次いで、この情報を例えば、所望により、ディスプレイを介してユーザへ伝えることが可能であることを指示する場合がある(ステップS34)。該命令が、そのファイルの別の部分又はファイル全体のCRCを計算することを指示する場合には(NO、ステップS32)、本プロセスはステップS22へ復帰し、そこで、次のCRCを計算し且つ本プロセスを繰り返すことが可能である。
上述したように、該命令は、別のタイプのウイルス検知を実施することを指示する場合がある。該命令が、別の形態のウイルス検知を使用することを指示する場合には、その命令において表わされたタイプのウイルス検知を使用してウイルスを検知するための試みが行われる。ウイルスが検知されると、ユーザに通知することが可能である。
上述したものはCRCの使用について説明しているが、ファイル内の潜在的なウイルスの存在を決定するためにその他の方法を使用する場合があることを理解すべきである。例えば、CRCの代わりにヘッダーに対するシグネチャ及びファイルのボディ部分を使用することが可能である。
本発明は、1個又はそれ以上の従来の汎用デジタルコンピュータ及び/又は本発明の教示に従ってプログラムされたサーバーを使用して実現することが可能である。本発明の教示に基づいて当業者により適宜のソフトウエアコーディングを容易に用意することが可能である。本発明は、又、応用特定集積回路を準備することにより、又は従来のコンポーネント回路の適宜のネットワークを相互接続することにより実現することも可能である。本発明の多数の付加的な修正及び変形例は上述した教示に鑑み可能なものである。従って、本発明の範囲内において、本発明を本明細書に特記したこと以外で実施することが可能であることを理解すべきである。
本発明を適用することが可能なシステムの1例を示したブロック図。 ファイルの種々の部分を示した概略図。 ファイルのその他の部分を示した概略図。 本発明の1実施例に基づくシステムを示したフローチャート。 本発明の別の実施例に基づくシステムを示したフローチャート。

Claims (30)

  1. コンピュータにより読取可能なコードにおいて悪性コードを検知する方法において、
    前記コンピュータにより読取可能なコードの第一部分が潜在的に悪性コードを有しているか否かを決定するための初期的決定を実施し、
    前記コンピュータにより読取可能なコードが潜在的に悪性コードを有しているものと決定される場合には、前記コンピュータによって読取可能なコードの前記第一部分を包含することのない第二部分が悪性コードを有しているか否かを決定するための別の決定を実施する、
    ことを包含している方法。
  2. 請求項1において、前記別の決定が前記初期的決定よりも一層包括的である方法。
  3. 請求項1において、前記初期的決定が前記コンピュータにより読取可能なコードの前記第一部分の第一CRCを決定する方法。
  4. 請求項3において、前記別の決定が、前記コンピュータにより読取可能なコードの前記第二部分の第二CRCを決定するために実施される方法。
  5. 請求項4において、前記第一CRCが悪性コードが存在するか否かを決定するためにCRCのデータベースと比較される方法。
  6. 請求項5において、前記第二CRCが前記データベース内のCRCと比較される方法。
  7. 請求項6において、前記CRCのデータベースがCRCの組を有している方法。
  8. 請求項7において、前記CRCの組が悪性コードを包含するために修正された前記コンピュータにより読取可能なコードの前記第一部分のCRCを決定することにより得られる第一ウイルスCRC、及び前記悪性コードを包含するために修正された前記コンピュータにより読取可能なコードの前記第二部分のCRCを決定することにより得られる対応する第二ウイルスCRCを有している方法。
  9. コンピュータによって読取可能なコードにおいて悪性コードを検知する方法において、
    前記コンピュータにより読取可能なコードの第一部分のCRCを決定し、
    前記コンピュータにより読取可能なコードの前記第一部分のCRCがCRCのデータベース内に存在するか否かを決定するために初期的決定を実施し、各CRCは、前記決定したCRCが前記CRCのデータベース内に存在する場合にどのように進行するかの対応する命令を包含しており、
    前記コンピュータにより読取可能なコードの前記第一部分のCRCが前記CRCのデータベース内に存在することが決定される場合には、前記対応する命令を実施する、
    ことを包含している方法。
  10. 請求項9において、前記対応する命令が、全体的なコンピュータにより読取可能なコードのCRCを決定し且つ前記CRCのデータベースと比較することを指示すること、前記コンピュータにより読取可能なコードの一定部分のCRCを決定し且つ前記CRCのデータベースと比較することを指示すること、前記コンピュータにより読取可能なコードに関してCRCチェック以外の悪性コード検知形態を実施することを指示することのうちの少なくとも1つを有している方法。
  11. コンピュータにより読取可能なコードにおいて悪性コードを検知するための実行可能なコードを包含する記録媒体において、
    前記コンピュータにより読取可能なコードの第一部分が潜在的に悪性コードを有しているか否かを決定するための初期的決定を実施するためのコード、
    前記コンピュータにより読取可能なコードが潜在的に悪性コードを有していることが決定される場合に、前記コンピュータにより読取可能なコードの前記第一部分を包含することのない第二部分が悪性コードを有しているか否かを決定するための別の決定を実施するためのコード、
    を有している記録媒体。
  12. 請求項11において、前記別の決定が前記初期的決定よりも一層包括的である記録媒体。
  13. 請求項11において、前記初期的決定が前記コンピュータにより読取可能なコードの前記第一部分の第一CRCを決定する記録媒体。
  14. 請求項13において、前記別の決定が、前記コンピュータにより読取可能なコードの前記第二部分の第二CRCを決定するために実施される記録媒体。
  15. 請求項14において、悪性コードが存在するか否かを決定するために前記第一CRCがCRCのデータベースと比較される記録媒体。
  16. 請求項15において、前記第二CRCが前記データベースにおける1個のCRCと比較される記録媒体。
  17. 請求項16において、前記CRCのデータベースがCRCの組を有している記録媒体。
  18. 請求項17において、前記CRCの組が、悪性コードを包含するために修正された前記コンピュータにより読取可能なコードの前記第一部分のCRCを決定することにより得られる第一ウイルスCRC、及び前記悪性コードを包含するために修正された前記コンピュータにより読取可能なコードの前記第二部分のCRCを決定することにより得られる対応する第二ウイルスCRCを有している記録媒体。
  19. コンピュータにより読取可能なコードにおいて悪性コードを検知するための実行可能なコードを包含する記録媒体において、
    前記コンピュータにより読取可能なコードの第一部分のCRCを決定するためのコード、
    各CRCが、決定されたCRCが前記CRCのデータベース内に存在する場合にどのようにして進行するかについての対応する命令を包含しており、前記コンピュータにより読取可能なコードの前記第一部分のCRCがCRCのデータベース内に存在するか否かを決定するために初期的決定を実施するためのコード、
    前記コンピュータにより読取可能なコードの前記第一部分のCRCが前記CRCのデータベース内に存在することが決定される場合に、前記対応する命令を実施するためのコード、
    を有している記録媒体。
  20. 請求項19において、前記対応する命令が、全体的なコンピュータにより読取可能なコードのCRCを決定し且つ前記CRCのデータベースと比較することを指示すること、前記コンピュータにより読取可能なコードの一定部分のCRCを決定し且つ前記CRCのデータベースと比較することを指示すること、前記コンピュータにより読取可能なコードに関してCRCチェック以外の悪性コード検知の形態を実施することを指示することのうちの少なくとも1つを有している記録媒体。
  21. コンピュータにより読取可能なコードにおいて悪性コードを検知するためのコードを包含するプログラムされたコンピュータ装置において、
    前記コンピュータにより読取可能なコードの第一部分が潜在的に悪性コードを有しているか否かを決定するための初期的決定を実施し、
    前記コンピュータにより読取可能なコードが潜在的に悪性コードを有していることが決定される場合に、前記コンピュータにより読取可能なコードの前記第一部分を包含することのない第二部分が悪性コードを有しているか否かを決定するための別の決定を実施する、
    ことを包含している方法を実施することが可能であるプログラムされたコンピュータ装置。
  22. 請求項21において、前記別の決定が前記初期的決定よりも一層包括的であるプログラムされたコンピュータ装置。
  23. 請求項21において、前記初期的決定が前記コンピュータにより読取可能なコードの前記第一部分の第一CRCを決定するプログラムされたコンピュータ装置。
  24. 請求項23において、前記別の決定が、前記コンピュータにより読取可能なコードの前記第二部分の第二CRCを決定するために実施されるプログラムされたコンピュータ装置。
  25. 請求項24において、前記第一CRCをCRCのデータベースと比較して悪性コードが存在するか否かを決定するプログラムされたコンピュータ装置。
  26. 請求項25において、前記第二CRCを前記データベース内の1個のCRCと比較するプログラムされたコンピュータ装置。
  27. 請求項26において、前記CRCのデータベースがCRCの組を有しているプログラムされたコンピュータ装置。
  28. 請求項27において、前記CRCの組が、悪性コードを包含するために修正された前記コンピュータにより読取可能なコードの前記第一部分のCRCを決定することにより得られる第一ウイルスCRC、及び前記悪性コードを包含するために修正された前記コンピュータにより読取可能なコードの前記第二部分のCRCを決定することにより得られる対応する第二ウイルスCRCを有しているプログラムされたコンピュータ装置。
  29. コンピュータにより読取可能なコードにおいて悪性コードを検知するためのコードを包含しているプログラムされたコンピュータ装置において、
    前記コンピュータにより読取可能なコードの第一部分のCRCを決定し、
    各CRCが、決定されたCRCや前記CRCのデータベース内に存在する場合にどのようにして進行するかについての対応する命令を包含しており、前記コンピュータにより読取可能なコードの前記第一部分のCRCがCRCのデータベース内に存在するか否かを決定するための初期的決定を実施し、
    前記コンピュータにより読取可能なコードの前記第一部分のCRCが前記CRCのデータベース内に存在することが決定される場合に、前記対応する命令を実施する、
    ことを包含する方法を実施することが可能なプログラムされたコンピュータ装置。
  30. 請求項29において、前記対応する命令が、全体的なコンピュータにより読取可能なコードのCRCを決定し且つ前記CRCのデータベースと比較することを指示すること、前記コンピュータにより読取可能なコードの一定部分のCRCを決定し且つ前記CRCのデータベースと比較することを指示すること、前記コンピュータにより読取可能なコードに関してCRCチェック以外の悪性コード検知形態を実施することを指示すること、のうちの少なくとも1つを有しているプログラムされたコンピュータ装置。
JP2003586727A 2002-04-13 2003-04-10 悪性コードを検知するシステム及び方法 Pending JP2005522800A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37228302P 2002-04-13 2002-04-13
US37247302P 2002-04-15 2002-04-15
PCT/US2003/011246 WO2003090050A2 (en) 2002-04-13 2003-04-10 System and method for detecting malicicous code

Publications (1)

Publication Number Publication Date
JP2005522800A true JP2005522800A (ja) 2005-07-28

Family

ID=29254481

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003586727A Pending JP2005522800A (ja) 2002-04-13 2003-04-10 悪性コードを検知するシステム及び方法

Country Status (11)

Country Link
US (1) US7676842B2 (ja)
EP (1) EP1495395B1 (ja)
JP (1) JP2005522800A (ja)
KR (1) KR20040101460A (ja)
CN (1) CN1647007A (ja)
AT (1) ATE426858T1 (ja)
AU (1) AU2003234720A1 (ja)
CA (1) CA2480867A1 (ja)
DE (1) DE60326827D1 (ja)
IL (1) IL164502A0 (ja)
WO (1) WO2003090050A2 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533104A (ja) * 2009-07-10 2012-12-20 エフ−セキュア コーポレーション ウイルス対策スキャン
KR20130054570A (ko) * 2011-11-17 2013-05-27 삼성에스디에스 주식회사 검색 또는 패턴 매칭 엔진 및 이를 구비한 단말장치와 그 방법
JP2016062583A (ja) * 2014-09-16 2016-04-25 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド ファイル処理方法及び装置
JP2020031271A (ja) * 2018-08-20 2020-02-27 コニカミノルタ株式会社 画像形成装置およびウイルスチェック方法

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7203964B1 (en) * 2003-10-07 2007-04-10 Elmer V. Pass Method of stopping internet viruses
US7721334B2 (en) 2004-01-30 2010-05-18 Microsoft Corporation Detection of code-free files
US7484247B2 (en) 2004-08-07 2009-01-27 Allen F Rozman System and method for protecting a computer system from malicious software
US7725735B2 (en) * 2005-03-29 2010-05-25 International Business Machines Corporation Source code management method for malicious code detection
US7640587B2 (en) * 2005-03-29 2009-12-29 International Business Machines Corporation Source code repair method for malicious code detection
US7591016B2 (en) * 2005-04-14 2009-09-15 Webroot Software, Inc. System and method for scanning memory for pestware offset signatures
US7349931B2 (en) 2005-04-14 2008-03-25 Webroot Software, Inc. System and method for scanning obfuscated files for pestware
US7571476B2 (en) * 2005-04-14 2009-08-04 Webroot Software, Inc. System and method for scanning memory for pestware
US8984636B2 (en) 2005-07-29 2015-03-17 Bit9, Inc. Content extractor and analysis system
US7895651B2 (en) 2005-07-29 2011-02-22 Bit 9, Inc. Content tracking in a network security system
US8272058B2 (en) 2005-07-29 2012-09-18 Bit 9, Inc. Centralized timed analysis in a network security system
US20080134326A2 (en) * 2005-09-13 2008-06-05 Cloudmark, Inc. Signature for Executable Code
US8255992B2 (en) * 2006-01-18 2012-08-28 Webroot Inc. Method and system for detecting dependent pestware objects on a computer
US8713686B2 (en) * 2006-01-25 2014-04-29 Ca, Inc. System and method for reducing antivirus false positives
FR2898704B1 (fr) * 2006-03-14 2008-06-06 Proton World Internatinal Nv Protection d'un programme contre un deroutement
CN100461197C (zh) * 2006-05-16 2009-02-11 北京启明星辰信息技术有限公司 一种恶意代码自动分析系统及方法
US8190868B2 (en) 2006-08-07 2012-05-29 Webroot Inc. Malware management through kernel detection
US8601451B2 (en) * 2007-08-29 2013-12-03 Mcafee, Inc. System, method, and computer program product for determining whether code is unwanted based on the decompilation thereof
CN101304409B (zh) * 2008-06-28 2011-04-13 成都市华为赛门铁克科技有限公司 恶意代码检测方法及系统
US20100037062A1 (en) * 2008-08-11 2010-02-11 Mark Carney Signed digital documents
US11489857B2 (en) 2009-04-21 2022-11-01 Webroot Inc. System and method for developing a risk profile for an internet resource
US9392005B2 (en) * 2010-05-27 2016-07-12 Samsung Sds Co., Ltd. System and method for matching pattern

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5454000A (en) * 1992-07-13 1995-09-26 International Business Machines Corporation Method and system for authenticating files
US5509120A (en) * 1993-11-30 1996-04-16 International Business Machines Corporation Method and system for detecting computer viruses during power on self test
CA2191205A1 (en) * 1994-06-01 1995-12-07 John Schnurer Computer virus trap
US5684875A (en) * 1994-10-21 1997-11-04 Ellenberger; Hans Method and apparatus for detecting a computer virus on a computer
US6094731A (en) 1997-11-24 2000-07-25 Symantec Corporation Antivirus accelerator for computer networks
US6021510A (en) * 1997-11-24 2000-02-01 Symantec Corporation Antivirus accelerator
US6577920B1 (en) * 1998-10-02 2003-06-10 Data Fellows Oyj Computer virus screening
JP3056732B1 (ja) * 1999-04-09 2000-06-26 コナミ株式会社 コンピュ―タシステム、コンピュ―タプログラムの実行方法及びコンピュ―タプログラム記録媒体
US6922781B1 (en) * 1999-04-30 2005-07-26 Ideaflood, Inc. Method and apparatus for identifying and characterizing errant electronic files
GB2353372B (en) * 1999-12-24 2001-08-22 F Secure Oyj Remote computer virus scanning
US7328349B2 (en) * 2001-12-14 2008-02-05 Bbn Technologies Corp. Hash-based systems and methods for detecting, preventing, and tracing network worms and viruses
GB2364404B (en) * 2000-07-01 2002-10-02 Marconi Comm Ltd Method of detecting malicious code
GB2365158A (en) * 2000-07-28 2002-02-13 Content Technologies Ltd File analysis using byte distributions
US7231440B1 (en) * 2000-12-18 2007-06-12 Mcafee, Inc. System and method for distributing portable computer virus definition records with binary file conversion
US7421587B2 (en) * 2001-07-26 2008-09-02 Mcafee, Inc. Detecting computer programs within packed computer files
US7143113B2 (en) * 2001-12-21 2006-11-28 Cybersoft, Inc. Apparatus, methods and articles of manufacture for securing and maintaining computer systems and storage media

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012533104A (ja) * 2009-07-10 2012-12-20 エフ−セキュア コーポレーション ウイルス対策スキャン
US9965630B2 (en) 2009-07-10 2018-05-08 F-Secure Corporation Method and apparatus for anti-virus scanning of file system
KR20130054570A (ko) * 2011-11-17 2013-05-27 삼성에스디에스 주식회사 검색 또는 패턴 매칭 엔진 및 이를 구비한 단말장치와 그 방법
JP2013109761A (ja) * 2011-11-17 2013-06-06 Samsung Sds Co Ltd パターンマッチングエンジン及びこれを備えた端末装置並びにその方法
US9104866B2 (en) 2011-11-17 2015-08-11 Samsung Sds Co., Ltd. Pattern matching engine, terminal apparatus using the same, and method thereof
KR102029465B1 (ko) * 2011-11-17 2019-10-08 삼성에스디에스 주식회사 검색 또는 패턴 매칭 엔진 및 이를 구비한 단말장치와 그 방법
JP2016062583A (ja) * 2014-09-16 2016-04-25 バイドゥ オンライン ネットワーク テクノロジー(ペキン) カンパニー リミテッド ファイル処理方法及び装置
US10055583B2 (en) 2014-09-16 2018-08-21 Baidu Online Network Technology (Beijing) Co., Ltd. Method and apparatus for processing file
JP2020031271A (ja) * 2018-08-20 2020-02-27 コニカミノルタ株式会社 画像形成装置およびウイルスチェック方法
JP7099165B2 (ja) 2018-08-20 2022-07-12 コニカミノルタ株式会社 画像形成装置およびウイルスチェック方法

Also Published As

Publication number Publication date
DE60326827D1 (de) 2009-05-07
ATE426858T1 (de) 2009-04-15
CA2480867A1 (en) 2003-10-30
AU2003234720A1 (en) 2003-11-03
US20030217286A1 (en) 2003-11-20
EP1495395A2 (en) 2005-01-12
US7676842B2 (en) 2010-03-09
WO2003090050A3 (en) 2004-10-14
CN1647007A (zh) 2005-07-27
EP1495395B1 (en) 2009-03-25
IL164502A0 (en) 2005-12-18
WO2003090050A2 (en) 2003-10-30
KR20040101460A (ko) 2004-12-02

Similar Documents

Publication Publication Date Title
JP2005522800A (ja) 悪性コードを検知するシステム及び方法
EP1986120B1 (en) Systems, apparatus, and methods for detecting malware
RU2607231C2 (ru) Системы и способы защиты от вредоносного программного обеспечения на основе нечеткого вайтлистинга
RU2551820C2 (ru) Способ и устройство для проверки файловой системы на наличие вирусов
JP5511097B2 (ja) 中央集中的にマルウェアを検出するための知的ハッシュ
EP1751649B1 (en) Systems and method for computer security
US7234165B1 (en) Malware scanning of compressed computer files
US7478431B1 (en) Heuristic detection of computer viruses
EP1408393B1 (en) Selective detection of malicious computer code
US7664754B2 (en) Method of, and system for, heuristically detecting viruses in executable code
EP2469445A1 (en) Optimization of anti-malware processing by automated correction of detection rules
US20120017276A1 (en) System and method of identifying and removing malware on a computer system
EP1977523A2 (en) Forgery detection using entropy modeling
US11275835B2 (en) Method of speeding up a full antivirus scan of files on a mobile device
US20020095598A1 (en) Method of transferring data
JP6238093B2 (ja) マルウェアリスクスキャナー
JP6170900B2 (ja) ファイル処理方法及び装置
KR101327865B1 (ko) 악성코드에 감염된 홈페이지 탐지 장치 및 방법
EP4407495A1 (en) Machine learning-based malware detection for code reflection