(57)【特許請求の範囲】
【請求項１】
ネットワークを介して接続された複数のコンピュータ間で不正な通信を行なうソフトウェアを検出する不正通信ソフトウェア検出方法であって、
前記複数のコンピュータ上で各々デーモン・プログラムをメイクしてバックグラウンド・プロセスを生成する際に同時に、
（イ）ディジタル署名の対象となるデータを各々ハッシュするハッシュステップと、
（ロ）前記ハッシュステップによりハッシュされたデータを各コンピュータの有する所定の秘密鍵で各々変換して各ディジタル署名を生成するディジタル署名ステップと、
（ハ）前記ディジタル署名ステップにより生成された各ディジタル署名をネットワークを介して接続された記録装置に各々記録するディジタル署名記録ステップとを有し、
前記各バックグラウンド・プロセスが他のコンピュータ上の対応する他のバックグラウンド・プロセスと通信を行なう場合、前記記録装置に記録された当該他のバックグラウンド・プロセスのディジタル署名を読み出し、当該他のバックグラウンド・プロセスのデジタル署名を他のコンピュータの有する所定の秘密鍵に対応する公開鍵で変換して検証することにより、当該他のバックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証する認証ステップと
を備えたことを特徴とする不正通信ソフトウェア検出方法。
【請求項２】
ネットワークを介して接続された複数のコンピュータ間で不正な通信を行なうソフトウェアを検出する不正通信ソフトウェア検出方法であって、
前記複数のコンピュータ上で各々デーモン・プログラムをメイクしてバックグラウンド・プロセスを生成する際に、
（イ）各バックグランド・プロセスに対し各々公開鍵演算を施して秘密鍵と認証書とを生成する鍵ペア生成ステップと、
（ロ）前記鍵ペア生成ステップにより生成された秘密鍵で各バックグランド・プロセスを変換し、各ディジタル署名を生成するディジタル署名ステップとを有し、
前記各バックグラウンド・プロセスが他のコンピュータ上の対応する他のバックグラウンド・プロセスと通信を行なう場合、ディジタル署名された当該他のバックグラウンド・プロセスを読み込み当該他のバックグランド・プロセスの公開されている認証書で変換して検証することにより、当該他のバックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証する認証ステップと
を備えたことを特徴とする不正通信ソフトウェア検出方法。
【請求項３】
前記認証ステップにおいて前記他のバックグラウンド・プロセスが不正な通信を行うソフトウェアではないと認証された後に、前記記録装置に記録された各ディジタル署名を所定の期間毎に相互に交換して検証を行なう交換ステップをさらに備えたことを特徴とする請求項１記載の不正通信ソフトウェア検出方法。
【請求項４】
前記ディジタル署名ステップは、前記鍵ペア生成ステップにより生成された秘密鍵で各バックグランド・プロセスが出力する所定のデータを変換し、各ディジタル署名を生成し、
前記認証ステップは、各バックグラウンド・プロセスが他のコンピュータ上の対応する他のバックグラウンド・プロセスと通信を行なう場合、ディジタル署名された当該他のバックグラウンド・プロセスが出力する所定のデータを当該他のバックグランド・プロセスの公開されている認証書で変換して検証することにより、当該他のバックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証することを特徴とする請求項２記載の不正通信ソフトウェア検出方法。
【請求項５】
前記所定のデータは、バックグラウンド・プロセスが出力するログ・ファイルであることを特徴とする請求項４記載の不正通信ソフトウェア検出方法。
【請求項６】
前記所定のデータは、バックグラウンド・プロセスが出力するパケット・データであることを特徴とする請求項４記載の不正通信ソフトウェア検出方法。
【請求項７】
前記ディジタル署名記録ステップは、前記ディジタル署名ステップにより生成された各ディジタル署名を前記バックグラウンド・プロセスに固有の記録装置に各々記録することを特徴とする請求項１記載の不正通信ソフトウェア検出方法。
【請求項８】
前記所定のデータは、バックグラウンド・プロセスの構成を記録した設定ファイルであり、
前記認証ステップは、正規のユーザがバックグラウンド・プロセスの利用を行なう場合、ディジタル署名された該バックグラウンド・プロセスの設定ファイルを該バックグランド・プロセスの認証書で変換して検証することにより、該バックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証することを特徴とする請求項４記載の不正通信ソフトウェア検出方法。
【請求項９】
前記ディジタル署名ステップは、前記ハッシュステップによりハッシュされたデータを各コンピュータに共通の秘密鍵で各々変換して各ディジタル署名を生成し、
前記ディジタル署名記録ステップは、前記ディジタル署名ステップにより生成された各ディジタル署名を前記バックグラウンド・プロセスに固有の記録装置に各々記録し、
前記認証ステップの後に、正規のユーザがバックグラウンド・プロセスの実行設定を行なう場合、前記認証ステップにより不正な通信を行うソフトウェアではないと認証されたバックグラウンド・プロセスに対して所定のコマンドを送り、該所定のコマンドに対して各バックグラウンド・プロセスから返された結果の多数決をとることにより、バックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証することを特徴とする請求項１記載の不正通信ソフトウェア検出方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、不正通信ソフトウェア検出方法に関し、特に認証書と秘密鍵とを用いて署名・検証を行う認証書システムを利用することにより不正通信ソフトウェアを自動的に判別する不正通信ソフトウェア検出方法に関する。
【０００２】
【従来の技術】
図２４は、従来の不正通信ソフトウェア検出方法を示す。図２４において、符号５０は管理対象のコンピュータであるパーソナル・コンピュータ（Personal Computer : ＰＣ）またはワークステーション（Work Station : ＷＳ）（以下、「ＰＣ等」という）、５１はＰＣ等５０内で生成されたバックグラウンド・プロセスのエフ・ティ・ピー・デーモン（ftpDaemon : 以下、「ftpデーモン」という）、５２はＰＣ等５０内で生成されたバックグラウンド・プロセスのテルネット・デーモン（telnetDaemon : 以下、「telnetデーモン」という）、５３はＰＣ等５０内に不正に仕掛けられた不正通信ソフトウェアであるバックドア（Back Door）、６０はプロセスと各デーモンが出力するログ等とを逐一監視し、ネットワークを管理するネットワーク管理者、７０は正規にＰＣ等５０を利用する正規利用者、８０はセキュリティ・ホール（security hole）等を利用してＰＣ等５０内に侵入し、本来のデーモン５１等をバックドア・デーモンに入れ替えたり、一度作成した抜け道を通して正規利用者７０に取って代わる不正通信を行なう侵入者、４００はＰＣ等５０、ネットワーク管理者６０、正規利用者７０および侵入者８０を接続するネットワークである。以下「ネットワーク」という場合、接続されたＰＣ等５０も含めた全体を表現する場合にも用いる。
【０００３】
次に動作について説明する。従来、ネットワーク管理者６０は、プロセスリストを表示させたときに経験から考えてプロセスが不審な実行のされ方をしていることに偶然に気付いた場合、オペレーティング・システムが残す膨大なログファイルを定期的に監視することにより、不正通信ソフトウェアである証拠を押さえ、それをもとにしてネットワーク４００のどこかに隠されているバックドア５３を探していた。
【０００４】
【発明が解決しようとする課題】
上述のように、不正通信を助けるバックドア５３はネットワーク４００に巧妙に隠されて仕掛けられているため、バックドア５３の発見は豊富な経験を持ったネットワーク管理者６０の勘に頼っていた。一方、下位のプロトコル層のネットワーク通信サービスを提供するftpデーモン５１等のデーモン・プログラムまたはデーモン・ソフトウェア（以下、「デーモン・プログラム」という）は、通常ファイルと同様にユーザの権限に基づくアクセス制限によってのみセキュリティを確保されている。従って、ネットワーク通信サービスを提供するデーモン・プログラムそのものを入れ替えられた場合、ログファイルの詳細な解析以外にバックドア５３を効率的に検出することは極めて困難であるという問題があった。
【０００５】
そこで、本発明の目的は、上記問題を解決するためになされたものであり、不正通信を助けるバックドア５３等のソフトウェアを効率的に検出することができる不正通信ソフトウェア検出方法を提供することにある。
【０００６】
【課題を解決するための手段】
この発明の不正通信ソフトウェア検出方法は、ネットワークを介して接続された複数のコンピュータ間で不正な通信を行なうソフトウェアを検出する不正通信ソフトウェア検出方法であって、
前記複数のコンピュータ上で各々デーモン・プログラムをメイクしてバックグラウンド・プロセスを生成する際に同時に、
（イ）ディジタル署名の対象となるデータを各々ハッシュするハッシュステップと、
（ロ）前記ハッシュステップによりハッシュされたデータを各コンピュータの有する所定の秘密鍵で各々変換して各ディジタル署名を生成するディジタル署名ステップと、
（ハ）前記ディジタル署名ステップにより生成された各ディジタル署名をネットワークを介して接続された記録装置に各々記録するディジタル署名記録ステップとを有し、
前記各バックグラウンド・プロセスが他のコンピュータ上の対応する他のバックグラウンド・プロセスと通信を行なう場合、前記記録装置に記録された当該他のバックグラウンド・プロセスのディジタル署名を読み出し、当該他のバックグラウンド・プロセスのデジタル署名を他のコンピュータの有する所定の秘密鍵に対応する公開鍵で変換して検証することにより、当該他のバックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証する認証ステップとを備えたものである。
【０００７】
この発明の不正通信ソフトウェア検出方法は、ネットワークを介して接続された複数のコンピュータ間で不正な通信を行なうソフトウェアを検出する不正通信ソフトウェア検出方法であって、
前記複数のコンピュータ上で各々デーモン・プログラムをメイクしてバックグラウンド・プロセスを生成する際に、
（イ）各バックグランド・プロセスに対し各々公開鍵演算を施して秘密鍵と認証書とを生成する鍵ペア生成ステップと、
（ロ）前記鍵ペア生成ステップにより生成された秘密鍵で各バックグランド・プロセスを変換し、各ディジタル署名を生成するディジタル署名ステップとを有し、
前記各バックグラウンド・プロセスが他のコンピュータ上の対応する他のバックグラウンド・プロセスと通信を行なう場合、ディジタル署名された当該他のバックグラウンド・プロセスを読み込み当該他のバックグランド・プロセスの公開されている認証書で変換して検証することにより、当該他のバックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証する認証ステップとを備えたものである。
【０００８】
ここで、この発明の不正通信ソフトウェア検出方法は、前記認証ステップにおいて前記他のバックグラウンド・プロセスが不正な通信を行うソフトウェアではないと認証された後に、前記記録装置に記録された各ディジタル署名を所定の期間毎に相互に交換して検証を行なう交換ステップをさらに備えることができるものである。
【０００９】
ここで、この発明の不正通信ソフトウェア検出方法において、前記ディジタル署名ステップは、前記鍵ペア生成ステップにより生成された秘密鍵で各バックグランド・プロセスが出力する所定のデータを変換し、各ディジタル署名を生成し、
前記認証ステップは、各バックグラウンド・プロセスが他のコンピュータ上の対応する他のバックグラウンド・プロセスと通信を行なう場合、ディジタル署名された当該他のバックグラウンド・プロセスが出力する所定のデータを当該他のバックグランド・プロセスの公開されている認証書で変換して検証することにより、当該他のバックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証することができるものである。
【００１０】
ここで、この発明の不正通信ソフトウェア検出方法において、前記所定のデータは、バックグラウンド・プロセスが出力するログ・ファイルとすることができるものである。
【００１１】
ここで、この発明の不正通信ソフトウェア検出方法において、前記所定のデータは、バックグラウンド・プロセスが出力するパケット・データとすることができるものである。
【００１２】
ここで、この発明の不正通信ソフトウェア検出方法において、前記ディジタル署名記録ステップは、前記ディジタル署名ステップにより生成された各ディジタル署名を前記バックグラウンド・プロセスに固有の記録装置に各々記録することができるものである。
【００１３】
ここで、この発明の不正通信ソフトウェア検出方法において、前記所定のデータは、バックグラウンド・プロセスの構成を記録した設定ファイルであり、前記認証ステップは、正規のユーザがバックグラウンド・プロセスの利用を行なう場合、ディジタル署名された該バックグラウンド・プロセスの設定ファイルを該バックグランド・プロセスの認証書で変換して検証することにより、該バックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証することができるものである。
【００１４】
ここで、この発明の不正通信ソフトウェア検出方法において、前記ディジタル署名ステップは、前記ハッシュステップによりハッシュされたデータを各コンピュータに共通の秘密鍵で各々変換して各ディジタル署名を生成し、前記ディジタル署名記録ステップは、前記ディジタル署名ステップにより生成された各ディジタル署名を前記バックグラウンド・プロセスに固有の記録装置に各々記録し、前記認証ステップの後に、正規のユーザがバックグラウンド・プロセスの実行設定を行なう場合、前記認証ステップにより不正な通信を行うソフトウェアではないと認証されたバックグラウンド・プロセスに対して所定のコマンドを送り、該所定のコマンドに対して各バックグラウンド・プロセスから返された結果の多数決をとることにより、バックグラウンド・プロセスが不正な通信を行うソフトウェアであるか否かを認証することができるものである。
【発明の詳細な説明】
【００１５】
【発明の実施の形態】
以下、図面を参照して、本発明の実施の形態を詳細に説明する。
【００１６】
図１は、本発明の各実施の形態に共通する概要を示す。図１において、符号１０はサーバ・コンピュータ１、１５はサーバ・コンピュータ１（１０）のログファイル等、２０はサーバ・コンピュータ２、２５はサーバ・コンピュータ２（２０）のログファイル等、３０はプリンタ・サーバ、３２はＰＣ、３５はノートブック型のＰＣ、３７はサーバ・コンピュータ１（１０）、サーバ・コンピュータ２（２０）、プリンタ・サーバ３０、ＰＣ３２およびノートブック型のＰＣ３５等を接続するネットワークである。
【００１７】
図１に示されるように、サーバ・コンピュータ１（１０）またはサーバ・コンピュータ２（２０）は、各々ログファイル等１５または２５の中に、デーモン・プログラムを生成した際にハッシュ・アルゴリズムにより得られた値を埋め込んでおく。具体的にはログファイル１５の中の下線１７またはログファイル２５の中の下線２７で示されるsyslogd等が、定期的にお互いのハッシュ値を計算し、相手のデーモン・プログラムがバックドアに置きかえられていなかどうかを検査する。このため一般的にトロイの木馬（Trojan Horse）といわれる、ユーティリティに見せかけておいて取り込んで実行するとシステムを破壊等するソフトウェアを仕込まれてしまった場合でも、その検出を容易に行なうことができる。
【００１８】
実施の形態１.
図２ないし４は、本発明の実施の形態１における不正通信ソフトウェア検出方法を示す。図２ないし４において、符号１００は管理対象のコンピュータであるＰＣ等Ａ、１１０はＰＣ等Ａ１００内で生成されたftpデーモン、１２０はＰＣ等Ａ１１０内で生成されたtelnetデーモン、２００は管理対象のコンピュータであるＰＣ等Ｂ、２１０はＰＣ等Ｂ２００内で生成されたftpデーモン、２２０はＰＣ等Ｂ２００内で生成されたtelnetデーモン、３００はＰＣ等Ａ１００またはＰＣ等Ｂ２００がハッシュ値等のデータを記録する記録装置、３１０はtelnetデーモン１２０が記録装置３００に記録するディジタル署名されたハッシュ値（Ｈ（Ａ，telnet））、３２０はftpデーモン１１０が記録装置３００に記録するディジタル署名されたハッシュ値（Ｈ（Ａ，ftp））、３３０はtelnetデーモン２２０が記録装置３００に記録するディジタル署名されたハッシュ値（Ｈ（Ｂ，telnet））、３４０はftpデーモン２１０が記録装置３００に記録するディジタル署名されたハッシュ値（Ｈ（Ｂ，ftp））、３５０は記録装置３００に記録されたその他の値、４００はＰＣ等Ａ１００、ＰＣ等Ｂ２００および記録装置３００を接続するネットワークである。
【００１９】
図２に示されるように、ＰＣ等Ａ１００またはＰＣ等Ｂ２００においてネットワーク通信を行うデーモン・プログラムをメイク（make）する際に、同時に、ディジタル署名の対象となるデータをハッシュ（Hash）してハッシュ値を作成する。次に、このハッシュ値をＰＣ等Ａ１００またはＰＣ等Ｂ２００が有する所定の秘密鍵で各々変換してディジタル署名を生成し、このディジタル署名を記録装置３００に各々記録する（ステップＳ１０、Ｓ１２，Ｓ１５、Ｓ１７）。このハッシュ値はデーモン・プログラム毎に固有に署名されているため改竄される心配はない。格納場所は記録装置３００だけではなく任意に決められた場所であってもよい。
【００２０】
図３に示されるように、管理対象のＰＣ等Ｂ２００内のftpデーモン２１０がＰＣ等Ａ１００内の対応するftpデーモン１１０と通信を行なう場合、記録装置３００に記録されたftpデーモン１１０が生成し記録したディジタル署名３２０をＰＣ等Ａ１００の有する所定の秘密鍵に対応する公開鍵で変換して検証する（ステップＳ２０）。この検証により、ftpデーモン１１０が不正な通信を行うソフトウェアであるか否かを認証することができる（ステップＳ３０）。以上と同様の操作をＰＣ等Ａ１００側も行ない、お互いに認証が終わってから、ＴＣＰ層でのコネクションを張る（ステップＳ４０）。
【００２１】
図４に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザ１３０が、あるデーモン・プログラム、例えばftpデーモン１１０を不正通信ソフトウェアであるバックドア１１５と入れ替えた場合を考える。上述のように、改竄不可能な、ftpデーモン１１０が生成し記録したディジタル署名３２０はそのまま記録装置３００内に残っている。したがって、ftpデーモン２１０とバックドア１１５とが上述のように相互に認証を行った場合、バックドア１１５に置きかえられていることを検出することができる（ステップＳ７０）。最後に、バックドア１１５にはＰＣウィルスに類似の機能がある危険性を考えて、ftpデーモン２１０はネットワーク管理者に通知を行い、バックドア１１５とのコネクションを自動的に切断する（ステップＳ８０）。
【００２２】
以上より、実施の形態１によれば、改竄不可能なディジタル署名されたハッシュ値をデーモン・プログラム毎に記録しておくことができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができる。
【００２３】
実施の形態２.
図５ないし７は、本発明の実施の形態２における不正通信ソフトウェア検出方法を示す。図２ないし４で図２ないし４と同じ符号を付した箇所は同じ機能を有するため説明は省略する。図５ないし７において、符号５００は秘密鍵５１０と認証書５２０とを生成するＰＣ等Ｂ２００のインストーラ、６００は秘密鍵６１０と認証書６２０とを生成するＰＣ等Ａ１００のインストーラである。
【００２４】
図５に示されるように、ＰＣ等Ａ１００においてネットワーク通信を行うデーモン・プログラムをメイク（make）する際に、各デーモン１１０、１２０等毎に各々公開鍵演算を施して秘密鍵６１０と認証書６２０とを生成する（ステップＳ１００）。ＰＣ等Ｂ２００においても同様に、ネットワーク通信を行うデーモン・プログラムをメイク（make）する際に、各デーモン２１０、２２０等毎に各々公開鍵演算を施して秘密鍵５１０と認証書５２０とを生成する（ステップＳ２００）。次に、ＰＣ等Ａ１００において、生成された秘密鍵６１０でftpデーモン１１０等を変換し、ディジタル署名を生成する（ステップＳ１２０）。ＰＣ等Ｂ２００においても同様に、生成された秘密鍵５１０でftpデーモン２１０等を変換し、ディジタル署名を生成する（ステップＳ２２０）。
【００２５】
図６に示されるように、ＰＣ等Ｂ２００のftpデーモン２１０は、ＰＣ等Ａ１００の対応するftpデーモン１１０のディジタル署名された実行形式のファイルを読みこみ（ステップＳ３００）、公開されている認証書６２０で変換して検証することにより、ftpデーモン１１０が不正な通信を行うバックドアであるか否かを認証する（ステップＳ３７５）。以上の操作をＰＣ等Ａ１００側からも行ない、ftpデーモン２１０が不正な通信を行うバックドアであるか否かを認証する（ステップＳ３２５、Ｓ３５０）。以上の検証を相互に行なった後、ＴＣＰ層でのコネクションを張る。
【００２６】
図７に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザが、あるデーモン・プログラム、例えばftpデーモン１１０を不正通信ソフトウェアであるバックドア１１５と入れ替えた場合を考える。上述のように、入れかえられたバックドア１１５にはディジタル署名されていないため、ftpデーモン２１０とバックドア１１５とが上述のように相互に認証を行った場合、バックドア１１５に置きかえられていることを検出することができる（ステップＳ４００、Ｓ４２０）。最後に、バックドア１１５にはＰＣウィルスに類似の機能がある危険性を考えて、ftpデーモン２１０はネットワーク管理者に通知を行い、バックドア１１５とのコネクションを自動的に切断する。
【００２７】
以上より、実施の形態２によれば、デーモン・プログラムにディジタル署名しておくことができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができる。
【００２８】
実施の形態３.
図８ないし１０は、本発明の実施の形態３における不正通信ソフトウェア検出方法を示す。図８ないし１０で図５ないし７と同じ符号を付した箇所は同じ機能を有するため説明は省略する。
【００２９】
図８に示されるように、ＰＣ等Ａ１００またはＰＣ等Ｂ２００においてネットワーク通信を行うデーモン・プログラムをメイク（make）する際に、同時に、ディジタル署名の対象となるデータをハッシュ（Hash）してハッシュ値を作成する。次に、このハッシュ値をＰＣ等Ａ１００またはＰＣ等Ｂ２００が有する所定の秘密鍵で各々変換してディジタル署名を生成し、このディジタル署名を記録装置３００に各々記録する（ステップＳ５００、Ｓ５２０、Ｓ５３０、Ｓ５４０）。このハッシュ値はデーモン・プログラム毎に固有に署名されているため改竄される心配はない。格納場所は記録装置３００だけではなく任意に決められた場所であってもよい。
【００３０】
図９に示されるように、管理対象のＰＣ等Ｂ２００内のftpデーモン２１０がＰＣ等Ａ１００内の対応するftpデーモン１１と通信を行なう場合、記録装置３００に記録されたftpデーモン１１０が生成し記録したディジタル署名３２０をＰＣ等Ａ１００の有する所定の秘密鍵に対応する公開鍵で変換して検証する（ステップＳ６００）。この検証により、ftpデーモン１１０が不正な通信を行うソフトウェアであるか否かを認証することができる（ステップＳ６２０）。以上と同様の操作をＰＣ等Ａ１００側も行ない、お互いに認証が終わってから、ＴＣＰ層でのコネクションを張る。次に、ftpデーモン２１０と１１０とは定期的にディジタル署名されたハッシュ値を交換し、常時デーモン・プログラムを監視する（ステップＳ６３０）。元のデーモン・プログラム１１０等が入れ替わる場合は、必ず１度はＴＣＰコネクションが自動的に切断される。
【００３１】
図１０に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザ１３０が、あるデーモン・プログラム、例えばftpデーモン１１０を不正通信ソフトウェアであるバックドア１１５と入れ替えた場合を考える。上述のように、元のデーモン・プログラム１１０等が入れ替わる場合は、必ず１度はＴＣＰコネクションが自動的に切断されるため、ftpデーモン２１０とバックドア１１５とが上述のように相互に認証を行った場合、機能の一部をコピーしたバックドア１１５に置きかえられていることを検出することができる（ステップＳ７００）。最後に、バックドア１１５にはＰＣウィルスに類似の機能がある危険性を考えて、ftpデーモン２１０はネットワーク管理者に通知を行い、バックドア１１５とのコネクションを自動的に切断する（ステップＳ７５０）。
【００３２】
以上より、実施の形態３によれば、デーモン・プログラムがお互いに認証を終わり、ＴＣＰ層でのコネクションを張った後も、デーモン間で定期的にディジタル署名されたハッシュ値を交換し、常時デーモン・プログラムを監視することができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができる。
【００３３】
実施の形態４.
図１１および１２は、本発明の実施の形態４における不正通信ソフトウェア検出方法を示す。図１１および１２で図２ないし４と同じ符号を付した箇所は同じ機能を有するため説明は省略する。図１１および１２において、符号８００はftpデーモン１１０が出力するログファイル、７００は正規利用者である。
【００３４】
実施の形態２においては、生成された秘密鍵６１０でftpデーモン１１０等を変換しディジタル署名を生成したが、本実施の形態４においては実施の形態２と異なり、生成された秘密鍵６１０でftpデーモン１１０が出力するログファイル８００にディジタル署名を行なうことができる（ステップＳ８１０）。正規利用者７００は、利用したいデーモン・プログラムが出力するログファイル８００を公開された認証書６２０で検証し、デーモン・プログラム１１０が正当なものであるか否かを検証することができる（ステップＳ８２０）。これにより、正規利用者７００が正規のデーモン・プログラム１１０等を正しく使っていることが保障される。他は実施の形態２と同様である。
【００３５】
図１２に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザが、あるデーモン・プログラム、例えばftpデーモン１１０を不正通信ソフトウェアであるバックドア１１５と入れ替えた場合を考える。上述のように、入れかえられたバックドア１１５が出力したログファイル８００にはディジタル署名されていない。したがって、公開された認証書６２０を用いることにより（ステップＳ９００）、バックドア１１５に置きかえられていることを検出することができる（ステップＳ９１０）。最後に、バックドア１１５にはＰＣウィルスに類似の機能がある危険性を考えて、ftpデーモン２１０はネットワーク管理者に通知を行い、バックドア１１５とのアクセスが禁止される（ステップＳ９２０）。
【００３６】
以上より、実施の形態４によれば、デーモン・プログラムが出力するログファイルにディジタル署名しておくことができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができる。
【００３７】
実施の形態５.
図１３および１４は、本発明の実施の形態５における不正通信ソフトウェア検出方法を示す。図１３および１４で図１１および１２と同じ符号を付した箇所は同じ機能を有するため説明は省略する。
【００３８】
実施の形態４においては、生成された秘密鍵６１０でftpデーモン１１０が出力するログファイル８００にディジタル署名を行なったが、本実施の形態５においては実施の形態４と異なり、ftpデーモン１１０が出力するパケット８１０に逐次署名を行なうことができる（ステップＳ１０００）。正規利用者７００は、利用したいデーモン・プログラムが出力するパケット８１０を公開された認証書６２０で検証し、デーモン固有のパケットであるか否かを検証することができる（ステップＳ１１００、Ｓ１１１０）。これにより、正規利用者７００が正規のデーモン・プログラム１１０等を正しく使っていることが保障される。他は実施の形態４と同様である。
【００３９】
図１４に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザが、あるデーモン・プログラム、例えばftpデーモン１１０を不正通信ソフトウェアであるバックドア１１５と入れ替えた場合を考える。上述のように、入れかえられたバックドア１１５が出力したパケット８１０にはディジタル署名されていない。したがって、公開された認証書６２０を用いることにより（ステップＳ１２００）、ftpデーモン１１０に固有のパケットではないことを検知し、バックドア１１５に置きかえられていることを検出することができる（ステップＳ１２１０）。最後に、バックドア１１５にはＰＣウィルスに類似の機能がある危険性を考えて、ftpデーモン２１０はネットワーク管理者に通知を行い、バックドア１１５とのアクセスが禁止される（ステップＳ１２２０）。
【００４０】
以上より、実施の形態５によれば、デーモン・プログラムが出力するパケットに逐次ディジタル署名しておくことができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができる。
【００４１】
実施の形態６.
図１５ないし１７は、本発明の実施の形態６における不正通信ソフトウェア検出方法を示す。図１５ないし１７で図２ないし４と同じ符号を付した箇所は同じ機能を有するため説明は省略する。図１５ないし１７において、符号１５０はtelenetデーモン１２０がディジタル署名等を出力する記録装置、２５０はtelnetデーモン２２０がディジタル署名等を出力する記録装置、１０００は管理対象のコンピュータであるＰＣ等Ｄ、１１２０はＰＣ等Ｄ１０００内で生成されたtelnetデーモン、１１５０はtelnetデーモン１１１０がディジタル署名等を出力する記録装置、１２００は管理対象のコンピュータであるＰＣ等Ｃ、１２２０はＰＣ等Ｃ１２００内で生成されたtelnetデーモン、１２５０はtelnetデーモン１２２０がディジタル署名等を出力する記録装置である。
【００４２】
図１５に示されるように、ＰＣ等Ａ１００、ＰＣ等Ｂ２００、ＰＣ等Ｃ１２００およびＰＣ等Ｄ１０００においてネットワーク通信を行うデーモン・プログラムをメイク（make）する際に、同時に、ディジタル署名の対象となるデータをハッシュ（Hash）してハッシュ値を作成する。次に、このハッシュ値をＰＣ等Ａ１００、ＰＣ等Ｂ２００、ＰＣ等Ｃ１２００、ＰＣ等Ｄ１０００が各々有する所定の秘密鍵で変換してディジタル署名を生成する。このディジタル署名を各々の記録装置１５０、２５０、１２５０または１１５０に記録する（ステップＳ１３００、Ｓ１３１０、Ｓ１３３０、Ｓ１３２０）。このハッシュ値はデーモン・プログラム毎に固有に署名されているため改竄される心配はない。格納場所は記録装置１５０等だけではなく任意に決められた場所であってもよい。
【００４３】
図１６に示されるように、例えば管理対象のＰＣ等Ａ１００内のtelnetデーモン１２０がＰＣ等Ｂ２００内の対応するtelnetデーモン２２０と通信を行なう場合、記録装置２５０に記録されたtelnetデーモン２２０が生成し記録したディジタル署名をＰＣ等Ｂ２００の有する所定の秘密鍵に対応する公開鍵で変換して検証する（ステップＳ１５１０）。この検証により、telnetデーモン２２０が不正な通信を行うソフトウェアであるか否かを認証することができる。以上と同様の操作をＰＣ等Ｂ２００側も行ない、お互いに認証が終わってから、ＴＣＰ層でのコネクションを張る（ステップＳ１６１０）。telnetデーモン１２０が他のtelnetデーモン１２２０または１１２０と通信を行なう場合にも、上述と同様の認証を行なう。このようにして、互いに違うデーモン・プログラムを相互に監視し合うことができる。
【００４４】
図１７に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザが、あるデーモン・プログラム、例えばtelnetデーモン１１２０を不正通信ソフトウェアであるバックドア１１５と入れ替えた場合を考える。上述のように、改竄不可能な、telnetデーモン１１２０が生成し記録したディジタル署名はそのまま記録装置１１５０内に残っている。したがって、例えばtelnetデーモン１２２０とバックドア１１５とが上述のように相互に認証を行った場合、バックドア１１５に置きかえられていることを検出することができる（ステップＳ１７００）。最後に、バックドア１１５にはＰＣウィルスに類似の機能がある危険性を考えて、telnetデーモン１２２０はネットワーク管理者に通知を行い、バックドア１１５とのコネクションを自動的に切断する（ステップＳ１７１０）。
【００４５】
以上より、実施の形態６によれば、改竄不可能なディジタル署名されたハッシュ値をデーモン・プログラム毎に異なる記録装置に記録しておくことができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができる。
【００４６】
実施の形態７.
図１８および１９は、本発明の実施の形態７における不正通信ソフトウェア検出方法を示す。図１８および１９で図１１および１２と同じ符号を付した箇所は同じ機能を有するため説明は省略する。図１８および１９において、符号８５０はftpデーモン１１０等の構成を記録した設定ファイルである。
【００４７】
実施の形態４においては、生成された秘密鍵６１０でftpデーモン１１０が出力するログファイル８００にディジタル署名を行なったが、本実施の形態７においては実施の形態４と異なり、設定ファイル８５０に逐次署名を行なうことができる（ステップＳ１８１０）。デーモン・プログラムを意図的に動かす上で設定ファイル８５０は必要不可欠なものであるから、設定ファイル８５０に署名を行い、改竄から守ることは重要である。正規利用者７００は、利用したいデーモン・プログラムの設定ファイル８５０を公開された認証書６２０で検証し、デーモン固有の設定ファイルであるか否かを検証することができる（ステップＳ１８２０）。これにより、正規利用者７００が正規のデーモン・プログラム１１０等を正しく使っていることが保障される。他は実施の形態４と同様である。
【００４８】
図１９に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザが、あるデーモン・プログラム、例えばftpデーモン１１０を不正通信ソフトウェアであるバックドア１１５と入れ替えた場合を考える。上述のように、入れかえられたバックドア１１５の設定ファイル８５０にはディジタル署名されていない。したがって、公開された認証書６２０を用いることにより（ステップＳ１９００）、ftpデーモン１１０に固有の設定ファイルではないことを検知し、バックドア１１５に置きかえられていることを検出することができる（ステップＳ１９２０）。最後に、バックドア１１５にはＰＣウィルスに類似の機能がある危険性を考えて、ftpデーモン２１０はネットワーク管理者に通知を行い、バックドア１１５とのアクセスが禁止される（ステップＳ１９２０）。
【００４９】
以上より、実施の形態７によれば、デーモン・プログラムに固有の設定ファイルに逐次ディジタル署名しておくことができるため、デーモン・プログラムが不正な通信を行うバックドアに置きかえられた場合であっても、このバックドアを簡易に検出することができる。
【００５０】
実施の形態８.
図２０ないし２３は、本発明の実施の形態８における不正通信ソフトウェア検出方法を示す。図２０ないし２３で図１５ないし１７と同じ符号を付した箇所は同じ機能を有するため説明は省略する。記録装置１５０および１２５０は簡略化のため図２０ないし２２では省略する。
【００５１】
図２０に示されるように、ＰＣ等Ａ１００、ＰＣ等Ｂ２００およびＰＣ等Ｃ１２００においてネットワーク通信を行うデーモン・プログラムをメイク（make）する際に、同時に、ディジタル署名の対象となるデータをハッシュ（Hash）してハッシュ値を作成する。次に、このハッシュ値をＰＣ等Ａ１００、ＰＣ等Ｂ２００、ＰＣ等Ｃ１２００が共通に有する所定の秘密鍵で変換してディジタル署名を生成する。この共通に作成されたディジタル署名を、各記録装置１５０、２５０または１２５０に記録する（ステップＳ２０００、Ｓ２０１０、Ｓ２０２０）。このハッシュ値はデーモン・プログラムに共通に署名されているため改竄される心配はない。格納場所は記録装置２５０等だけではなく任意に決められた場所であってもよい。
【００５２】
図２１に示されるように、例えば管理対象のＰＣ等Ａ１００内のtelnetデーモン１１０がＰＣ等Ｂ２００内の対応するtelnetデーモン２２０と通信を行なう場合、記録装置２５０に記録された共通に作成されたディジタル署名を共通の秘密鍵に対応する公開鍵で変換して検証する（ステップＳ２１００）。この検証により、telnetデーモン２２０が不正な通信を行うソフトウェアであるか否かを認証することができる。以上と同様の操作をＰＣ等Ｂ２００側も行ない、お互いに認証が終わってから（ステップＳ２１１０）、ＴＣＰ層でのコネクションを張る（ステップＳ２１３０）。telnetデーモン１１０とtelnetデーモン１２２０との間、telnetデーモン２２０とtelnetデーモン１２２０との間で通信を行なう場合にも、上述と同様の認証を行なう（ステップＳ２１２０、Ｓ２１４０、Ｓ２１５０）。
【００５３】
図２２に示されるように、正規利用者７００が、あるデーモン・プログラムを実行しようとした場合（ステップＳ２２００）、正規利用者７００は同一サイト内に存在する認証が済んでＴＣＰコネクションが張られているデーモン・プログラムを探し出し、それらすべてに対して、例えばディジタル署名を返送させるコマンドを送る（ステップＳ２２１０、Ｓ２２２０）。そのコマンドの返答結果に対して多数決を取り、最も信用できるデーモン・プログラム群を決定する。
【００５４】
図２３に示されるように、何らかのセキュリティ・ホールを利用して侵入した正規でないユーザが、あるデーモン・プログラム、例えばtelnetデーモン２２００を不正通信ソフトウェアであるバックドア２１５と入れ替えた場合を考える。上述のように、共通に生成されたディジタル署名はそのまま記録装置１５０、１２５０内に残っている。したがって、telnetデーモン１１０からの返答結果（ステップＳ２３００）、telnetデーモン１２２０からの返答結果（ステップＳ２３１０）およびバックドア１１５からの返答結果（ステップＳ２３２０）の多数決を取り、最も信用できるデーモン・プログラム群を決定する。
【００５５】
以上より、実施の形態８によれば、共通に生成されたディジタル署名を各々記録しておくことができ、各デーモン・プログラムからの返答結果の多数決をとることができるため、仮に偶然によりディジタル署名を複製することができた場合であっても、置きかえられた不正な通信を行うバックドアを簡易に検出することができる。
【００５６】
上述されたデーモン・プログラムは、デーモン・プロセス(Daemon Process)と読み替えることも可能である。上述の実施の形態においてはtelnetデーモンおよびftpデーモンを例に説明したが、本発明の不正ソフトウェア検出方法が適用される対象は、デーモン・プログラムに限定されるものではなく、かつＴＣＰ／ＩＰに限らずあらゆる通信プロトコルを実装する通信サーバ・ソフトウェアに対しても適用可能である。さらに、上記全実施例は、侵入検知システム、不正コピー防止システム等に対しても適用可能である。
【００５７】
【発明の効果】
以上説明したように、本発明の不正通信ソフトウェア検出方法によれば、改竄不可能なディジタル署名されたハッシュ値をデーモン・プログラム毎に記録しておくことにより、不正通信を助けるバックドアのソフトウェアを効率的に検出することができる不正通信ソフトウェア検出方法を提供することができる。
【図面の簡単な説明】
【図１】  本発明の各実施の形態に共通する概要を示す図である。
【図２】  本発明の実施の形態１における不正通信ソフトウェア検出方法を示す図である。
【図３】  本発明の実施の形態１における不正通信ソフトウェア検出方法を示す図である。
【図４】  本発明の実施の形態１における不正通信ソフトウェア検出方法を示す図である。
【図５】  本発明の実施の形態２における不正通信ソフトウェア検出方法を示す図である。
【図６】  本発明の実施の形態２における不正通信ソフトウェア検出方法を示す図である。
【図７】  本発明の実施の形態２における不正通信ソフトウェア検出方法を示す図である。
【図８】  本発明の実施の形態３における不正通信ソフトウェア検出方法を示す図である。
【図９】  本発明の実施の形態３における不正通信ソフトウェア検出方法を示す図である。
【図１０】  本発明の実施の形態３における不正通信ソフトウェア検出方法を示す図である。
【図１１】  本発明の実施の形態４における不正通信ソフトウェア検出方法を示す図である。
【図１２】  本発明の実施の形態４における不正通信ソフトウェア検出方法を示す図である。
【図１３】  本発明の実施の形態５における不正通信ソフトウェア検出方法を示す図である。
【図１４】  本発明の実施の形態５における不正通信ソフトウェア検出方法を示す図である。
【図１５】  本発明の実施の形態６における不正通信ソフトウェア検出方法を示す図である。
【図１６】  本発明の実施の形態６における不正通信ソフトウェア検出方法を示す図である。
【図１７】  本発明の実施の形態６における不正通信ソフトウェア検出方法を示す図である。
【図１８】  本発明の実施の形態７における不正通信ソフトウェア検出方法を示す図である。
【図１９】  本発明の実施の形態７における不正通信ソフトウェア検出方法を示す図である。
【図２０】  本発明の実施の形態８における不正通信ソフトウェア検出方法を示す図である。
【図２１】  本発明の実施の形態８における不正通信ソフトウェア検出方法を示す図である。
【図２２】  本発明の実施の形態８における不正通信ソフトウェア検出方法を示す図である。
【図２３】  本発明の実施の形態８における不正通信ソフトウェア検出方法を示す図である。
【図２４】  従来の不正通信ソフトウェア検出方法を示す図である。
【符号の説明】
１０  サーバ・コンピュータ１、  １５、２５  ログファイル等、  ２０  サーバ・コンピュータ２、  ３０  プリンタ・サーバ、  ３２、５０、１００、２００、１０００、１２００  ＰＣ等、  ３５  ノートブック型のＰＣ、  ３７、４００  ネットワーク、  ５１、１１０、２１０  はftpデーモン、  ５２、１２０、２２０、１１１０、１２２０  telnetデーモン、  ５３  バックドア、  ６０  ネットワーク管理者、  ７０、７００  正規利用者、  ８０  侵入者、  １５０、２５０、３００、１１５０、１２５０  記録装置、  ３１０、３２０、３３０、３４０  ディジタル署名されたハッシュ値（Ｈ（Ａ，telnet））、  ３５０  その他の値、  ５００、６００  インストーラ、  ５１０、６１０  秘密鍵、  ５２０、６２０  認証書、  ８００  ログファイル、  ５０  設定ファイル。
【図１】
0003748192.tif 000002
【図２】
0003748192.tif 000003
【図３】
0003748192.tif 000004
【図４】
0003748192.tif 000005
【図５】
0003748192.tif 000006
【図６】
0003748192.tif 000007
【図７】
0003748192.tif 000008
【図８】
0003748192.tif 000009
【図９】
0003748192.tif 000010
【図１０】
0003748192.tif 000011
【図１１】
0003748192.tif 000012
【図１２】
0003748192.tif 000013
【図１３】
0003748192.tif 000014
【図１４】
0003748192.tif 000015
【図１５】
0003748192.tif 000016
【図１６】
0003748192.tif 000017
【図１７】
0003748192.tif 000018
【図１８】
0003748192.tif 000019
【図１９】
0003748192.tif 000020
【図２０】
0003748192.tif 000021
【図２１】
0003748192.tif 000022
【図２２】
0003748192.tif 000023
【図２３】
0003748192.tif 000024
【図２４】
0003748192.tif 000025