JP2005216286A - コード・フリー・ファイルの検出 - Google Patents

コード・フリー・ファイルの検出 Download PDF

Info

Publication number
JP2005216286A
JP2005216286A JP2004368217A JP2004368217A JP2005216286A JP 2005216286 A JP2005216286 A JP 2005216286A JP 2004368217 A JP2004368217 A JP 2004368217A JP 2004368217 A JP2004368217 A JP 2004368217A JP 2005216286 A JP2005216286 A JP 2005216286A
Authority
JP
Japan
Prior art keywords
file
status
code
parser
input file
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
JP2004368217A
Other languages
English (en)
Other versions
JP2005216286A5 (ja
Inventor
Marc E Seinfeld
イー.サインフェルド マーク
Michael G Sheldon
ジー.シェルドン マイケル
Mihai Costea
コステア ミハイ
Zeke B Odins-Lucas
ビー.オーディンス−ルーカス ジーク
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.)
Microsoft Corp
Original Assignee
Microsoft 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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2005216286A publication Critical patent/JP2005216286A/ja
Publication of JP2005216286A5 publication Critical patent/JP2005216286A5/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/563Static detection by source code analysis
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail

Landscapes

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

Abstract

【課題】実行可能なコード・フリー・コンピュータ・ファイル(executable code-free computer files:実行可能なコードが無いコンピュータ・ファイル)を検出する。
【解決手段】1つの実施例によれば、入力ファイルが構文解析されてファイル・フォーマットが認識される102。実行可能コードが入力ファイル内に存在するかどうかを決定するために、認識されたファイル・フォーマットが使用可能であれば、認識されたファイル・フォーマットに従って入力ファイルのコンテンツ(contents)が検査される104。次に、検査に応じてステータスが送信される106。
【選択図】図1

Description

