説明

信頼できるプロセスを許可する柔軟なネットワークセキュリティシステム及びネットワークセキュリティの方法

本発明は、信頼できるプロセスを許可する柔軟なネットワークセキュリティシステム及びその方法に関するものである。本発明のシステムは、ネットワーク通信プログラムが使用するサーバポートの情報を抽出するポート監視部と;ファイアウォールによって通信を許可されたプログラムについての情報を抽出し、これを登録する内部許可プログラム格納部と;ポート監視部が、内部許可プログラム格納部に登録されているプログラムが使用するサーバポートについての情報を抽出した場合、抽出された情報を登録する内部許可ポート格納部と;インバウンドトラフィックパケットの目的地ポートが内部許可ポート格納部に登録されているか否かを判断し、登録されていないポートであれば当該パケットをファイアウォールに伝送し、登録されているポートであれば当該パケットが前記ファイアウォールを迂回するようにするファイアウォール柔軟化装置と;を含む。


【発明の詳細な説明】
【技術分野】
【0001】
本発明は、信頼できるプロセスを許可する柔軟なネットワークセキュリティシステム及びその方法に係り、より詳しくは、インターネット接続ファイアウォールに、通信が許可されたプログラムによって使用されるポートを自動で追加及び除去するようにして、専門家でないユーザであっても簡単にインターネット接続ファイアウォールの優れた機能を使用することができるようにする、ネットワークセキュリティシステム及びその方法に関するものである。
【背景技術】
【0002】
ファイアウォール(Firewall)は、ネットワークと外部との間の保護境界線のようなセキュリティシステムである。
【0003】
図1は、マイクロソフト(Microsoft)社によりウィンドウズ(登録商標)XP(Windows XP(登録商標))バージョンから基本的に提供されている、コンピュータとネットワークとを保護するためのインターネット接続ファイアウォール(ICF:Internet Connection Firewall)を示す図である。
【0004】
このようなインターネット接続ファイアウォールは、ネットワークまたは小規模ネットワークとインターネットとの間に通信される情報の制限条件を設定するのに使用されるソフトウェアであって、インターネットに接続された単独のコンピュータのインターネットへの接続を保護する。
【0005】
一方、従来のインターネット接続ファイアウォールは、ステートフル(Stateful)ファイアウォールである。ステートフルファイアウォールとは、対応する経路を通過する通信のすべてを監視し、処理される各メッセージの原本、対象アドレス及びポートを検査するファイアウォールである。
【0006】
インターネット接続ファイアウォールは、外部へ送信されるトラフィック(アウトバウンドトラフィック)を許可し、外部から受信されるトラフィック(インバウンドトラフィック)を遮断することにより、インターネット接続ファイアウォール内のネットワークを外部から見えないようにする。このため、パーソナルコンピュータ(PC:Personal Computer)ファイアウォールでは、この機能をステルス(Stealth)機能とも言う。
【0007】
以下に、インターネット接続ファイアウォールの動作を簡略に説明する。
【0008】
インターネット接続ファイアウォールは、望まないトラフィックが個人接続を通じて入力されないようにするために、インターネット接続ファイアウォールコンピュータから発信されたトラフィックを追跡し、通信テーブルを保存する。さらに、インターネットのすべてのインバウンドトラフィックはテーブルにある項目と比較される。テーブルに一致する項目が存在し、通信の発信元がユーザのコンピュータであることが証明された場合にのみ、インバウンドインターネットトラフィックは、ネットワークコンピュータに接続される。
【0009】
これに対し、インターネット接続がファイアウォール許可リストで許可されないものであれば、インターネット接続ファイアウォールは接続を切断する。したがって、望まない通信を自動的に取り消すことで、ポートスキャニング(Port Scanning)のような一般的なハッキングを遮断することができる。
【0010】
このような例を調べるために、例えば、インターネット接続ファイアウォールコンピュータをリナックス(Linux)のnmapスキャニングツールでスキャンすると、インターネット接続ファイアウォールコンピュータは、どのようなスキャン動作に対しても応答しないため、nmapは、すべてのスキャンに対してターゲットコンピュータがネットワーク上に存在しないと判断し、‘Host Seems Down’というメッセージを出力する。このように、インターネット接続ファイアウォールは、望まない通信を自動的に取り消すことにより、ポートスキャニングのような一般的なハッキングを遮断する。
【0011】
一方、ウェブサービスを提供するコンピュータにインターネット接続ファイアウォールが組み込まれた場合、このようなインターネット接続ファイアウォールがインバウンドトラフィックを遮断するため、インターネット接続は切断され、正常なウェブサービスを提供することができなくなる。この問題を解決するために、インターネット接続ファイアウォールは、サービスが使用する80番ポートへのインバウンドトラフィックを許可することにより、正常なウェブサービスを提供できるようにしている。
【0012】
このように、インターネット接続ファイアウォールは、サービスとプロトコルとを追加することで、正常なサービスを使用することができ、PCファイアウォールでもこのような機能を提供する。
【0013】
一方、以下にこのようなインターネット接続ファイアウォールにおける問題点を説明する。
【0014】
ウェブサーバ、FTP(File Transfer Protocol)サーバ、テルネット(Telnet)サーバ、P2P(Peer to Peer)プログラム、リモートコントロールプログラム、メッセンジャープログラムなどの最近のインターネット使用ソフトウェアは、サービスを提供するサーバとして動作する。そして、このようにサーバとして動作するソフトウェアの数は急激に増加しており、多くの一般のユーザもこのようなソフトウェアを使用する傾向にある。
【0015】
しかし、大部分のユーザは、上記のようなサーバとして動作するソフトウェアが正常に作動しなくなることを理由に、インターネット接続ファイアウォールまたはPCファイアウォールのステルス機能の使用を避けている。もちろん、図2のように、ウィンドウズ(登録商標)XPでは、サーバとして動作するソフトウェアが使用するポート、プロトコル、インターネットプロトコル(IP:Internet Protocol)などを追加することにより、対応するソフトウェアを正常に使用することができる。しかし、専門家でないユーザにとっては、サーバとして動作するポートを見つけることは難しいため、専門家でないユーザがこれらのソフトウェアを設定するのは難しい。
【0016】
また、ソフトウェアのバージョンがアップグレードされる際に、サーバとして動作するポートが変更されることもあるため、正常なサービスが不意に中断されてしまうこともある。
【0017】
このような様々な理由から、インターネット接続ファイアウォール及びPCファイアウォールのステルス機能は、ユーザから望まれている機能であるにもかかわらず、一般のユーザが使用することは難しいという問題点がある。
【発明の開示】
【発明が解決しようとする課題】
【0018】
上記のような従来技術の問題点を解決するための本発明の目的は、通信の許可されたプログラムが使用するポートをインターネット接続ファイアウォールに自動的に追加または削除して、専門家でないユーザでも簡単にインターネット接続ファイアウォールの所望の機能を使用することが可能な、ネットワークセキュリティシステム及びその方法を提供することにある。
【課題を解決するための手段】
【0019】
上記の目的を達成するために、本発明は、ネットワーク間で通信される情報の制限条件を設定することによって、ネットワークに接続されたコンピュータの当該ネックワーク接続を保護するファイアウォールを用いて信頼できるプロセスを許可するネットワークセキュリティシステムにおいて、ネットワーク通信プログラムを通じて使用されるサーバポート情報を抽出するポート監視部と;ファイアウォールによって通信が許可されるプログラムについての情報を抽出し、抽出された情報を登録する内部許可プログラム格納部と;ポート監視部が、内部許可プログラム格納部に登録されているプログラムを用いて、使用されるサーバポートについての情報を抽出した場合、抽出されたサーバポート情報を登録する内部許可ポート格納部と;インバウンドトラフィックのパケットの目的地であるポートが内部許可ポート格納部に登録されているか否かを判断し、登録されていないポートであれば当該パケットをファイアウォールに伝送し、登録されているポートであれば当該パケットが前記ファイアウォールを迂回するようにするファイアウォール柔軟化装置と;を含むことを特徴とする、ネットワークセキュリティシステムを提供する。
【0020】
また、上記目的を達成するため、本発明は、ネットワーク間で通信される情報の制限条件を設定することで、ネットワークに接続されたコンピュータの当該ネックワーク接続を保護するファイアウォールを用いて、信頼できるプロセスを許可するネットワークセキュリティの方法において、ネットワーク通信プログラムを通じて使用されるサーバポート情報を抽出する第1段階と;ファイアウォールで通信が許可されるプログラムについての情報を抽出し、抽出された情報を内部許可プログラム格納部に登録する第2段階と;第1段階において、内部許可プログラム格納部に登録されているプログラムを用いて、使用するサーバポートについての情報を抽出した場合、抽出されたサーバポート情報を内部許可ポート格納部に登録する第3段階と;インバウンドトラフィックのパケットの目的地であるポートが内部許可ポート格納部に登録されているか否かを判断する第4段階と;第4段階での判断の結果、登録されていないポートであれば、当該パケットをファイアウォールに伝送する第5段階と;前記第4段階での判断の結果、登録されているポートであれば、当該パケットがファイアウォールを迂回するようにする第6段階と;を含むことを特徴とする、ネットワークセキュリティの方法を提供する。
【0021】
また、上記目的を達成するため、本発明は、ネットワーク間で通信される情報の制限条件を設定することで、ネットワークに接続されたコンピュータの当該ネックワーク接続を保護するファイアウォールを用いて、信頼できるプロセスを許可するネットワークセキュリティの方法であって、ネットワーク通信プログラムを通じて使用されるサーバポート情報を抽出する第1段階と;ファイアウォールで通信が許可されるプログラムについての情報を抽出し、抽出された情報を内部許可プログラム格納部に登録する第2段階と;第1段階において、内部許可プログラム格納部に登録されているプログラムを用いて、使用するサーバポートについての情報を抽出した場合、抽出されたサーバポート情報を内部許可ポート格納部に登録する第3段階と;インバウンドトラフィックのパケットの目的地であるポートが内部許可ポート格納部に登録されているか否かを判断する第4段階と;第4段階での判断の結果、登録されていないポートであれば、当該パケットをファイアウォールに伝送する第5段階と;第4段階での判断の結果、登録されているポートであれば、当該パケットがファイアウォールを迂回するようにする第6段階と;を含むことを特徴とする、ネットワークセキュリティの方法を実行することができるコンピュータによって読取可能な記録媒体を提供する。
【0022】
TCP(Transmission Control Protocol)を用いて通信する場合、望ましくは、上記第1段階は、ソケットがサーバとして動作するためにリスン(Listen)を実行する時、フッキング(Hooking)を行うことでリスンポートを抽出する。
【0023】
UDP(User Datagram Protocol)を用いて通信する場合、望ましくは、上記第1段階は、ソケットがパケットを受信するために関連する関数を呼び出す時、ユーザモード(User Mode)でフッキングを実行することで、サーバポートを抽出する。
【発明の効果】
【0024】
以上説明したように本発明によれば、通信の許可されたプログラムが使用するポートをインターネット接続ファイアウォールに自動的に追加または削除することにより、専門家でないユーザでも簡単にインターネット接続ファイアウォールの優れた機能を使用することができる。
【発明を実施するための最良の形態】
【0025】
以下、添付図面を参照しながら、本発明の一実施例による信頼できるプロセスを許可する柔軟なネットワークセキュリティシステム及びその方法をより詳細に説明する。
【0026】
まず、本発明の背景技術に関連する技術を簡略に説明する。
【0027】
図3は、本発明に利用されるマイクロソフトウィンドウズ(登録商標)オペレーティングシステムのモード区分を示すブロック図である。
【0028】
図3を参照すれば、マイクロソフト社が提供するウィンドウズ(登録商標)XPでは、カーネルモード(Kernel Mode)とユーザモード(User Mode)とが提供される。カーネルモードでは、オペレーティングシステムカーネルと各種のデバイスドライバ(Device Driver)が実行され、ユーザモードでは、主にアプリケーション(Application)が実行される。そして、カーネルモードで動作するプログラムはデバイスドライバの形態で存在する。
【0029】
マイクロソフトウィンドウズ(登録商標)オペレーティングシステムでサポートされているカーネルモードネットワーク構造は、ウィンドウズ(登録商標)ソケット(Socket)のカーネル部分であるAFD(afd.sys)、NDIS(NDIS:Network Driver Interface Specification)及びTDI(TDI:Transport Driver Interface)を含む。
【0030】
カーネルモードで最上位層に存在するafd.sysは、ウィンドウズ(登録商標)ソケットにおいてユーザモードの最下位層に存在する動的リンクライブラリ(DLL:Dynamic Link Library)であるmsafd.dllと通信し、下位層にあるTDIとインタフェースを形成する。
【0031】
TDIは、プロトコルスタック(Stack)の上位に存在するカーネルモードインタフェースを定義する。NDISは、ネットワークインタフェースカードデバイスドライバ(NICDDs:Network Interface Card Device Drivers)のために、標準インタフェースを提供する。
【0032】
以下、マイクロソフトウィンドウズ(登録商標)オペレーティングシステムのユーザモードにおけるファイアウォール構築方法を簡単に説明する。
【0033】
フッキング(Hooking)とは、フッキングしようとする関数のアドレスを格納し、元の関数のアドレスをユーザが作成した関数のアドレスで置き換え、これにより、ユーザが作成した関数を先に実行し、その後に元の関数を実行するという周知のプログラミング方法である。
【0034】
(1)LSP(Winsock Layered Service Provider):この方法は、マイクロソフト社から提供されている方法であって、QOS(Quality Of Service)、URLフィルタリング及びデータストリーム(Data Stream)の暗号化に多く用いられる、マイクロソフトネットワーキング内のコンポーネントであるSPI(Service Provider Interface)に基づくものである。
【0035】
(2)ウィンドウズ(登録商標)2000パケットフィルタリングインタフェース(Windows 2000 Packet Filtering Interface):ウィンドウズ(登録商標)2000は、フィルタデスクリプタ(Filter Descriptor)をインストールして、ユーザモードのアプリケーションプログラムがIPアドレス及びポート情報を基に許可または遮断する方法を用いる。
【0036】
(3)Winsock Dll置換:この方法は、マイクロソフトウィンドウズ(登録商標)のWinsock DLLをユーザが作成したDLLで置き換えることにより、フィルタリングする方法に基づく。
【0037】
(4)グローバル関数フッキング(Global Function Hooking):この方法は、Connect、Listen、Send、Recv、Sendto、およびRecvfromのようなウィンドウズ(登録商標)のソケット関数、またはユーザモードのアプリケーションがカーネルモードのドライバと通信するために使用するDeviceIoControl()関数をフッキングする方法に基づく。
【0038】
以下に、マイクロソフトウィンドウズ(登録商標)オペレーティングシステムのカーネルモードでファイアウォールを構築する方法を簡単に説明する。
【0039】
(1)カーネルモードソケットフィルタ(Kernel Mode Socket Filter):この方式は、ユーザモードでウィンドウズ(登録商標)ソケットの最下位層のDLLであるmsafd.dllがカーネルモードウィンドウズ(登録商標)ソケットであるafd.sysと通信するすべての入出力(I/O)をフッキングする方法に基づく。
【0040】
(2)TDIフィルタドライバ:この方式は、tcpip.sysドライバ(\Device\RawIp、\Device\Udp、\Device\Tcp、\Device\Ip、または\Device\MULTICASTなど)によって生成されたデバイスに、IoAttackDevice()APIを適用して作成したフィルタドライバを利用する方法に基づく。または、tcpip.sysのドライバオブジェクト(Driver Object)にあるディスパッチテーブル(Dispatch Table)を置き換えることによって、すべてのI/Oをフッキングする方法に基づく。
【0041】
(3)NDIS中間ドライバ:マイクロソフト社からユーザに提供されている方法であって、TCP/IPのようなプロトコルドライバとNICドライバ間に挿入してファイアウォール、NAT(Network Address Translation)などを開発する方法である。
【0042】
(4)NDISフッキングフィルタドライバ:NDISライブラリの関数をフッキングする方法であって、NdisRegisterProtocol、NdisDeregisterProtocol、NdisOpenAdapter、NdisCloseAdapter及びNdisSendのような関数をフッキングする方法、あるいはプロトコルドライバを登録するNdisRegisterProtocol関数を使用し、リターンされたNdisProtocolHandleに基づいてTCP/IPのような既存の登録されたプロトコルドライバリンクを見つけた後、NDISと通信するプロトコルドライバ及びNICドライバのI/Oをフッキングする方法に基づく。
【0043】
本発明の実施形態にかかるインターネット接続ファイアウォールは、上述したカーネルモードソケットフィルタ、TDIフィルタドライバ、NDIS中間ドライバ、NDISフッキングフィルタドライバなどで実装されることができ、一般的にはNDIS中間ドライバまたはNDISフッキングフィルタドライバで実装される。
【0044】
インターネット接続ファイアウォールは、インターネット接続ファイアウォールコンピュータを起点とするトラフィックを追跡することにより、IPとポートのすべての通信テーブルを保存する。そして、インターネットのすべてのインバウンドトラフィックは、この通信テーブルに存在する項目と比較される。テーブルに一致する項目があり、従って、通信がユーザのコンピュータを起点とするものであることが証明される場合にだけ、インバウンドインターネットトラフィックは許可され、そうでない場合には遮断される。
【0045】
このようなインバウンドトラフィックの許可は、フッキングされた元の関数のアドレスを呼び出すことにより行われる。これに対し、インバウンドトラフィックの遮断は、原関数を呼び出すことなく、原関数の呼び出しが成功または失敗したことを示す偽(false)のリターン値を伝送すること、あるいは、原関数を呼び出したが、関数の実行が正常になされないように誤った情報を提供することにより行われる。
【0046】
前述したファイアウォールと関連する基本的な内容に基づいて、本発明で提示する信頼できるプロセスを許可する柔軟なネットワークセキュリティシステム及びその方法に対して説明する。
【0047】
図4は、本発明の実施形態にかかるインターネット接続ファイアウォールの動作を簡略化したフローチャートであって、ポート監視部とインターネット接続ファイアウォールとをインストールし、許可プログラムリストを内部許可プログラム格納部に格納する過程を示すフローチャートである。
【0048】
まず、ステップS410で、ポート監視部及びインターネット接続ファイアウォールをインストールする。
【0049】
TCPの場合、ソケットがサーバとして動作するためにリスン(Listen)を実行する時、ポート監視部は、Winsockフッキングによってリスンポートを抽出する。さらに、msafd.dllで対応する操作が実行されるとき、カーネルのソケット部分であるAFDで対応する操作が実行されるとき、または、TDIのTdiSetEvent()を通じてTDI_EVENT_CONNECTが呼び出されるとき、ポート監視部はリスンポートを抽出する。
【0050】
ユーザデータグラムプロトコル(UDP:User Datagram Protocol)の場合、ソケットがパケットを受信するためにrecvfromを呼び出すと、ユーザモードでWinsockフッキングを通じてパケットを受信するためのサーバポートを抽出する。さらに、AFDでの続きの操作がカーネルモードに存在するとき、または、TDIで、これに対応するTdiSetEvemt()を通じてTDI_EVENT_RECEIVE_DATAGRAMが生成されるとき、パケットを受信するためのサーバポートを抽出する。
【0051】
このようなポート監視部は、ユーザモードのWinsockフッキングによって、または、カーネルモードのカーネルモードソケットフィルタ、TDIフィルタドライバによってインストールされ、サーバポート情報、プロトコル情報(TCP、UDPなど)及びOPEN/CLOSE情報を抽出する役割を果たす。
【0052】
その後、インターネット接続ファイアウォールをインストールする。このようなインターネット接続ファイアウォールは、前述したように、カーネルモードソケットフィルタ、TDIフィルタドライバ、NDIS中間ドライバ、ウィンドウズ(登録商標)2000フィルタフックドライバ、またはNDISフッキングフィルタドライバ内に実装することができ、一般的には、NDIS中間ドライバまたはNDISフッキングフィルタドライバに組み込まれる。
【0053】
ついで、ステップS420で、許可プログラムリストを内部許可プログラム格納部に格納する。図5は、本発明の一実施形態にかかる柔軟なインターネット接続ファイアウォールで、通信許可プログラムリストを内部許可プログラム格納部に格納するために表示されるインタフェース画面を示す図である。
【0054】
図5に示すように、インターネット接続ファイアウォールで許可するプログラムを選択すると、プログラム名、プログラムの全体パス及びプログラムの整合性確認のための当該プログラムファイルのMD5(MD5:Message Digest algorithm 5)ハッシュ値を取得する。このようにして得られたプログラム名前、プログラム全体経路及びMD5ハッシュ値を内部許可プログラム格納部に格納する。
【0055】
内部許可プログラム格納部は、下の表1のような形式で格納され、プログラム名前、プログラム全体経路及びMD5ハッシュ値の情報を含むファイルまたはデータベースの形式で格納される。
【0056】
【表1】

