(57)【特許請求の範囲】
【請求項１】
IPデータ転送モジュールと、RDP処理モジュールと、RDPログ生成モジュールとを備えるRDPデータ収集装置であって、
前記IPデータ転送モジュールは、ネットワークにおけるデータパケットを受信し、該データパケットを処理して転送する機能を有し、
前記RDP処理モジュールは、RDPセッションデータのトランスポート処理における暗号化キー情報を取得して、暗号文データを暗号解読する機能を有し、
前記RDPログ生成モジュールは、特定のルール及びデータフォーマットに従ってRDPセッションのログを生成し、
前記RDP処理モジュールがRDPデータパケットに対して行う処理は、RDP接続認証段階とRDPデータトランスポート段階とを含み、
前記RDP接続認証段階において、前記RDP処理モジュールは、サーバーRSA公開鍵をRDPデータ収集装置のRSA公開鍵に取り替え、且つクライアントのランダムな文字列及びサーバーのランダムな文字列を利用してネゴシエーションを行ってデータトランスポート段階に用いられるクライアント及びサーバーのRC4暗号化キーを取得し、前記RDP処理モジュールは更にアイデンティティ認証処理を実施し、
前記RDPデータトランスポート段階において、前記RDP処理モジュールは、受信したRDPデータパケットの１通のデータをコピーし、生データを変更せずに直接IPデータ転送モジュールに渡して転送し、コピーしたデータをRC4暗号化キーによって暗号解読し、次に、暗号解読後のデータを前記RDPログ生成モジュールに渡してRDPログを生成する、ことを特徴とするRDPデータ収集装置。
【請求項２】
前記IPデータ転送モジュールは、
ネットワークにおけるデータメッセージを受信した後に、IPパケットを再編成して、TCPパケットを再編成し、データパケットが再送パケットである場合には、TCP再送処理を行い、
パケットのカテゴリを判断し、RDPデータパケットである場合には、該RDPデータパケットを前記RDP処理モジュールに渡し、前記RDP処理モジュールによる処理が完了した後に、前記RDP処理モジュールから前記RDPデータパケットを受け取って、再びネットワークに転送し、一方、RDPデータパケットではない場合には、直接ネットワークに転送することを特徴とする請求項１に記載のRDPデータ収集装置。
【請求項３】
前記RDP処理モジュールがサーバーRSA公開鍵をRDPデータ収集装置のRSA公開鍵に取り替えることは、
RDPサーバーがクライアントに送信したサーバーRSA公開鍵を抽出して、該サーバーRSA公開鍵をRDPデータ収集装置のRSA公開鍵に取り替え、取り替えられた前記サーバーRSA公開鍵の情報をX.509証明書に記憶し、或いはRDPの所定の１つのフォーマットに記憶し、前記サーバーRSA公開鍵の情報が前記X.509証明書に記憶されると、ルート証明書を取り替えることを含むことを特徴とする請求項１に記載のRDPデータ収集装置。
【請求項４】
前記RDP処理モジュールがクライアントのランダムな文字列及びサーバーのランダムな文字列を利用してネゴシエーションを行ってデータトランスポート段階に用いられるクライアント及びサーバーのRC4暗号化キーを取得することは、
RDPサーバーがクライアントに送信した暗号化キーネゴシエーションのためのサーバーのランダムな文字列情報を抽出して、前記クライアントに送信することと、
RDPクライアントがサーバーに送信した暗号化キーネゴシエーションのための暗号化したランダムな文字列情報を抽出して、RDPデータ収集装置の秘密鍵により暗号解読してクライアントのランダムな文字列を抽出し、そして前記サーバーのRSA公開鍵により暗号化して、暗号化した前記クライアントのランダムな文字列情報を前記サーバーに送信することと、
前記クライアントのランダムな文字列及び前記サーバーのランダムな文字列によりネゴシエーションを行って、データトランスポート段階に用いられる前記クライアント及び前記サーバーのRC4暗号化キーを取得することと、
を含むことを特徴とする請求項１に記載のRDPデータ収集装置。
【請求項５】
前記アイデンティティ認証処理は、
RDPクライアントがサーバーに送信したアイデンティティ認証情報フィールドを抽出して、RDPデータ収集装置の秘密鍵により暗号解読を行い、そして前記サーバーのRSA公開鍵により暗号化した後に前記サーバーに送信することを含む操作により実施されることを特徴とする請求項１に記載のRDPデータ収集装置。
【請求項６】
前記RDPログ生成モジュールは、前記RDP処理モジュールから受け取ったデータに基づき、クライアント操作-サーバー応答モードに従って、ユーザの１回の完全な行為を特定のデータフォーマットで１本のログに記録することを特徴とする請求項１に記載のRDPデータ収集装置。
【請求項７】
前記ログのデータフォーマットは、１バイトのログマーク開始ビットと、４バイトのログ長さ情報と、nバイトのデータと、１バイトのログマーク終了ビットとを含み、
前記nバイトのデータの内容は、「タイプ-長さ-数値」のフォーマットを使用し、その中の１バイトはタイプを示し、４バイトは数値長さを示し、mバイトは数値を示し、前記タイプは、ログイン時間と、クライアントポート番号と、クライアントIPアドレスと、サーバー側ポート番号と、サーバーIPアドレスと、データIDと、セッションIDと、ドメイン名と、ログイン名称と、ログインパスワードと、抽出したデータタイプと、抽出したデータとを含む、ことを特徴とする請求項６に記載のRDPデータ収集装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワーク通信分野に関して、特にRDPデータ収集装置及び方法に関する。
【背景技術】
【０００２】
RDP(Remote Desktop Protocol、リモートデスクトッププロトコル)はマイクロソフト社により提案された通信プロトコルであり、主にWindowsオペレーティングシステムでのマルチユーザーモードを実現し、Windows端末サーバーで作動しているアプリケーションプログラムにリモートアクセスして、アプリケーションのロジック実行をユーザーインターフェースから分離して行う。
【０００３】
サーバー側は、ビデオドライバー説明（description）を使用することによって出力を表示し、説明情報を、RDPプロトコルを使用するネットワークデータパケットに載せて、ネットワーク経由でクライアントに送信する。クライアントでは、ビデオドライバーは、説明情報を受信し、処理して表示する。入力プロセスにおいては、クライアントのマウス及びキーボードメッセージをクライアントから直接にサーバー側に送信し、サーバー側では、RDPは自分のバーチャルマウス及びキーボードドライバーを使用してこれらのマウス及びキーボードイベントを受信する。
【０００４】
現在のネットワーク情報セキュリティ業界において次第に一般に認識されつつある１つの事実として、セキュリティイベントによる損失の原因のうち、75％以上は内部職員の不正アクセス、乱用、及び誤操作等内部からのものである。これらの内部からのセキュリティ脅威が効果的に制御されない原因を分析すると、例えば監査システムが効果的に働かないか全く働かないこと、完全なアクセス認可メカニズムを有していないこと、完全な職務分掌メカニズムを備えていないこと、職員セキュリティの意識及び技能が不足していること等が主な原因であることが分かる。そして、信頼性のある完全な監査システムがないことが、現在に広く存在する、最も深刻かつ重要な根本的原因であり、真剣に検討して対処する必要がある。
【０００５】
監査システムは、重要な情報システムに発生する様々なセッション及びイベントを記録するのに役立ち、この重要な情報システムとしては、ネットワークにおけるもの、ホストコンピューターオペレーティングシステムにおけるもの及び、アプリケーションシステムにおけるものも含む。これらの監査情報は情報システムの動作の基本的な軌跡を反映するので、管理者及び監査者にとって、情報システムの運用が法律や法規の規定及び組織のセキュリティ方針に適合するか否かをチェックすることが容易になる。また、情報システムに故障及びセキュリティ事故が発生した際に、調査官はこれらの重要な監査情報を航空機の「ブラックボックス」のように用いて、イベントの後の情報を深く探り、イベント過程を再構成して、イベントの原因を分析して完全に特定し、さらなる措置を実施して損失の再度の発生を防ぐことができる。
【０００６】
監査システムは、監査する前に、監査用の基本データを提供するデータ収集装置を必要とする。図１に示すように、既存技術におけるRDPデータ収集装置は、作動する際に、サーバー及びクライアントのそれぞれに１つのTCP接続を確立する必要があり、その後にデータ収集、RDP暗号解読、RDP平文ログを生成する等の操作を行う。該装置は、作動する際に長時間に渡ってTCP接続の情報を維持する必要があり、システムリソースのオーバーヘッド（負荷）が大きい。
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明は、既存技術におけるRDPデータ収集装置が長時間に渡ってTCP接続の情報を維持する必要がありシステムリソースのオーバーヘッドが大きいという欠陥を克服するために、時間オーバーヘッド及びシステムリソースのオーバーヘッドの両方が小さいなRDPデータ収集装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を実現するために、本発明はRDPデータ収集装置を提供する。このRDPデータ収集装置は、IPデータ転送モジュールと、RDP処理モジュールと、RDPログ生成モジュールとを備え、前記IPデータ転送モジュールは、ネットワークにおけるデータパケットを受信し、該データパケットを処理して転送する機能を有し、前記RDP処理モジュールは、RDPセッションデータのトランスポート処理における暗号化キー情報を取得して、暗号文データを暗号解読する機能を有し、前記RDPログ生成モジュールは、特定のルール及びデータフォーマットに従ってRDPセッションのログを生成する。
【０００９】
上記の技術的解決手段において、前記IPデータ転送モジュールは、ネットワークにおけるデータメッセージを受信した後に、IPパケットを再編成して、TCPパケットを再編成し、データパケットが再送パケットである場合に、TCP再送処理を行い、パケットのカテゴリを判断し、RDPデータパケットである場合には、RDPデータパケットをRDP処理モジュールに渡し、RDP処理モジュールによる処理が完了した後に、RDP処理モジュールからRDPデータパケットを受け取って、再びネットワークに転送し、一方、RDPデータパケットではない場合には、直接ネットワークに転送する。
【００１０】
上記の技術的解決手段において、前記RDP処理モジュールがRDPデータパケットに対して行う処理は、RDP接続認証段階とRDPデータトランスポート段階とを含み、
前記RDP接続認証段階において、前記RDP処理モジュールは、サーバーRSA公開鍵をRDPデータ収集装置のRSA公開鍵に取り替え、且つクライアントのランダムな文字列及びサーバーのランダムな文字列を利用してネゴシエーションを行ってデータトランスポート段階に用いられるクライアント及びサーバーのRC4暗号化キーを取得し、前記RDP処理モジュールは更にアイデンティティ認証処理を実施し、
前記RDPデータトランスポート段階において、前記RDP処理モジュールは、受信したRDPデータパケットの１通のデータをコピーし、生データを変更せずに直接IPデータ転送モジュールに渡して転送し、コピーしたデータをRC4暗号化キーによって暗号解読し、次に、暗号解読後のデータをRDPログモジュールに渡してRDPログを生成する。
【００１１】
上記の技術的解決手段において、前記RDP処理モジュールがサーバーRSA公開鍵をRDPデータ収集装置のRSA公開鍵に取り替えることは、
RDPサーバーがクライアントに送信したサーバーRSA公開鍵を抽出して、該サーバーRSA公開鍵をRDPデータ収集装置のRSA公開鍵に取り替え、取り替えられたサーバーRSA公開鍵の情報をX.509証明書に記憶し、或いはRDPの所定の１つのフォーマットに記憶し、前記サーバーRSA公開鍵の情報が前記X.509証明書に記憶されると、ルート証明書を取り替える。
【００１２】
上記の技術的解決手段において、前記RDP処理モジュールがクライアントランダムな文字列及びサーバーランダムな文字列を利用してネゴシエーションを行ってデータトランスポート段階に用いられるクライアント及びサーバーのRC4暗号化キーを取得することは、
RDPサーバーがクライアントに送信した暗号化キーネゴシエーションのサーバーランダムな文字列情報を抽出して、クライアントに送信することと、
RDPクライアントがサーバーに送信した暗号化キーネゴシエーションのための暗号化したランダムな文字列情報を抽出して、RDPデータ収集装置の秘密鍵により暗号解読してクライアントのランダムな文字列を抽出し、そしてサーバーのRSA公開鍵により暗号化して、暗号化したクライアントのランダムな文字列情報をサーバーに送信することと、
前記クライアントのランダムな文字列及びサーバーのランダムな文字列によりネゴシエーションを行って、データトランスポート段階に用いられるクライアント及びサーバーのRC4暗号化キーを取得することとを含む。
【００１３】
上記の技術的解決手段において、前記アイデンティティ認証処理は、RDPクライアントがサーバーに送信したアイデンティティ認証情報フィールドを抽出して、RDPデータ収集装置の秘密鍵により暗号解読を行い、そしてサーバーのRSA公開鍵により暗号化した後にサーバーに送信することを含む操作により実施される。
【００１４】
上記の技術的解決手段において、前記RDPログ生成モジュールは、RDP処理モジュールから受け取ったデータに基づき、クライアント操作-サーバー応答モードに従って、ユーザの１回の完全な行為を特定のデータフォーマットで１本のログに記録する。
【００１５】
上記の技術的解決手段において、前記ログのデータフォーマットは、１バイトのログマーク開始ビットと、４バイトのログ長さ情報と、nバイトのデータと、１バイトのログマーク終了ビットとを含み、
前記nバイトのデータの内容は、「タイプ-長さ-数値」のフォーマットを使用し、その中の１バイトはタイプを示し、４バイトは数値長さを示し、mバイトは数値を示し、前記タイプは、ログイン時間と、クライアントポート番号と、クライアントIPアドレスと、サーバー側ポート番号と、サーバーIPアドレスと、データIDと、セッションIDと、ドメイン名と、ログイン名称と、ログインパスワードと、抽出したデータタイプと、抽出したデータとを含む。
【発明の効果】
【００１６】
本発明の利点は以下の通りであり、
まず、本発明のRDPデータ収集装置は、データを収集する時にTCP/IPプロトコルスタックの全ての機能を使用するのではなく、TCP/IPプロトコルスタックにおける一部の機能、すなわち、IP再編成、TCP再編成及びTCP再送の機能のみを使用し、大幅にデータパケット受信転送処理を簡単化して、処理時間オーバーヘッドを低減することができる。
【００１７】
次に、本発明のRDPデータ収集装置は、クライアント及びサーバーのいずれに対してもTCP接続を確立しないので、TCP接続の情報を維持する必要がなく、システムリソースのオーバーヘッドを節約することができる。
【００１８】
さらに、生成したRDPログによって、管理者及び監査者はユーザが行ったRDPログイン及び操作が法律や法規の規定及び組織のセキュリティ方針に適合するか否かをチェックすることが容易になり、故障及びセキュリティ事故が発生した際に、調査官は生成したRDPログによって、そのイベントを深く探り、イベント過程を再構成して、イベントの原因を分析して完全に特定し、さらなる措置を実施して故障及びセキュリティ事故生を避けることができる。
【図面の簡単な説明】
【００１９】
【図１】図１は従来技術のRDPデータ収集装置の通信過程を示す模式図である。
【図２】図２は本発明のRDPデータ収集装置の接続位置を示す模式図である。
【図３】図３は本発明のRDPデータ収集装置の機能モジュール図である。
【図４】図４は本発明のRDPデータ収集装置における各機能モジュールのデータパケットに対する処理流れ図である。
【図５】図５は本発明のRDPデータ収集装置の通信過程を示す模式図である。
【発明を実施するための形態】
【００２０】
以下、図面を参照して本発明を更に説明する。
【００２１】
図２に示すように、本発明のRDPデータ収集装置は、クライアントとサーバーとの間に位置して、RDPセッションメッセージをデータ収集して、RDPセッションログを生成することができ、監査に用いられる。本発明のRDPデータ収集装置は、TCP/IPプロトコルスタックを採用せずに、データ収集過程において、直接ネットワーク層においてトランスポート層(TCP)及びアプリケーション層(各種のプロトコル)のデータメッセージを処理する。
【００２２】
図３に示すように、本発明のRDPデータ収集装置は、IPデータ転送モジュールと、RDP処理モジュールと、RDPログ生成モジュールとを備える。前記IPデータ転送モジュールは、ネットワークにおけるデータパケットを受信し、該データパケットを処理して転送する機能を有し、前記RDP処理モジュールは、RDPセッションデータトランスポート過程における暗号化キー情報を取得して、暗号文データを暗号解読する機能を有し、前記RDPログ生成モジュールは、特定のルール及びデータフォーマットに基づいてRDPセッションログを生成する。
【００２３】
以下、図４を参照して本発明のRDPデータ収集装置における各モジュールを更に詳しく説明する。
【００２４】
前記IPデータ転送モジュールは、ネットワークにおけるデータメッセージを受信した後に、IPパケットを再編成して、TCPパケットを再編成し、データパケットが再送パケットである場合に、TCP再送処理を行い、パケットのカテゴリを判断し、RDPデータパケットである場合には、RDPデータパケットをRDP処理モジュールに渡し、RDP処理モジュールによる処理が完了した後に、RDP処理モジュールからRDPデータパケットを受け取って、再びネットワークに転送し、一方、RDPデータパケットではない場合には、直接ネットワークに転送する。
【００２５】
前記RDP処理モジュールがRDPデータパケットに対して行う処理は、RDP接続認証段階及びRDPデータトランスポート段階に分けられる。
【００２６】
RDP接続認証段階において、RDP処理モジュールは、主に暗号化キーを取得するタスク、及びアイデンティティ認証処理の二つのタスクを実施する。
【００２７】
RDP処理モジュールは、以下の操作によって暗号化キーを取得する。即ち、RDPサーバーがクライアントに送信した暗号化キーのネゴシエーションのためのサーバーのランダムな文字列情報及びRSA公開鍵を抽出し、そのうちサーバーRSA公開鍵をRDPデータ収集装置のRSA公開鍵に取り替え、このRDPデータ収集装置のRSA公開鍵及びサーバーのランダムな文字列情報をいずれもクライアントに転送し、取り替えられたサーバーRSA公開鍵の情報をX.509証明書に記憶し、或いはRDPの所定のある特別なフォーマットに記憶する。サーバーRSA公開鍵の情報がX.509証明書に記憶される場合には、公開鍵を取り替えた後に、クライアントはサーバーアイデンティティの検証を満たすように、ルート証明書を取り替える必要があり、RDP処理モジュールは、RDPクライアントがサーバーに送信した暗号化キーのネゴシエーションのための暗号化したランダムな文字列情報を抽出して、RDPデータ収集装置の秘密鍵により暗号解読してクライアントのランダムな文字列を抽出する。そしてサーバーのRSA公開鍵により暗号化して、暗号化したクライアントのランダムな文字列情報をサーバーに送信する。RDP処理モジュールの上記操作によって、サーバー、クライアント、RDPデータ収集装置のRDP処理モジュールは、いずれもクライアントのランダムな文字列及びサーバーのランダムな文字列を有して、クライアントのランダムな文字列とサーバーのランダムな文字列を利用してネゴシエーションを行い、データトランスポート段階のクライアント及びサーバーのRC4暗号化キーを取得することができる。
【００２８】
RDP処理モジュールは、以下の操作によってアイデンティティ認証処理を実施する。すなわち、RDPクライアントがサーバーに送信したアイデンティティ認証情報フィールドを抽出し、RDPデータ収集装置の秘密鍵により暗号解読を行い、そしてサーバーのRSA公開鍵により暗号化した後にサーバーに送信する。
【００２９】
RDP処理モジュールは、上記のRSA公開鍵への取り替え及びアイデンティティ認証処理を行ったRDPデータパケットをIPデータ転送モジュールに渡して転送する。RDP処理モジュールは、暗号化キーの取得及びアイデンティティ認証処理操作において、いずれもパケットの修正に関わることがあるため、修正後のパケットメッセージ認証コードを改めて計算する必要がある。
【００３０】
RDPデータトランスポート段階において、RDP処理モジュールは、受信したRDPデータパケットの１通のデータをコピーし、生データを変更せずに直接IPデータ転送モジュールに渡して転送し、コピーしたデータをRC4暗号化キーによって暗号解読して、次に、暗号解読後のデータをRDPログ生成モジュールに渡してRDPログを生成する。
【００３１】
前記RDPログ生成モジュールは、RDP処理モジュールから受け取ったデータに基づき、クライアント操作-サーバー応答モードに従って、ユーザの１回の完全な行為を１本のログに記録する。本実施例において、ログフォーマットの内容は、１バイトのログマーク開始ビットと、４バイトのログ長さ情報と、nバイトのデータと、１バイトのログマーク終了ビットとを含む。nバイトデータの内容はTLV(Type-Length-Value)、１バイトのType情報と、４バイトの数値長さ情報と、mバイトの数値を含む。データのタイプは、ログイン時間と、クライアントポート番号と、クライアントIPアドレスと、サーバー側ポート番号と、サーバーIPアドレスと、データIDと、セッションIDと、ドメイン名と、ログイン名称と、ログインパスワードと、抽出したデータタイプと、抽出したデータ等とを含む。生成されたRDPログはローカルキャッシュ(ローカルキャッシュデータを必要とする際に監査部門に導出して監査することができる)することができ、専門の監査システムに直接的に送信して監査することもできる。
【００３２】
図５及び図１を比較すると、本発明のRDPデータ収集装置は、クライアント又はサーバーとTCP接続を確立しないため、該RDPデータ収集装置はスマートスイッチに相当して、TCP接続の情報を維持する必要がなく、効果的にシステムリソースのオーバーヘッドを節約することができる。
【００３３】
以上の実施例は本発明の技術的解決手段を説明するためのものであり、制限するためのものではない。実施例を参照して本発明を詳細的に説明したが、当業者は、本発明の技術的解決手段に対する修正や均等な取り替えは、本発明の技術的解決手段の精神及び範囲を逸脱するものではなく、本発明の請求項の範囲に含まれることを理解すべきである。 
【図１】
0006391823.tif 000002
【図２】
0006391823.tif 000003
【図３】
0006391823.tif 000004
【図４】
0006391823.tif 000005
【図５】
0006391823.tif 000006