本開示は、実行可能なコード・フリー・コンピュータ・ファイル(executable code-free computer files:実行可能なコードが無いコンピュータ・ファイル)の検出に関する。
複雑なコンピュータ・ファイル・フォーマット(file formats)は、拡張性および高機能を実現できるので、複雑なコンピュータ・ファイル・フォーマットはますます普及しつつある。残念なことに、こうしたファイル・フォーマットは、悪意のあるウィルス・ソフトウェアの作成者が悪意のある実行可能コードを潜ませることができる乗り物(vehicle)をももたらす。こうした状況に取り組むために、ウィルス対策(AV)ソフトウェア・メーカが、新たな各ウィルスのコピーを分離して、新しいウィルスの「シグニチャ(signature)」を取得し、それ以降そのシグニチャを認識できるようになる、という「軍備拡張競争(arms race)」が存在している。
したがって、アンチウィルス(AV)ソフトウェアは、既知の各ウィルスのシグニチャを探して、入力ファイルをスキャンするように構成されている。既知のシグニチャが検出されない場合、入力ファイルはウィルスに感染していないと見なされる。
"Control plans for the new computer viruses", Baker et al., Management Accounting, September 1994, Vol. 76, No. 3, pages 47-51. "Take steps to resolve an infectious issue", Fielder, E., Business Forms, Labels, & Systems, July 1, 1999, Vol.37, No.13, pages l2, 17. "An analysis of some authentication methods used in anti-viral software". Radai, Y., Virus Bulletin, May 1991, pages 11-13. "VET anti-viral soft war", Jackson, K., Virus Bulletin, May 1991. pages 18-19.
残念ながら、AVソフトウェアが新しいウィルスを含めるようにまだ更新されていないために、新しいウィルスがAVソフトウェアを通り抜けてしまう事例も頻繁にある。AVソフトウェア・メーカは迅速に対応する傾向にあるが、多くの場合、アップグレードで対応することができる前に、また消費者がアップグレードをインストールする前に被害が発生する。したがって、新しいソフトウェア・ウィルスがコンピュータ・システムに感染することを防止することがよりよくできる技術が依然として必要とされている。
コード・フリー・ファイル(コンピュータ実行コードを含まないファイル)の検出について説明される。1つの実装例によれば、入力ファイルが構文解析されてファイル・フォーマットが認識される。認識されたファイル・フォーマットが使用可能であれば、実行可能コードが入力ファイル内に存在するかどうかを決定するために、認識されたファイル・フォーマットに従って入力ファイルのコンテンツ(contents)が検査される。次に、この検査結果に応じてステータスが送信される。
同様のコンポーネントおよび機能を参照するために、図面全体を通じて同一の参照番号が使用される。
概観
以下の説明は、コード・フリー・ファイルを検出するための技術に関する。コード・フリー・ファイルの検出は、そのようなファイルが電子メール、インスタント・メッセージ、インターネット閲覧および他のアプリケーションのユーザに対してセキュリティ上の危険を大幅に低減するという点で有利である。ファイルがコード・フリーであることが判明している場合、ユーザは、悪意のある「ウィルス」ソフトウェアが存在しないという可能性が高い状況に恵まれる。
一般的な処理
図1は、コード・フリー・ファイルを検出する一般的なプロセスを示している。ブロック102において、入力ファイルが構成されているファイル・フォーマットを認識できるように、入力ファイルが構文解析される。ファイル・フォーマットは、データを使用および保管できるように編成する規約である。そのようなファイル・フォーマットのいくつかは良く知られており、ファイル名拡張子に関連付けられている。ファイル名拡張子を限定的かつ非包括的にあげると、jpeg、pdf、doc(Word(登録商標))、vsd(Visio(登録商標))などが含まれる。ブロック104において、認識されたファイル・フォーマットが使用可能であれば、認識されたファイル・フォーマットしたがって、入力ファイル内に実行可能コードを見つけるために入力ファイルのコンテンツ(contents)が検査される。ブロック106において、実行可能コードの検査の結果に従ってステータスが送信される。本明細書において、「コード(code)」または「実行可能コード(executable code)」という用語は、広義に解釈され、しかも引用される実施例に限定されないことに留意されたい。コードには、ウィルス、ウァーム、あるいは悪意ある無許可の、望ましくない、または意図されていないマルウェア(malware)を構築するように、設計され、改ざんされ、または他のあらゆる方法で実装されているプロセッサ実行可能命令、スクリプトおよび他の上位言語、拡張性メカニズム(extensibility mechanisms)および他のロジック、デバイスまたはメカニズムが含まれる。一部の実装例において、(たとえば、file−has−code(ファイルにコードあり)ステータス、file−has−no−code(ファイルにコードなし)ステータス、またはdon’t−know−if−file−has−code(ファイルにコードがあるか不明))ステータスを反映する)ステータスが、ウィルスに感染したソフトウェアに対する安全確保に都合の良い電子メール、インスタント・メッセージ、インターネット閲覧、およびその他アプリケーションに送信される。
例示的な環境
図2〜図4は、コード・フリー・ファイルを検出するシステムが動作する例示的な環境200〜400を示している。特に、図2〜図4では、電子メール・クライアント・アプリケーション202、インスタント・メッセージ・アプリケーション302またはインターネット閲覧プログラム402がそれぞれ、1つまたは複数の添付ファイル204を含む情報を受け取るように構成される環境200〜400を示している。アプリケーション202、302、402が、コード検出モジュール206から情報を受け取るように構成できる多種多様なハードウェアまたはソフトウェア・デバイスを代表していることに留意されたい。代表的なデバイスにはさらに、ファイアウォール(ハードウェアおよび/またはソフトウェア)、(サーバ、クライアント、ワークステーション用などの)ホスト侵入検出器(host intrusion detector)、(サーバ、クライアント、ワークステーション用などの)ホスト脆弱性評価機能(host vulnerability assessor)、ソフトウェア・バックアップ管理プログラム、CDおよび/またはDVD作成プログラム、P2P(ピア・ツー・ピア)ファイル共有プログラム、またはその他各種のアプリケーションが含まれる。コード検出モジュール206は、添付ファイル204を分析して実行可能コードが存在するかどうか決定するように構成される。この分析結果に応じて、コード検出モジュール206の出力は、file−has−code(ファイルにコードあり)ステータス208、file−has−no−code(ファイルにコードなし)ステータス210、またはdon’t−know(ファイルにコードがあるかどうか不明)ステータス212という3つの可能な入力の1つをアプリケーション202、302、402に提供する。第1のケースにおいて、file−has−code(ファイルにコードあり)ステータス208は、かなりの高い確率で、入力ファイルのファイル・フォーマットを認識して入力ファイル内に実行可能コードを発見したことを反映している。ファイル内に実行可能コードを持つことに伴う特有の危険性があるため、アプリケーション202、302、402などは、このステータスの知識を使用して、これらの対処する方法で、実行することができる。第2のケースにおいて、file−has−no−code(ファイルにコードなし)ステータス210は、入力ファイルのファイル・フォーマットを認識したこと、および入力ファイル内に実行可能コードを発見しなかったことについての一定の確実さを反映している。ファイル204がコード・フリーであることがアプリケーション202、302、402に保証されている場合、ユーザは、ファイルが信頼できるかどうか判断するようユーザに求めるユーザインターフェースのダイアログボックスまたはその他のアスペクトによって煩わされる必要はない。第3のケースにおいて、don’t−know(ファイルに実行可能コードがあるかどうか不明)ステータス212は、入力ファイルのファイル・フォーマットを認識できなかったこと、その結果入力ファイル内に実行可能コードがあるかどうか不確実であることを反映している。
例示的なシステム
図5は、図2〜図4に示されたコード検出モジュール206の例示的な詳細を示している。例示的なコード検出モジュール206は、ソフトウェア、ファームウェア、またはASIC(特定用途向け集積回路)などのハードウェアで構成することができる。拡張可能パーサ・モジュール502は、複数のコンポーネント・パーサ・モジュール506(1)〜506(N)を含むように構成されたテーブルとして形成することができる。拡張可能パーサ・モジュールは、たとえば図6に示す例示的方法600によって、拡張することができる。新しいファイル・フォーマットが知られるようになることや、既知のファイル・フォーマットへの関心が高まることも多いため、拡張性があることが望ましい。したがって、拡張可能パーサ・モジュール502は、追加のファイル・フォーマットを認識するように構成され、さらに新しいファイル・フォーマット内で実行可能コードを調べるように構成された追加のコンポーネント・パーサ506(N+1)を含めるように拡張することができる。図6は、コード検出モジュール206の拡張可能パーサ・モジュール502が拡張される例示的なプロセス600を示している。ブロック602において、拡張可能パーサ・モジュール502に追加するために、あるファイル・フォーマットが識別される。たとえば、jpegファイルを含めて使用するために、拡張可能パーサ・モジュール502が拡張されることが望ましい。ブロック604において、新しいコンポーネント・パーサは新しいファイル・フォーマット(たとえばjpeg)に従って構成され、そこで新しいコンポーネント・パーサは新しいフォーマットのファイルを認識して、そのようなファイル内の実行可能コードを認識するように構成される。ブロック606において、拡張可能パーサ・モジュール502の機能は、新しいコンポーネント・パーサ506(N+1)を拡張可能パーサ502内の拡張可能テーブルに追加することによって拡張される。
再び図5を参照すると、拡張可能パーサ・モジュール502は、複数のコンポーネント・パーサ・モジュール506(1)〜506(N)を含むように構成されるが、ここでは簡略を期すために2つのコンポーネント・パーサだけが図示されている。コンポーネント・パーサ・モジュール506(1)〜506(N)はそれぞれ、特定のファイル・フォーマットのファイルを認識するように構成され、特定のファイル・フォーマットが認識された場合、ファイル内に含まれている実行可能コードを認識するようにさらに構成される。たとえば、パーサ・モジュール506(1)は、Word(登録商標)文書のファイル・フォーマット(たとえば、格納用にデータが編成されるフォーマット)を認識するように構成することができる。パーサ・モジュール506(1)はさらに、ファイル・フォーマットを認識すると、Word(登録商標)のファイル・フォーマットを持つ入力ファイル内の実行可能コードを認識するように構成することもできる。この場合、ファイル・フォーマットを認識することで、実行可能コードの認識が補助される。
コンポーネント・パーサ・モジュール506はそれぞれ、入力ファイル204を構文解析して、パーサが識別するように構成されたファイル・フォーマットと入力ファイルが一致するかどうかを決定するように構成されているフォーマット調査(format investigation)モジュール508を含んでいる。コンポーネント・パーサ・モジュールはさらに、コード・セクション検出器(code section detector)510も含んでいる。これは、特に、入力ファイルがコンポーネント・パーサ・モジュールに関連付けられているファイル・フォーマットであることが判明した場合に、その入力ファイル内の実行可能コードを検出するように構成されている。
各コンポーネント・パーサ・モジュール506はさらに、入力ファイル204にコードがあること(512)、入力ファイルにコードがないこと(514)、および入力ファイルにコードがあるかどうか不明であること(516)、を示す3つの出力を含むように構成することもできる。図5の実装例において、フォーマット調査モジュール508が入力ファイル204に関連付けられているフォーマットを検出できなかった場合、コンポーネント・パーサは、don’t−know(不明)ステータス516を返す。ファイル・フォーマットが認識された場合、コード検出器の出力510を使用して、入力ファイルにコードがあることを示す出力512(つまりコード検出器510がコードを検出した)が適切であるか、または入力ファイルにコードがないことを示す出力514が適切である(つまり、コード検出器510がコードを検出しなかった)か、を決定する。
拡張可能パーサ・モジュール502はさらに、コントローラまたはディスパッチ・プロセス504も含み、これらは、通常、入力ファイルをすべての使用可能なコンポーネント・パーサ506(1)〜506(N)に供給すること、すべてのコンポーネント・パーサの出力を処理すること、全体の応答(つまりコードあり/コードなし/不明)を適切なアプリケーションに送信すること、を実行するように構成されている。コントローラ504は、複合コード・セクション検出器(compound code section detector)518を含むように構成され、これは、各コンポーネント・パーサ506(1)〜506(N)からの入力を受け取って、コンポーネント・パーサのいずれかがコードを検出したかどうかを決定するように構成されている。コンポーネント・パーサ506(1)〜506(N)の1つによってコードが検出された場合、コード検出モジュール206の出力は、file−has−code(ファイルにコードあり)ステータス208になる。複合フォーマット調査モジュール520は、コンポーネント・パーサ506(1)〜506(N)のいずれかが入力ファイル204のフォーマットを認識したかどうかを決定するように構成される。そのような調査は通常、コンポーネント・パーサ506(1)〜506(N)のいずれも実行可能コードを検出しなかった場合に適切である。コンポーネント・パーサ506(1)〜506(N)の1つによってファイル・フォーマットが検出された場合、コード検出モジュール206の出力は、file−has−no−code(ファイルにコードなし)ステータス210になる。ファイル・フォーマットが識別されなかった場合、コード検出モジュール206の不明(ファイルにコードがあるかどうか不明)出力は、don’t−know(不明)ステータス212になる。
例示的な方法
コード・フリー・ファイルの検出の態様を実装するための例示的な方法700について、これ以降、主として図7の流れ図を参照しながら説明してゆく。この方法は一般に、図2〜図4、および特に図5に関して上記で説明してきた例示的なコンポーネントの動作に適用される。前述の方法の構成要素は、たとえばASIC上のハードウェア論理ブロックを含む適切な手段によって、またはプロセッサ可読媒体上で定義されているプロセッサ可読命令の実行により達成することができる。
本明細書で使用する「プロセッサ可読媒体」は、プロセッサによって使用される、またはプロセッサによって実行される命令を収容し、格納し、通信し、伝搬し、または転送することのできるいかなる手段であってもよい。プロセッサ可読媒体は、電子的、磁気的、光学的、電磁気学的、赤外線、または半導体のシステム、装置、素子、または伝搬媒体であってもよいが、これらに限定されることはない。プロセッサ可読媒体のさらに具体的な例としては、特に、1つまたは複数の配線を有する電気接続、ポータブル・コンピュータのディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、消去可能なプログラマブル読み取り専用メモリ(EPROMまたはフラッシュ・メモリ)、光ファイバ、書き換え可能コンパクト・ディスク(CD−RW)、およびポータブル・コンパクト・ディスク読み取り専用メモリ(CDROM)などがある。
図7は、ファイル内の実行可能コードを検出するための例示的な方法700を示している。ブロック702において、入力ファイルが構成されているファイル・フォーマットを認識できるように、入力ファイルが構文解析される。構文解析するこのパーサは、図5の複合または拡張可能パーサ502のように、複合の方法で構成され、この複合パーサは、それぞれ固有のファイル・フォーマットを認識するように構成されている複数のコンポーネント・パーサ506(1)〜506(N)を含んでいる。
ブロック704において、ファイル・フォーマットが認識されているかどうか決定が行われる。ファイル・フォーマットが認識されている場合(ブロック704のYes分岐に従ってブロック706へ)、次にブロック706において、実行可能コードを入力ファイル内で見つけるために、認識されたファイル・フォーマットに従って入力ファイルのコンテンツ(contents)が検査される。パーサ502が拡張可能および/または複合である場合、ファイル・フォーマットは、コンポーネント・パーサ506(1)〜506(N)のいずれかが認識するように構成されているファイル・フォーマットと一致する可能性があることに留意されたい。したがって、コントローラ504(図5)は、ファイル・フォーマットが認識されるかどうかを決定する際に、各コンポーネント・パーサ506(1)〜506(N)からの情報を査定する。
ブロック708において、実行可能コードが検出されたかどうか決定が行われる。実行可能コードが検出された場合(ブロック708のYes分岐に従ってブロック712へ)、次にブロック712において、file−has−code(ファイルにコードあり)ステータスが送信される。つまり入力ファイルのファイル・フォーマットが認識されて実行可能コードが検出された際のfile−has−code(ファイルにコードあり)ステータスが送信される。認識は、コンポーネント・パーサ506(1)〜506(N)のいずれかによって行われる。図5に示される例示的なコード検出モジュール206の構造を再び参照すると明らかなように、ファイル・フォーマットが認識される場合、コンポーネント・パーサは実行可能コードが存在すればそれを検出することができる。そのようなコードはファイル・フォーマットと整合性がないか、またはファイル・フォーマットの規約に従って位置しているため、容易に見分けられる。したがって、コンポーネント・パーサの1つが実行可能コードを認識する場合、コントローラは、file−has−code(ファイルにコードあり)信号またはメッセージを適宜提供することによって、応答する。
ブロック708において、実行可能コードが検出されなかったことを示す決定が行われた場合(ブロック708のNo分岐に従ってブロック710へ)、次にブロック710において、入力ファイルのファイル・フォーマットが認識されて実行可能コードが検出されない場合のfile−has−no−code(ファイルにコードなし)ステータスが送信される。特に図5を参照すると、どのコンポーネント・パーサも入力ファイル内に実行可能コードを認識せず、ファイル・フォーマットが少なくとも1つのコンポーネント・パーサによって認識された場合、file−has−no−code(ファイルにコードなし)ステータスが登録されることが分かる。実行可能コードが存在しないことはウィルスのような悪意のある実行可能コードが存在しないことを保証するため、入力ファイルに実行可能コードがまったく存在しないと確認することは通常、有利であることに留意されたい。
ブロック704に戻り、ファイル・フォーマットが認識されなかった場合(ブロック704のNo分岐に従ってブロック714へ)、次にブロック714において、ファイル・フォーマットが(入力ファイルが実行可能コードを持つかどうか)不明の際のdon’t−know(不明)ステータス212が送信される。図5のブロック212を参照すると明らかなように、各コンポーネント・パーサがファイルのフォーマットを決定できなかった場合、コントローラ504は、電子メール・アプリケーション202(図2)、インスタント・メッセージ・アプリケーション302(図3)、インターネット閲覧プログラム402(図4)などの適切な受信側にdon’t−know(不明)ステータスを送出するように構成される。
ブロック716において、一部のアプリケーションでは、コンポーネント・パーサの1つが入力ファイル204のフォーマットを認識した後でもコンポーネント・パーサ506(1)〜506(N)は引き続き入力ファイルの構文解析を行うこともできる。これは、ごくまれな状況で複数のコンポーネント・パーサがファイル・フォーマットの有効な認識を行うという点においてさらにセキュリティを高めることになる(つまり、ごくまれな事例において、1つのファイルが2つの異なるファイル・フォーマットに整合するという可能性がある)。したがって、第2のコンポーネント・パーサが入力ファイルのフォーマットを認識するようなごくまれな状況において、いずれかのコンポーネント・パーサが実行可能コードを認識した場合、コントローラ504はfile−has−code(入力ファイルにコードあり)を報告するように構成することができる。あるいは、複合パーサは、コンポーネント・パーサの1つが入力ファイルのフォーマットを認識すると、構文解析を中止するように構成することができる。このようにすることで、構文解析操作に要する時間が短縮されることになる。
上記のように、file−has−no−code(ファイルにコードなし)、file−has−code(ファイルにコードあり)またはdon’t−know(不明)のステータスが、ウィルスに感染したソフトウェアからの安全確保に都合の良い電子メール、インスタント・メッセージ、インターネット閲覧およびその他のアプリケーションに送信される。図2〜4は、コード検出モジュール206の例示的な使用を示している。ただし、実行可能コード・フリー・ファイルのみを格納することが望ましいファイル格納アプリケーション内などのような、コード検出モジュールの他の使用方法も可能である。
以上、1つまたは複数の方法が、流れ図および流れ図のブロックに関連する本文により開示されてきたが、ブロックは必ずしも提示された順序で実行する必要はなく、代替の順序でも同様の利点をもたらすことができる、ことを理解されたい。さらに、これらの方法は排他的ではなく、単独でも、相互を組み合わせることによっても、実行することができる。
例示的なコンピュータ
図8は、図1〜図7の例示的なコード検出モジュールおよび動作の方法が実装される例示的なコンピュータ・システムを示している。1つの具体的な構成が示されているが、コード検出モジュールは他のコンピューティング構成において実装することもできる。コンピューティング環境800は、コンピュータ802の形態で汎用コンピューティング・システムを含んでいる。コンピュータ802は、1つまたは複数のプロセッサまたは処理装置804、システム・メモリ806、およびプロセッサ804を含む様々なシステム・コンポーネントをシステム・メモリ806に接続するシステム・バス808を含むことができるが、これらに限定されることはない。
システム・バス808は、メモリ・バスまたはメモリ・コントローラ、周辺機器バス、AGP(accelerated graphics port)、および様々なバスアーキテクチャのいずれかを使用するプロセッサまたはローカル・バスを始めとする、1つまたは複数の各種バス構造を表している。システム・バス808の例としては、メザニン・バスとも呼ばれているPCI(Peripheral Component Interconnect)バスがあげられる。
コンピュータ802は通常、各種のコンピュータ可読媒体を含んでいる。そのような媒体は、コンピュータ802がアクセスでき、揮発性および不揮発性媒体、取り外し可能および非取り外し可能の媒体を含む任意の使用可能な媒体であってもよい。システム・メモリ806は、ランダム・アクセス・メモリ(RAM)810のような揮発性メモリ、および/または読み取り専用メモリ(ROM)812のような不揮発性メモリの形態をとるコンピュータ可読媒体を含んでいる。起動時などにコンピュータ802内の構成要素間の情報の転送を助ける基本ルーチンを含むBIOS(basic input/output system)814は、ROM812に格納される。RAM810は通常、処理装置804によって即時アクセス可能および/または現在操作中のデータおよび/またはプログラム・モジュールを含んでいる。
コンピュータ802は、他の取り外し可能/非取り外し可能、揮発性/不揮発性のコンピュータ記憶媒体も含めることができる。たとえば、図8は、非取り外し可能の不揮発性磁気媒体(図示せず)との間の書き込みおよび読み取りを行うハードディスク・ドライブ816、取り外し可能の不揮発性磁気ディスク820(「フロッピー(登録商標)ディスク」など)との間の書き込みおよび読み取りを行う磁気ディスク・ドライブ818、およびCD−ROM、DVD−ROMその他の光媒体など、取り外し可能の不揮発性光ディスク824との間の書き込みおよび/または読み取りを行う光ディスク・ドライブ822を示している。ハードディスク・ドライブ816、磁気ディスク・ドライブ818、および光ディスク・ドライブ822は、それぞれ1つまたは複数のデータ媒体インターフェース825によってシステム・バス808に接続されている。あるいは、ハードディスク・ドライブ816、磁気ディスク・ドライブ818、および光ディスク・ドライブ822は、SCSIインターフェース(図示せず)によってシステム・バス808に接続することもできる。
ディスク・ドライブおよびその関連するコンピュータ可読媒体は、コンピュータ802のコンピュータ可読命令、データ構造、プログラム・モジュール、およびその他のデータの不揮発性記憶装置を提供する。例にはハードディスク816、取り外し可能磁気ディスク820、および取り外し可能光ディスク824が示されているが、磁気カセットまたは他の磁気記憶装置、フラッシュメモリカード、CD−ROM、DVD(digital versatile disk)または他の光記憶装置、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、電気的消去可能書き込み可能読み取り専用メモリ(EEPROM)などの、コンピュータによりアクセス可能なデータを格納できる他の種類のコンピュータ可読媒体も、例示的なコンピューティング・システムおよび環境を実装するために使用できることを理解されたい。
ハードディスク816、磁気ディスク820、光ディスク824、ROM812、および/またはRAM810には、たとえばオペレーティング・システム826、1つまたは複数のアプリケーション・プログラム828、その他のプログラム・モジュール830、およびプログラム・データ832を含む、任意の数のプログラム・モジュールを格納することができる。コード検出モジュール206は、アプリケーション・プログラム828、プログラム・モジュール830、または他の好都合な場所に位置するモジュールとして構成できることに留意されたい。さらに、入力ファイル204は、データ832の間に含まれているか、または他の好都合な場所に含まれていてよい。そのようなオペレーティング・システム826、1つまたは複数のアプリケーション・プログラム828、他のプログラム・モジュール830、およびプログラム・データ832(または一部その組み合わせ)はそれぞれ、ユーザ・ネットワーク・アクセス情報のためのキャッシング方式の実施例を含むこともできる。
コンピュータ802は、通信媒体として識別された各種のコンピュータ/プロセッサ可読媒体を含むことができる。通信媒体は通常、コンピュータ可読命令、データ構造、プログラム・モジュール、またはその他のデータを、搬送波または他の搬送機構など変調データ信号に組み込み、任意の情報伝達媒体を含んでいる。「変調データ信号」という用語は、信号に情報を符号化するような方法でその特性の1つまたは複数が設定された、または変更された信号を意味する。たとえば、通信媒体は、有線ネットワークまたは直接配線接続のような有線媒体、および音響、RF、赤外線など無線媒体を含むが、これらに限定されることはない。上記の任意の組合せも、コンピュータ可読媒体の範囲に含まれる。
ユーザは、キーボード834およびポインティング・デバイス836(「マウス」など)のような入力装置を介してコンピュータ・システム802にコマンドおよび情報を入力することができる。他の入力装置838(具体的に図示せず)としては、マイクロフォン、ジョイスティック、ゲームパッド、衛星パラボラ・アンテナ、シリアル・ポート、スキャナなどが含まれる。上記およびその他の入力装置は、システム・バス808に接続されている入出力インターフェース840を介して処理装置804に接続されているが、パラレル・ポート、ゲーム・ポート、またはユニバーサル・シリアル・バス(USB)など他のインターフェースおよびバス構造によって接続することもできる。
モニタ842またはその他の種類の表示装置も、ビデオ・アダプタ844などのインターフェースを介してシステム・バス808に接続することができる。モニタ842に加えて、他の出力周辺装置には、入出力インターフェース840を介してコンピュータ802に接続することのできるスピーカ(図示せず)およびプリンタ846などのコンポーネントを含めることができる。
コンピュータ802は、リモート・コンピューティング装置848など、1つまたは複数のリモート・コンピュータへの論理接続を使用するネットワーク化された環境において動作することができる。たとえば、リモート・コンピューティング装置848は、パーソナル・コンピュータ、ポータブル・コンピュータ、サーバ、ルータ、ネットワーク・コンピュータ、ピア・デバイスまたはその他の共通ネットワーク・ノードなどであってもよい。リモート・コンピューティング装置848は、コンピュータ・システム802に関連して本明細書で説明されている構成要素および機能の多くまたはすべてを含めることのできるポータブル・コンピュータとして示されている。
コンピュータ802とリモート・コンピュータ848の間の論理接続は、ローカル・エリア・ネットワーク(LAN)850および一般的なワイド・エリア・ネットワーク(WAN)852として表されている。そのようなネットワーク環境は、オフィス、企業規模のコンピュータ・ネットワーク、イントラネット、およびインターネットで一般化している。LANネットワーク環境に実装される場合、コンピュータ802はネットワーク・インターフェースまたはアダプタ854を介してローカル・ネットワーク850に接続される。WANネットワーク環境に実装される場合、コンピュータ802は通常、モデム856またはワイド・ネットワーク852にわたる通信を確立するための他の手段を含んでいる。モデム856は、コンピュータ802に内蔵または外付けであってもよく、入出力インターフェース840または他の適切な機構を介してシステム・バス808に接続することができる。示されているネットワーク接続が例示的なものであり、コンピュータ802および840の間の通信リンクを確立する他の手段も採用できることを理解されたい。
コンピューティング環境800に示されているようなネットワーク化された環境において、コンピュータ802に関連して示されるプログラム・モジュール、またはその部分は、リモート記憶装置に格納することもできる。たとえば、リモート・アプリケーション・プログラム858は、リモート・コンピュータ848のメモリ素子に常駐する。説明のために、オペレーティング・システムなど、アプリケーション・プログラムおよび他の実行可能プログラム・コンポーネントは、本明細書において別個のブロックとして表されているが、そのようなプログラムおよびコンポーネントがコンピュータ・システム802の各種記憶装置コンポーネントに様々なタイミングで常駐し、コンピュータのデータ・プロセッサによって実行されることを理解されたい。
結論
本発明について構造的な機能および/または方法上の動作に特有の表現で説明してきたが、添付の請求の範囲に定義されている本発明は、説明されている特定の機能または動作に必ずしも限定されないことを理解されたい。むしろ、特定の機能および動作は、特許請求されている本発明を実装する例示的な形態として開示されている。
ファイル・フォーマットを認識して実行可能コードを検出するために採用される方法を含む、コード・フリー・ファイルが検出される例示的な実装例について説明する流れ図である。 コード検出モジュールが、ファイル内に含まれる実行可能コードについての情報を電子メール・プログラムに提供するように構成されている例示的な環境を示す図である。 コード検出モジュールが、ファイル内に含まれる実行可能コードについての情報をインスタント・メッセージ・プログラムに提供するように構成されている第2の例示的な環境を示す図である。 コード検出モジュールが、ファイル内に含まれる実行可能コードについての情報をインターネット閲覧プラグラムに提供するように構成されている第3の例示的な環境を示す図である。 拡張可能パーサ・モジュールを含む、図2〜図4のコード検出モジュール内に含まれている構造の例示的な詳細を示す図である。 図5に示された拡張可能パーサ・モジュールが拡張される例示的な方法について説明する流れ図である。 コード・フリー・ファイルを検出する例示的な方法について説明する流れ図である。 コード検出モジュールが実装される例示的なコンピュータ・システムを示す図である。
符号の説明
204 入力ファイル
202 電子メール・クライアント
206 コード検出モジュール
302 インスタント・メッセージ・クライアント
402 インターネット・ブラウザ
508 フォーマット調査モジュール
510 コード・セクション検出器
512 file-has-code(ファイルにコードあり)
514 file-has-no-code(ファイルにコードなし)
516 don't-know(ファイルにコードがあるかどうか不明)
610 file-has-no-code(ファイルにコードなし)
518 複合コード・セクション検出器
520 複合フォーマット調査モジュール
208 file-has-code(ファイルにコードあり)
210 file-has-no-code(ファイルにコードなし)
212 don't-know(ファイルにコードがあるかどうか不明)
842 モニタ
848 リモート・コンピューティング装置
852 インターネット
856 モデム
858 リモート・アプリケーション・プログラム
806 システム・メモリ
808 システム・バス
826 オペレーティング・システム
828 アプリケーション・プログラム
830 その他のプログラム・モジュール
832 プログラム・データ
844 ビデオ・アダプタ
854 ネットワーク・アダプタ
825 データ媒体インターフェース
804 処理装置
840 入出力インターフェース
846 プリンタ
836 マウス
834 キーボード
838 その他の装置