【0057】
図6は、本発明で提示するインターネット接続ファイアウォール柔軟化装置を使用する全体ファイアウォールの動作を示すブロック図であって、以下、これを詳細に説明する。
【0058】
インターネット使用プログラム610が、サーバとして動作するためにサーバポートをオープンすると、インターネット接続ファイアウォール柔軟化装置620は、当該サーバポートをオープンしたプログラムが内部許可プログラム格納部650に登録されているプログラムであるか否かを判断する。
【0059】
当該プログラムが登録されていれば、インターネット接続ファイアウォール柔軟化装置620は、オープンされたサーバポートを内部許可ポート格納部660に登録する。
【0060】
一方、外部からインバウンドトラフィックが伝送されたとき、インバウンドトラフィックは、ネットワークカード640を通過後、インターネット接続ファイアウォール630に到達する。インターネット接続ファイアウォール柔軟化装置620は、インバウンドトラフィックのパケットを検査して、目的地ポートが内部許可ポート格納部660に登録されているか否かを判断する。
【0061】
判断の結果、当該ポートが登録されていなければ、パケットはインターネット接続ファイアウォール630に伝送され、このパケットは遮断される。しかし、当該ポートが登録されていれば、パケットはインターネット接続ファイアウォール630を通過することが許可されず、インターネット接続ファイアウォール柔軟化装置620に迂回させるために、フッキングされた原関数が呼び出される。
【0062】
下記の表2は内部許可ポート格納部に登録されたポートを示す例である。
【0063】
【表2】

