JP4104658B2 - 電子メールウイルスの検出および除去のための装置および方法 - Google Patents

電子メールウイルスの検出および除去のための装置および方法 Download PDF

Info

Publication number
JP4104658B2
JP4104658B2 JP53657397A JP53657397A JP4104658B2 JP 4104658 B2 JP4104658 B2 JP 4104658B2 JP 53657397 A JP53657397 A JP 53657397A JP 53657397 A JP53657397 A JP 53657397A JP 4104658 B2 JP4104658 B2 JP 4104658B2
Authority
JP
Japan
Prior art keywords
message
node
virus
mail
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.)
Expired - Lifetime
Application number
JP53657397A
Other languages
English (en)
Other versions
JP2000517440A (ja
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24507652&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JP4104658(B2) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by トレンド マイクロ,インコーポレーテッド, チェン,エヴァ filed Critical トレンド マイクロ,インコーポレーテッド
Publication of JP2000517440A publication Critical patent/JP2000517440A/ja
Application granted granted Critical
Publication of JP4104658B2 publication Critical patent/JP4104658B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • 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
    • H04L51/21Monitoring or handling of messages
    • H04L51/212Monitoring or handling of messages using filtering or selective blocking
    • 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
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/063Content adaptation, e.g. replacement of unsuitable content

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Transfer Between Computers (AREA)

Description

発明の背景
1.発明の技術分野
この発明は概括的にはコンピュータシステムおよびコンピュータネットワークに関する。より詳しくいうと、この発明はコンピュータウイルスを検出し除去するシステムおよび方法に関する。さらに詳しくいうと、この発明はコンピュータネットワーク相互間のファイル転送およびメッセージ転送からコンピュータウイルスを検出し除去する方法、並びにネットワークポスタルノードを通じて電子メールでアクセスしたファイルおよびメッセージからコンピュータウイルスを検出し除去する装置および方法に関する。
2.従来技術の説明
コンピュータの利用が近年広まってきた。また、コンピュータを相互接続してネットワークを構成することが普及してきた。図1を参照すると、従来技術による情報システム20の一部のブロック図が示してある。同図に示した情報システム20の部分は第1のネットワーク22、第2のネットワーク24および第3のネットワーク26を含む。この情報システムは単なる例示であって、当業者には明らかなとおり、情報システム20は各々がそれ自身の保護領域を構成し任意の数のノードを有する任意の数のネットワークを含むことができる。図1に示すとおり、ネットワーク22、24、26の各々は複数のノード30、32から構成されている。ノード30、32の各々はマイクロコンピュータで構成するのが好ましい。ノード30、32は互いに接続されて、複数のネットワークコネクション36によるネットワークを構成する。例えば、ノード30、32はトークンリング様式、イーサネット様式またはそれら以外のこの技術分野で周知の多様な様式を用いて互いに接続できる。これらネットワーク22、24、26の各々は自身以外のネットワーク22、24、26へのリンクのためのゲートウェイとして作用するノード32を含む。ゲートウェイノード32の各々はPOTS(従来の電話サービス)やT-1リンクなどの標準電話回線コネクションにより電話網28経由で他のゲートウェイノード32に接続するのが好ましい。ネットワーク22、24、26相互間の通話はすべてゲートウェイノード32の一つを通じて行うのが好ましい。
情報へのアクセスに電子メールを用いることも普及してきた。図9を参照すると、複数のクライアントノード230、すなわちクライアントノード230相互間などの電子メールアクセスを容易にするように配置されたポスタルノード232に接続された好ましくはマイクロコンピュータで構成した複数のクライアントノード230を含む形で電子メールシステム200が示してある。ポスタルノードには他のポスタルノードへの通信リンク234を含めることができ、それ以外のポスタルノード(図示してない)との間で信号授受を行うことができる。電子メールへのアクセスはポスタルノード232から一つまたは多数のユーザに対して行うことができ、それら電子メールは単純なメッセージまたはウイルス入りのファイルを含む複雑な情報を含み得る。
コンピュータ、とくにマイクロコンピュータに災害をもたらす他ならぬ問題がコンピュータウイルスおよびウォームである。コンピュータウイルスは他のプログラムに埋め込まれまたは隠されたコードの1セクションである。プログラムが実行されると、そのコードが活性化されてシステム内の他のプログラムに取り付く。感染したプログラムはそのコードを他のプログラムにコピーする。それらウイルスの影響は、メッセージが表示画面に表示されるだけの単純ないたずらであることもあり、プログラムおよびデータの破損などより深刻な影響であることもあり得る。従来技術におけるもう一つの問題はウォームである。ウォームはディスクおよびメモリ全体にわたって自分自身を複製し、利用可能なコンピュータ資源を全部使いきって最後にはコンピュータシステムを崩壊させる破壊的プログラムである。ウォームもウイルスも破壊的性質があるので、これらをコンピュータおよびネットワークから除去する必要があることは明らかである。
ウイルスの影響を軽減し、多様なウイルス検出プログラムによりその拡散を防止する試みがなされてきた。動作遮断と通常呼ばれるウイルス検出の一つの方法は、ディスクの書込み、消去、フォーマットなどの重要なオペレーティングシステム機能についてコンピュータまたはシステムを監視する。これら動作が起こると、それら動作が所期どおりのものであるかどうかについてプログラムがユーザに入力を要求する。その動作が所期どおりのものでない場合は(例えば、問題の機能を用いたプログラムをユーザが全く動作させていなかった場合など)、ユーザはそれがウイルスプログラムによる要求であると認識して動作を中止させる。シグネチャ走査法として知られるもう一つのウイルス検出方法はシステムにコピー取込み中のプログラムを走査する。すなわち、ウイルスに用いられているプログラムコードの既知のパターンをシステムで検索する。現在のところ、シグネチャ走査はフロッピーディスク駆動装置、ハードディスク駆動装置または光ディスク駆動装置だけについて行っている。ウイルス検出のもう一つの手法は、システムに蓄積してあるウイルスなし確認ずみの宿主プログラム全部についてチェックサムを行うやり方である。チェックサム試験の後でウイルスが宿主プログラムに取り付くと、その次のチェックサムの値に変化が生じウイルスの存在が検出されるのである。
しかし、これら従来技術の手法は数多くの欠点を伴う。第1に、動作遮断はあらゆるウイルスを首尾よく検出できるとは限らない。すなわち、ウイルスのためのコードの部分であり得る重要な動作が、プログラムの正常動作についてその重要な動作の起こる可能性のある位置に生じ得るからである。第2に、シグネチャ走査はたいていの場合ディスク駆動装置からの新たな入力について行われるだけである。インターネットの出現とその普及において、他のネットワークとの信号授受のためにゲートウェイで用いられるようなコネクション36を首尾よく走査できる方法は従来技術にはない。第3に、上述の諸方法の多くは多量の計算資源を必要とし、そのためにシステム全体としての性能が低下する。すなわち、各コンピュータでウイルス検出プログラムを動かすのは実際的でない。したがって、それら多くのウイルス検出プログラムの動作は各マシーンの動作性能向上のためにディスエーブルされている。
したがって、コンピュータの性能に影響を及ぼすことなくウイルスを効率的に検出し除去するシステムおよび方法が必要である。また、ゲートウェイまたはインターネット経由で他の情報システムに接続されたネットワークの中のウイルスを検出し除去するシステムおよび方法が必要である。
重要性の増しているもう一つの問題は、ネットワークゲートウェイノード33を通過する必要のないイントラネットワーク電子メールアクセスを含む電子メール通信経由のウイルスの拡散の検出および防止についても生ずる。さらに、ウイルス拡散、符号化ずみまたは秘匿処理ずみのファイルにおけるウイルスの検出、ウイルス検出を試みないユーザの傾向、ウイルス検出期間にユーザが辛抱しきれないことなどの可能性を高める多数ユーザによる電子メールアクセスも問題をはらんでいる。
したがって、電子メール通信で拡散する可能性のあるウイルスを検出する装置および方法が必要である。さらに、増殖ウイルス拡散を防止し、符号化ファイルウイルスの検出を容易にし、ユーザの介入を要することなく起動し、背後で動作できるその種の装置および方法が必要である。
発明の概要
この発明はコンピュータネットワーク上のウイルスを検出し除去するシステム、装置および方法によって従来技術の制限および欠点を解消する。
この発明によるシステムは複数のノードと他のネットワークへの接続のためのゲートウェイノードとから形成されるネットワークである。ノードはマイクロコンピュータで構成するのが好ましく、ゲートウェイノードは表示デバイス、中央処理装置、この発明の装置を構成するメモリ、入力装置、ネットワークリンクおよび通信ユニットを備える。上記メモリはカーネルを含むオペレーティングシステム、ファイル転送プロトコル(FTP)代行サーバおよび単純メール転送プロトコル(SMTP)代行サーバをさらに含む。中央処理装置、表示装置、入力装置およびメモリは互いに接続され、メモリに記憶されたアプリケーションプログラムを実行するように動作する。ゲートウェイノードの中央処理装置は通信ユニット経由でファイルを送受信するFTP代行サーバをも実行し、通信ユニット経由でメッセージを送受信するSMTP代行サーバを実行する。FTP代行サーバとSMTP代行サーバとはゲートウェイノードの通常の動作と同時並行に実行するのが好ましい。これらサーバはメッセージおよびファイルに混入してネットワークへまたはネットワークから送信されるウイルスがネットワークへの転送またはネットワークからの転送の前に検出されるように動作させるのが有利である。この発明のゲートウェイノードは、ウイルス検出のためのFTP代行サーバおよびSMTP代行サーバの使用の影響が最小になるので有利である。ネットワーク出入りのファイルだけがウイルス有無の検査を受けそれ以外のネットワーク内トラフィックは影響を受けないからである。
この発明はネットワークへの転送前のファイルの処理方法およびネットワークからの転送前のファイルの処理方法をも含む。ファイル処理の好適な方法は、データ転送コマンドおよびファイル名を受ける過程と、そのファイルを代行サーバに転送する過程と、そのファイルについてウイルス検出を行う過程と、そのファイルが何らかのウイルスを含んでいるか否かを判定する過程と、ファイルがウイルスを含んでいない場合にそのファイルを代行サーバから受け側ノードに転送する過程と、そのファイルがウイルスを含んでいない場合にそのファイルについて所定の動作を行う過程とを含む。この発明は上記と同様に動作するネットワークへの送信またはそのネットワークからの送信の前にメッセージの処理を行う方法をも含む。
この発明は電子メールシステムでアクセスされたメッセージにネットワーク経由で広がり得るウイルスを検出し除去する装置をも含む。その種のメールシステムにおいては、あるクライアントノードのあるユーザ宛のメッセージはそのクライアントノードによるアクセスの前にポスタルノードに通常は蓄積される。好ましくはそのクライアントノードに設置してあるメール走査装置でウイルスを検出し補正動作を行う。このメール走査装置はポスタルノードに未読取メッセージのあることを判定するポーリングモジュールと、クライアントノードのメモリへの未読取メッセージをダウンロードする検索モジュールと、そのメッセージがウイルスを含むかどうかを判定するとともにその広がりの防止のための補正動作を容易にするウイルス分析処理モジュールとを備えるのが好ましい。これらモジュールをそのクライアントノードだけに特有の電子メールプログラムファイルからの要求によることなく動作するように配置し、背後での目立たないウイルス検出およびユーザ起動によらない動作ができるようにする。また、クライアントノードにおいてメール走査装置を好適に配置することによって、ポスタルノード資源を費やすことなくウイルス検出が可能になる。
この発明は電子メールシステムのアクセスしたメッセージにネットワークを通じて拡散し得るウイルスを検出し除去する方法をも含む。ポスタルノードをクライアントノードからポーリングして未読出しメッセージをチェックし、クライアントノードのメモリに未読出しメッセージをダウンロードし、ウイルス有無のチェックのためにメッセージを走査し、補正動作を行うようにするのが好ましい。
【図面の簡単な説明】
図1はこの発明の動作対象となる複数のネットワークおよび複数のノードを備える従来技術の情報システムのブロック図である。
図2はこの発明の装置を含むゲートウェイノードのための好適な実施例のブロック図である。
図3はこの発明の装置を含むゲートウェイノードのメモリの好適な例のブロック図である。
図4はこの発明により構成したプロトコル層階層を従来技術のOSI層モデルと対比して示した好適な例のブロック図である。
図5Aはこの発明の好適な実施例による好適なデータファイル送信システムの機能的ブロック図である。
図5Bはこの発明の好適な実施例による好適なデータファイル受信システムの機能的ブロック図である。
図6A、6Bおよび6Cはこの発明による好適なファイル転送方法の流れ図である。
図7はこの発明の好適な実施例による好適なメールメッセージ送信システムの機能的ブロック図である。
図8Aおよび8Bはネットワークへの/からの好適なメッセージ送信方法の流れ図である。
図9は従来技術によるネットワーク電子メールシステムのブロック図である。
図10aはこの発明により構成したポスタルノードのブロック図である。
図10bはこの発明により構成したポスタルノードのメモリのブロック図である。
図10cはこの発明により構成したポスタルノードのデータ蓄積装置のブロック図である。
図11aはこの発明を含むクライアントノードの好適な例のブロック図である。
図11bはこの発明によるクライアントノードのメモリの好適な例のブロック図である。
図11cはこの発明のメール走査モジュールの好適な例のブロック図である。
図11dはデータバッファ内にデータを蓄積する際の好適なフォーマットの図解である。
図12はこの発明による電子メールメッセージ走査方法の第1の好適な実施例の流れ図である。
図13はこの発明による電子メールメッセージ走査方法の第2の好適な実施例の流れ図である。
図14はこの発明による好適な電子メールアタッチメントファイル走査方法の流れ図である。
図15はウイルス除去のためのこの発明による好適な感染アタッチメントファイル処理方法の流れ図である。
好適な実施例の詳細な説明
この発明のウイルス検出システムおよび方法は図1を参照して上に述べたとおり情報システム20で動作させるのが好ましい。この発明は従来技術の場合と同様に複数のシステム30と各ネットワーク22、24、26について少なくとも一つのゲートウェイノード33とを含む。しかし、ネットワークへのまたはネットワークからの送信ファイルについてのウイルス検出も行う新規なゲートウェイノード33を備える点で、この発明は従来技術と異なる。また、この新規なゲートウェイノード33は関連ネットワークへのまたは同ネットワークからの送信メッセージ全部についてウイルス検出を行う。
図2を参照すると、この発明によって構成した新規なゲートウェイノード33の好適な実施例のブロック図が示してある。このゲートウェイノード33の好適な実施例は表示装置40、中央処理装置(CPU)42、メモリ44、データ蓄積装置46、入力装置50、ネットワークリンク52および通信ユニット54を含む。CPU42は、表示装置40、メモリ44、データ蓄積装置46、入力装置50、ネットワークリンク52および通信ユニット54とバス56経由でフォン ノイマン アーキテクチャの下に接続してある。CPU42、表示装置40、入力装置50およびメモリ44はパーソナルコンピュータの場合のように慣用の形式で互いに接続できる。CPU42はモトローラ社の68040型プロセッサまたはインテル社のペンティアム型または同社のX86型プロセッサなどのマイクロプロセッサで構成し、表示装置40はビデオモニタで構成し、入力装置50はキーボードおよびマウス型コントローラで構成する。CPU42はハードディスク駆動装置などのデータ蓄積装置46にも慣用の方法で接続する。ゲートウェイノード33がミニコンピュータまたはメインフレームコンピュータでも差し支えないことは当業者には明らかであろう。
バス56はこのネットワークのゲートウェイノード33および他のノード30の間の信号授受を容易にするためにネットワークリンク52にも接続する。この発明の好適な実施例では、ネットワークリンク52はケーブルまたはライン36に接続した送受信器を含むネットワークアダプタカードで構成する。例えば、ネットワークリンク52は同軸ケーブル、より線対または光ファイバケーブルに接続したイーサネットカードで構成できる。トークンリング、イーサネット、アークネットなど多様なネットワーク構成が採用でき、どれを採用するかはこの発明とは別問題であることは当業者には明らかであろう。ネットワークリンク52は、ネットワーク経由で、または所定のネットワークの保護領域内で送られてきた信号の送受信および蓄積を行う。このネットワークリンク52はこれら信号をCPU42との間でやりとりできるようにバス56に接続してある。
バス56はゲートウェイノード33と他のネットワークとの間の信号授受を容易にするように通信ユニット54にも接続する。より詳細に述べると、通信ユニット54は他のネットワークにデータおよびメッセージを送るためにCPU42に接続してある。この通信ユニット54は慣用の方法で他のネットワークに接続したモデム、ブリッジまたはルータで構成できる。この発明の好適な実施例では、この通信ユニット54はルータである。通信ユニット54を専用T-1電話回線、光ファイバケーブル、または多様な慣用の接続方法の一つなどの媒体34経由で他のネットワークに接続する。
CPU42はメモリ44からおよび入力装置50経由でユーザから受けた指示および命令制御に基づき、通信ユニット54経由で送受信すべきデータを生ずる。ネットワーク相互間のデータ転送は、パケットにそれぞれ分けられるファイルおよびメッセージの送信および受信に分けられる。この発明の方法はゲートウェイノード33経由のネットワークへのまたはネットワークからのメッセージおよびファイルのあらゆる転送に適用されるウイルス検出機構を用いる。
図3を参照すると、ゲートウェイノード33用のメモリ44の好適な例をより詳細に示してある。メモリ44はランダムアクセスメモリ(RAM)で構成するのが好ましいが、読出し専用メモリ(ROM)を含めることもできる。このメモリ44はファイル転送プロトコル(FTP)代行サーバ60、単純メール転送プロトコル(SMTP)代行サーバ62およびカーネル66付きのオペレーティングシステム64を備える。ファイル転送およびメッセージ中のウイルス検出のためのこの発明のルーチンは主としてFTP代行サーバ60とSMTP代行サーバ62とから成る。FTP代行サーバ60は通信ユニット54経由のゲートウェイノード33へのおよび同ノード33からのファイル転送を制御するルーチンであり、そのゲートウェイノードを含むネットワークへのおよび同ネットワークからのファイル転送を制御する。次に、図5A、5B、6A、6Bおよび6Cを参照してFTP代行サーバ60の動作をより詳細に述べる。SMTP代行サーバ60も、ゲートウェイノード33へのおよび同ノード33からの、したがってゲートウェイノード33関連の各ネットワークとの間のメッセージ転送を制御するルーチンである。図7、8Aおよび8Bを参照して、SMTP代行サーバ62の動作をより詳細に後述する。この発明はバークレイ ソフトウェア ディスリビューション UNIXなどの慣用のオペレーティング システム28を用いる。この発明がマッキントッシュ システム ソフトウェア ヴァージョン7.1、ウィンドウズ、またはウィンドウズ NTなど上記以外のオペレーティングシステムでの使用のために容易に改変できることは当業者には明らかであろう。メモリ44はコンピュータ作図プログラム、文書作成プログラムおよび表計算プログラムなど多様なアプリケーションプログラム68をも含むことができる。この発明はFTP代行サーバ60およびSMTP代行サーバ62をゲートウェイノード33のメモリだけに設けてウイルス検出および除去の影響を最小にしているので従来技術よりも有利である。すなわち、一つのネットワークの保護領域内での転送データはデータパケットがゲートウェイノード33経由で経路づけされることがないのでチェックされない。
この発明の装置、とくにFTP代行サーバ60およびSMTP代行サーバ62がゲートウェイノード33に配置されたものとして上に述べてきたが、この発明の装置をFTPサーバ、またはファイルおよびメッセージのウェブからのダウンロードの際の走査用のワールドワイドウェブサーバに設けることもできる。また、代替実施例では、ネットワークの各ノードにそのノードから受信または送信されるメッセージ全部についてウイルス検出を行うようにこの発明の装置を配置する。
図4にもっともよく示されているとおり、CPU42はネットワーク経由の信号授受のためにプロトコル層階層を利用する。この発明の階層状プロトコル層を例えばISO-OSI参照モデルと対比して図4に示す。この発明の階層のプロトコル層410−426は、(1)伝送媒体410で形成された物理層400、(2)ネットワーク インタフェースカード411で形成されるデータリンク層401、(3)アドレス分析412、インターネットプロトコル413およびインターネット制御メッセージプロトコル414で構成されるネットワーク層402、および(4)送信制御プロトコル415およびユーザデータグラムプロトコル416から構成されるトランスポート層を含み、下位の四つの層400−403については、従来技術のプロトコル層と同様である。プレゼンテーション層405およびセション層404に対応して、この発明のプロトコル階層は四つの信号授受方法、すなわちファイル転送プロトコル417、単純メール転送プロトコル418、TELNETプロトコル419および単純ネットワーク管理プロトコル420を提供する。アプリケーション層406には、ファイル転送423、電子メール424、ターミナルエミュレーション425およびネットワーク管理426を処理する対応の構成要素がある。この発明はゲートウェイノード33についてアプリケーション層406とプレゼンテーション層405との間に追加の層を設けることによってウイルスを検出し、制御し除去する。より詳細に述べると、この発明の階層にしたがって、FTP代行サーバ層421とSMTP代行サーバ層422とを設ける。これらの層421、422は、ファイル転送層423およびファイル転送プロトコル417並びに電子メール層424およびSMTPプロトコル層418と協動して、ファイル転送およびメッセージをそれぞれ処理する。例えば、ファイル転送要求はすべてファイル転送423で発生し、FTP代行サーバ層421でまず処理され、次にファイル転送プロトコル417および下位の層415、413、411で処理されて伝送媒体410にデータ転送が実際になされる。同様に、メッセージ要求はすべてSMTP代行サーバ層418でまず処理され、次にSMTPプロトコル層ほかの層415、413、411で処理されて物理層に達する。この発明はウイルススクリーニングをアプリケーション層よりも下位層で行うのでとくに有利である。したがって、アプリケーションでは上記ウイルス検出およびウイルス除去が行われていることを認識せず、これら動作はアプリケーション層406レベルの動作には完全に透明になる。図4ではFTP代行サーバ層421およびSMTP代行サーバ層422を特有の層の形で示し、転送層423と転送プロトコル417の間および電子メール層424とSMTPプロトコル層418との間に結合効果をもたらす様子を表現してあるが、FTP代行サーバ層421およびSMTP代行サーバ層422はアプリケーション層406からは認識できず透明であるのでそれぞれファイル転送プロトコル層417およびSMTPプロトコル層418の一部ともみなせることは当業者には明らかであろう。
FTP代行サーバ60の好適な動作方法および例をゲートウェイノード33との関係およびそのノードの制御、すなわち他のネットワークへの接続用媒体としてのライン34へのアクセスに対する制御に絞って説明する。この方法はゲートウェイノード33にそれぞれ常駐するインターネットデーモン70、FTP代行サーバ60およびFTPデーモン78の機能を図解した図5Aおよび5Bを参照することによってもっともよく理解されよう。図5Aおよび5Bにおいて共通の部分には共通の参照数字が用いてあり、両図の相違点はファイル転送の向きだけである(クライアントタスク72からサーバタスク82へ、またはサーバタスク82からクライアントタスク72へ)。明確にして理解を容易にするために図5Aおよび5Bにはデータポートだけを示し、双方向ラインでコマンドまたは制御経路を示し、明示はないもののコマンドポートを含むものとして示してある。次に、クライアントタスク72(要求側のマシン)とサーバタスク82(供給側のマシン)との間のファイル転送についてFTP代行サーバ60の動作を説明する。クライアントタスク72(要求側マシン)は保護領域の内側にありサーバタスク82(供給側のマシン)は保護領域の外側にあるものとしているが、以下に述べるこの発明はクライアントタスク72(要求側マシン)が保護領域の外側にあってサーバタスク82(供給側マシン)が保護領域の内側にあるときにもゲートウェイノード33で使われる。
図6A−6Cはネットワークの被制御領域から媒体34経由でもう一つのネットワークへのファイル転送(例えば第2のネットワーク24のノード32から媒体34経由で第3のネットワーク26の第2のノード32へのファイル転送)を行う好適な方法の流れ図である。この方法はクライアントノードがネットワーク経由でゲートウェイノード33に接続要求を送るステップ600から始まる。ステップ602ではゲートウェイノード33が上述のとおりオペレーティングシステム64を有し、そのオペレーティングシステム64の部分が防火壁すなわちユーザ認証ルーチンなどのプログラムを含む。ゲートウェイノード33はユーザの認証をまず試み、要求を一旦受けたのちその要求された接続を許すか否かを判断する。これはUNIXの一部として通常利用可能な方法で行う。インターネットデーモン70はFTP代行サーバ60段階を形成し、その接続をステップ602での動作用にFTP代行サーバ60に送る。インターネットデーモン70はオペレーティングシステム60の一部を成すプログラムであって背後で実行する。実行中は、インターネットデーモン70の機能の一つは多数の周知のサービス、例えばTELNET、ログイン、FTPなどのサービスのためにソケットポートを結合することである。接続要求が検出されると、この発明により形成されたインターネットデーモン70はFTP代行サーバ60、すなわちデータ転送を実際に処理するサーバを産み出す。次に、FTP代行サーバ60はクライアントタスク72とサーバタスク82との間のネットワークトラフィックを制御する。次に、ステップ604において、クライアントノードがデータ転送ノードとファイル名とを送り、FTP代行サーバ60とクライアントタスク72との間のデータ転送を行う第一のデータポートをそれによって設定する。ステップ606においてデータ転送要求とファイル名とをFTP代行サーバ60で受ける。ステップ608において、FTP代行サーバ60はデータが外向きに転送されている(例えばファイルがクライアントタスク72からサーバタスク82に転送されている)かどうかを判定する。これはデータ転送要求の比較によってFTP代行サーバ60に判定できる。例えば、データ転送要求がSTORコマンドである場合はデータ転送は外向きに進行中であり、データ転送要求がRETRコマンドである場合はデータ転送は外向きには進んでいない。
データが外向きに転送中であれば、この方法はステップ608からステップ610に遷移する。図5Aと関連づけて図6Bを参照しこのネットワークの保護領域から外へのデータ転送のプロセスをより詳細に説明する。ステップ10ではFTP代行サーバ60が転送対象のファイルがウイルスを含み得る種類のものかどうかを判定する。このステップはファイル名の拡張をチェックすることによって行うのが好ましい。例えば、.txt、.bmd、.pcxおよび.gif拡張ファイルはこのファイルがウイルスを含む可能性がないことを示し、一方、.exe、.zipおよび.com拡張ファイルはウイルスを含むことの多い種類のものである。転送すべきファイルがウイルスを含み得る種類のものでなければ、この方法はステップ612に続く。ステップ612では第2のデータポート80が形成され、データ転送要求およびファイルがFTP代行サーバ60からFTPデーモン78に送られてそのファイルをサーバタスク82に送れるようにする。FTPデーモン78は、転送コマンドをサーバタスク82に伝達し、サーバタスク82およびFTPデーモン78を第3のポート84に結合することを含むファイルを送る第3のポート84を形成し、そのファイルをサーバタスク82に送信するゲートウェイノード33で実行するプログラムである。送信されるとその方法は完結し終了する。しかし、ステップ610で転送対象のファイルがウイルスを含み得る種類のものであればこの方法はステップ614に進む。ステップ614でFTP代行サーバ60がファイルをクライアントから第1のポート76経由でFTP代行サーバ60に転送し、ステップ616でファイルをゲートウェイノード33に一時蓄積する。次に、ステップ618でその一時蓄積したファイルを解析し、ウイルスが含まれているか否かを判定する。この動作は上記の一時蓄積したファイルにウイルスチェックプログラムをかけて行うのが好ましい。例えば、カリフォルニア州クペルティーノのトレンド マイクロ デバイシズ インコーポレーテッドから市販されているPC-シリンなどの一つのバージョンのシグネチャ走査ウイルス検出を行うプログラムを使用できる。しかし、それ以外の多様なウイルス検出方法をステップ618に使えることは当業者には明らかであろう。ステップ620においてウイルスチェックプログラムを回答メッセージの一部としてFTP代行サーバ60でユーザ/クライアントタスク72に返送するのが望ましい。次にステップ622においてこの方法は何らかのウイルスが検出されたか否かを判定する。ウイルスが検出されなかった場合は、この方法はステップ612に続き、上述のとおりファイルを送信する。しかし、ウイルスが検出された場合は、FTP代行サーバ60が多様な方法のうちのいくつかの方法で応答できるようにする。FTP代行サーバ60の応答はコンフィギュレーションファイルの特定するユーザの必要および要求によって定まる。このコンフィギュレーションファイルはユーザからの入力およびメモリ44に蓄積された入力にしたがって十分に改変可能にするのが好ましい。例えば、ユーザの特定するオプションには:(1)何もしないでファイルを転送する、(2)一時ファイルを消去してファイルを転送しない、(3)ファイルを名称変更してそれをゲートウェイノード33に特定のディレクトリで蓄積しユーザにその新しいファイル名とディレクトリパスを知らせてシステムアドミニストレータからそのファイルを手動で要求するのに使えるようにする。ユーザの特定できる上記以外の多様な代替策があり、ステップ624、626および628が単なる例示であることは当業者には明らかであろう。次に、ステップ624においてコンフィギュレーションファイルを検索して一時ファイルの取扱いを決める。ステップ626においてFTP代行サーバ60がウイルスの存在を無視して転送を続けるべきかどうかを決める。無視する場合、この方法はステップ612に続き、ファイルをFTPデーモン78に送り一時ファイルを消去する。無視しない場合、この方法はステップ628に続き、両ファイルを消去してサーバタスク82に送らないこととし一時記憶をゲートウェイノード33から消去するか、そのファイルを名称変更してゲートウェイノード33に特定のディレクトリで蓄積しシステムアドミニストレータからファイルを手動で要求するのに使える新しいファイル名およびディレクトリパスをユーザに知らせてゲートウェイノード33の一時ファイルを消去する。ステップ628における動作はステップ624で決められたコンフィギュレーション設定によって決まる。ステップ628のあとこの方法は終了する。図5Aから理解されるとおり、ファイルへのパスはクライアントタスク72から第1のデータポート76経由でFTP代行サーバ60に至り、次に第2のデータポート経由でFTPデーモン78に至り、さらに第3のデータポート84経由でサーバタスク82に達する。
図6Aのステップ608に戻って、外向きにデータ転送が行われていない場合は、この方法はステップ608からステップ640に遷移する。図5Bと関連させて図Cを参照し、ネットワークの保護領域にデータを転送するプロセスをより詳細に説明する。次に、ステップ640でFTP代行サーバ60はデータ転送要求およびファイル名をまずFTPデーモン78に送り、次にサーバタスク82に送る。ステップ642で第2のポート80がFTP代行サーバ60とFTPデーモン78との間に形成される。次に、第3のデータポート84がFTPデーモン78とサーバタスク82との間に形成される。これらポート80、84の形成は第1のポート76の形成と同様に行われる。FTPデーモン78はインターネット70から第3のポート84を要求して受け、第3のポート84のアドレスを含むポートコマンドをサーバタスク82に送る。サーバタスク82は次に第3のポート84に接続され、ステップ644でデータ転送を開始する。FTPデーモン78はファイルをFTP代行サーバ60に送る。次にステップ646でFTP代行サーバ60は、転送すべきファイルがウイルスを含み得る種類のものかどうかを判定する。この動作はステップ610について上に述べたのと同じ方法で行われる。転送すべきファイルがウイルスを含み得ない種類のものであれば、この方法はステップ648に進み、そのステップでファイルはFTP代行サーバ60から第1のポート76経由でクライアントタスク72に転送され、そこでこの方法は完結し終了する。一方、転送すべきファイルがウイルスを含み得る種類のものである場合は、この方法はステップ650でゲートウェイノードにファイルを一時蓄積する。次に、ステップ652でその一時蓄積したファイルを分析してウイルスの有無を判定する。この分析はステップ618における分析と同じである。ステップ652ではウイルスチェックプログラムの出力を回答メッセージの一部としてFTP代行サーバ60でクライアントタスク72に返送する。次に、ステップ656でウイルス検出の有無を判定する。ウイルスの検出がなかった場合は、この方法は上述のとおりステップ648へ続く。しかし、ウイルスが検出された場合はコンフィギュレーションファイルを取り出して一時ファイルの取扱いを決める。ステップ660で、FTP代行サーバ60がウイルスの存在を無視してファイル転送を続けるべきかどうかを決める。続けるべきであると決めた場合は、この方法はステップ648に進み、このステップでファイルをクライアントタスク72に転送して一時ファイルを消去する。続けるべきでないと決めた場合は、この方法はステップ662に進み、このステップで一時ファイルを消去し、上記ファイルを消去してクライアントタスク72への送りを中止するか、ファイルを名称変更しゲートウェイノード33に蓄積して、クライアントタスク72に変更後のファイル名およびパスを知らせ、システムアドミニストレータがそのファイルを手動で検索できるようにする。この方法はそこで終了する。図5Bから理解されるとおり、データ転送要求はクライアントタスク72からFTP代行サーバ60へ、次にFTPデーモン78へ、さらにサーバタスク82へ伝達され、このFTPデーモン82はそれに応答してそのファイルを第3のポート経由でFTP代行サーバ60へ、最後の第1のポート76経由でクライアントタスク72に送る。
図7、8Aおよび8Bを参照して、SMTP代行サーバ62の動作を次に説明する。SMTP代行サーバ62はあるネットワークの保護領域へのデータおよびウイルスの入口となり得る他の入力チャンネルのみを制御する。SMTP代行サーバ62は、通信ユニット54および媒体34経由でネットワークに出入りする電子メッセージまたはメールの転送すべきを制御し処理するゲートウェイノード33常駐プログラムで構成するのが好ましい。ネットワークの保護領域内のクライアントタスク92からその保護領域外の異なるネットワークのノードのサーバタスク102へのメールメッセージの転送についてSMTP代行サーバ62を次に述べるが、当業者にはSMTP代行サーバ62が入来メールメッセージをいかにして同様に処理するかは理解されよう。メールメッセージはSMTP代行サーバ62により同様に処理され、どのノード32がサーバで、ゲートウェイノード33の側面からのメッセージ伝達の向きによるクライアント変更がどれであるかの指定だけが送られる。ノード間のコマンドパスウェイを用いてメールメッセージは伝達されるので、それらパスウェイだけを図7に示してある。理解を容易にするために図7にはコマンドポートは示してないが、好適な方法の関連のステップにおいて後述する。
図8Aを参照すると、この発明の好適な電子メール送信方法はステップ802でSMTP代行サーバ62を動作させることで始まる。次に、ステップ804においてクライアントタスク92とSMTP代行サーバ62との間の信号授受のための第1のコマンドポート91を生成する。ポートコマンドに伴う第1のポート96のアドレスをSMTP代行サーバ62に供給する。次に、ステップ806において、SMTP代行サーバ62を第1のポート96に結合し、クライアントタスクとSMTP代行サーバ62との間でメールを送るチャンネルを形成する。次にステップ808でSMTP代行サーバ62がSMTPデーモン98またはSMTPサーバを生成する。SMTPデーモン98はBSD UNIXオペレーティングシステムの一部である既存のプログラム”sendmail”で構成するのが好ましい。このプログラムは書くべきコードの量を減らし、OSI参照モデルの低位層との互換性を確保するのでとくに有利である。次にステップ810で第2のコマンドポートをSMTP代行サーバ62とSMTPデーモン98との間の信号授受のために生成する。ステップ812において、SMTPデーモン98はSMTP代行サーバ62との信号授受のための第2のコマンドポートに結合される。実際には、この発明はSMTPデーモン98を適切なポート、すなわちオペレーティングシステム64の一部である共通ライブラリー内の結合機能の再定義による第2のポートに結合する。この発明は、SMTPデーモン98(大部分のUNIXシステムでは”sendmail”プログラム)が動的にリンクされている事実を利用する。この発明は、システム呼出しバインド()を再定義し”sendmail”を実行時にバインド()呼の再定義版と強制的にリンクさせる共通ライブラリーを利用している。上記バインド()呼の再定義版がSMTPデーモン98(”sendmail”プログラム)が第1のコマンドポート(SMTPポート)へのバインドを試みていると判定する場合は、他端がSMTP代行サーバ62であるソケット(第2のコマンドポートへのソケット)をそこに戻す。次にステップ800でクライアントタスク92がSMTP代行サーバからの接続を要求し、第1のコマンドポートを通信に用いる。次にステップ818でメッセージはクライアントタスク92から第1のコマンドポート経由でSMTP代行サーバ62に送信される。
次に図8Bを参照すると、この発明の方法はステップ820へ続き、SMTP代行サーバ62でメッセージ本体を走査し符号化ずみの任意の部分をチェックする。この発明はメッセージを走査して、2進データをASCIIデータに符号化する「非符号化」符号化スキームで符号化した部分をチェックする。メッセージの「非符号化」部分は通常は”begin 644 filename”などのラインで始まり、”end”などのラインで終了する。それら符号化部分の存在がファイルのウイルス含有の可能性を示唆する。「非符号化」部分チェックのための上記走査は使用可能な多数の走査手法の一つにすぎず、この発明をマイムなど上記以外のスキームにしたがって符号化した部分など上記以外の符号化部分を走査するように変形できることは当業者には明らかであろう。次に、ステップ822において、SMTP代行サーバ62がメッセージに何らかの符号化部分が含まれているか否かを判定する。メッセージが符号化部分を何ら含んでいない場合は、SMTP代行サーバ62はステップ824においてメッセージを第2コマンドポート経由でSMTPデーモン98に送信する。次にステップ814において、SMTPデーモン98はSMTPデーモン98とサーバタスク102との間の信号授受のための第3のコマンドポートを生成する。次に、ステップ816においてサーバタスク102は第3のコマンドポートに結合され、サーバタスク102とSMTPデーモン98との間の信号授受を形成する。サーバタスク102がゲートウェーノード33に常駐している場合は、ネットワークを横切るデータ転送は不要となるので、ステップ814および816は不要であって省略できる。ステップ826でSMTPデーモン98は第3のコマンドポート経由でメッセージをサーバタスク102に送信し、この方法を完結させる。
一方、メッセージが符号化部分を含むことがステップ822で判定された場合は、SMTP代行サーバ62はメッセージの符号化部分の各々をゲートウェイノード33の一時ファイルにステップ828で蓄積する。例えば、メッセージが三つの符号化部分を含む場合は、各符号化部分が別々のファイルに蓄積される。ステップ830において、自身のファイルに蓄積された各符号化部分は当業者に理解されるとおり”undecode”プログラムにより個々にデコードされる。次に、ステップ832において、SMTP代行サーバ62は一時ファイルに蓄積ずみの各メッセージ部分について”virus-checking”プログラムを呼び出して実行する。次に、ステップ834においてSMTP代行サーバ62がウイルス検出の有無を判定する。ウイルス検出がなかった場合は、この方法は上述のとおりステップ824、814、816および826に続く。しかし、ウイルスが検出された場合は、この発明がFTP代行サーバ60の場合と同様に多様な方法のうちの任意の数の方法でSMTP代行サーバ62が応答できるようにする。SMTP代行サーバ62の応答はコンフィギュレーションファイルの特定するユーザの必要性によっても決まる。このコンフィギュレーションファイルはユーザからの入力に従って全面的に改変可能である。ウイルス処理のためのコンフィギュレーションはステップ836で決まる。この動作はコンフィギュレーションファイルを検索して読み出すか、メモリ44に蓄積ずみのコンフィギュレーションデータの検索のみを行うことによって行うことができる。次にステップ838において、行うべきアクションをコンフィギュレーション設定から決める。例えば、ユーザの特定できるオプションには、(1)何も加工することなくメールメッセージをそのまま転送する、(2)メールメッセージからのウイルス除去を決められた符号化部分とともにメールメッセージを転送する、(3)ウイルス含有メッセージの符号化部分を名称変更し名称変更後の部分をSMTP代行サーバ62の特定ディレクトリにファイルとして蓄積しシステムアドミニストレータから手動でファイル要求するのに使える名称変更後のファイルおよびディレクトリーパスをユーザに通知する、または(4)それぞれの符号化部分の代わりにステップ832の出力をメールメッセージに書きそのメールメッセージをステップ824および826で送る、などがある。採るべきアクションがコンフィギュレーションファイルのチェックから決まると、その特定されたアクションがステップ840で採られ、改変後のメッセージが送信され、一時ファイルが消去され、この方法が終了する。例えば、メッセージが三つの符号化部分を有し、それらのうち二つがウイルスを含み、ウイルス含有部分を消去するようコンフィギュレーションファイルが指示する場合は、この発明の方法はもとのメッセージと同じであって変換ずみメッセージを、除去されたウイルスを含む二つの符号化部分とともにサーバタスク102に送る。
この発明は図9に示すような慣用の電子メールシステム200におけるウイルス検出装置および検出方法をも含む。ネットワークゲートウェイノード33経由のデータ伝達におけるウイルス検出と対照的に、この装置および方法は、概括的には、ポスタルノード232経由の電子メールでクライアントノード230に送信されてきたデータについてのウイルス検出を行い、したがってゲートウェイノード33経由で非排他的に導入されたウイルスの拡散を防止できる。例えば、ウイルスはクライアントノード230でフロッピーディスクまたはインターネットへのモデムアクセスによりネットワークに導入され得るのであり、それらウイルスは特定のクライアントノード230からポスタルノード232通過電子メールでネットワーク200全体にわたり拡散し得る。
電子メールシステムは一般に蓄積および回送/検索モデル利用加入者相互間に非同期メッセージアクセスを実動化している。例えば、ポスタルノード232は最終的にクライアントノード230への回送または同ノードによる検索に備えてメッセージを蓄積する。各メッセージはそのメッセージがクライアントに読み出されたか否かについての関連ステータス(読出しずみ、未読出し)を備える。それらメッセージは上述のとおりウイルスを含み得る単純なテキスト、図形ファイル、複雑な実行可能ファイルを含む
図10aを参照すると、ポスタルノード232のブロック図が示してある。ゲートウェイノード33と同じように、ポスタルノード232は表示装置258、CPU260、メモリ262、データ蓄積装置264、ネットワークリンク268、および通信ユニット269を含む。CPU260は、バス270によって、表示装置258、メモリ262、データ蓄積装置264、入力装置266、ネットワークリンク268および通信ユニット269とフォン・ノイマンアーキテクチャで結合してある。CPU260、表示装置258、入力装置266およびメモリ262はパーソナルコンピュータにみられる慣用の方法で結合できる。ポスタルノード232、CPU260、表示装置258、入力装置およびデータ蓄積装置264の配置に関する好適性および代替構成はゲートウェイノード33に関連して上に述べたものと同様である。
バス270はケーブルまたはライン236経由のポスタルノード232とクライアントノードなどそれ以外のノードとの間の信号授受を容易にするためにネットワークリンク268に接続してある。また、バス270はポスタルノード232とそれ以外のネットワーク(図示してない)との間のデータおよびメッセージの授受のために通信ユニット269に接続してある。ネットワークリンク268および通信ユニット269の好適構成と代替構成はゲートウェイノード33の説明で述べたものと同様である。ネットワークコンフィギュレーションおよびオペレーティングシステムが多様でありそれらの使用からこの実施例が独立していることは当業者には理解されよう。
一般に、ポスタルノード232のCPU260は、メモリ262および入力デバイス266経由の入力からの命令の制御によって、クライアントノード230の入来または送出電子メールの形でデータアクセスを提供し、あるシステムではローカルネットワーク(図示してない)の外部の他のノードへのデータアクセスを提供する。
図10bを参照すると、ポスタルノード232のメモリ262が示してある。メモリ262はバス270との間で信号授受を行い、カーネル291、メール管理プログラムおよび所要の任意のアプリケーションプログラム296を含むオペレーティングシステム296を備える。メモリ262はRAMで構成するのが好ましいがROMを備えることもできる。
図10cではポスタルノード232のデータ蓄積装置264の詳細であって、ディレクトリ記憶領域297、ヘッダ記憶領域298、付加記憶領域300および改悪ファイル記憶領域302を含む構成を示す。データ蓄積デバイス264はハードディスクを含むのが好ましいがデータ蓄積装置264には種々の代替手段があることは当業者には明らかであろう。
好適な実施例ではメール管理プログラム292はロータス ディベロップメント コーポレーションから市販されているLotus cc:Mailで構成する。このプログラム292は代替的にはノベル社製のGroupWise、バンヤンシステムズ社製のBeyondMail、マイクロソフト社製のMS-Mail、その他従来型の電子メールプログラムで構成できる。プログラム292は概括的にはポスタルノード232におけるメッセージのアクセス、蓄積および転送を管理し、ヘルプファイルおよび辞書ファイルを伴うユーザ援助ルーチンを備えることもできる。ディレクトリ蓄積領域297、ヘッダ蓄積領域298およびアタッチメント蓄積領域300はメール管理プログラムとの協動の必要性に従って、またネットワークインストーラまたはアドミニストレータによるセットアップに従って配置してある。ディレクトリ297はメッセージの送受信を行うネットワークユーザのリストを含む。通常はディレクトリ297はリストされた各ユーザについて別々のメールボックスファイルも併せ備える。メールボックスファイルはユーザに関する情報、通常はその情報へのポインタおよびユーザのメッセージを含む。
メッセージは電子メールシステムにおける通信の基本単位である。メッセージは、(1)ユニークメッセージ識別子、(2)送信者、受信者、ログおよび受信関係情報、メッセージの日時、そのデータの主題ほかその種のデータ、および(3)アタッチメントを含む。メッセージには、電子メールプログラム292のテキストエディタの生成したファイルと文書作成またはスプレッドシートファイルなどネットワークアプリケーションプログラム296の生成するファイル、実行可能なファイル、電子メールメッセージに慣用的に付加してあるか電子メールシステム200のクライアントノード230に転送されたファイルなど多様なファイルで構成され得る。通常のメッセージは電子メールプログラムのテキストエディタの発生するメッセージ本体の形の少なくとも一つのアタッチメントを含む。ヘッダの中の情報はヘッダ記憶領域298に蓄積でき、その情報にメッセージアタッチメントの位置への一つ以上のポインタを含めることができる。アタッチメントファイルはアタッチメント蓄積領域300に蓄積できる。
アタッチメントを伴うメッセージを含めて、メッセージは多数の受信者に送られ得る。その場合、電子メールプログラム292は各受信者向けのメッセージヘッダに単一のアタッチメントファイルへのポインタを加える。この構成によって、メッセージアタッチメントは多数の受信者について単一の蓄積位置に蓄積できるので、ポスタルノード232におけるデータ蓄積領域を節約する。
上述のメッセージアタッチメントは電子メールシステム200の動作を通じたウイルス拡散の主な媒体である。この発明の装置と方法はクライアントノード230へのウイルスの転送を防止し、メッセージアタッチメントとくに多数加入者あてのメッセージアタッチメントに含まれるウイルスの処理によってネットワーク200経由のウイルス拡散を防止し得る。
電子メールシステム用のポスタルノード232の構成、とくにデータ蓄積デバイス264の構成を上に述べてきたが、データ蓄積装置264は電子メールシステム200およびそのシステムに用いる同プログラム292の要求に従って任意の慣用の形式で構成できることは理解されよう。また、クライアントノード230は二人以上の電子メールユーザにサービスを提供でき、この発明の単一のメール走査モジュール276はそれらユーザ全部についてメッセージを走査するように配置することもでき、また各ユーザについて別々に走査を行うように配置することもできることは理解されよう。
この実施例ではウイルス被害ファイルの蓄積領域302はポスタルノード232のデータ蓄積装置264に示してあるが、ウイルス被害の判明したファイルを所望の位置に蓄積できることは理解されよう。
図11aを参照すると、この発明によるクライアントノード230のブロック図が示してある。クライアントノード230は表示装置244、CPU246、メモリ248、データ蓄積装置250、入力装置252およびネットワークリンク254を含む。CPU246はこれら構成要素244、248、250、252および248にバス256でフォンノイマンアーキテクチャで接続してある。CPU246、表示装置244、入力装置252およびメモリ248はパーソナルコンピュータの場合と同様に慣用の方法で相互に接続する。クライアントノード233、CPU246、表示装置244、入力装置252およびデータ蓄積装置250の配置に関する好適性および代替案はゲートウェイノード33およびポスタルノード232に関連して上述したものと同様である。
バス256はクライアントノード230とそれ以外のポスタルノード232などのネットワークとの間のケーブルまたはライン236経由の通信を容易にするようにネットワークリンク254に接続する。ネットワークリンク254の好適な形態と代替形態はゲートウェイノード33およびポスタルノード232の説明で述べたものと同様である。多様なネットワーク構成およびオペレーティングシステムが代替的に利用可能であり、この実施例がそれら代替手段の利用に影響されないことは当業者には明らかであろう。
一般に、クライアントノード230のCPU246は、メモリ262からおよび入力装置266経由で入力から受けた命令による制御で、ポスタルノード232と協動してクライアントノード230に対する電子メールの送受転送を容易にする。この発明の装置および方法は、メール伝送システムの通常の動作の外で通常は動作してクライアントノード230によるポスタルノード232所在のメッセージへのアクセスを可能にするメッセージの適用可能なウイルス検出構成を用いる。
図11bを参照すると、この発明によるクライアントノード230のメモリ248の好適な実施例をより詳細に示してある。メモリ248はバス256との間で信号授受し、カーネル273、ローカル電子メールプログラム274、メール走査モジュール276および所望の任意のアプリケーションプログラム278を含むオペレーティングシステム272を備えるのが好ましい。メモリ248はRAMで構成するのが好ましいがRAMを含むこともできる。
オペレーティングシステム272に好適な構成および代替的構成はゲートウェイノードのオペレーティングシステム64について上述したものと同様である。ローカル電子メールプログラム274はポスタルノード232の電子メールプログラム292と信号授受するように通常配置され、初期化ファイルおよびコンフィギュレーションファイル、すなわちクライアントノード230が設定に応じてポスタルノード232に対してメッセージ送受を行えるようにするファイルを含む。アプリケーションプログラム278はスプレッドシート、文書作成その他の種類のプログラムであり、ネットワークアプリケーションプログラム296と協動して動作してもよく、完全にローカルに動作してもよい。
この発明によると、メール走査モジュール276はウイルス検出のためのメッセージチェックルーチンを含む。メール走査モジュール276は、ポスタルノード232をポーリングして、クライアント230向けのメッセージがポスタルノード232にあるか否か、そのメッセージが未走査状態かどうかを判定し、クライアントノード230のメモリ248に未走査のメッセージをそれらメッセージ「未読出」状態に影響を及ぼすことなくダウンロードし、それらメッセージを分析してウイルスの有無を判定し、補正動作を行うルーチンを提供する。
図11cを参照すると、クライアントノード230のメール走査モジュール276の好適な実施例を、メール走査マネジャー280、メール送信モジュール281、ポーリングモジュール282、検索モジュール283、データバッファ284、被走査メッセージFIFOバッファ285、ウイルス分析処理モジュール286およびデコーダ288を含めてより詳細に示してある。上述のとおり、メール走査モジュール276に含まれるモジュールは電子メールプログラム292およびポスタルノード232のそれ以外の部分と信号授受するように配置してある。例えば、クライアントノード230のデータバス256に接続したモジュールは、ネットワークリンク254、ライン236、ネットワークリンク268およびバス279経由でポスタルノードメモリ262またはデータ蓄積装置264と信号授受できる。ネットワークチャンネル経由の情報転送の慣用の手法を実動化できる。ポスタルノード232とメール走査モジュール276との間のネットワークリンク254は、次に述べる独立の機能と協動して、クライアントノード230にローカルな電子メールプログラム274の動作を要することなく動作可能である。このように、ウイルス分析処理は目立たない形でユーザトリガによることなく行われる。
メール走査マネジャー280はメール発信モジュール281、ポーリングモジュール282、検索モジュール283、データバッファ284、被走査メッセージFIFOバッファ285、ウイルス分析処理モジュール286、デコーダ288およびポスタルノード232の動作を調整し一体化するルーチンを含む。メール走査マネジャー280はメール走査モジュール276の動作設定を選択するコンフィギュレーションルーチンを含む。
メールポーリングモジュール282はクライアント宛の新たなメッセージの着信の有無とそのメッセージが未走査のままか否かとの判定を行う。それらルーチンはポスタルノード232のメール管理領域292および蓄積領域264と信号授受し、ネットワーク200の用いる電子メールプログラム274、292のポーリングルーチンをエミュレートするのが好ましい。このポーリングルーチンは慣用のものから成り、例えば、電子メールシステムのVendor Independent Messaging(VIM)インタフェースかDynamic Data Exchange(DDE)インタフェースかを実動化する。ポーリングルーチンは電子メールプログラム274、292の用いるルーチンを文字どおりエミュレートし、メール走査マネジャー280のコンフィギュレーション設定に従って設定できる。ポーリングルーチンは、例えば30秒ごとなど一定時間間隔で実行してポスタルノード232をポーリングし、クライアントノード230への未走査メッセージの受信の有無を判定するのが好ましい。ポーリングモジュール282は被走査メッセージFIFOバッファ285の日付を用いその日付を維持する。被走査メッセージFIFOバッファ285はクライアントノード宛で未読出既走査の郵便局所在メッセージを列挙したテーブルである。図11dに示したとおり、既走査メッセージFIFOバッファ285は、各々がメッセージ識別番号、ヘッダ情報および1つ以上の状態ビットを有する複数の記憶データを収容するように大きさの限定されたメモリ248の一部で構成するのが好ましい。バッファ285は、被走査メッセージに関する情報で満杯になると古い記憶内容が次の入力のために消去される点で環状バッファまたはFIFOバッファである。未走査メッセージのためのポーリング処理は慣用のルーチンを用いてポスタルノード232にクライアントノード230への未読出メッセージがあるかどうかを判定するように行う。その未読出メッセージがある場合は、ユニーク識別番号(必要であればそれ以外のヘッダ情報も)をポーリングで検索し、その識別番号を既走査メッセージFIFOバッファ285に蓄積したユニーク識別番号と比較する。未読出メッセージのユニーク識別番号がバッファ285にある場合はメッセージはデータバッファにダウンロードされず、ポーリングはポスタルノードでの次の未読出メッセージヘと続く。しかし、その未読出メッセージのユニーク識別番号がバッファ285にない場合は、ユニーク識別番号は検索モジュール283に伝達され、メッセージとその内容とがデータバッファ284にダウンロードされるようにする。
検索モジュール283はポーリングモジュール282により未走査が見出されているメッセージからのデータを捕捉するルーチンを含むのが好ましい。未走査メッセージが見出された場合は、検索モジュール283でポスタルノード282からのメッセージをクライアントノード230のメモリ248のデータバッファ284部分にダウンロードするのが望ましい。図示のとおり、各メッセージはID番号で一元的に識別され、付加ファイルに向かうヘッダを含み、その情報で検索モジュール283がクライアントノードのデータバッファ284にアタッチメントファイルをダウンロードできるようにする。検索モジュール283がデータバッファ284中にアタッチメントファイル含有のメッセージを蓄積すると、検索モジュール283はウイルス分析処理モジュール286にデータバッファ中の情報がウイルス検出のために分析できる旨を知らせる。
ウイルス分析処理モジュール286はファイルがウイルスを含むか否かの判定および感染ファイル、物体またはデータの清浄化を行うルートを含む。メール走査マネジャー280は、ウイルス分析処理モジュール286に対して、検索モジュール283がメモリ256にダウンロードしてデータバッファ284に蓄積したファイル、すなわちシグネチャ走査、チェックサム、ゲートウェイノード33に関連して上述したウイルスの検出および処理のためのエミュレーションまたは任意の手法で操作し処理しファイルに作用するよう指示する。データバッファ284は走査前の情報保持専用のメモリ248内の一時蓄積位置である。このデータバッファは一時蓄積で分割されているので、潜在的にウイルスに侵されているデータはウイルスチェックのための走査が終わるまでデータ蓄積装置250にコピーされない。ウイルス分析処理モジュール286は一体化して示してあるが、各機能ごとに別々のモジュールを用意しても差し支えないことは理解されよう。
デコーダ288は復号化、圧縮解除またはそれ以外の走査用のメッセージ処理のルーチンを含むのが望ましい。例えば、電子メール管理プログラム274、292の用いる慣用の秘匿化および圧縮アルゴリズムを実動化できる。クライアントノード230にデコーダ288を含めてあるので、クライアントノード230の用いる復号化アルゴリズムのいずれにもアクセス可能になる。デコーダ288はメール走査マネジャー280の指示によりウイルス分析処理モジュール286と協動し、符号化ずみファイルのウイルス検出を可能にする。
メール送出モジュール281がネットワーク電子メールシステムを用いてメッセージを送出するように設けてあり、このモジュールにはメールイネーブルプログラムアプリケーションに用いる慣用のルーチンを含める。メール走査マネジャー280のコンフィギュレーション設定によって、メール送出モジュール281は処理ずみメッセージまたはネットワークアドミニストレータの送り側および受け側などの加入者にメッセージまたはアタッチメントファイルを送るのに用いることができる。
図11dを参照すると、被走査メッセージFIFOバッファ285の好適な例が示してある。このFIFOバッファ285は関連の状態フラッグ312付きのメッセージ識別子フィールド310を含み、識別ずみメッセージがメール走査モジュール276によるウイルス有無のチェックを受けたかどうかを示す。メッセージ識別フィールド310はポスタルノード232からコピーした情報、したがってメール走査マネジャー280が余分なメッセージのダウンローディングおよび分析を防止できるようにする情報から成る各未走査情報を一義的に識別するデータを含む。メッセージ識別フィールド310はメッセージに組織化のためにポスタルノード232の用いるメッセージ識別データと同じ識別データを用いるのが好ましい。各メッセージに伴う状態フラグ312はメール走査マネジャー280が未読出メッセージの余分な処理を防止できるようにする。もう一つの実施例では、メール走査マネジャー280がメールプログラムの活性化および使用によりユーザ読取メッセージを識別し、メモリ節約やユーザ検索ずみのメッセージの走査の防止のために、メッセージのFIFOバッファ285からの読出後に除去する。もう一つに実施例では、被走査メッセージFIFOバッファ285を、所望量のメッセージを保持しユーザによる読出ずみのメッセージのデータバッファからの識別および除去を不要にするためにメッセージデータが流れるように、所望量のメッセージを保持する大きさとする。
次に図12を参照すると、電子メール走査装置の好適な動作方法1200を示す。ポスタルノード232を、ステップ1205において所定受信人宛の未走査メッセージ有無を判定するように電子メールシステムのポーリングルーチンをエミュレートすることによってポーリングする。所定受信人宛の未走査メッセージがポスタルノード232で検出されると、メール走査装置がアタッチメントファイルを含むメッセージをステップ1210で所定受信人割当てのクライアントノード230のメモリ248にダウンロードする。好適な方法はステップ1220でメッセージまたはアタッチメントファイルがウイルスを含むか否かを判定するようにメモリ246内の蓄積メッセージおよびアタッチメントファイルをステップ1215で走査する。次にステップ1220でウイルスを含むか否かを判定する。メッセージがウイルスを含んでいることが見出されると、メール走査装置がステップ1225で感染メッセージについての補正動作、すなわちウイルス除去、メッセージの一部としての警告の送出、メッセージの消去、システムアドミニストレータへのメッセージの送出などを行う。ポーリングルーチンはステップ1205でユーザ入力なしまたはクライアントノード230におけるローカル電子メールプログラム274の活性化なしにステップ1205で動作して目立たない背後での動作を可能にする。
図13を参照すると、背後における電子メッセージ走査の好適な方法をより詳細に示す。この方法は、クライアントノード320が未読出メッセージチェックのためにポスタルノード232をポーリングするステップ1302で開始される。ステップ1305でポスタルノード232を慣用の電子メールシステムの命令をエミュレートするルーチンを実行することによって未読出メッセージについてポーリングする。次に、ステップ1304でこの方法はクライアントノード宛のメッセージの有無を判定する。そのメッセージがなければ、この方法はステップ1314でステップ1302に戻る前に所定量の遅延を与えてポスタルノード232を再びポーリングする。しかし、ポスタルノード232のクライアントノード232宛の未読出メッセージがある場合は、この方法はステップ1306に進み、ポスタルノード232がアクセスを受け、メッセージ識別番号およびメッセージヘッダがポスタルノードから検索される。次に、ステップ1308において、クライアントノード230、より詳しくはポーリングモジュール282がメッセージの走査がなされたか否かを判定する。この動作は検索されたメッセージ識別番号およびそれら識別番号へのヘッダと走査ずみメッセージバッファ285に蓄積されたヘッダとの比較によって行う。一致が見出されると、メッセージは走査されたことになる。ステップ1310において、この方法はメッセージの走査が行われたかどうかを試験する。メッセージ走査が完了していると、この方法はステップ1312に進み、未読出メッセージの有無を判定する。未読出メッセージがそれ以上なければ、この方法はステップ1314に進み、次にポーリングに戻る。しかし、未読出メッセージがさらにあれば、この方法はステップ1306、1308、1310で次のメッセージの処理を続ける。
メッセージが未走査のものと判れば、この方法はステップ1310からステップ1314に移る。ステップ1314ではこの方法は未走査メッセージがアタッチメントを含むか否かを判定する。そのメッセージがアタッチメントを含んでいなければ、メッセージ識別番号とヘッダが被走査メッセージFIFOバッファ285に蓄積され、そのメッセージにチェックずみのフラグを付ける。ステップ285のあと、この方法はステップ1302に戻り、クライアントノード230宛の新たな入来メッセージのためのポーリングを行う。しかし、メッセージがアタッチメントを含む場合は、この方法はそれらメッセージに関する必要な情報をメッセージヘッダおよびアタッチメント全部とともにメモリ248、詳しくはデータバッファ284にダウンロードする。次にステップ1400においてデータバッファ284の中のデータを分析し、または図14を参照して後述するアタッチメント走査プロトコルにかける。データバッファ284の分析後、この方法はウイルスが検出されたか否かを試験する。ウイルスが検出されていなければ、この方法は上述のとおりステップ1320に進む。一方、ウイルスが検出されていれば、図15を参照して後述するとおりステップ1500を処理し、ユーザの予め設定した好適性にしたがって補正動作を行う。
次に図14を参照すると、アタッチメント走査の好適な方法1400が示してある。データバッファ284における次のアタッチメントがステップ1405でアクセスされ、そのアタッチメントがウイルスを含み得る種類のものかどうかをステップ1410で判定する。このスクリーニングステップはメール走査モジュール276のコンフィギュレーション設定で制御でき、それらスクリーニングに関する選別順位および代替手段はゲートウェイノード33におけるウイルス検出について説明したものと同様である。例えば、.txt、.bmd、.pcxおよび.gif拡張ファイルは走査を省略し、.exe、.zipおよび.com拡張ファイルは走査を行う。
ステップ1410でアタッチメントがウイルスを含み得る種類のものでないと判定された場合は、この方法はステップ1435に進み、そのステップでさらに追加のアタッチメントの有無および走査の要否を判定する。走査を要する追加のアタッチメントがある場合は、この方法はステップ1405に戻り、それ以外の場合はアタッチメントの走査方法は完結する。しかし、ステップ1410でそのファイルがウイルスを含み得る種類のものであることが見出された場合は、この方法はステップ1415に進み、そのステップでアタッチメントはデコーダモジュール288により復号化されウイルス分析処理モジュール286がウイルス検出用に走査できるようにする。デコーダ288およびウイルス分析処理モジュール286の説明で示したとおり、この復号化方法は電子メールシステムの用いる、またはクライアントノード230で利用可能な慣用の秘匿圧縮アルゴリズムを実動化でき、走査方法はシグネチャ、チェックサムまたはエミュレーションなど慣用の種類のものを含み得る。次に、ステップ1420において、この方法はデータバッファ284内の情報についてウイルス検出を行う。次に、ステップ1425において、この方法はウイルスが検出されたか否かを試験する。そのアタッチメントがウイルスを含むと判定された場合は、ステップ1430でそのアタッチメントの感染が識別され、図13のステップ1500で処理されるようにする。さらに追加のアタッチメントがステップ1435で供給された場合は、ステップ1405でそれらアタッチメントにアクセスされ走査されて上述のステップが繰り返される。
図15を参照すると、アタッチメント処理ステップ1500の好適な方法が示してある。ウイルス分析処理モジュール286を支配するコンフィギュレーション設定がステップ1505でメール走査マネジャー280から決められる。コンフィギュレーション設定は、ウイルス検出に応答してその発明の方法が行うべき動作を指示するようにユーザが行うのが好ましい。ステップ1510において次の感染アタッチメントがアクセスされ、一時ファイルまたはデータバッファ284に処理のために蓄積される。代替的実施例では、感染アタッチメントのコピーをステップ1515で以後の参照用に感染ファイル蓄積位置302に蓄積する。次に、このアタッチメントをコンフィギュレーション設定にしたがって処理する。アタッチメントを完全にウイルス除去状態にできるかどうかをステップ1520でまず判定するのが好ましい。できる場合はステップ1525でアタッチメントを清浄化し、コンフィギュレーション設定にしたがって、アタッチメント蓄積位置300内の感染アタッチメントを処理ずみ版と置換し、またはステップ1530で例えばメール送出モジュール281を用いて処理ずみ版を受信側に送信または再送する。
アタッチメントが完全にウイルス除去されていないとステップ1520で判定された場合は、コンフィギュレーション設定にしたがってステップ1550でそれを部分的に処理する。その処理は、ウイルス除去可能なアタッチメント部分のウイルス除去、アタッチメントの全面的消去、メッセージからの感染部分の除去、感染アタッチメントファイルをそのまま維持して受信側に警報を発することのいずれによっても構成できる。全面処理したアタッチメントの場合と同様に、部分処理したアタッチメントもアタッチメント蓄積位置300内の感染部分との置換に用いることができ、またステップ1530で受信側に回送または再送することもできる。
次に、ステップ1535において、メール送信側およびネットワークアドミニストレータなどの加入者がステップ1555で警報を受けるか感染ファイルまたは処理ずみファイルを受けるかするようにコンフィギュレーション設定を行うことによって、加入者警告設定がイネーブルされたかどうかを判定する。次に一時ファイルはステップ1540で消去され、追加のアタッチメントの分析の要否がステップ1545で判定される。
図15を参照して上述した補正動作のプロセスを例示する。ウイルス処理のための補正動作には、(1)何もしない、(2)メッセージからウイルスを除去する、(3)メッセージ受信側にウイルスの存在を知らせる、(4)メッセージがウイルスを含むことをシステムアドミニストレータに知らせる、(5)宛先全部(すなわち、メッセージの宛先、コピー宛先、ブラインドコピー宛先などであることがヘッダに表示されている人全部)にメッセージがウイルスを含んでいる旨を知らせる、(6)受信側および他人にメッセージが読めないようにする、(7)メッセージをシステムアドミニストレータに送る、(8)上記動作の上記以外の組合せなどが含まれ、これら補正動作の一つまたは二つを図15に示した方法以外の方法で組み合わせできることは当業者には明らかであろう。
特定の好適な実施例を参照してこの発明を上に説明してきたが、種々の改変が可能であることは当業者には認識されよう。
例えば、この発明の好適な動作はファイルがウイルスを含み得る種類のものかどうかをFTP代行サーバ60で判定することを特定している(ステップ610および646)。しかし、代替的実施例ではこれらステップを省略して、ウイルスチェック用に転送されてきたファイル全部を一時的に蓄積して走査するだけである。同様に、SMTP代行サーバ60は、代替的実施例では、メッセージが符号化されたものかどうかの判定ステップ822を省略して、ウイルスチェック用に送信されてきた全メッセージを一時的に蓄積し走査する。また、ファイルまたはメッセージをゲートウェイノードの一時蓄積装置に一時蓄積するものとしてこの発明を上に説明してきたが、クライアントノードからゲートウェイノードへの転送時にファイル含有ウイルスの有無の判定を行う際にはこのステップを省略できる。
さらに、電子メールシステム200におけるウイルス検出の装置および方法については、ポスタルノード232が特定のシステム用ゲートウェイノードとして作用すること、およびローカルエリアネットワーク(LAN)用のポスタルノード232によって他のネットワークへのリンクが不要な場合は通信ユニット269などの構成要素が不要になることは認識されよう。また、メール走査装置および同方法についても上記以外の代替例が可能であることは当業者に認識されよう。
上述の実施例についてのこれらのおよびこれら以外の変形および改変がこの発明には可能であり、この発明は次に掲げる請求の範囲のみによって限定されるものである。

Claims (31)

  1. バスを含みポスタルノードと交信状態にある第2のノードからそのポスタルノードのデータアクセスする電子メールシステムにおいてウイルスを検出し選択的に除去する装置であって、
    前記バスに結合され前記ポスタルノードと交信状態にあってそのポスタルノードにおけるメッセージの存在を検出するポーリングモジュールであって、前記電子メールシステムの電子メールプログラムのポーリングルーチンを前記第2のノードにおいてエミュレートするポーリングモジュールと、
    前記バスに結合され前記ポスタルノードと交信状態にあって前記メッセージ関連のデータのコピーを前記メッセージの未読出状態への影響なく入手する検索モジュールと、
    前記バスに結合され前記検索モジュールと交信状態にあって前記メッセージ関連のデータがウイルスを含むか否かを判定するウイルス分析モジュールと、
    前記バスに結合され、前記ポーリングモジュール、前記検索モジュールおよび前記分析モジュールと交信状態にあって前記ポーリングモジュール、前記検索モジュールおよび前記分析モジュールを制御するメール走査マネジャーと
    を含み、ウイルスの検出および選択的除去を前記電子メールプログラムの動作を要することなく行う装置。
  2. 前記バスに結合され、前記ウイルス分析モジュールおよび前記メール走査マネジャーと交信状態にあってウイルス含有の判明したメッセージを補正するウイルス処理モジュール
    をさらに含む請求項1記載の装置。
  3. 前記バスに結合され、前記検索モジュールおよび前記メール走査マネジャーと交信状態にあってメッセージ関連のデータの記録を維持するデータバッファをさらに含む請求項1記載の装置。
  4. 前記データバッファが前記メッセージを一義的に識別する第1のフィールドと、前記メッセージが分析ずみか否かを表示する第2のフィールドとを含む請求項3記載の装置。
  5. 前記バスに結合され、前記ウイルス分析モジュール、前記ウイルス処理モジュールおよび前記メール走査マネジャーと交信状態にあって前記メッセージの分析および処理のために復号化するデコーダ
    をさらに含む請求項2記載の装置。
  6. 前記バスに結合され、前記メール走査マネジャーと交信状態にあって前記電子メールシステムによりメールメッセージを送出するメール送出モジュールを
    をさらに含む請求項1記載の装置。
  7. 前記メッセージがユニーク識別番号およびヘッダを含む請求項1記載の装置。
  8. 前記メッセージが少なくとも一つのアタッチメントをさらに含む請求項7記載の装置。
  9. 第2のノードから第1のノードのデータにアクセスする電子メールシステムにおいてメッセージの中のウイルスを検出し選択的に除去する方法であって、常駐アプリケーションプログラムを有し前記第2のノードと関連したコンピュータで行う方法において、
    前記第2のノード宛のメッセージの前記第1のノードにおける存在を判定するように前記第2のノードから前記第1のノードを、前記電子メールシステムの電子メールプログラムのポーリングルーチンをエミュレートすることによりポーリングする過程と、
    前記メッセージ関連のデータを前記第1のノードから前記第2のノードに前記メッセージの未読出状態への影響なく取り出す過程と、
    前記メッセージがウイルスを含むかどうかを判定するようにそのメッセージを分析する過程と
    を含み、前記ポーリングする過程、前記取り出す過程および前記分析する過程を前記電子メールプログラムの動作を要することなく行う方法。
  10. 前記メッセージがユニーク識別番号とヘッダとを含む請求項9記載の方法。
  11. 前記メッセージが少なくとも一つのアタッチメントをさらに含む請求項10記載の方法。
  12. 前記メッセージがウイルスを含むと判定されたときそのメッセージを処理する過程をさらに含む請求項9記載の方法。
  13. 前記メッセージが分析されたかどうかを時系列記録するようにメッセージ関連データを記録するステップをさらに含む請求項9記載の方法。
  14. 前記メッセージを処理する過程が前記メッセージから前記ウイルスを除去することを含む請求項13記載の方法。
  15. 前記メッセージを分析する過程が
    前記メッセージを一時的ファイルに蓄積する過程と、
    前記一時的ファイルをウイルスチェックのために走査する過程と、
    前記走査する過程がウイルスを検出したかどうかを試験する過程と
    をさらに含む請求項13記載の方法。
  16. 前記第2のノードに取り出す過程が前記メッセージにアクセスしそのメッセージを前記第2のノードにおけるメモリにダウンロードすることを含む請求項9記載の方法。
  17. メールメッセージをウイルス検出の表示のために加入者に送ることをさらに含む請求項9記載の方法。
  18. 前記メッセージを処理する過程が前記第1のノードにおいて前記アタッチメントを置換することを含む請求項12記載の方法。
  19. 第2のノードから第1のノードのデータにアクセスする電子メールシステムのメッセージの中ウイルスを検出して選択的に除去する装置であって、
    前記第2のノード宛のメッセージの前記第1のノードにおける存在を判定するように前記第2のノードから前記第1のノードを、前記電子メールシステムの電子メールプログラムのポーリングルーチンをエミュレートすることにより、ポーリングする手段と、
    前記メッセージ関連のデータを前記第1のノードから前記第2のノードに前記メッセージの未読出状態への影響なく取り出す手段と、
    前記メッセージがウイルスを含むかどうかを判定するようにそのメッセージを分析する手段と
    を含み、前記ポーリングする手段、前記取り出す手段および前記分析する手段がウイルスの検出および除去を前記電子メールプログラムの動作を要することなく行う装置。
  20. 前記メッセージがウイルスを含むと判定されたときそのメッセージを処理する手段をさらに含む請求項19記載の装置。
  21. 前記メッセージが分析されたかどうかを時系列記録するようにメッセージ関連データを記録する手段をさらに含む請求項19記載の装置。
  22. 前記メッセージを処理する手段が前記メッセージから前記ウイルスを除去する手段を含む請求項21記載の装置。
  23. 前記メッセージを分析する手段が
    前記メッセージを一時的ファイルに蓄積する手段と、
    前記一時的ファイルをウイルスチェックのために走査する手段と、
    前記走査する手段がウイルスを検出したかどうかを試験する手段と
    をさらに含む請求項21記載の装置。
  24. メールメッセージをウイルス検出の表示のために加入者に送る手段をさらに含む請求項19記載の装置。
  25. 前記メッセージを処理する手段が前記第1のノードにおいて前記アタッチメントを置換する手段を含む請求項20記載の装置。
  26. 前記取り出す手段が前記メッセージにアクセスしてそのメッセージを前記第2のノードのメモリにダウンロードする請求項19記載の装置。
  27. 前記メッセージがユニーク識別番号およびヘッダを含む請求項19記載の装置。
  28. 前記メッセージが少なくとも一つのアタッチメントをさらに含む請求項27記載の装置。
  29. 前記メール走査マネジャーが、前記電子メールプログラムの活性化および使用を監視することにより、ユーザ既読出のメッセージを特定する請求項1記載の装置。
  30. 前記電子メールプログラムの活性化および使用を監視することにより、ユーザ既読出のメッセージを特定する過程をさらに含む請求項9記載の方法。
  31. 前記電子メールプログラムの活性化および使用を監視することにより、ユーザ既読出のメッセージを特定する手段をさらに含む請求項19記載の装置。
JP53657397A 1996-03-29 1997-03-28 電子メールウイルスの検出および除去のための装置および方法 Expired - Lifetime JP4104658B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/625,800 1996-03-29
US08/625,800 US5889943A (en) 1995-09-26 1996-03-29 Apparatus and method for electronic mail virus detection and elimination
PCT/US1997/005313 WO1997039399A2 (en) 1996-03-29 1997-03-28 Apparatus and method for electronic mail virus detection and elimination

Publications (2)

Publication Number Publication Date
JP2000517440A JP2000517440A (ja) 2000-12-26
JP4104658B2 true JP4104658B2 (ja) 2008-06-18

Family

ID=24507652

Family Applications (1)

Application Number Title Priority Date Filing Date
JP53657397A Expired - Lifetime JP4104658B2 (ja) 1996-03-29 1997-03-28 電子メールウイルスの検出および除去のための装置および方法

Country Status (5)

Country Link
US (1) US5889943A (ja)
EP (1) EP0954794A2 (ja)
JP (1) JP4104658B2 (ja)
AU (1) AU2556697A (ja)
WO (1) WO1997039399A2 (ja)

Families Citing this family (246)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US5898830A (en) * 1996-10-17 1999-04-27 Network Engineering Software Firewall providing enhanced network security and user transparency
US5832208A (en) * 1996-09-05 1998-11-03 Cheyenne Software International Sales Corp. Anti-virus agent for use with databases and mail servers
JP3893647B2 (ja) * 1996-09-30 2007-03-14 マツダ株式会社 ナビゲーション装置
US7058822B2 (en) * 2000-03-30 2006-06-06 Finjan Software, Ltd. Malicious mobile code runtime monitoring system and methods
US9219755B2 (en) 1996-11-08 2015-12-22 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US8079086B1 (en) 1997-11-06 2011-12-13 Finjan, Inc. Malicious mobile code runtime monitoring system and methods
US6802028B1 (en) * 1996-11-11 2004-10-05 Powerquest Corporation Computer virus detection and removal
JP3381055B2 (ja) * 1997-01-27 2003-02-24 裕典 若山 ウィルスの侵入防止方法、及びウィルスの侵入防止機構
US6421733B1 (en) * 1997-03-25 2002-07-16 Intel Corporation System for dynamically transcoding data transmitted between computers
IL128576A (en) * 1997-06-17 2004-03-28 Purdue Pharma Lp A self-destructing document and an e-mail system
JP3932319B2 (ja) * 1997-07-24 2007-06-20 タンブルウィード コミュニケーションズ コーポレイション 格納された鍵による暗号化/暗号解読を用いた電子メール用ファイアウォール
US7117358B2 (en) * 1997-07-24 2006-10-03 Tumbleweed Communications Corp. Method and system for filtering communication
US7162738B2 (en) * 1998-11-03 2007-01-09 Tumbleweed Communications Corp. E-mail firewall with stored key encryption/decryption
US20050081059A1 (en) * 1997-07-24 2005-04-14 Bandini Jean-Christophe Denis Method and system for e-mail filtering
US7127741B2 (en) 1998-11-03 2006-10-24 Tumbleweed Communications Corp. Method and system for e-mail message transmission
US6101320A (en) * 1997-08-01 2000-08-08 Aurora Communications Exchange Ltd. Electronic mail communication system and method
US6393568B1 (en) * 1997-10-23 2002-05-21 Entrust Technologies Limited Encryption and decryption system and method with content analysis provision
US6088803A (en) * 1997-12-30 2000-07-11 Intel Corporation System for virus-checking network data during download to a client device
US6782510B1 (en) * 1998-01-27 2004-08-24 John N. Gross Word checking tool for controlling the language content in documents using dictionaries with modifyable status fields
US6205551B1 (en) * 1998-01-29 2001-03-20 Lucent Technologies Inc. Computer security using virus probing
US5987610A (en) 1998-02-12 1999-11-16 Ameritech Corporation Computer virus screening methods and systems
DE19809432A1 (de) * 1998-03-05 1999-09-09 Siemens Ag Automatisches E-Mail Polling
US7398286B1 (en) * 1998-03-31 2008-07-08 Emc Corporation Method and system for assisting in backups and restore operation over different channels
US6779019B1 (en) * 1998-05-29 2004-08-17 Research In Motion Limited System and method for pushing information from a host system to a mobile data communication device
US7209949B2 (en) * 1998-05-29 2007-04-24 Research In Motion Limited System and method for synchronizing information between a host system and a mobile data communication device
AU4568299A (en) * 1998-06-15 2000-01-05 Dmw Worldwide, Inc. Method and apparatus for assessing the security of a computer system
US7389413B2 (en) 1998-07-23 2008-06-17 Tumbleweed Communications Corp. Method and system for filtering communication
US20020040439A1 (en) * 1998-11-24 2002-04-04 Kellum Charles W. Processes systems and networks for secure exchange of information and quality of service maintenance using computer hardware
US20020032867A1 (en) * 1998-11-24 2002-03-14 Kellum Charles W. Multi-system architecture using general purpose active-backplane and expansion-bus compatible single board computers and their peripherals for secure exchange of information and advanced computing
US6751670B1 (en) * 1998-11-24 2004-06-15 Drm Technologies, L.L.C. Tracking electronic component
US6654787B1 (en) * 1998-12-31 2003-11-25 Brightmail, Incorporated Method and apparatus for filtering e-mail
US7127515B2 (en) * 1999-01-15 2006-10-24 Drm Technologies, Llc Delivering electronic content
US7917744B2 (en) * 1999-02-03 2011-03-29 Cybersoft, Inc. Apparatus and methods for intercepting, examining and controlling code, data and files and their transfer in instant messaging and peer-to-peer applications
US6763467B1 (en) * 1999-02-03 2004-07-13 Cybersoft, Inc. Network traffic intercepting method and system
US7389540B2 (en) 1999-02-03 2008-06-17 Cybersoft, Inc. Apparatus and methods for intercepting, examining and controlling code, data and files and their transfer
US7936787B2 (en) * 1999-03-01 2011-05-03 The Directv Group, Inc. Technique for data compression by decoding binary encoded data
US6636965B1 (en) * 1999-03-31 2003-10-21 Siemens Information & Communication Networks, Inc. Embedding recipient specific comments in electronic messages using encryption
US6922781B1 (en) 1999-04-30 2005-07-26 Ideaflood, Inc. Method and apparatus for identifying and characterizing errant electronic files
US7089591B1 (en) 1999-07-30 2006-08-08 Symantec Corporation Generic detection and elimination of marco viruses
US20060195400A1 (en) * 2000-10-13 2006-08-31 Patrick Patterson Controlling access to electronic content
US7249175B1 (en) 1999-11-23 2007-07-24 Escom Corporation Method and system for blocking e-mail having a nonexistent sender address
US6728886B1 (en) 1999-12-01 2004-04-27 Trend Micro Incorporated Distributed virus scanning arrangements and methods therefor
US6836792B1 (en) 1999-12-03 2004-12-28 Trend Micro Incorporated Techniques for providing add-on services for an email system
US7076650B1 (en) * 1999-12-24 2006-07-11 Mcafee, Inc. System and method for selective communication scanning at a firewall and a network node
US7310816B1 (en) * 2000-01-27 2007-12-18 Dale Burns System and method for email screening
DE60122033T4 (de) * 2000-02-04 2009-04-02 Aladdin Knowledge Systems Ltd. Schutz von Computernetzen gegen böswillige Inhalte
US6671728B1 (en) * 2000-02-18 2003-12-30 G.E. Information Services, Inc. Abstract initiator
US6842861B1 (en) * 2000-03-24 2005-01-11 Networks Associates Technology, Inc. Method and system for detecting viruses on handheld computers
US7054905B1 (en) * 2000-03-30 2006-05-30 Sun Microsystems, Inc. Replacing an email attachment with an address specifying where the attachment is stored
US6986037B1 (en) * 2000-04-07 2006-01-10 Sendmail, Inc. Electronic mail system with authentication/encryption methodology for allowing connections to/from a message transfer agent
EP2237580B1 (en) * 2000-04-10 2013-01-09 Research In Motion Limited System and method for indicating the state of a message
WO2001078422A1 (en) * 2000-04-11 2001-10-18 Telecommunication Systems, Inc. Intelligent delivery agent for short message distribution center
DE10021686A1 (de) * 2000-05-05 2001-11-08 Thomson Brandt Gmbh Verfahren zur Reduktion der Verbreitung von Computerviren in einem elektronischen Mail-Netzwerk
US20030154255A1 (en) * 2000-05-05 2003-08-14 Hans-Joachim Platte Method for reducing the spread of computer viruses in an electronic mail network
NL1015389C2 (nl) * 2000-06-07 2001-12-10 Koninkl Kpn Nv Methode en systeem voor het beveiligen van een datasysteem.
US20040073617A1 (en) 2000-06-19 2004-04-15 Milliken Walter Clark Hash-based systems and methods for detecting and preventing transmission of unwanted e-mail
US7017187B1 (en) 2000-06-20 2006-03-21 Citigroup Global Markets, Inc. Method and system for file blocking in an electronic messaging system
US7913078B1 (en) 2000-06-22 2011-03-22 Walter Mason Stewart Computer network virus protection system and method
US6901519B1 (en) 2000-06-22 2005-05-31 Infobahn, Inc. E-mail virus protection system and method
GB2357939B (en) * 2000-07-05 2002-05-15 Gfi Fax & Voice Ltd Electronic mail message anti-virus system and method
GB0016835D0 (en) * 2000-07-07 2000-08-30 Messagelabs Limited Method of, and system for, processing email
US7216233B1 (en) * 2000-08-14 2007-05-08 Sun Microsystems, Inc. Apparatus, methods, and computer program products for filtering information
US6826546B1 (en) * 2000-08-17 2004-11-30 Ideaflood, Inc. Method and system for licensing a copy of a copyright protected work
US6910134B1 (en) * 2000-08-29 2005-06-21 Netrake Corporation Method and device for innoculating email infected with a virus
US6895438B1 (en) 2000-09-06 2005-05-17 Paul C. Ulrich Telecommunication-based time-management system and method
JP3251000B2 (ja) * 2000-09-07 2002-01-28 松本建工株式会社 住宅の断熱構造及び使用する遮熱材
US6785732B1 (en) * 2000-09-11 2004-08-31 International Business Machines Corporation Web server apparatus and method for virus checking
US6898715B1 (en) * 2000-09-12 2005-05-24 Networks Associates Technology, Inc. Response to a computer virus outbreak
US6650890B1 (en) 2000-09-29 2003-11-18 Postini, Inc. Value-added electronic messaging services and transparent implementation thereof using intermediate server
US6757830B1 (en) * 2000-10-03 2004-06-29 Networks Associates Technology, Inc. Detecting unwanted properties in received email messages
WO2002035313A2 (en) * 2000-10-23 2002-05-02 Digital Software Corporation Method and apparatus for providing optical internetworking to wide area networks, metropolitan area networks, and local area networks using modular components
US7778981B2 (en) 2000-12-01 2010-08-17 Netapp, Inc. Policy engine to control the servicing of requests received by a storage server
US7346928B1 (en) 2000-12-01 2008-03-18 Network Appliance, Inc. Decentralized appliance virus scanning
US7054946B2 (en) * 2000-12-06 2006-05-30 Intelliden Dynamic configuration of network devices to enable data transfers
US6978301B2 (en) 2000-12-06 2005-12-20 Intelliden System and method for configuring a network device
US8219662B2 (en) * 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US20020069367A1 (en) * 2000-12-06 2002-06-06 Glen Tindal Network operating system data directory
US7249170B2 (en) * 2000-12-06 2007-07-24 Intelliden System and method for configuration, management and monitoring of network resources
US7039830B2 (en) * 2000-12-14 2006-05-02 Far Stone Technology Corporation Backup/recovery system and methods for protecting a computer system
JP2002223256A (ja) * 2001-01-29 2002-08-09 Fujitsu Ltd メールウイルス検出用コンピュータ・プログラム
US7404212B2 (en) * 2001-03-06 2008-07-22 Cybersoft, Inc. Apparatus and methods for intercepting, examining and controlling code, data and files and their transfer
US6965928B1 (en) * 2001-03-09 2005-11-15 Networks Associates Technology, Inc. System and method for remote maintenance of handheld computers
US7150037B2 (en) * 2001-03-21 2006-12-12 Intelliden, Inc. Network configuration manager
CA2342578A1 (en) * 2001-03-29 2002-09-29 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for security of a network server
WO2002093334A2 (en) * 2001-04-06 2002-11-21 Symantec Corporation Temporal access control for computer virus outbreaks
US20020147780A1 (en) * 2001-04-09 2002-10-10 Liu James Y. Method and system for scanning electronic mail to detect and eliminate computer viruses using a group of email-scanning servers and a recipient's email gateway
US7392541B2 (en) * 2001-05-17 2008-06-24 Vir2Us, Inc. Computer system architecture and method providing operating-system independent virus-, hacker-, and cyber-terror-immune processing environments
US7640434B2 (en) * 2001-05-31 2009-12-29 Trend Micro, Inc. Identification of undesirable content in responses sent in reply to a user request for content
US7917585B2 (en) * 2001-06-21 2011-03-29 Cybersoft, Inc. Apparatus, methods and articles of manufacture for intercepting, examining and controlling code, data and files and their transfer
US7054851B2 (en) * 2001-06-25 2006-05-30 Siemens Medical Solutions Health Services Corporation Communication data format for use in data storage and retrieval
US6981280B2 (en) 2001-06-29 2005-12-27 Mcafee, Inc. Intelligent network scanning system and method
CA2454828A1 (en) * 2001-07-24 2003-02-06 Theresa Eileen Phillips Network security architecture
US7023861B2 (en) * 2001-07-26 2006-04-04 Mcafee, Inc. Malware scanning using a network bridge
US7117533B1 (en) * 2001-08-03 2006-10-03 Mcafee, Inc. System and method for providing dynamic screening of transient messages in a distributed computing environment
US7461403B1 (en) * 2001-08-03 2008-12-02 Mcafee, Inc. System and method for providing passive screening of transient messages in a distributed computing environment
US8438241B2 (en) * 2001-08-14 2013-05-07 Cisco Technology, Inc. Detecting and protecting against worm traffic on a network
US7640361B1 (en) * 2001-08-24 2009-12-29 Mcafee, Inc. Systems and methods for converting infected electronic files to a safe format
US7263561B1 (en) * 2001-08-24 2007-08-28 Mcafee, Inc. Systems and methods for making electronic files that have been converted to a safe format available for viewing by an intended recipient
US8296400B2 (en) * 2001-08-29 2012-10-23 International Business Machines Corporation System and method for generating a configuration schema
DE10147889A1 (de) * 2001-09-28 2003-04-30 Siemens Ag Proxy-Einheit, Verfahren zum rechnergestützten Schützen eines Applikations-Server-Programms und Anordnung mit einer Proxy-Einheit und einer Einheit zum Ausführen eines Applikations-Server-Programms
KR100461984B1 (ko) * 2001-10-06 2004-12-17 주식회사 테라스테크놀로지 바이러스 감염 클라이언트의 자발적 바이러스 치료를 유도하는 전자우편 메시지의 처리방법
US20030097378A1 (en) * 2001-11-20 2003-05-22 Khai Pham Method and system for removing text-based viruses
US7065562B2 (en) * 2001-11-26 2006-06-20 Intelliden, Inc. System and method for generating a representation of a configuration schema
US7150042B2 (en) * 2001-12-06 2006-12-12 Mcafee, Inc. Techniques for performing malware scanning of files stored within a file storage device of a computer network
US7093002B2 (en) * 2001-12-06 2006-08-15 Mcafee, Inc. Handling of malware scanning of files stored within a file storage device of a computer network
FR2834404B1 (fr) * 2001-12-31 2004-12-10 Cegetel Groupe Procede de securisation deportee d'echange de donnees
US9652613B1 (en) 2002-01-17 2017-05-16 Trustwave Holdings, Inc. Virus detection by executing electronic message code in a virtual machine
US7607171B1 (en) 2002-01-17 2009-10-20 Avinti, Inc. Virus detection by executing e-mail code in a virtual machine
GB2384659B (en) * 2002-01-25 2004-01-14 F Secure Oyj Anti-virus protection at a network gateway
US6772345B1 (en) 2002-02-08 2004-08-03 Networks Associates Technology, Inc. Protocol-level malware scanner
US20030154394A1 (en) * 2002-02-13 2003-08-14 Levin Lawrence R. Computer virus control
JP4593926B2 (ja) * 2002-02-19 2010-12-08 ポスティーニ インク Eメール管理サービス
US7069316B1 (en) * 2002-02-19 2006-06-27 Mcafee, Inc. Automated Internet Relay Chat malware monitoring and interception
JP4567275B2 (ja) * 2002-02-28 2010-10-20 株式会社エヌ・ティ・ティ・ドコモ 移動通信端末、情報処理装置、中継サーバ装置、情報処理システム及び情報処理方法
US7281269B1 (en) * 2002-03-06 2007-10-09 Novell, Inc. Methods, data structures, and systems to remotely validate a message
US7137145B2 (en) * 2002-04-09 2006-11-14 Cisco Technology, Inc. System and method for detecting an infective element in a network environment
DE10217952A1 (de) * 2002-04-22 2003-11-13 Nutzwerk Informationsgmbh Vorrichtung und Verfahren zum Schutz von Datenendgeräten und Datenservern zwischen öffentlichen und privaten Datennetzen
GB2383444B (en) * 2002-05-08 2003-12-03 Gfi Software Ltd System and method for detecting a potentially malicious executable file
US7194537B2 (en) * 2002-05-13 2007-03-20 Ricoh Co. Ltd. Method for scrambling information about network devices that is placed in email message
US7155742B1 (en) 2002-05-16 2006-12-26 Symantec Corporation Countering infections to communications modules
US7367056B1 (en) 2002-06-04 2008-04-29 Symantec Corporation Countering malicious code infections to computer files that have been infected more than once
US7464145B2 (en) * 2002-07-11 2008-12-09 Intelliden, Inc. Repository-independent system and method for asset management and reconciliation
US8140660B1 (en) 2002-07-19 2012-03-20 Fortinet, Inc. Content pattern recognition language processor and methods of using the same
US7418729B2 (en) * 2002-07-19 2008-08-26 Symantec Corporation Heuristic detection of malicious computer code by page tracking
US7380277B2 (en) * 2002-07-22 2008-05-27 Symantec Corporation Preventing e-mail propagation of malicious computer code
US7487543B2 (en) * 2002-07-23 2009-02-03 International Business Machines Corporation Method and apparatus for the automatic determination of potentially worm-like behavior of a program
US7478431B1 (en) 2002-08-02 2009-01-13 Symantec Corporation Heuristic detection of computer viruses
US20040030771A1 (en) * 2002-08-07 2004-02-12 John Strassner System and method for enabling directory-enabled networking
US7461158B2 (en) * 2002-08-07 2008-12-02 Intelliden, Inc. System and method for controlling access rights to network resources
US7366893B2 (en) 2002-08-07 2008-04-29 Intelliden, Inc. Method and apparatus for protecting a network from attack
US7383579B1 (en) * 2002-08-21 2008-06-03 At&T Delaware Intellectual Property, Inc. Systems and methods for determining anti-virus protection status
US7558847B2 (en) 2002-09-13 2009-07-07 Intelliden, Inc. System and method for mapping between and controlling different device abstractions
US7469419B2 (en) * 2002-10-07 2008-12-23 Symantec Corporation Detection of malicious computer code
US20040078457A1 (en) * 2002-10-21 2004-04-22 Tindal Glen D. System and method for managing network-device configurations
US7159149B2 (en) 2002-10-24 2007-01-02 Symantec Corporation Heuristic detection and termination of fast spreading network worm attacks
US20040093514A1 (en) * 2002-11-08 2004-05-13 International Business Machines Corporation Method for automatically isolating worm and hacker attacks within a local area network
US7249187B2 (en) * 2002-11-27 2007-07-24 Symantec Corporation Enforcement of compliance with network security policies
US20040230681A1 (en) * 2002-12-06 2004-11-18 John Strassner Apparatus and method for implementing network resources to provision a service using an information model
WO2004055632A2 (en) * 2002-12-13 2004-07-01 Wholesecurity, Inc. Method, system, and computer program product for security within a global computer network
US7631353B2 (en) * 2002-12-17 2009-12-08 Symantec Corporation Blocking replication of e-mail worms
JP3979285B2 (ja) * 2002-12-17 2007-09-19 株式会社日立製作所 情報処理システム
KR100551421B1 (ko) 2002-12-28 2006-02-09 주식회사 팬택앤큐리텔 바이러스치료기능을 가진 이동통신 시스템
US7296293B2 (en) * 2002-12-31 2007-11-13 Symantec Corporation Using a benevolent worm to assess and correct computer security vulnerabilities
US7219131B2 (en) * 2003-01-16 2007-05-15 Ironport Systems, Inc. Electronic message delivery using an alternate source approach
US7958187B2 (en) * 2003-02-19 2011-06-07 Google Inc. Systems and methods for managing directory harvest attacks via electronic messages
US7603472B2 (en) * 2003-02-19 2009-10-13 Google Inc. Zero-minute virus and spam detection
US20060265459A1 (en) * 2003-02-19 2006-11-23 Postini, Inc. Systems and methods for managing the transmission of synchronous electronic messages
WO2004084020A2 (en) 2003-03-13 2004-09-30 Drm Technologies, Llc Secure streaming container
US7203959B2 (en) 2003-03-14 2007-04-10 Symantec Corporation Stream scanning through network proxy servers
US20050108340A1 (en) * 2003-05-15 2005-05-19 Matt Gleeson Method and apparatus for filtering email spam based on similarity measures
US20050015482A1 (en) * 2003-05-24 2005-01-20 Blankenship Mark H. Attachment manager for tracking customer attributes
US8145710B2 (en) * 2003-06-18 2012-03-27 Symantec Corporation System and method for filtering spam messages utilizing URL filtering module
US7325185B1 (en) * 2003-08-04 2008-01-29 Symantec Corporation Host-based detection and prevention of malicious code propagation
US8032593B2 (en) * 2003-08-07 2011-10-04 Teamon Systems, Inc. Communications system providing reduced access latency and related methods
US8271774B1 (en) 2003-08-11 2012-09-18 Symantec Corporation Circumstantial blocking of incoming network traffic containing code
GB2405293B (en) * 2003-08-18 2007-04-25 Clearswift Ltd Email policy manager
US7287278B2 (en) * 2003-08-29 2007-10-23 Trend Micro, Inc. Innoculation of computing devices against a selected computer virus
US9338026B2 (en) 2003-09-22 2016-05-10 Axway Inc. Delay technique in e-mail filtering system
US7203964B1 (en) 2003-10-07 2007-04-10 Elmer V. Pass Method of stopping internet viruses
US7421741B2 (en) * 2003-10-20 2008-09-02 Phillips Ii Eugene B Securing digital content system and method
EP1528452A1 (en) * 2003-10-27 2005-05-04 Alcatel Recursive virus detection, protection and disinfecting of nodes in a data network
US7310815B2 (en) 2003-10-29 2007-12-18 Sonicwall, Inc. Method and apparatus for datastream analysis and blocking
US20050138426A1 (en) * 2003-11-07 2005-06-23 Brian Styslinger Method, system, and apparatus for managing, monitoring, auditing, cataloging, scoring, and improving vulnerability assessment tests, as well as automating retesting efforts and elements of tests
US7426574B2 (en) * 2003-12-16 2008-09-16 Trend Micro Incorporated Technique for intercepting data in a peer-to-peer network
US20050149720A1 (en) * 2004-01-07 2005-07-07 Shimon Gruper Method for speeding up the pass time of an executable through a checkpoint
US7334262B2 (en) * 2004-01-22 2008-02-19 Symantec Corporation Proactive prevention of polymorphic SMTP worms
WO2005081477A1 (en) 2004-02-17 2005-09-01 Ironport Systems, Inc. Collecting, aggregating, and managing information relating to electronic messages
US7539871B1 (en) * 2004-02-23 2009-05-26 Sun Microsystems, Inc. System and method for identifying message propagation
US7669059B2 (en) * 2004-03-23 2010-02-23 Network Equipment Technologies, Inc. Method and apparatus for detection of hostile software
US7337327B1 (en) 2004-03-30 2008-02-26 Symantec Corporation Using mobility tokens to observe malicious mobile code
US7533415B2 (en) * 2004-04-21 2009-05-12 Trend Micro Incorporated Method and apparatus for controlling traffic in a computer network
US7647321B2 (en) * 2004-04-26 2010-01-12 Google Inc. System and method for filtering electronic messages using business heuristics
US7941490B1 (en) 2004-05-11 2011-05-10 Symantec Corporation Method and apparatus for detecting spam in email messages and email attachments
US7373667B1 (en) 2004-05-14 2008-05-13 Symantec Corporation Protecting a computer coupled to a network from malicious code infections
US7484094B1 (en) 2004-05-14 2009-01-27 Symantec Corporation Opening computer files quickly and safely over a network
US7370233B1 (en) 2004-05-21 2008-05-06 Symantec Corporation Verification of desired end-state using a virtual machine environment
AU2005248858B8 (en) * 2004-05-25 2011-05-26 Google Llc Electronic message source reputation information system
US7756930B2 (en) * 2004-05-28 2010-07-13 Ironport Systems, Inc. Techniques for determining the reputation of a message sender
US7849142B2 (en) 2004-05-29 2010-12-07 Ironport Systems, Inc. Managing connections, messages, and directory harvest attacks at a server
US7873695B2 (en) * 2004-05-29 2011-01-18 Ironport Systems, Inc. Managing connections and messages at a server by associating different actions for both different senders and different recipients
US7870200B2 (en) * 2004-05-29 2011-01-11 Ironport Systems, Inc. Monitoring the flow of messages received at a server
US7917588B2 (en) * 2004-05-29 2011-03-29 Ironport Systems, Inc. Managing delivery of electronic messages using bounce profiles
US8166310B2 (en) 2004-05-29 2012-04-24 Ironport Systems, Inc. Method and apparatus for providing temporary access to a network device
US8707251B2 (en) * 2004-06-07 2014-04-22 International Business Machines Corporation Buffered viewing of electronic documents
US7748038B2 (en) * 2004-06-16 2010-06-29 Ironport Systems, Inc. Method and apparatus for managing computer virus outbreaks
US7765593B1 (en) * 2004-06-24 2010-07-27 Mcafee, Inc. Rule set-based system and method for advanced virus protection
US7415727B1 (en) 2004-06-24 2008-08-19 Mcafee, Inc. System, method, and computer program product for tailoring security responses for local and remote file open requests
US9154511B1 (en) * 2004-07-13 2015-10-06 Dell Software Inc. Time zero detection of infectious messages
US7343624B1 (en) * 2004-07-13 2008-03-11 Sonicwall, Inc. Managing infectious messages as identified by an attachment
US7441042B1 (en) 2004-08-25 2008-10-21 Symanetc Corporation System and method for correlating network traffic and corresponding file input/output traffic
US20060047826A1 (en) * 2004-08-25 2006-03-02 International Business Machines Corp. Client computer self health check
US20060053308A1 (en) * 2004-09-08 2006-03-09 Raidy 2 Go Ltd. Secured redundant memory subsystem
US7690034B1 (en) 2004-09-10 2010-03-30 Symantec Corporation Using behavior blocking mobility tokens to facilitate distributed worm detection
US8103723B1 (en) * 2004-10-07 2012-01-24 Google Inc. Message server that retains messages deleted by one client application for access by another client application
US7600257B2 (en) 2004-10-13 2009-10-06 Sonicwall, Inc. Method and an apparatus to perform multiple packet payloads analysis
US7835361B1 (en) 2004-10-13 2010-11-16 Sonicwall, Inc. Method and apparatus for identifying data patterns in a file
US7565686B1 (en) 2004-11-08 2009-07-21 Symantec Corporation Preventing unauthorized loading of late binding code into a process
US20060101277A1 (en) * 2004-11-10 2006-05-11 Meenan Patrick A Detecting and remedying unauthorized computer programs
US20060112430A1 (en) * 2004-11-19 2006-05-25 Deisenroth Jerrold M Method and apparatus for immunizing data in computer systems from corruption
US7917955B1 (en) * 2005-01-14 2011-03-29 Mcafee, Inc. System, method and computer program product for context-driven behavioral heuristics
US8104086B1 (en) 2005-03-03 2012-01-24 Symantec Corporation Heuristically detecting spyware/adware registry activity
US8135778B1 (en) 2005-04-27 2012-03-13 Symantec Corporation Method and apparatus for certifying mass emailings
US8001205B2 (en) * 2005-04-29 2011-08-16 Microsoft Corporation State management in a distributed computing system
US20060253597A1 (en) * 2005-05-05 2006-11-09 Mujica Technologies Inc. E-mail system
US8010609B2 (en) 2005-06-20 2011-08-30 Symantec Corporation Method and apparatus for maintaining reputation lists of IP addresses to detect email spam
US7739337B1 (en) 2005-06-20 2010-06-15 Symantec Corporation Method and apparatus for grouping spam email messages
US8407785B2 (en) 2005-08-18 2013-03-26 The Trustees Of Columbia University In The City Of New York Systems, methods, and media protecting a digital data processing device from attack
US7624447B1 (en) 2005-09-08 2009-11-24 Cisco Technology, Inc. Using threshold lists for worm detection
WO2007038517A1 (en) * 2005-09-26 2007-04-05 Wiresoft, Inc. Methods, software and apparatus for detecting and neutralizing viruses from computer systems and networks
US7937758B2 (en) * 2006-01-25 2011-05-03 Symantec Corporation File origin determination
US8239915B1 (en) 2006-06-30 2012-08-07 Symantec Corporation Endpoint management using trust rating data
US8646038B2 (en) * 2006-09-15 2014-02-04 Microsoft Corporation Automated service for blocking malware hosts
US8789172B2 (en) 2006-09-18 2014-07-22 The Trustees Of Columbia University In The City Of New York Methods, media, and systems for detecting attack on a digital processing device
US8527592B2 (en) * 2006-10-31 2013-09-03 Watchguard Technologies, Inc. Reputation-based method and system for determining a likelihood that a message is undesired
US8156557B2 (en) * 2007-01-04 2012-04-10 Cisco Technology, Inc. Protection against reflection distributed denial of service attacks
US20080229416A1 (en) * 2007-01-09 2008-09-18 G. K. Webb Services Llc Computer Network Virus Protection System and Method
US8099785B1 (en) 2007-05-03 2012-01-17 Kaspersky Lab, Zao Method and system for treatment of cure-resistant computer malware
US8402529B1 (en) 2007-05-30 2013-03-19 M86 Security, Inc. Preventing propagation of malicious software during execution in a virtual machine
US8863286B1 (en) 2007-06-05 2014-10-14 Sonicwall, Inc. Notification for reassembly-free file scanning
US7991723B1 (en) 2007-07-16 2011-08-02 Sonicwall, Inc. Data pattern analysis using optimized deterministic finite automaton
US8166118B1 (en) 2007-10-26 2012-04-24 Sendside Networks Inc. Secure communication architecture, protocols, and methods
US7849213B1 (en) 2007-10-30 2010-12-07 Sendside Networks, Inc. Secure communication architecture, protocols, and methods
US8370937B2 (en) * 2007-12-03 2013-02-05 Cisco Technology, Inc. Handling of DDoS attacks from NAT or proxy devices
US8286255B2 (en) * 2008-08-07 2012-10-09 Sophos Plc Computer file control through file tagging
KR20100023494A (ko) * 2008-08-22 2010-03-04 엘지전자 주식회사 단말기 및 그 바이러스 보호 방법
US8813221B1 (en) 2008-09-25 2014-08-19 Sonicwall, Inc. Reassembly-free deep packet inspection on multi-core hardware
US9769149B1 (en) 2009-07-02 2017-09-19 Sonicwall Inc. Proxy-less secure sockets layer (SSL) data inspection
JP5427497B2 (ja) * 2009-07-09 2014-02-26 株式会社日立製作所 メールゲートウェイ
US8443447B1 (en) 2009-08-06 2013-05-14 Trend Micro Incorporated Apparatus and method for detecting malware-infected electronic mail
US8281120B2 (en) * 2009-08-14 2012-10-02 Canon Kabushiki Kaisha Sending signed e-mail messages from a device
US9594602B1 (en) 2009-12-31 2017-03-14 Lenovoemc Limited Active folders
US9032412B1 (en) 2009-12-31 2015-05-12 Lenovoemc Limited Resource allocation based on active folder activity
US9959150B1 (en) * 2009-12-31 2018-05-01 Lenovoemc Limited Centralized file action based on active folders
RU2449348C1 (ru) 2010-11-01 2012-04-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для антивирусной проверки на стороне сервера скачиваемых из сети данных
US9619262B2 (en) * 2011-05-31 2017-04-11 Micro Focus Software Inc. Techniques for security auditing of cloud resources
CN102298681B (zh) * 2011-06-22 2013-07-31 西北大学 一种基于数据流切片的软件识别方法
WO2013040598A1 (en) 2011-09-15 2013-03-21 The Trustees Of Columbia University In The City Of New York Systems, methods, and media for detecting return-oriented programming payloads
JP6271843B2 (ja) 2013-02-22 2018-01-31 キヤノン株式会社 通信装置、その制御方法、プログラム
JP6132588B2 (ja) * 2013-02-22 2017-05-24 キヤノン株式会社 通信装置、その制御方法、プログラム
US10291562B2 (en) 2013-05-20 2019-05-14 International Business Machines Corporation Embedding actionable content in electronic communication
US10110531B2 (en) * 2015-06-11 2018-10-23 International Business Machines Corporation Electronic rumor cascade management in computer network communications
SG11201907245VA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Accelerating transaction deliveries in blockchain networks using transaction resending
EP3571655B1 (en) 2018-12-28 2021-09-29 Advanced New Technologies Co., Ltd. Accelerating transaction deliveries in blockchain networks using acceleration nodes
SG11201907248QA (en) 2018-12-28 2019-09-27 Alibaba Group Holding Ltd Improving blockchain transaction speeds using global acceleration nodes
US11196754B1 (en) * 2019-06-25 2021-12-07 Ca, Inc. Systems and methods for protecting against malicious content

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5321840A (en) * 1988-05-05 1994-06-14 Transaction Technology, Inc. Distributed-intelligence computer system including remotely reconfigurable, telephone-type user terminal
US4975950A (en) * 1988-11-03 1990-12-04 Lentz Stephen A System and method of protecting integrity of computer data and software
US5319776A (en) * 1990-04-19 1994-06-07 Hilgraeve Corporation In transit detection of computer virus with safeguard
DK170490B1 (da) * 1992-04-28 1995-09-18 Multi Inform As Databehandlingsanlæg
US5278901A (en) * 1992-04-30 1994-01-11 International Business Machines Corporation Pattern-oriented intrusion-detection system and method
US5428795A (en) * 1992-07-31 1995-06-27 International Business Machines Corporation Method of and apparatus for providing automatic security control of distributions within a data processing system
US5550976A (en) * 1992-12-08 1996-08-27 Sun Hydraulics Corporation Decentralized distributed asynchronous object oriented system and method for electronic data management, storage, and communication
US5440723A (en) * 1993-01-19 1995-08-08 International Business Machines Corporation Automatic immune system for computers and computer networks
JP2501771B2 (ja) * 1993-01-19 1996-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 不所望のソフトウェア・エンティティの複数の有効なシグネチャを得る方法及び装置
JPH06350784A (ja) * 1993-06-08 1994-12-22 Ricoh Co Ltd ファクシミリ装置
US5448668A (en) * 1993-07-08 1995-09-05 Perelson; Alan S. Method of detecting changes to a collection of digital signals
US5444850A (en) * 1993-08-04 1995-08-22 Trend Micro Devices Incorporated Method and apparatus for controlling network and workstation access prior to workstation boot
US5414833A (en) * 1993-10-27 1995-05-09 International Business Machines Corporation Network security system and method using a parallel finite state machine adaptive active monitor and responder
US5530757A (en) * 1994-06-28 1996-06-25 International Business Machines Corporation Distributed fingerprints for information integrity verification
US5485575A (en) * 1994-11-21 1996-01-16 International Business Machines Corporation Automatic analysis of a computer virus structure and means of attachment to its hosts
US5550984A (en) * 1994-12-07 1996-08-27 Matsushita Electric Corporation Of America Security system for preventing unauthorized communications between networks by translating communications received in ip protocol to non-ip protocol to remove address and routing services information
US5491791A (en) * 1995-01-13 1996-02-13 International Business Machines Corporation System and method for remote workstation monitoring within a distributed computing environment
US5623600A (en) * 1995-09-26 1997-04-22 Trend Micro, Incorporated Virus detection and removal apparatus for computer networks

Also Published As

Publication number Publication date
EP0954794A4 (ja) 1999-11-10
JP2000517440A (ja) 2000-12-26
WO1997039399A2 (en) 1997-10-23
EP0954794A2 (en) 1999-11-10
US5889943A (en) 1999-03-30
AU2556697A (en) 1997-11-07

Similar Documents

Publication Publication Date Title
JP4104658B2 (ja) 電子メールウイルスの検出および除去のための装置および方法
US5623600A (en) Virus detection and removal apparatus for computer networks
JP3471622B2 (ja) データ通信のための装置およびその方法
US6687732B1 (en) Adaptive traffic bypassing in an intercepting network driver
US7299361B1 (en) Remote e-mail scanning system and method
US8510839B2 (en) Detecting malware carried by an E-mail message
EP1734718A2 (en) Computer-implemented method with real-time response mechanism for detecting viruses in data transfer on a stream basis
US8661086B2 (en) Method and apparatus for immunizing data in computer systems from corruption by assuming that incoming messages are corrupt unless proven valid
JP2010541425A (ja) eメールディレクトリ取得物攻撃のダイナミックな検出と緩和
US20060272012A1 (en) Multifunction server system
CN114465742B (zh) 网络安全防护方法以及防护设备
US20040267837A1 (en) System and method for updating network appliances using urgent update notifications
Cisco Configuring the System
Cisco Configuring the System
Cisco Configuring the System
Cisco Configuring the System
Cisco Configuring the System
Cisco 9.1.10 Software Release Notes Cisco StrataView Plus for AIX
Cisco Release Notes for Cisco 7000 Family, Cisco IOS 11.1(18)CA
KR100461984B1 (ko) 바이러스 감염 클라이언트의 자발적 바이러스 치료를 유도하는 전자우편 메시지의 처리방법
Cisco Cisco IOS Configuration Fundamentals Configuration Guide Release 12.1
Cisco S Commands for the LightStream 1010 ATM Switch
Cisco S Commands for the LightStream 1010 ATM Switch
Cisco S Commands for the LightStream 1010 ATM Switch
Cisco S Commands for the LightStream 1010 ATM Switch

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20040324

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20070508

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20070801

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070910

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070905

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080326

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20110404

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20120404

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20130404

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20140404

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term