Claims (29)

  1. 入力ファイルを構文解析して前記入力ファイルのファイル・フォーマットを認識するためのプロセッサ実行可能命令と、
    認識されたファイル・フォーマットが使用可能であれば、認識されたファイル・フォーマットに従って前記入力ファイルのコンテンツを検査し、実行可能コードが前記入力ファイル内に存在するかどうかを決定するためのプロセッサ実行可能命令と、
    前記検査して決定する結果に応じてステータスを送信するためのプロセッサ実行可能命令と
    を備えることを特徴とするプロセッサ可読媒体。
  2. ステータスを送信するための前記プロセッサ実行可能命令は、
    前記入力ファイルの前記ファイル・フォーマットが認識されて、実行可能コードが見つからなかった場合に、file−has−no−codeステータスを送信するための命令と、
    前記入力ファイルの前記ファイル・フォーマットが認識されて、実行可能コードが見つかった場合に、file−has−codeステータスを送信するための命令と
    をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  3. 前記入力ファイルの前記ファイル・フォーマットが認識されなかった場合、don’t−knowステータスを送信するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  4. 前記入力ファイルを構文解析して前記入力ファイルのファイル・フォーマットを認識するための前記命令は、拡張可能パーサ内に含まれる複数のコンポーネント・パーサで繰り返し、前記入力ファイルを構文解析するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  5. 前記拡張可能パーサ内に含まれる前記複数の各コンポーネント・パーサが前記入力ファイルのコード・セクションを認識できない場合にdon’t−knowステータスを送信するための命令をさらに備えることを特徴とする請求項4に記載のプロセッサ可読媒体。
  6. 前記ステータスを送信するための前記命令は、前記ステータスを電子メール・プログラムに送信するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  7. 前記ステータスを送信するための前記命令は、前記ステータスをインスタント・メッセージ・プログラムに送信するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  8. 前記ステータスを送信するための前記命令は、前記ステータスをインターネット閲覧プログラムに送信するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  9. 前記入力ファイルのコンテンツを検査し、実行可能コードが前記入力ファイル内に存在するかどうかを決定するための前記命令は、特定のデータ・ファイル・フォーマットを認識するように拡張可能パーサのコンポーネント・パーサ部分を操作するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  10. 前記入力ファイルを構文解析して前記入力ファイルのファイル・フォーマットを認識するための前記命令は、複数のファイル・フォーマットを認識するように構成されたパーサを操作するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  11. 前記入力ファイルのコンテンツを検査して実行可能コードが前記入力ファイル内に存在するかどうかを決定するための前記命令は、それぞれが特定のファイル・フォーマットを認識するように構成される複数のコンポーネント・パーサを含む複合パーサを操作するための命令をさらに備えることを特徴とする請求項1に記載のプロセッサ可読媒体。
  12. 少なくとも1つのコンポーネント・パーサが前記入力ファイルの前記ファイル・フォーマットを認識した後、残りのすべてのコンポーネント・パーサで引き続き前記入力ファイルを構文解析するための命令をさらに備えることを特徴とする請求項11に記載のプロセッサ可読媒体。
  13. コンポーネント・パーサが前記入力ファイルの前記ファイル・フォーマットを認識するまで前記入力ファイルを構文解析するための命令をさらに備えることを特徴とする請求項11に記載のプロセッサ可読媒体。
  14. コード・フリー・ファイルを検出する方法であって、
    それぞれが特定のデータ・ファイル・フォーマットを認識するように構成される複数のコンポーネント・パーサを含むように構成された複合パーサで入力ファイルを構文解析すること、
    前記認識された特定のファイル・フォーマットが使用可能であれば、認識されたファイル・フォーマットに従って前記入力ファイルのコンテンツを分析し、前記入力ファイルが実行可能コードを含むかどうかを決定すること、および
    前記分析し決定する結果に応じてステータスを送信すること
    を備えることを特徴とする方法。
  15. 前記入力ファイルの前記ファイル・フォーマットが認識されて、実行可能コードが検出されなかった場合に、file−has−no−codeステータスを送信すること、および
    前記入力ファイルの前記ファイル・フォーマットが認識されて、実行可能コードが検出された場合に、file−has−codeステータスを送信すること
    をさらに備えることを特徴とする請求項14に記載の方法。
  16. 前記入力ファイルのファイル・フォーマットが認識されなかった場合、don’t−knowステータスを送信することをさらに備えることを特徴とする請求項14に記載の方法。
  17. 前記ステータスを電子メール・プログラムに送信することをさらに備えることを特徴とする請求項14に記載の方法。
  18. 前記ステータスをインスタント・メッセージ・プログラムに送信することをさらに備えることを特徴とする請求項14に記載の方法。
  19. 前記ステータスをインターネット閲覧プログラムに送信することをさらに備えることを特徴とする請求項14に記載の方法。
  20. 前記入力ファイルを構文解析することは、複合パーサ内の複数の各コンポーネント・パーサで前記入力ファイルを構文解析することをさらに備えることを特徴とする請求項14に記載の方法。
  21. コード・フリー・ファイルを検出するための装置であって、
    入力ファイルを繰り返し構文解析するように構成された複合パーサであって、複合パーサ内の各コンポーネント・パーサが、データ・ファイル・フォーマットのグループから選択された特定のファイル・フォーマット内の実行可能コードを認識するように構成されている複合パーサと、
    特定のファイル・フォーマットを認識するように構成された各コンポーネント・パーサが、特定のファイル・フォーマットを認識すること、および前記入力ファイル内の実行可能コードを検出すること、に成功したことを決定するコントローラであって、前記決定の結果に応じてステータスを送信するように構成されるコントローラと
    を備えることを特徴とする装置。
  22. どのコンポーネント・パーサも入力ファイルの前記ファイル・フォーマットを認識しなかった場合にdon’t−knowステータスが送信されるようにさらに構成されることを特徴とする請求項21に記載の装置。
  23. コード・フリー・ファイルを検出するための前記装置は、ステータスを電子メール・プログラムに送信するようにさらに構成されることを特徴とする請求項21に記載の装置。
  24. コード・フリー・ファイルを検出するための前記装置は、前記ステータスをインスタント・メッセージ・プログラムに送信するようにさらに構成されることを特徴とする請求項21に記載の装置。
  25. コード・フリー・ファイルを検出するための前記装置は、前記ステータスをインターネット閲覧プログラムに送信するようにさらに構成されることを特徴とする請求項21に記載の装置。
  26. ファイアウォール、
    ホスト侵入検出器、または、
    ホスト脆弱性評価機構にステータスを、送信するようにさらに構成されることを特徴とする請求項21に記載の装置。
  27. バックアップ・プログラムと、
    CD/DVD作成プログラムと、
    P2Pファイル共有プログラムと
    を備えるプログラムのグループから選択されたプログラムに前記ステータスを送信するようにさらに構成されることを特徴とする請求項21に記載の装置。
  28. 各コンポーネント・パーサが複数のデータ・ファイル・フォーマットの1つを認識するように構成されることを特徴とする請求項21に記載の装置。
  29. 前記複合パーサは、新しいコンポーネント・パーサを前記複合パーサに追加することによって拡張できるように構成され、前記新しいコンポーネント・パーサはさらなるファイル・フォーマットを認識してさらなるファイル・フォーマット内の実行可能コードを認識することを特徴とする請求項21に記載の装置。