【0064】
表2に表すように、内部許可ポート格納部は、プログラム全体パス、プロトコル及びポートについての情報を含み、メモリ上に配列または接続リストの形式で存在するか、あるいはファイルまたはデータベースの形式で存在する。
【0065】
図7は、本発明の一実施形態にかかる柔軟なインターネット接続ファイアウォールの内部許可ポート格納部にサーバポートを格納または削除する過程を示すフローチャートである。以下、これを詳細に説明する。
【0066】
まず、ステップS701で、サーバポート、OPEN/CLOSE情報及びプロトコル(TCP、UDPなど)情報をポート監視部から抽出した後、ステップS703で、ポート監視部は、サーバポートをオープンした現在のプログラムが内部許可プログラム格納部に登録されているプログラムであるか否かを判断する。
【0067】
一方、ステップS703で、ネットワークを使用する現在のプロセスについての情報を得る方法は、ポート監視部でPsGetCurrentProcessId()関数を使用して現在のプロセスのID情報を抽出した後、このプロセスIDを通じて現在のプログラムの全体パスを取得する。このようにして取得したプログラムの全体パスを通じて当該プログラムのMD5ハッシュ値を抽出し、このMD5ハッシュ値とプログラム全体パスを用いて、現在のプログラムが内部許可プログラム格納部に存在するか否かを判断するものである。
【0068】
ステップS703での判断の結果、現在のプログラムが登録されていなければ処理を終了し、登録されていれば、ステップS705で、抽出されたOPEN/CLOSE情報を使用してサーバポートがオープンされているか、もしくはクローズされているかを判断する。
【0069】
ステップS705での判断の結果、オープンされたポートであれば、ステップS709で、プログラム全体パス、プロトコル及びサーバポートの情報を内部許可ポート格納部に登録した後、処理を終了する。
【0070】
また、ステップS705での判断の結果、オープンされたポートでなければ、ステップS706及びステップS707で、プログラム全体パス、プロトコル及びサーバポートの情報と一致する内部許可ポート格納部の項目を検索して削除した後、処理を終了する。
【0071】
図8は、本発明の一実施形態にかかるインターネット接続ファイアウォールの前のパケット処理過程を示すフローチャートである。以下、これを詳細に説明する。
【0072】
まず、ステップS801で、インターネット接続ファイアウォールで処理される前にインバウンドトラフィックからパケットを抽出した後、ステップS803で、抽出されたパケットから、当該目的地(ローカル)ポートとプロトコル情報を抽出する。
【0073】
そして、ステップS805で、抽出した目的地ポートとプロトコルの情報が内部許可ポート格納部に登録されているか否かを判断する。
【0074】
ステップS805での判断の結果、情報が登録されていなければ、ステップS807で、当該パケットをインターネット接続ファイアウォールに伝送する。一方、情報が登録されていれば、目的地ポートは許可されなければならないポートであるので、ステップS809で、フッキングされた原関数を呼び出すことにより、インターネット接続ファイアウォールを迂回させる。
【0075】
以上、好適な実施形態に基づいて本発明を説明したが、このような実施形態は本発明を制限するためのものではなく例示するためのものである。本発明が属する分野の当業者であれば、本発明の技術思想を逸脱せずに上記実施形態の多様な修正、追加及び代替に想到し得ることは明らかである。したがって、本発明の保護範囲は、添付する請求範囲のみによって限定されるもので、上記のような修正、追加及び代替をすべて含むものとして解釈されなければならない。
【産業上の利用可能性】
【0076】
以上のように、本発明によれば、通信が許可されたプログラムによって使用されるポートが、インターネット接続ファイアウォールに自動で追加及び除去できるようにすることで、専門家ではないユーザであっても簡単にインターネット接続ファイアウォールの優れた機能を使用することができる。
【図面の簡単な説明】
【0077】
【図1】マイクロソフト社がウィンドウズ(登録商標)XPバージョンから基本的に提供する、コンピュータ及びネットワークを保護するためのインターネット接続ファイアウォールを示す図である。
【図2】ウィンドウズ(登録商標)XPでサーバとして動作するソフトウェアが使用するポート、プロトコル、IPなどを追加するためのインタフェース画面を示す図である。
【図3】本発明の実施形態において利用されるマイクロソフトウィンドウズ(登録商標)オペレーティングシステムのモード区分を示すブロック図である。
【図4】本発明の実施形態にかかるインターネット接続ファイアウォールの動作を簡略化したフローチャートであって、ポート監視部とインターネット接続ファイアウォールのインストール及び内部許可プログラム格納部への許可プログラムリストの格納の過程を示すフローチャートである。
【図5】本発明の一実施形態にかかる柔軟なインターネット接続ファイアウォールにおいて、通信許可プログラムリストを内部許可プログラム格納部に格納するために表示されるインタフェース画面を示す図である。
【図6】本発明の実施形態にかかるインターネット接続ファイアウォール柔軟化装置を用いた全ファイアウォールの動作を示すブロック図である。
【図7】本発明の一実施形態にかかる柔軟なインターネット接続ファイアウォールの内部許可ポート格納部にサーバポートを格納または削除する過程を示すフローチャートである。
【図8】本発明の一実施形態にかかるインターネット接続ファイアウォールの前に実行されるパケット処理過程を示すフローチャートである。

