JP2005128792A - 通信装置、プログラムおよび記憶媒体 - Google Patents
通信装置、プログラムおよび記憶媒体 Download PDFInfo
- Publication number
- JP2005128792A JP2005128792A JP2003363705A JP2003363705A JP2005128792A JP 2005128792 A JP2005128792 A JP 2005128792A JP 2003363705 A JP2003363705 A JP 2003363705A JP 2003363705 A JP2003363705 A JP 2003363705A JP 2005128792 A JP2005128792 A JP 2005128792A
- Authority
- JP
- Japan
- Prior art keywords
- data
- access
- communication
- computer
- virus
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Virology (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
【課題】 ウイルスに対する通信端末のセキュリティを向上させること。
【解決手段】 パターンファイル108aには、WORM_MSBLAST.AやCODERED.A等のウイルスが、自身の複製をコンピュータ装置10へ転送するため、OSや通信アプリケーションに存在するセキュリティホールを突いてコンピュータ装置10にバックドアを仕掛ける際のアクセスパターン(ポート番号と、コンピュータ装置10に送信されるデータ)が登録されている。コンピュータ装置10は、送受信されるパケットから取得した宛先ポート番号およびデータを、パターンファイル108aに登録されている各ウイルス用のアクセスパターンと比較して、いずれかのアクセスパターンと一致した場合に、このパケットを破棄してコネクションを切断する。
【選択図】 図4
【解決手段】 パターンファイル108aには、WORM_MSBLAST.AやCODERED.A等のウイルスが、自身の複製をコンピュータ装置10へ転送するため、OSや通信アプリケーションに存在するセキュリティホールを突いてコンピュータ装置10にバックドアを仕掛ける際のアクセスパターン(ポート番号と、コンピュータ装置10に送信されるデータ)が登録されている。コンピュータ装置10は、送受信されるパケットから取得した宛先ポート番号およびデータを、パターンファイル108aに登録されている各ウイルス用のアクセスパターンと比較して、いずれかのアクセスパターンと一致した場合に、このパケットを破棄してコネクションを切断する。
【選択図】 図4
Description
本発明は、通信装置のセキュリティを確保するための技術に関する。
電子メールに添付されたファイルや、ネットワークを介して送受信されるコンテンツには、コンピュータウイルス(以下、本明細書では「ウイルス」と記載する)が含まれている可能性がある。このようなウイルスから通信装置を保護するため、例えば、パターンマッチング方式を用いてウイルスを検出する技術が知られている(特許文献1〜3参照)。このパターンマッチング方式では、既知のウイルスのコードからこのウイルスに固有のコードパターンを抽出してこれをパターンファイルとして保持し、検査対象となるデータのコードと、パターンファイルに収められているコードパターンとを比較してウイルスの有無をチェックする。
ところで、WORM_MSBLAST.A(W32/Lovsan.worm、Lovsan、W32.Blaster.Wormとも呼ばれる)は、Windows NT、Windows 2000、Windows XP、Windows Server 2003(ともに登録商標)に存在する「RPC DCOM バッファオーバフロー」と呼ばれるセキュリティホールを突いてコンピュータに侵入するウイルスである。このWORM_MSBLAST.Aは、RPCを利用した通信において、RPC用に割り当てられたバッファに入力されるデータの長さチェックが不充分である点を突いて、バッファを意図的にオーバフローさせ、これを足掛かりにコンピュータにバックドアを仕掛けて自身の複製をコンピュータに転送する。
以下に、図7を参照してWORM_MSBLAST.Aの動作について説明する。なお、同図において、通信端末100Aは、現時点においてWORM_MSBLAST.Aに感染していない通信端末である。一方、通信端末100Bは、既にWORM_MSBLAST.Aに感染しており、Windowsのシステムフォルダ内にWORM_MSBLAST.Aの実行ファイル“MSBLAST.EXE”が保存されている通信端末である。
同図に示すように、“MSBLAST.EXE”が通信端末100Bにおいて起動されると、まず、通信端末100Bは、ネットワーク接続されたコンピュータのうち、ポート135、ポート4444およびポート69が開いており、かつRPCが起動しているコンピュータを検出する。この条件を通信端末100Aが満たしている場合、通信端末100Bは、パケットの宛先ポート番号を“135”に設定し、RPCの“Bind”コマンドを通信端末100Aへ送信する(ステップS301)。通信端末100Aは、“Bind”コマンドを受信すると、RPCの“Response”コマンドを通信端末100Bへ返信する(ステップS302)。
通信端末100Bは、“Response”コマンドを受信した後、RPC用に割り当てられたバッファの記憶容量を越えるデータサイズを有し、かつ、ポート4444を利用したリモートシェルを起動するよう指示する不正なデータを、RPCの“Request”コマンドとともに通信端末100Aへ送信する(ステップS303)。これにより通信端末100Aでは、RPC用のバッファのオーバフローを足掛かりにリモートシェルが起動され、通信端末100Bからの遠隔制御を受け付ける状態が確立してしまう。
この後、通信端末100Bは、パケットの宛先ポート番号を“4444”に設定し、TFTPの実行を指示するコマンドを通信端末100Aへ送信する(ステップS304)。このコマンドの受信に応じて通信端末100Aは、TFTPに従った通信処理を開始し、通信端末100Bからの要求に応じて“MSBLAST.EXE”の取得要求を通信端末100Bへ送信する(ステップS305)。なお、この際のパケットの宛先ポート番号は“69”に設定されている。
通信端末100Bは、通信端末100Aからの取得要求を受信すると、ポート69を使用して“MSBLAST.EXE”の複製を通信端末100Aへ転送する(ステップS306)。また、通信端末100Aは、“MSBLAST.EXE”を受信すると、これをWindowsのシステムフォルダ内に保存する。この後、通信端末100Bは、宛先ポート番号を“4444”に設定し、“MSBLAST.EXE”の起動を指示するコマンドを通信端末100Aへ送信する(ステップS307)。その結果、通信端末100Aにおいて“MSBLAST.EXE”が起動される。
ところで、今までとは異なるタイプのウイルスが出現すると、このウイルスに類似する亜種のウイルスが出現する。WORM_MSBLAST.Aの場合もその例外ではなく、バッファをオーバフローさせてバックドアを仕掛けるまでのアクセス手順がWORM_MSBLAST.Aと略同様の亜種のウイルスが既に複数見つかっている。
ここで、従来のパターンマッチング方式を用いてウイルスを検出する場合、例えば、パターンファイルにWORM_MSBLAST.A用のコードパターンのみが収められている状態では、WORM_MSBLAST.Aの亜種ウイルスが出現した場合に、この亜種ウイルスのコードパターンがWORM_MSBLAST.A用のコードパターンと一致していない限り、バックドアを仕掛けるまでのアクセス手順がWORM_MSBLAST.Aと同じであっても、この亜種ウイルスを検出することができない。また、このような亜種のウイルスまでを従来のパターンマッチング方式で検出できるようにするためには、WORM_MSBLAST.A用のコードパターンに加え、各亜種ウイルス用のコードパターンが収められたパターンファイルをコンピュータに備えておく必要がある。そのためには、パターンファイルのアップデートを頻繁に行わなければならず、煩雑で使い勝手がよくなかった。
さらに、従来のパターンマッチング方式では、図7において、WORM_MSBLAST.A用のコードパターンが収められたパターンファイルを通信端末100Aが備えていたとしても、ステップS306に示した処理が行われ、通信端末100BからWORM_MSBLAST.Aの実行ファイル“MSBLAST.EXE”を受信するまでは、通信端末100Aにおいてウイルスを検出することができなかった。
本発明は、以上説明した事情に鑑みてなされたものであり、その目的は、ウイルスに対する通信端末のセキュリティを向上させることである。
上記課題を解決するために、本発明は、コンピュータウイルスを通信装置に転送するため、前記通信装置にバックドアを仕掛けるアクセスの特徴を記憶する記憶手段と、
通信手段と、
前記通信手段により受信されたデータが前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データを通信制御用のアプリケーションに引き渡す前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを前記アプリケーションに引き渡すことなく破棄する破棄手段と
を備える通信装置を提供する。
通信手段と、
前記通信手段により受信されたデータが前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データを通信制御用のアプリケーションに引き渡す前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを前記アプリケーションに引き渡すことなく破棄する破棄手段と
を備える通信装置を提供する。
また、本発明は、コンピュータを、
コンピュータウイルスをコンピュータに転送するため、前記コンピュータにバックドアを仕掛けるアクセスの特徴をメモリに記憶させる記憶制御手段と、
受信したデータが前記メモリに記憶されたアクセスの特徴を満たすか否かを、前記データを通信制御用のアプリケーションに引き渡す前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを前記アプリケーションに引き渡すことなく破棄する破棄手段と
として機能させるためのプログラムを提供する。
コンピュータウイルスをコンピュータに転送するため、前記コンピュータにバックドアを仕掛けるアクセスの特徴をメモリに記憶させる記憶制御手段と、
受信したデータが前記メモリに記憶されたアクセスの特徴を満たすか否かを、前記データを通信制御用のアプリケーションに引き渡す前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを前記アプリケーションに引き渡すことなく破棄する破棄手段と
として機能させるためのプログラムを提供する。
本発明によれば、通信装置(コンピュータ)は、受信したデータが記憶手段に記憶されているアクセスの特徴を満たす場合に、このデータを通信制御用のアプリケーションに引き渡すことなく破棄する。
また、本発明は、コンピュータウイルスを通信装置に転送するため、前記通信装置にバックドアを仕掛けるアクセスの特徴を記憶する記憶手段と、
通信手段と、
前記通信手段により送信されるデータが前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データの送信前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを破棄して当該データの送信を中止する通信制御手段と
を備える通信装置を提供する。
通信手段と、
前記通信手段により送信されるデータが前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データの送信前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを破棄して当該データの送信を中止する通信制御手段と
を備える通信装置を提供する。
また、本発明は、コンピュータを、
コンピュータウイルスをコンピュータに転送するため、前記コンピュータにバックドアを仕掛けるアクセスの特徴をメモリに記憶させる記憶制御手段と、
送信するデータが前記メモリに記憶されたアクセスの特徴を満たすか否かを、前記データの送信前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを破棄して当該データの送信を中止する通信制御手段と
として機能させるためのプログラムを提供する。
コンピュータウイルスをコンピュータに転送するため、前記コンピュータにバックドアを仕掛けるアクセスの特徴をメモリに記憶させる記憶制御手段と、
送信するデータが前記メモリに記憶されたアクセスの特徴を満たすか否かを、前記データの送信前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを破棄して当該データの送信を中止する通信制御手段と
として機能させるためのプログラムを提供する。
本発明によれば、通信装置(コンピュータ)は、送信するデータが記憶手段に記憶されているアクセスの特徴を満たす場合に、このデータを破棄して当該データの送信を中止する。
本発明によれば、ウイルスに対する通信端末のセキュリティを向上させることができる。
以下、図面を参照して本発明の実施形態について説明する。
[A−1.実施形態の構成]
図1は、本発明を適用したコンピュータ装置10のハードウェア構成を例示するブロック図である。このコンピュータ装置10は、ネットワーク通信機能を有しており、例えば、ネットワーク端末や、コンテンツサーバ、ゲートウェイサーバ、プロキシサーバ等として使用される。
[A−1.実施形態の構成]
図1は、本発明を適用したコンピュータ装置10のハードウェア構成を例示するブロック図である。このコンピュータ装置10は、ネットワーク通信機能を有しており、例えば、ネットワーク端末や、コンテンツサーバ、ゲートウェイサーバ、プロキシサーバ等として使用される。
同図において、CPU101は、ROM102やHD(ハードディスク)108に記憶されている各種のプログラムを実行することによってコンピュータ装置10の各部を制御する。ROM102には、コンピュータ装置10の各部の基本制御を司るプログラム等が記憶されている。RAM103は、CPU101のワークエリアとして用いられる。ネットワーク通信部104は、ネットワーク接続された他のコンピュータ装置との間でLANやインターネット等を介して行われる通信を制御する。操作入力部105は、キーボードやマウスである。表示部106は、液晶ディスプレイやCRTディスプレイである。CD−ROMドライブ107は、CD−ROM20に記憶されているプログラムやデータを読み出す機能を有している。また、CD−ROM20には、ファイアウォール用のアプリケーションソフトウェアが記憶されている。
このファイアウォール用のアプリケーションソフトウェアは、WORM_MSBLAST.AやCODERED.A(CODE RED、CODERED.WORM、HBC、W32/BADY.WORMとも呼ばれる)等のウイルスの侵入を、ウイルスの実行ファイルを受信するよりも前の段階で検出する機能や、コンピュータ装置10がウイルスに感染しているか否かをチェックし、ウイルスに感染している場合は、ウイルスの実行ファイルを削除したり、ウイルスによって不正に書き替えられたレジストリ情報を復元する機能等をコンピュータ装置10に提供する。
HD108には、コンピュータ装置10のOSとして、例えば、Windows XPがインストールされている。勿論、Windows XPの代わりに、Windows NTやWindows 2000、Windows Server 2003等がインストールされていてもよい。また、HD108には、例えば、RPC、IIS、TFTP等の通信制御用のアプリケーション(以下、本明細書では「通信アプリケーション」と記載する)や、これらの通信アプリケーションを利用して他のコンピュータ装置との間でデータ通信を行うアプリケーションソフトウェア、CD−ROM20から読み出されたファイアウォール用のアプリケーションソフトウェア等がインストールされている。
加えて、HD108には、パターンファイル108aが記憶されている。このパターンファイル108aは、ファイアウォール用のアプリケーションソフトウェアを提供する事業者のサーバ等にアクセスしてアップデートを行うことで、最新のウイルスに対応したものに更新できる。
図2は、パターンファイル108aのデータ構成を例示する図である。同図に示すように、パターンファイル108aには、WORM_MSBLAST.AやCODERED.A等のウイルスが、自身の複製をコンピュータ装置10へ転送するため、OSや通信アプリケーションに存在するセキュリティホールを突いてコンピュータ装置10にバックドアを仕掛ける際のアクセスパターンが登録されている。より具体的に説明すると、パターンファイル108aには、ウイルス毎に、ウイルスがネットワークを介してコンピュータ装置10へアクセスしてくる際のポート番号と、このポート番号に対応する通信アプリケーションの名称と、この通信アプリケーション用に割り当てられたバッファに入力されるデータであって、バッファをオーバフローさせてコンピュータ装置10にバックドアを仕掛けるためのデータ(コマンド名と、このコマンドに後続するデータ)と、ウイルス名とが登録されている。
例えば、WORM_MSBLAST.Aは、図7に示したように、RPC用のバッファをオーバフローさせてバックドアを仕掛ける際に“Request”コマンドを用いる。したがって、パターンファイル108aには、図2に示すように、RPCに対応するポート番号“135”と、アプリケーション名“RPC”と、コマンド名“Request”と、コマンドとともにバッファに入力されるデータと、ウイルス名“WORM_MSBLAST.A”とが登録される。なお、図2において、WORM_MSBLAST.Aについては、バッファに入力される具体的なデータの記載を省略している。
また、CODERED.Aは、IISを利用した通信において、IIS用のバッファをオーバフローさせてバックドアを仕掛ける際に“Get”コマンドを用いる。したがって、パターンファイル108aには、図2に示すように、IISに対応するポート番号“80”と、アプリケーション名“IIS”と、コマンド名“Get”と、コマンドとともにバッファに入力されるデータと、ウイルス名“CODERED.A”とが登録される。
なお、図2において「データ」欄には、コマンドを含むデータの全体ではなく、このコマンドを含むデータに特有な一部分のデータや、このコマンドを含むデータの特徴を示す情報が格納されていてもよい。例えば、コマンドを含む先頭から20文字分のコードと、最後の20文字分のコードとが「データ」欄に格納されていてもよい。
次に、図3は、コンピュータ装置10におけるソフトウェアのモジュール構成を例示する図である。同図において、Firewallは、ステートフルインスペクション機能やIDS機能に加え、WORM_MSBLAST.AやCODERED.A等のウイルスの侵入を事前に遮断する機能等を有している。例えば、Firewallによる処理において、CPU101は、ネットワーク通信部104(Network Device Driverを含む)により受信され、NDISによる処理を経たパケットについて、ヘッダから宛先ポート番号を取得するとともにペイロードからデータを取得する。
そして、CPU101は、取得した宛先ポート番号およびデータと、パターンファイル108aに登録されているアクセスパターンとを比較することで、このパケットによるアクセスが、ウイルスによるものであって、ウイルスをコンピュータ装置10に転送するため、コンピュータ装置10にバックドアを仕掛けようとする不正なアクセスであるか否かを判定する。その結果、CPU101は、不正なアクセスであると判定した場合に、このパケットを破棄するとともに、このパケットを受信したコネクションを切断する。一方、不正なアクセスでないと判定されたパケットは、NDIS、TCP/IP StackおよびSocket I/Fによる処理を経てAP(アプリケーションソフトウェア)に引き渡される。
逆に、コンピュータ装置10からデータを送信する場合、Firewallによる処理において、CPU101は、AP、Socket I/F、TCP/IP StackおよびNDISによる処理を経たパケットから宛先ポート番号とデータを取得する。そして、CPU101は、取得した宛先ポート番号およびデータと、パターンファイル108aに登録されているアクセスパターンとを比較することで、このパケットによるアクセスが、ウイルスによるものであって、ウイルスを相手先のコンピュータ装置へ転送するため、相手先のコンピュータ装置にバックドアを仕掛けようとする不正なアクセスであるか否かを判定する。その結果、CPU101は、不正なアクセスであると判定した場合に、このパケットを破棄するとともに、このパケットを送信しようとしていたコネクションを切断する。一方、不正なアクセスでないと判定されたパケットは、NDISによる処理を経てネットワーク通信部104から相手先のコンピュータ装置へ送信される。
なお、APIおよびServiceは、パターンファイル108aをアップデートする機能や、Firewallによって不正なアクセスが検出された場合等にその内容をユーザに報知する機能、OSの種類を示す情報等を取得してFirewallへ通知したり、Firewallの起動や停止をユーザに通知する機能等を有している。
[A−2.実施形態の動作]
図4は、パケット受信時のFirewallによる処理について例示するフローチャートである。コンピュータ装置10は、アプリケーションソフトウェアの実行中に必要に応じてRPC、IIS等の通信アプリケーションを起動して、相手先のコンピュータ装置との間でネットワークを介したデータ通信を開始する。そして、コンピュータ装置10は、パケットを受信すると、NDISによる処理を終えた後、Firewallによる処理として同図に示す処理を開始する。
図4は、パケット受信時のFirewallによる処理について例示するフローチャートである。コンピュータ装置10は、アプリケーションソフトウェアの実行中に必要に応じてRPC、IIS等の通信アプリケーションを起動して、相手先のコンピュータ装置との間でネットワークを介したデータ通信を開始する。そして、コンピュータ装置10は、パケットを受信すると、NDISによる処理を終えた後、Firewallによる処理として同図に示す処理を開始する。
なお、コンピュータ装置10において通信アプリケーションを利用した通信が開始される際には、通信アプリケーションに対して所定の記憶容量を有するバッファがOSにより割り当てられる。このバッファは、通信アプリケーションを利用した通信において相手先のコンピュータ装置から受信したデータを、この通信アプリケーションに従って処理するために一時的に記憶しておくメモリエリアであって、RAM103あるいはHD108に設けられる。
まず、CPU101は、受信したパケットのヘッダから宛先ポート番号を取得するとともに(ステップS101)、このパケットのペイロードからデータを取得する(ステップS102)。次いで、CPU101は、取得した宛先ポート番号およびデータを、パターンファイル108aに登録されている各ウイルス用のアクセスパターン(ポート番号およびデータ)と比較する(ステップS103)。なお、パターンファイル108aとの比較を行う際には、まず、ポート番号が一致しているか否かを調べ、ポート番号が一致していれば、次にコマンドが一致しているか否かを調べる。そして、コマンドが一致していれば、次にコマンド以降のデータが一致しているか否かを調べる。このように、パターンファイル108aとの比較を段階的に行うようにすれば、パケット毎に行われるチェックを効率的に済ますことができる。
CPU101は、パケットから取得した宛先ポート番号およびデータが、パターンファイル108aに登録されているいずれかのウイルス用のアクセスパターンと一致した場合に(ステップS104,S105がともにYES)、このパケットによるアクセスが、ウイルスによるものであって、ウイルスをコンピュータ装置10に転送するため、コンピュータ装置10にバックドアを仕掛けようとする不正なアクセスであると判定する。この場合、CPU101は、受信したパケットを破棄するとともに(ステップS106)、このパケットを受信したコネクションを切断する(ステップS107)。
例えば、受信したパケットの宛先ポート番号が“80”であり、かつ、このパケットのデータが図2に示したパターンファイル108aに登録されているCODERED.A用のデータと同じであった場合、CPU101は、このパケットによるアクセスが、CODERED.Aによるものであって、CODERED.Aをコンピュータ装置10に転送するため、コンピュータ装置10にバックドアを仕掛けようとする不正なアクセスであると判定し、受信したパケットを破棄してコネクションを切断する。
この後、CPU101は、不正なアクセスを検出したことを示す不正アクセス検出通知をAPIに送出した後(ステップS108)、図4に示した処理を終える。APIは、不正アクセス検出通知を受け取ると、コンピュータ装置10にウイルスが侵入しようとしたことや、そのウイルスの名称、不正なアクセスであったため通信を中止したこと等を示すメッセージを表示部106に表示する。勿論、これらのメッセージは音声でユーザに報知されてもよい。
一方、CPU101は、パケットから取得した宛先ポート番号およびデータが、パターンファイル108aに登録されているいずれのウイルス用のアクセスパターンとも一致しなかった場合に(ステップS104,S105の一方以上がNO)、このパケットの通過を許可し(ステップS109)、図4に示した処理を終える。ステップS109において通過が許可されたパケットは、NDIS、TCP/IP StackおよびSocket I/Fによる処理を終えた後、受信データとしてAP(アプリケーションソフトウェア)に引き渡され、通信アプリケーション用に割り当てられたバッファに入力される。
次に、図5は、パケット送信時のFirewallによる処理について例示するフローチャートである。コンピュータ装置10は、アプリケーションソフトウェアの実行中に必要に応じてRPC、IIS等の通信アプリケーションを起動して、相手先のコンピュータ装置との間でデータ通信を開始する。そして、コンピュータ装置10は、相手先のコンピュータ装置に対してデータを送信する場合に、AP、Socket I/F、TCP/IP StackおよびNDISによる処理を終えた後、Firewallによる処理として同図に示す処理を開始する。
なお、データを送信する際には、APによる処理にて、送信するデータや宛先ポート番号、通信アドレス等が指定され、これらに基づいてSocket I/Fによる処理にてパケットが生成される。
まず、CPU101は、送信するパケットのヘッダから宛先ポート番号を取得するとともに(ステップS201)、このパケットのペイロードからデータを取得する(ステップS202)。次いで、CPU101は、取得した宛先ポート番号およびデータを、パターンファイル108aに登録されている各ウイルス用のアクセスパターン(ポート番号およびデータ)と比較する(ステップS203)。
その結果、CPU101は、パケットから取得した宛先ポート番号およびデータが、パターンファイル108aに登録されているいずれかのウイルス用のアクセスパターンと一致した場合に(ステップS204,S205がともにYES)、このパケットによるアクセスが、ウイルスによるものであって、ウイルスを相手先のコンピュータ装置へ転送するため、相手先のコンピュータ装置にバックドアを仕掛けようとする不正なアクセスであると判定する。この場合、CPU101は、このパケットを破棄するとともに(ステップS206)、このパケットを送信しようとしていたコネクションを切断し(ステップS207)、パケットの送信を中止する。なお、このようなパケットの送信を行おうとしていたことは、このコンピュータ装置10が、WORM_MSBLAST.AやCODERED.A等のウイルスに感染していることを意味している。
この後、CPU101は、不正な送信処理が行われようとしたことを示す不正送信検出通知をAPIに送出した後(ステップS208)、図5に示した処理を終える。APIは、不正送信検出通知を受け取ると、このコンピュータ装置10がウイルスに感染していることや、そのウイルスの名称、不正な送信処理であったため通信を中止したこと等を示すメッセージを表示部106に表示する。また、CPU101は、HD108にインストールされているワクチンプログラムを起動して、ウイルスの実行ファイルを削除するとともに、ウイルスによって不正に書き替えられたレジストリ情報を修復する。
例えば、送信するパケットの宛先ポート番号が“80”であり、かつ、このパケットのデータが図2に示したパターンファイル108aに登録されているCODERED.A用のデータと同じであった場合、CPU101は、このパケットによるアクセスが、CODERED.Aによるものであって、CODERED.Aを相手先のコンピュータ装置へ転送するため、相手先のコンピュータ装置にバックドアを仕掛けようとする不正な送信処理であると判定し、このパケットの送信を中止する。加えて、CPU101は、CODERED.A用のワクチンプログラムを起動して、CODERED.Aの実行ファイルを削除するとともにレジストリ情報の修復を行う。
なお、ワクチンプログラムに従った処理が実行される際には、ウイルスの実行ファイルの削除やレジストリ情報を修復するために必要となるデータを収めたワクチンファイルが参照される。また、これらのワクチンプログラムやワクチンファイルは、パターンファイル108aと同様、アップデートを行うことで最新のウイルスに対応したものを得ることができる。
一方、CPU101は、パケットから取得した宛先ポート番号およびデータが、パターンファイル108aに登録されているいずれのウイルス用のアクセスパターンとも一致しなかった場合に(ステップS204,S205の一方以上がNO)、このパケットの通過を許可し(ステップS209)、図5に示した処理を終える。ステップS209において通過が許可されたパケットは、NDISによる処理を経てネットワーク通信部104から相手先のコンピュータ装置へ送信される。
以上説明したように本実施形態によれば、コンピュータ装置10は、ウイルスがコンピュータ装置10にバックドアを仕掛ける際のアクセスを検出してコネクションを切断するので、WORM_MSBLAST.AやCODERED.A等のウイルスの侵入を、ウイルスの実行ファイルを受信するよりも前の段階で検出し、遮断することができる。また、コンピュータ装置10は、バックドアを仕掛ける際のアクセスパターンがパターンファイル108aに登録されているアクセスパターンと同じであれば、亜種のウイルスを検出することも可能である。
さらに、コンピュータ装置10は、送信するパケットについてもパターンファイル108aを用いてチェックを行っているので、万一、自装置10がウイルスに感染していても、他のコンピュータ装置にウイルスを感染させることがない。また、コンピュータ装置10は、送信するパケットをチェックすることで、自装置10がウイルスに感染しているか否かをチェックすることができる。
[B.変形例]
以上、本発明の実施形態について説明したが、本発明はその主要な特徴から逸脱することなく他の様々な形態で実施することが可能である。上述した実施形態は、本発明の一態様を例示したものに過ぎず、例えば、以下に示すような変形例が考えられる。
以上、本発明の実施形態について説明したが、本発明はその主要な特徴から逸脱することなく他の様々な形態で実施することが可能である。上述した実施形態は、本発明の一態様を例示したものに過ぎず、例えば、以下に示すような変形例が考えられる。
上述した実施形態では、1パケット毎にパターンファイル108aとの比較を行う場合について説明した。しかしながら、仮に、図6に示すように、シーケンス番号“N”のパケットとシーケンス番号“N+1”のパケットとに跨るようにペイロードデータ“ABCDEF”が存在する一方、パターンファイル108aにアクセスパターンとして“ABCDEF”が登録されている場合、上述した実施形態の構成では、これを不正なアクセスとして検出することができない。
そこで、図4および図5に示した処理において、CPU101は、シーケンス番号の連続する2つ以上の各パケットに含まれるデータを組み立ててパターンファイル108aとの比較を行うようにしてもよい。勿論、1度に組み立てるパケットの数は任意に設定できる。この場合、CPU101は、宛先ポート番号および組み立てたデータが、パターンファイル108aに登録されているいずれかのウイルス用のアクセスパターン(ポート番号およびデータ)と一致した場合に、データを組み立てた各パケットのいずれか1つ以上を破棄するとともに、各パケットを受信したコネクション、あるいは各パケットを送信しようとしていたコネクションを切断する。一方、CPU101は、宛先ポート番号および組み立てたデータが、パターンファイル108aに登録されているいずれのウイルス用のアクセスパターンとも一致しなかった場合に、データを組み立てた各パケットの通過を許可する。
なお、以上のように複数のパケットに含まれるデータを組み立ててパターンファイル108aとの比較を行うようにすると、データの組み立て等により処理効率が低下してしまう。そこで、処理効率を落とさないようにするため、以下のようにしてパターンファイル108aとの比較を行うようにしてもよい。なお、以下では宛先ポート番号の照合に関する説明を省略する。
CPU101は、パケットから取得したデータをパターンファイル108aに登録されているデータと比較する際に、パケットに含まれるデータの終了部分が、パターンファイル108aに登録されているデータの先頭部分から複数コードに渡って部分一致するか否かを判定する。その結果、部分一致が認められる場合、CPU101は、部分一致した複数のコードをRAM103に保存する。なお、このとき部分一致したパケットのシーケンス番号を“N”とする。
次いで、CPU101は、シーケンス番号“N+1”のパケットから取得したデータをパターンファイル108aに登録されているデータと比較する際に、パターンファイル108aに登録されているデータのうち、RAM103に保存してある複数のコードを除いた残りの部分が、シーケンス番号“N+1”のパケットから取得したデータの先頭部分から一致するか否かを判定する。その結果、CPU101は、残りの部分についても一致が認められた場合に、シーケンス番号“N”のパケットと、シーケンス番号“N+1”のパケットとに跨ったデータが、パターンファイル108aに登録されているデータ全体と一致したと判定する。このような構成とすれば、シーケンス番号が連続する2つのパケットに跨るデータについても、処理効率を落とすことなく、パターンファイル108aとの比較を行うことができる。
なお、上述した実施形態において、図4に示した処理は、受信したデータを通信アプリケーション用のバッファに入力する前、すなわち、受信したデータを通信アプリケーションに引き渡す前までに行えばよいから、例えば、Socket I/Fにて各パケットのデータを組み立ててから、組み立てたデータを通信アプリケーション用のバッファに入力するまでの間に行うようにしてもよい。また、図5に示した処理も、パケットを送信する前までに行えばよいから、例えば、Socket I/Fにてパケットを生成する前の段階で行うようにしてもよい。加えて、上述した実施形態において、コンピュータ装置10は、CD−ROM20から読み出したプログラムに従って図4や図5に示した処理を実行するが、このような本発明に係る処理を実行するためのプログラムを、電気通信回線を介した通信によりコンピュータ装置10に提供するようにしてもよい。また、本発明は、パケット通信やコネクション型の通信に限定されるものではない。さらに、本発明を、公衆無線LANに収容される無線端末や、携帯電話機等のモバイルコンピュータに適用してもよい。また、記憶媒体は、DVDやフロッピー(登録商標)ディスク、メモリカード等であってもよい。
10…コンピュータ装置、20…CD−ROM、100A,100B…通信端末、101…CPU、102…ROM、103…RAM、104…ネットワーク通信部、105…操作入力部、106…表示部、107…CD−ROMドライブ、108…HD、108a…パターンファイル。
Claims (10)
- コンピュータウイルスを通信装置に転送するため、前記通信装置にバックドアを仕掛けるアクセスの特徴を記憶する記憶手段と、
通信手段と、
前記通信手段により受信されたデータが前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データを通信制御用のアプリケーションに引き渡す前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを前記アプリケーションに引き渡すことなく破棄する破棄手段と
を備えることを特徴とする通信装置。 - 前記判別手段は、前記通信手段により受信された、シーケンス番号が連続する2つのパケットに跨ったデータが、前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データを通信制御用のアプリケーションに引き渡す前に判別し、
前記破棄手段は、前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記2つのパケットの一方以上を前記アプリケーションに引き渡すことなく破棄するとともに、当該パケットが受信されたコネクションを切断する
ことを特徴とする請求項1に記載の通信装置。 - 前記判別手段によりアクセスの特徴を満たすと判別された場合に、コンピュータウイルスが当該通信装置に侵入しようとしたことを報知する報知手段をさらに備える
ことを特徴とする請求項1に記載の通信装置。 - コンピュータウイルスを通信装置に転送するため、前記通信装置にバックドアを仕掛けるアクセスの特徴を記憶する記憶手段と、
通信手段と、
前記通信手段により送信されるデータが前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データの送信前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを破棄して当該データの送信を中止する通信制御手段と
を備えることを特徴とする通信装置。 - 前記判別手段は、前記通信手段により送信される、シーケンス番号が連続する2つのパケットに跨ったデータが、前記記憶手段に記憶されたアクセスの特徴を満たすか否かを、前記データの送信前に判別し、
前記通信制御手段は、前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記2つのパケットの一方以上を破棄するとともに、当該パケットを送信しようとしていたコネクションを切断する
ことを特徴とする請求項4に記載の通信装置。 - 前記判別手段によりアクセスの特徴を満たすと判別された場合に、当該通信装置がコンピュータウイルスに感染していることを報知する報知手段をさらに備える
ことを特徴とする請求項4に記載の通信装置。 - 前記判別手段によりアクセスの特徴を満たすと判別された場合に、当該通信装置からコンピュータウイルスを取り除くとともに、前記コンピュータウイルスにより書き替えられた当該通信装置の制御情報を復元する復元手段をさらに備える
ことを特徴とする請求項4に記載の通信装置。 - コンピュータを、
コンピュータウイルスをコンピュータに転送するため、前記コンピュータにバックドアを仕掛けるアクセスの特徴をメモリに記憶させる記憶制御手段と、
受信したデータが前記メモリに記憶されたアクセスの特徴を満たすか否かを、前記データを通信制御用のアプリケーションに引き渡す前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを前記アプリケーションに引き渡すことなく破棄する破棄手段と
として機能させるためのプログラム。 - コンピュータを、
コンピュータウイルスをコンピュータに転送するため、前記コンピュータにバックドアを仕掛けるアクセスの特徴をメモリに記憶させる記憶制御手段と、
送信するデータが前記メモリに記憶されたアクセスの特徴を満たすか否かを、前記データの送信前に判別する判別手段と、
前記判別手段によりアクセスの特徴を満たすと判別された場合に、前記データを破棄して当該データの送信を中止する通信制御手段と
として機能させるためのプログラム。 - 請求項8または9に記載のプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003363705A JP2005128792A (ja) | 2003-10-23 | 2003-10-23 | 通信装置、プログラムおよび記憶媒体 |
US10/965,749 US20050091514A1 (en) | 2003-10-23 | 2004-10-18 | Communication device, program, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003363705A JP2005128792A (ja) | 2003-10-23 | 2003-10-23 | 通信装置、プログラムおよび記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005128792A true JP2005128792A (ja) | 2005-05-19 |
Family
ID=34510063
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003363705A Pending JP2005128792A (ja) | 2003-10-23 | 2003-10-23 | 通信装置、プログラムおよび記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050091514A1 (ja) |
JP (1) | JP2005128792A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331422A (ja) * | 2005-05-20 | 2006-12-07 | At & T Corp | インターネットのマルウェア問題への一解決策 |
WO2007034535A1 (ja) * | 2005-09-20 | 2007-03-29 | Gideon Corp. | ネットワーク装置、データ中継方法およびプログラム |
JP2007206750A (ja) * | 2006-01-30 | 2007-08-16 | Fuji Xerox Co Ltd | 情報処理装置 |
JP2011248897A (ja) * | 2010-05-27 | 2011-12-08 | Samsung Sds Co Ltd | パターンマッチング方法及びシステム |
JP4855420B2 (ja) * | 2005-12-15 | 2012-01-18 | ネットスター株式会社 | 不正通信プログラムの規制システム及びそのプログラム |
JP2016028501A (ja) * | 2011-09-08 | 2016-02-25 | マカフィー, インコーポレイテッド | ファイアウォールクラスターにおけるアプリケーション状態共有 |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7523501B2 (en) * | 2003-07-21 | 2009-04-21 | Trend Micro, Inc. | Adaptive computer worm filter and methods of use thereof |
JP3803680B2 (ja) * | 2004-06-16 | 2006-08-02 | Necインフロンティア株式会社 | 不正アクセス防止方法、不正アクセス防止装置及び不正アクセス防止プログラム |
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 |
KR100612452B1 (ko) * | 2004-11-08 | 2006-08-16 | 삼성전자주식회사 | 악성 코드 탐지 장치 및 그 방법 |
US8566726B2 (en) | 2005-05-03 | 2013-10-22 | Mcafee, Inc. | Indicating website reputations based on website handling of personal information |
US9384345B2 (en) * | 2005-05-03 | 2016-07-05 | Mcafee, Inc. | Providing alternative web content based on website reputation assessment |
US20060253582A1 (en) * | 2005-05-03 | 2006-11-09 | Dixon Christopher J | Indicating website reputations within search results |
US7562304B2 (en) | 2005-05-03 | 2009-07-14 | Mcafee, Inc. | Indicating website reputations during website manipulation of user information |
US7765481B2 (en) * | 2005-05-03 | 2010-07-27 | Mcafee, Inc. | Indicating website reputations during an electronic commerce transaction |
US8438499B2 (en) * | 2005-05-03 | 2013-05-07 | Mcafee, Inc. | Indicating website reputations during user interactions |
US7822620B2 (en) * | 2005-05-03 | 2010-10-26 | Mcafee, Inc. | Determining website reputations using automatic testing |
US20060253584A1 (en) * | 2005-05-03 | 2006-11-09 | Dixon Christopher J | Reputation of an entity associated with a content item |
US7496348B2 (en) * | 2005-06-07 | 2009-02-24 | Motorola, Inc. | Wireless communication network security method and system |
US7636943B2 (en) * | 2005-06-13 | 2009-12-22 | Aladdin Knowledge Systems Ltd. | Method and system for detecting blocking and removing spyware |
US8701196B2 (en) | 2006-03-31 | 2014-04-15 | Mcafee, Inc. | System, method and computer program product for obtaining a reputation associated with a file |
KR20100023494A (ko) * | 2008-08-22 | 2010-03-04 | 엘지전자 주식회사 | 단말기 및 그 바이러스 보호 방법 |
US9734037B1 (en) * | 2009-09-15 | 2017-08-15 | Symantec Corporation | Mobile application sampling for performance and network behavior profiling |
JP5655185B2 (ja) * | 2011-06-28 | 2015-01-21 | 日本電信電話株式会社 | マルウェア感染端末検知装置、マルウェア感染端末検知方法及びマルウェア感染端末検知プログラム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6647400B1 (en) * | 1999-08-30 | 2003-11-11 | Symantec Corporation | System and method for analyzing filesystems to detect intrusions |
US6826697B1 (en) * | 1999-08-30 | 2004-11-30 | Symantec Corporation | System and method for detecting buffer overflow attacks |
US6775780B1 (en) * | 2000-03-16 | 2004-08-10 | Networks Associates Technology, Inc. | Detecting malicious software by analyzing patterns of system calls generated during emulation |
US6910134B1 (en) * | 2000-08-29 | 2005-06-21 | Netrake Corporation | Method and device for innoculating email infected with a virus |
JP4567275B2 (ja) * | 2002-02-28 | 2010-10-20 | 株式会社エヌ・ティ・ティ・ドコモ | 移動通信端末、情報処理装置、中継サーバ装置、情報処理システム及び情報処理方法 |
JP3794491B2 (ja) * | 2002-08-20 | 2006-07-05 | 日本電気株式会社 | 攻撃防御システムおよび攻撃防御方法 |
US8127356B2 (en) * | 2003-08-27 | 2012-02-28 | International Business Machines Corporation | System, method and program product for detecting unknown computer attacks |
-
2003
- 2003-10-23 JP JP2003363705A patent/JP2005128792A/ja active Pending
-
2004
- 2004-10-18 US US10/965,749 patent/US20050091514A1/en not_active Abandoned
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006331422A (ja) * | 2005-05-20 | 2006-12-07 | At & T Corp | インターネットのマルウェア問題への一解決策 |
WO2007034535A1 (ja) * | 2005-09-20 | 2007-03-29 | Gideon Corp. | ネットワーク装置、データ中継方法およびプログラム |
JP4855420B2 (ja) * | 2005-12-15 | 2012-01-18 | ネットスター株式会社 | 不正通信プログラムの規制システム及びそのプログラム |
JP2007206750A (ja) * | 2006-01-30 | 2007-08-16 | Fuji Xerox Co Ltd | 情報処理装置 |
JP2011248897A (ja) * | 2010-05-27 | 2011-12-08 | Samsung Sds Co Ltd | パターンマッチング方法及びシステム |
JP2016028501A (ja) * | 2011-09-08 | 2016-02-25 | マカフィー, インコーポレイテッド | ファイアウォールクラスターにおけるアプリケーション状態共有 |
Also Published As
Publication number | Publication date |
---|---|
US20050091514A1 (en) | 2005-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005128792A (ja) | 通信装置、プログラムおよび記憶媒体 | |
US7142848B2 (en) | Method and system for automatically configuring access control | |
US7240193B2 (en) | Systems and methods that provide external network access from a protected network | |
US7636943B2 (en) | Method and system for detecting blocking and removing spyware | |
JP4072150B2 (ja) | ホストベースのネットワーク侵入検出システム | |
JP3945438B2 (ja) | 制御プログラムおよび制御装置 | |
US7549159B2 (en) | System, apparatuses, methods and computer-readable media for determining the security status of a computer before establishing connection thereto | |
US20050268342A1 (en) | System, apparatuses, methods and computer-readable media for determining security status of computer before establishing network connection second group of embodiments-claim set II | |
US20090077631A1 (en) | Allowing a device access to a network in a trusted network connect environment | |
US20050262569A1 (en) | System, apparatuses, methods and computer-readable media for determining security status of computer before establishing connection thereto first group of embodiments-claim set II | |
US20050251854A1 (en) | System, apparatuses, methods and computer-readable media for determining security status of computer before establishing connection thereto first group of embodiments-claim set III | |
WO2008040223A1 (fr) | Procédé de filtrage de données nocives transférées entre un terminal et un hôte de destination dans un réseau | |
US20050256957A1 (en) | System, apparatuses, methods and computer-readable media for determining security status of computer before establishing network connection second group of embodiments-claim set III | |
US20070220256A1 (en) | Electronic mechanical device | |
JP2007517305A (ja) | 信頼できるプロセスを許可する柔軟なネットワークセキュリティシステム及びネットワークセキュリティの方法 | |
JP3835421B2 (ja) | 制御プログラムおよび制御装置 | |
CN113452717B (zh) | 通信软件安全防护的方法、装置、电子设备及存储介质 | |
JP5322288B2 (ja) | 通信処理装置、通信処理方法、及びプログラム | |
US20130247191A1 (en) | System, method, and computer program product for performing a remedial action with respect to a first device utilizing a second device | |
US7784096B2 (en) | Outgoing connection attempt limiting to slow down spreading of viruses | |
JP2006277633A (ja) | セキュリティ保証機能を備えたコンピュータネットワーク、セキュリティの保証方法、及び、プログラム | |
CN109145599B (zh) | 恶意病毒的防护方法 | |
JP4418211B2 (ja) | ネットワークセキュリティ維持方法,接続許可サーバおよび接続許可サーバ用プログラム | |
KR101983997B1 (ko) | 악성코드 검출시스템 및 검출방법 | |
JP6911723B2 (ja) | ネットワーク監視装置、ネットワーク監視方法及びネットワーク監視プログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20060824 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20091006 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20100309 |