JP2004368217A 2004-01-30 2004-12-20 コード・フリー・ファイルの検出 Pending JP2005216286A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/769,106 US7721334B2 (en) 2004-01-30 2004-01-30 Detection of code-free files

Publications (2)

Publication Number Publication Date
JP2005216286A true JP2005216286A (ja) 2005-08-11
JP2005216286A5 JP2005216286A5 (ja) 2008-02-14

Family

ID=34654378

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004368217A Pending JP2005216286A (ja) 2004-01-30 2004-12-20 コード・フリー・ファイルの検出

Country Status (13)

Country Link
US (1) US7721334B2 (ja)
EP (1) EP1560112B1 (ja)
JP (1) JP2005216286A (ja)
KR (1) KR101098652B1 (ja)
CN (1) CN1648812A (ja)
AU (1) AU2004237916A1 (ja)
BR (1) BRPI0405400A (ja)
CA (1) CA2491114C (ja)
HK (1) HK1080163A1 (ja)
MX (1) MXPA04012866A (ja)
RU (1) RU2004138761A (ja)
TW (1) TW200525346A (ja)
ZA (1) ZA200410384B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008546111A (ja) * 2005-06-09 2008-12-18 グラスウォール・(アイピー)・リミテッド 不適切なコードおよびデータの拡散防止
JP2017097842A (ja) * 2015-10-22 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab アンチウィルス判定の最適化のためのシステム及び方法

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7617492B2 (en) * 2004-06-28 2009-11-10 Microsoft Corporation Extensible command line parsing
US8060860B2 (en) * 2005-04-22 2011-11-15 Apple Inc. Security methods and systems
US20060271597A1 (en) * 2005-05-31 2006-11-30 Microsoft Corporation Code-enabled/code-free files
US8060747B1 (en) 2005-09-12 2011-11-15 Microsoft Corporation Digital signatures for embedded code
CN100447783C (zh) * 2005-12-30 2008-12-31 英业达股份有限公司 文件格式识别系统及方法
US8190902B2 (en) * 2006-02-27 2012-05-29 Microsoft Corporation Techniques for digital signature formation and verification
US8205087B2 (en) * 2006-02-27 2012-06-19 Microsoft Corporation Tool for digitally signing multiple documents
US8458789B1 (en) * 2006-03-09 2013-06-04 Mcafee, Inc. System, method and computer program product for identifying unwanted code associated with network communications
US20080010538A1 (en) * 2006-06-27 2008-01-10 Symantec Corporation Detecting suspicious embedded malicious content in benign file formats
US20080115016A1 (en) * 2006-11-13 2008-05-15 Electronics And Telecommunications Research Institute System and method for analyzing unknown file format to perform software security test
US20080134333A1 (en) * 2006-12-04 2008-06-05 Messagelabs Limited Detecting exploits in electronic objects
GB2444514A (en) 2006-12-04 2008-06-11 Glasswall Electronic file re-generation
US9729513B2 (en) 2007-11-08 2017-08-08 Glasswall (Ip) Limited Using multiple layers of policy management to manage risk
CN100483419C (zh) * 2007-07-27 2009-04-29 华为技术有限公司 一种数据格式的校验方法及装置
US20100037317A1 (en) * 2008-08-06 2010-02-11 Jeong Wook Oh Mehtod and system for security monitoring of the interface between a browser and an external browser module
GB2466455A (en) 2008-12-19 2010-06-23 Qinetiq Ltd Protection of computer systems
GB0918478D0 (en) * 2009-10-22 2009-12-09 Qinetiq Ltd Checking data content
CN102043915B (zh) * 2010-11-03 2013-01-23 厦门市美亚柏科信息股份有限公司 一种非可执行文件中包含恶意代码的检测方法及其装置
CN102831215B (zh) * 2012-08-17 2016-06-08 芯原微电子(北京)有限公司 一种基于嵌入元语言指令的文本处理方法及装置
GB2518880A (en) 2013-10-04 2015-04-08 Glasswall Ip Ltd Anti-Malware mobile content data management apparatus and method
US9330264B1 (en) 2014-11-26 2016-05-03 Glasswall (Ip) Limited Statistical analytic method for the determination of the risk posed by file based content
CN106682505B (zh) * 2016-05-04 2020-06-12 腾讯科技(深圳)有限公司 一种病毒检测方法、终端、服务器及系统
TWI622894B (zh) * 2016-12-13 2018-05-01 宏碁股份有限公司 電子裝置及偵測惡意檔案的方法
US11537713B2 (en) * 2017-08-02 2022-12-27 Crashplan Group Llc Ransomware attack onset detection
TWI760655B (zh) * 2019-09-26 2022-04-11 阿證科技股份有限公司 資料掃描系統
CN111416812B (zh) * 2020-03-16 2022-06-21 深信服科技股份有限公司 一种恶意脚本检测方法、设备及存储介质
KR102326490B1 (ko) * 2020-03-25 2021-11-15 주식회사 티맥스 소프트 스텝 입출력 데이터 셋 파이프라이닝
RU2757408C1 (ru) * 2020-09-24 2021-10-15 Акционерное общество "Лаборатория Касперского" Система и способ формирования правила проверки файла на вредоносность
CN114244599B (zh) * 2021-12-15 2023-11-24 杭州默安科技有限公司 一种干扰恶意程序的方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066920A (ja) 1998-08-25 2000-03-03 Nec Microcomputer Technology Ltd プログラムデバッガ,プログラムデバッグ方法および記録媒体
JP2001101049A (ja) * 1999-09-28 2001-04-13 Mitsubishi Electric Corp ファイル復元装置
WO2002005072A2 (en) * 2000-07-07 2002-01-17 Messagelabs Limited Method of and system for, processing email
WO2002006928A2 (en) * 2000-07-14 2002-01-24 Vcis, Inc. Computer immune system and method for detecting unwanted code in a computer system
US20020078216A1 (en) * 2000-12-18 2002-06-20 Igor Pankovcin Method and system for processing data records having multiple formats

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754761A (en) 1995-03-06 1998-05-19 Willsey; John A. Universal sofeware key process
US6067410A (en) 1996-02-09 2000-05-23 Symantec Corporation Emulation repair system
US7058822B2 (en) * 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US5960170A (en) * 1997-03-18 1999-09-28 Trend Micro, Inc. Event triggered iterative virus detection
KR100204917B1 (ko) 1997-05-17 1999-06-15 윤종용 디지탈 무선 이동 통신을 위한 에이치엘알 시스템의 데이타베이스 변경을 위한 방법
US5948104A (en) 1997-05-23 1999-09-07 Neuromedical Systems, Inc. System and method for automated anti-viral file update
US6006329A (en) 1997-08-11 1999-12-21 Symantec Corporation Detection of computer viruses spanning multiple data streams
US6021510A (en) 1997-11-24 2000-02-01 Symantec Corporation Antivirus accelerator
US6401210B1 (en) 1998-09-23 2002-06-04 Intel Corporation Method of managing computer virus infected files
US6230288B1 (en) 1998-10-29 2001-05-08 Network Associates, Inc. Method of treating whitespace during virus detection
US6892303B2 (en) 2000-01-06 2005-05-10 International Business Machines Corporation Method and system for caching virus-free file certificates
IL147712A0 (en) 2000-05-17 2002-08-14 Finjan Software Ltd Malicious mobile code runtime monitoring system and methods
CN1260724C (zh) 2000-05-25 2006-06-21 日本胜利株式会社 一种内容重放方法
US8341743B2 (en) 2000-07-14 2012-12-25 Ca, Inc. Detection of viral code using emulation of operating system functions
AU2001281218A1 (en) 2000-08-08 2002-02-18 Tumbleweed Communications Corp. Recipient-specified automated processing in a secure data file delivery system
EP1202148A1 (en) 2000-10-31 2002-05-02 Hewlett-Packard Company, A Delaware Corporation Virus check on altered data
US6898712B2 (en) 2001-02-20 2005-05-24 Networks Associates Technology, Inc. Test driver ordering
US7096497B2 (en) 2001-03-30 2006-08-22 Intel Corporation File checking using remote signing authority via a network
US7310817B2 (en) 2001-07-26 2007-12-18 Mcafee, Inc. Centrally managed malware scanning
US7543334B2 (en) 2001-08-27 2009-06-02 Mcafee, Inc. Update status alerting for a malware scanner
US7340774B2 (en) 2001-10-15 2008-03-04 Mcafee, Inc. Malware scanning as a low priority task
US7107617B2 (en) 2001-10-15 2006-09-12 Mcafee, Inc. Malware scanning of compressed computer files
US20030079142A1 (en) 2001-10-22 2003-04-24 Aladdin Knowledge Systems Ltd. Classifying digital object security category
US7150043B2 (en) 2001-12-12 2006-12-12 International Business Machines Corporation Intrusion detection method and signature table
US7631184B2 (en) 2002-05-14 2009-12-08 Nicholas Ryan System and method for imposing security on copies of secured items
US20030115479A1 (en) 2001-12-14 2003-06-19 Jonathan Edwards Method and system for detecting computer malwares by scan of process memory after process initialization
US7058975B2 (en) 2001-12-14 2006-06-06 Mcafee, Inc. Method and system for delayed write scanning for detecting computer malwares
GB0130805D0 (en) 2001-12-22 2002-02-06 Koninkl Philips Electronics Nv Dealing with a computer virus which self-propagates by e-mail
JP2003242092A (ja) 2002-02-08 2003-08-29 Koshu Sai 電子メールウイルス予防システムの隔離検出方法、交互授権方法、隔離検出プログラムおよび交互授権プログラム
WO2003090050A2 (en) 2002-04-13 2003-10-30 Computer Associates Think, Inc. System and method for detecting malicicous code
US7418729B2 (en) 2002-07-19 2008-08-26 Symantec Corporation Heuristic detection of malicious computer code by page tracking
GB2391965B (en) * 2002-08-14 2005-11-30 Messagelabs Ltd Method of, and system for, heuristically detecting viruses in executable code
KR20030096167A (ko) 2003-11-26 2003-12-24 (주) 소프트길드 수신자 상태 체크가 가능한 대용량 파일송수신 시스템
US20060136389A1 (en) * 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000066920A (ja) 1998-08-25 2000-03-03 Nec Microcomputer Technology Ltd プログラムデバッガ,プログラムデバッグ方法および記録媒体
JP2001101049A (ja) * 1999-09-28 2001-04-13 Mitsubishi Electric Corp ファイル復元装置
WO2002005072A2 (en) * 2000-07-07 2002-01-17 Messagelabs Limited Method of and system for, processing email
WO2002006928A2 (en) * 2000-07-14 2002-01-24 Vcis, Inc. Computer immune system and method for detecting unwanted code in a computer system
US20020078216A1 (en) * 2000-12-18 2002-06-20 Igor Pankovcin Method and system for processing data records having multiple formats

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008546111A (ja) * 2005-06-09 2008-12-18 グラスウォール・(アイピー)・リミテッド 不適切なコードおよびデータの拡散防止
JP2017097842A (ja) * 2015-10-22 2017-06-01 エーオー カスペルスキー ラボAO Kaspersky Lab アンチウィルス判定の最適化のためのシステム及び方法