【特許請求の範囲】
【請求項1】
ネットワーク間で通信される情報の制限条件を設定することによって、ネットワークに接続されたコンピュータの当該ネットワーク接続を保護するファイアウォールを用いて、信頼できるプロセスを許可するネットワークセキュリティシステムにおいて:
ネットワーク通信プログラムを通じて使用されるサーバポート情報を抽出するポート監視部と;
前記ファイアウォールによって通信が許可されるプログラムについての情報を抽出し、抽出された情報を登録する内部許可プログラム格納部と;
前記ポート監視部が、前記内部許可プログラム格納部に登録されているプログラムを用いて、使用されるサーバポートについての情報を抽出した場合、前記抽出されたサーバポート情報を登録する内部許可ポート格納部と;
インバウンドトラフィックのパケットの目的地であるポートが前記内部許可ポート格納部に登録されているか否かを判断し、登録されていないポートであれば当該パケットを前記ファイアウォールに伝送し、登録されているポートであれば当該パケットが前記ファイアウォールを迂回するようにするファイアウォール柔軟化装置と;
を含むことを特徴とする、ネットワークセキュリティシステム。
【請求項2】
前記内部許可プログラム格納部によって抽出され登録されるプログラム情報は、プログラム名、プログラムの全体パス及びMD5ハッシュ値の情報を含むことを特徴とする、請求項1に記載のネットワークセキュリティシステム。
【請求項3】
前記内部許可ポート格納部によって抽出され登録されるサーバポート情報は、プログラムの全体パス、プロトコル及びポートの情報を含むことを特徴とする、請求項1に記載のネットワークセキュリティシステム。
【請求項4】
ネットワーク間で通信される情報の制限条件を設定することによって、ネットワークに接続されたコンピュータの当該ネックワーク接続を保護するファイアウォールを用いて、信頼できるプロセスを許可するネットワークセキュリティの方法において:
ネットワーク通信プログラムを通じて使用されるサーバポートの情報を抽出する第1段階と;
前記ファイアウォールで通信が許可されるプログラムについての情報を抽出し、抽出された情報を内部許可プログラム格納部に登録する第2段階と;
前記第1段階において、前記内部許可プログラム格納部に登録されているプログラムを用いて、使用されるサーバポートについての情報を抽出した場合、前記抽出されたサーバポート情報を内部許可ポート格納部に登録する第3段階と;
インバウンドトラフィックのパケットの目的地であるポートが前記内部許可ポート格納部に登録されているか否かを判断する第4段階と;
前記第4段階での判断の結果、登録されていないポートであれば、当該パケットを前記ファイアウォールに伝送する第5段階と;
前記第4段階での判断の結果、登録されているポートであれば、当該パケットが前記ファイアウォールを迂回するようにする第6段階と;
を含むことを特徴とする、ネットワークセキュリティの方法。
【請求項5】
TCPを用いて通信する場合、前記第1段階は、ソケットがサーバーとして動作するためにリスンを実行するときに、フッキングを行うことでリスンポートを抽出することを特徴とする、請求項4に記載のネットワークセキュリティの方法。
【請求項6】
UDPを用いて通信する場合、前記第1段階は、ソケットがパケットを受信するために関連する関数を呼び出すときに、ユーザモードでフッキングを行うことで、サーバポートを抽出することを特徴とする、請求項4に記載のネットワークセキュリティの方法。
【請求項7】
前記第6段階は、フッキングされた元の関数を呼び出すことによって、当該パケットがファイアウォールを迂回するようにすることを特徴とする、請求項4に記載のネットワークセキュリティの方法。
【請求項8】
前記第2段階で抽出され登録されるプログラム情報は、プログラム名、プログラムの全体パス及びMD5ハッシュ値の情報を含むことを特徴とする、請求項4に記載のネットワークセキュリティの方法。
【請求項9】
前記第3段階で抽出され登録されるサーバポート情報は、プログラムの全体パス、プロトコル及びポートの情報を含むことを特徴とする、請求項4に記載のネットワークセキュリティの方法。
【請求項10】
ネットワーク間で通信される情報の制限条件を設定することによって、ネットワークに接続されたコンピュータの当該ネックワーク接続を保護するファイアウォールを用いて、信頼できるプロセスを許可するネットワークセキュリティ方法であって、
ネットワーク通信プログラムを通じて使用されるサーバポート情報を抽出する第1段階と;
前記ファイアウォールで通信が許可されるプログラムについての情報を抽出し、抽出された情報を内部許可プログラム格納部に登録する第2段階と;
前記第1段階において、前記内部許可プログラム格納部に登録されているプログラムを用いて、使用されるサーバポートについての情報を抽出した場合、前記抽出されたサーバポート情報を内部許可ポート格納部に登録する第3段階と;
インバウンドトラフィックのパケットの目的地であるポートが前記内部許可ポート格納部に登録されているか否かを判断する第4段階と;
前記第4段階での判断の結果、登録されていないポートであれば、当該パケットを前記ファイアウォールに伝送する第5段階と;
前記第4段階での判断の結果、登録されているポートであれば、当該パケットが前記ファイアウォールを迂回するようにする第6段階と;
を含むことを特徴とする、ネットワークセキュリティの方法を実行することができるコンピュータが読取可能な記録媒体。

【図3】
image rotate

【図4】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図1】
image rotate

【図2】
image rotate

【図5】
image rotate


【公表番号】特表2007−517305(P2007−517305A)
【公表日】平成19年6月28日(2007.6.28)
【国際特許分類】
【出願番号】特願2006−546833(P2006−546833)
【出願日】平成16年12月27日(2004.12.27)
【国際出願番号】PCT/KR2004/003456
【国際公開番号】WO2005/064842
【国際公開日】平成17年7月14日(2005.7.14)
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.リナックス
2.Linux
【出願人】(506216774)インカ インターネット カンパニー リミテッド (7)
【Fターム(参考)】