(57)【要約】【課題】情報処理装置におけるポートスキャンによる障害の発生を防止する。【解決手段】通信ネットワークからパケットを受信する複数のポートと、受信したパケットを処理する処理部と、を備える情報処理装置であって、前記処理部は、予め決められた時間内に所定数の前記ポートが他の１つの情報処理装置からパケットを受信した場合、当該他の１つの情報処理装置から受信するパケットに対する処理を放棄する、情報処理装置。【選択図】図２
2016092511.tif 000002
【特許請求の範囲】
【請求項１】
通信ネットワークからパケットを受信する複数のポートと、
受信したパケットを処理する処理部と、
を備える情報処理装置であって、
前記処理部は、予め決められた時間内に所定数の前記ポートが他の１つの情報処理装置からパケットを受信した場合、当該他の１つの情報処理装置から受信するパケットに対する処理を放棄する、
情報処理装置。
【請求項２】
前記処理部は、前記予め決められた時間内に予め決められた印刷用途以外の前記ポートが他の１つの情報処理装置からパケットを受信した場合、当該他の１つの情報処理装置から受信するパケットに対する処理を放棄する、
請求項１に記載の情報処理装置。
【請求項３】
所定の時間内に所定数のポートが他の１つの情報処理装置からパケットを受信した場合、当該他の１つの情報処理装置から受信するパケットに対する処理を放棄する、
情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置及び情報処理方法に関し、特にポートスキャンに対する処理に関する。
【背景技術】
【０００２】
従来、通信ネットワークに接続された情報処理装置の脆弱性等を検査するためにポートスキャンを行う装置が知られている。ハッキング技術の進化に応じて、ポートスキャンの方法は日々更新される。またポートスキャンの方法は、サーバーコンピューターやパーソナルコンピューターなど、ハッキングの対象になる情報処理装置の仕様に応じて開発される。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１６９７８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、例えばプリンターのようにハッキングされる可能性が低い情報処理装置では、最新のポートスキャンによって送信されるパケットを適切に処理できずに、システム障害が発生することがある。
本発明は、情報処理装置におけるポートスキャンによる障害の発生を防止することを目的の一つとする。
【課題を解決するための手段】
【０００５】
上記課題を解決するための情報処理装置は、通信ネットワークからパケットを受信する複数のポートと、受信したパケットを処理する処理部と、を備える情報処理装置であって、前記処理部は、予め決められた時間内に所定数の前記ポートが他の１つの情報処理装置からパケットを受信した場合、当該他の１つの情報処理装置から受信するパケットに対する処理を放棄する。
【０００６】
ここでパケットに対する処理の放棄には、パケットを受信した場合に通常起動する処理を起動しないことを含む。本発明によると、ポートスキャンによって送信された蓋然性の高いパケットを受信すると、そのパケットを送信した他の情報処理装置から送信されるパケットに対する処理が行われなくなるため、情報処理装置におけるポートスキャンによる障害の発生を防止することができる。
【図面の簡単な説明】
【０００７】
【図１】本発明の実施形態にかかるブロック図である。
【図２】本発明の実施形態にかかるフローチャートである。
【発明を実施するための形態】
【０００８】
以下、本発明の実施の形態を添付図面を参照しながら説明する。尚、各図において対応する構成要素には同一の符号が付され、重複する説明は省略される。
【０００９】
１．構成
図１に本発明の情報処理装置の一実施例としてのプリンター１の構成を示す。プリンター１は、通信部２０、印刷部３０、操作部４０および制御部１０を備えている。通信部２０は、ネットワークアドレス（ＭＡＣアドレス）が割り当てられ、イーサネット（登録商標）、ＷｉＦｉ、ＵＳＢ（Universal Serial Bus）等の通信プロトコルに適合した構成の通信回路を備え、他の情報処理装置とデータを送受信する。印刷部３０は、インクジェット方式、電子写真方式等の周知の印刷方式に適合した機構を備えている。操作部４０は、ユーザーの指示を入力しＧＵＩ（Graphical User Interface）を表示するためのタッチパネルディスプレイ等を備えている。制御部１０は、図示しないプロセッサ、主記憶、入出力機構および不揮発性の外部記憶を備えるコンピューターである。
【００１０】
制御部１０は、オペレーティングシステム（ＯＳ）１５、ソケット１４、複数のポートアプリケーションプログラム１３（ｎ）、ポートスキャナ管理１２、印刷制御１１等の各種のコンピュータープログラムを外部記憶から主記憶にロードしてプロセッサで実行する。
【００１１】
ソケット１４は、ポート毎にアプリケーションに対するＡＰＩ（Application Program Interface）を提供するプログラムである。ポートは、論理的な構成要素であって、具体的には制御部１０の主記憶のアドレス領域に相当する。異なるポートには異なるアドレス領域が割り当てられるため、プリンター１に対して接続を試みる他の情報処理装置は、プリンター１のネットワークアドレスとポート番号を指定したパケットを通信ネットワークに送信することにより、プリンター１と複数のセッションを確立して通信することができる。
【００１２】
ポートアプリケーションプログラム１３（ｎ）（ｎは０以上６５５３５以下の任意の整数）は、通信ネットワークに接続された他の情報処理装置とポート毎にソケット１４を介してデータを送受信し、それぞれの処理を実行するプログラムである。ポートアプリケーションプログラム１３（ｎ）には、例えば、ＬＰＲ（Line PRinter daemon protocol）、ＲＡＷ、ＨＴＴＰ（Hyper Text Transfer Protocol）、ＨＴＴＰＳ（Hyper Text Transfer Protocol Secure）、ＦＴＰ（File Transfer Protocol）などのプロトコルを用いた印刷要求を受け付けるプログラムなど、インターネットを介して接続される他の情報処理装置から送信される印刷要求を受け付けるためのプログラムが含まれている。印刷要求を受け付けるためのプログラムがソケット１４を介して使用するポートが印刷用途ポートである。また、ポートアプリケーションプログラム１３（ｎ）には、印刷用途ポート以外のポートを使って他の情報処理装置とデータを送受信する印刷用途外プログラムも含まれている。印刷用途外プログラムには、例えば予め決められたサーバーとＴｅｌｎｅｔプロトコル、ＨＴＴＰ、ＳＮＭＰ（Simple Network Management Protocol）に基づいて通信するためのプログラムが含まれている。
【００１３】
ポートスキャナ管理１２は、プリンター１に対してポートスキャンを実行する他の情報処理装置のネットワークアドレスを管理し、ポートアプリケーションプログラム１３（ｎ）の実行を制御するプログラムである。ポートスキャナ管理１２は、制御部１０を処理部として機能させる。
【００１４】
印刷制御１１は、印刷用途プログラムから予め決められた形式の印刷データを受け取り、印刷データに基づいて印刷部３０を制御することにより、印刷を実行するプログラムである。また、印刷制御１１は、ポートアプリケーションプログラム１３（ｎ）を介して通信ネットワークから印刷要求を受け付けるだけでなく、ＵＳＢ（Universal Serial Bus）を介してＰＣ（Personal Computer）から予め決められた形式の印刷データを受け取り、印刷を実行する。
【００１５】
２．印刷制御方法
図２に、本発明の情報処理方法の一実施例としての印刷制御方法の流れを示すフローチャートである。図２に示す処理は、オペレーティングシステム１５がいずれかのポートを用いたセッション要求を検出すると起動する。すなわち、プリンター１と他の情報処理装置が特定のポートを用いた通信リンクを張る度（セッション毎）に１度だけ図２に示す処理が起動される。なお、図２に示す処理をパケットの受信毎に起動しても良い。
【００１６】
はじめに制御部１０は、パケットに含まれている送信元のネットワークアドレスを取得し、ポートスキャナリストを参照することにより、パケットから取得したネットワークアドレスがポートスキャナのネットワークアドレスとして登録されているか否かを判定する（Ｓ１）。ポートスキャナリストは、ポートスキャナとして判定された情報処理装置に割り当てられているネットワークアドレスの一覧である。
【００１７】
なお、正当に利用される可能性があるポートについては、ポート毎にプロトコルが規定されているため、パケットから送信元のネットワークアドレスを取得することが可能である。正当に利用される可能性がないポートについては、ポートに対応するプロトコルが規定されていない（対応するソケットのＡＰＩもポートアプリケーションプログラムも存在しない）ため、パケットから送信元のネットワークアドレスを取得することは不可能であるが、そのようなポートがパケットを受信した場合には、そのパケットに対する処理は行われずに、そのパケットは破棄される。
【００１８】
パケットから取得したネットワークアドレスがポートスキャナのネットワークアドレスとして登録されている場合、制御部１０は、パケットを受信したポートに対応付けられているポートアプリケーションプログラム１３（ｎ）を起動せずに、受信したパケットに対する処理を放棄し、そのパケットを破棄する。
【００１９】
パケットから取得したネットワークアドレスがポートスキャナのネットワークアドレスとして登録されていない場合、制御部１０は、パケットを受信したポートが印刷用途ポートであるか否かを判定する（Ｓ２）。
【００２０】
パケットを受信したポートが印刷用途ポートである場合、制御部１０は、パケットを受信したポートに対応付けられている印刷用途のポートアプリケーションプログラム１３（ｎ）を起動する（Ｓ６）。その結果、プリンター１は、通信ネットワークを介して他の情報処理装置から印刷要求を受け付けられる状態になる。
【００２１】
パケットを受信したポートが印刷用途外ポートである場合、制御部１０は、受信ポートに対応付けて、パケット送信元のネットワークアドレスを被擬アドレスとして所定時間記憶する（Ｓ３）。被擬アドレスとは、ポートスキャナであることが疑われる情報処理装置のネットワークアドレスである。被擬アドレスはポート毎に記憶される。
【００２２】
１つのポートに対応付けて１つの被擬アドレスを記憶する期間は予め決められている。一般的なポートスキャナでは、極めて短い時間内（例えば１秒以内）に、複数のポートにパケットを送信し、その応答に基づいてターゲットの情報処理装置の脆弱性を判定する。一方、プリンター１に対して印刷を要求する情報処理装置は、印刷用途ポートにしかパケットを送信しない。そして、プリンター１を制御したり管理するためのサーバーとプリンター１との通信頻度は既知である。すなわち、本来プリンター１が印刷用途外ポートを用いて通信すべき情報処理装置との通信頻度は既知である。したがって、どの程度の頻度で複数のポートにパケットを送る情報処理装置をポートスキャナとみなすべきかの閾値は、予め決めておくことができる。この閾値に相当するのが、印刷用途外ポートにパケットを送信した情報処理装置のネットワークアドレスを制御部１０が記憶する期間である。
【００２３】
印刷用途外ポートにパケットを送信した情報処理装置のネットワークアドレスをポート毎に記憶する理由は、ポートスキャナは多数のポートにプローブと呼ばれるパケットを送信して、その応答に基づいて脆弱性を判定するためである。すなわち、複数のポートに１つの情報処理装置から短期間にパケットが送信されるならば、その情報処理装置はポートスキャナであるといえる。ポート毎にネットワークアドレスを所定期間記憶することで、複数のポートに１つの情報処理装置から短期間にパケットが送信されたか否かを判定することが可能になる。
【００２４】
次に制御部１０は、印刷用途外ポートにパケットを送信した情報処理装置のネットワークアドレスが被擬アドレスとして所定数のポートに対応付けて記憶されているか否かを判定する（Ｓ４）。本来プリンター１が印刷用途外ポートを用いて通信すべき情報処理装置との通信に用いる印刷用途外ポートの数は既知である。したがって、本来プリンター１が印刷用途外ポートを用いて通信すべき情報処理装置との通信に用いる印刷用途外ポートの数よりも多い数の印刷用途外ポートに対して、１つの情報処理装置から短期間にパケットが送信される場合、その情報処理装置はポートスキャナであるといえる。そこで制御部１０は、例えば本来プリンター１が印刷用途外ポートを用いて通信すべき情報処理装置との通信に用いる印刷用途外ポートの数に予備数を加えた２以上の数を所定数として判定に用いればよい。
【００２５】
印刷用途外ポートにパケットを送信した情報処理装置のネットワークアドレスが被擬アドレスとして所定数のポートに対応付けて記憶されていない場合、制御部１０は、パケットを受信した印刷用途外ポートに対応付けられたポートアプリケーションプログラム１３（ｎ）を起動する（Ｓ７）。その結果、印刷用途外ポートがパケットを受信した場合に通常実行される処理が実行される。
【００２６】
印刷用途外ポートにパケットを送信した情報処理装置のネットワークアドレスが被擬アドレスとして所定数のポートに対応付けて記憶されている場合、制御部１０は、当該ネットワークアドレスをポートスキャナリストに登録する（Ｓ５）。この処理により、所定期間中に所定数の印刷用途外ポートにパケットを送信した情報処理装置はポートスキャナとしてプリンター１に登録されることになる。したがって、上述したステップＳ１の判定により、プリンター１は、ポートスキャナから送信されるパケットに対する処理を起動せずに放棄することができるようになる。すなわち、本実施例によると、プリンター１におけるポートスキャンによる障害の発生を防止することができる。
【００２７】
なお、制御部１０は、ポートスキャナリストに登録されたネットワークアドレスを、あらかじめ決めた時間が登録時から経過すると、ポートスキャナリストから削除する。一般にポートスキャナは、極めて短い時間でポートスキャンを完了するため、一般的にポートスキャンに要する期間を超えてまで、本来パケットを受信した場合にプリンター１がなすべき処理（例えば、ポートのステータスを返信する処理）を放棄する必要はないからである。
【００２８】
３．他の実施形態
尚、本発明の技術的範囲は、上述した実施例に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々変更を加え得ることは勿論である。
【００２９】
例えば、上記実施例では、印刷用途ポートのみにパケットを送信する他の情報処理装置については、ネットワークアドレスがポートスキャナリストに登録されることはないが、予め決められた短い時間に所定数を越える印刷用途ポートが１つの情報処理装置からパケットを受信した場合には、当該１つの情報処理装置のネットワークアドレスをポートスキャナリストに登録してもよい。プリンターが１つの情報処理装置から印刷要求を受け付ける際にパケットを受信するポート数は既知であるため、その数を超えるポートにパケットを送信する情報処理装置は、たとえ印刷用途ポートに送信しているとしても、ポートスキャナである可能性が高いからである。
【００３０】
また上記実施例では、１つの印刷用途外ポートにパケットを送信する他の情報処理装置についても、ネットワークアドレスがポートスキャナリストに登録されることはないが、特定の印刷用途外ポートについては、当該１つのポートにパケットを送信した情報処理装置のネットワークアドレスをポートスキャナリストに登録してもよい。すなわち、予め決められた時間内に特定の１つのポートが他の１つの情報処理装置からパケットを受信した場合、当該他の１つの情報処理装置から受信するパケットに対する処理を放棄してもよい。
【００３１】
また、受信したパケットを処理する際、ポートのプロトコルに適合しないプロトコルに従ったパケットを受信した場合に、そのパケットを破棄する処理を追加しても良い。具体的には例えば、ＬＰＲのプロトコルで利用されるべきポートが、ＨＴＴＰのプロトコルに従ったパケットを受信した場合に、そのパケットを破棄しても良い。
【００３２】
また、ポートスキャナリストに登録される可能性があるが、送信するパケットに対する応答が正当な理由から必要とされる他の情報処理装置がある場合には、当該他の情報処理装置がポートスキャナリストに登録されない機能を追加することもできる。例えば、そのような他の情報処理装置のネットワークアドレスをネットワーク管理者などが登録するためのリスト（セーフリスト）を処理部で管理し、セーフリストに登録されているネットワークアドレスは被擬アドレスとして記憶しないようにすればよい。
【００３３】
また、本発明を適用できる情報処理装置はプリンターに限らず、通信ネットワークに接続されるあらゆる種類の情報処理装置に本発明を適用することができる。例えば、通信ネットワークに接続されるスキャナーやプロジェクターといった装置にも、本発明を適用できる。スキャナーやプロジェクターといった特定用途向けの情報処理装置では、本来利用されるポートは限定されるため、本来利用されるポート以外の所定数のポートに対して短期間にパケットを送信する情報処理装置をポートスキャナとして登録すればよい。
【符号の説明】
【００３４】
１…プリンター、１０…制御部、１１…印刷制御、１２…ポートスキャナ管理、１３（ｎ）…ポートアプリケーションプログラム、１４…ソケット、１５…オペレーティングシステム、２０…通信部、３０…印刷部、４０…操作部
【図１】
2016092511.tif 000003
【図２】
2016092511.tif 000004