Also Published As

Publication number Publication date
TW200525346A (en) 2005-08-01
CA2491114A1 (en) 2005-07-30
CN1648812A (zh) 2005-08-03
KR20050078192A (ko) 2005-08-04
EP1560112A1 (en) 2005-08-03
CA2491114C (en) 2014-08-12
BRPI0405400A (pt) 2005-09-20
MXPA04012866A (es) 2005-08-03
KR101098652B1 (ko) 2011-12-23
RU2004138761A (ru) 2006-06-10
HK1080163A1 (en) 2006-04-21
EP1560112B1 (en) 2014-05-14
ZA200410384B (en) 2006-09-27
US7721334B2 (en) 2010-05-18
US20050172339A1 (en) 2005-08-04
AU2004237916A1 (en) 2005-08-18

Similar Documents

Publication Publication Date Title
JP2005216286A (ja) コード・フリー・ファイルの検出
US11062029B2 (en) File sanitization technologies
US8356354B2 (en) Silent-mode signature testing in anti-malware processing
JP5557623B2 (ja) 感染検査システム及び感染検査方法及び記録媒体及びプログラム
US8701192B1 (en) Behavior based signatures
US10997307B1 (en) System and method for clustering files and assigning a property based on clustering
US9106688B2 (en) System, method and computer program product for sending information extracted from a potentially unwanted data sample to generate a signature
US20080010538A1 (en) Detecting suspicious embedded malicious content in benign file formats
US11288368B1 (en) Signature generation
US20180341769A1 (en) Threat detection method and threat detection device
US10747879B2 (en) System, method, and computer program product for identifying a file used to automatically launch content as unwanted
JPWO2019013266A1 (ja) 判定装置、判定方法、および、判定プログラム
US7284273B1 (en) Fuzzy scanning system and method
CN115695031A (zh) 主机失陷检测方法、装置及设备
JP2008140102A (ja) 情報処理装置及び漏洩情報判定方法及びプログラム
US7448085B1 (en) Method and apparatus for detecting malicious content in protected archives
CN114003907A (zh) 恶意文件检测方法、装置、计算设备及存储介质
CN112989337A (zh) 一种恶意脚本代码检测方法及装置
CN116304221A (zh) 一种文档信息安全检测方法、装置、电子设备及存储介质
JP2007249279A (ja) サービス判定装置、脆弱性検査装置、攻撃検知装置、サービス判定方法、及びプログラム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071220

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100827

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101125

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101214

RD13 Notification of appointment of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7433

Effective date: 20110413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110413

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20120126

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130220

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130716

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130719

RD15 Notification of revocation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7435

Effective date: 20130719