(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023137360
(43)【公開日】2023-09-29
(54)【発明の名称】通信制御装置、通信制御方法、通信制御プログラム
(51)【国際特許分類】
H04L 41/0803 20220101AFI20230922BHJP
【FI】
H04L41/0803
【審査請求】有
【請求項の数】4
【出願形態】OL
(21)【出願番号】P 2022043539
(22)【出願日】2022-03-18
(11)【特許番号】
(45)【特許公報発行日】2023-04-25
(71)【出願人】
【識別番号】501440684
【氏名又は名称】ソフトバンク株式会社
(74)【代理人】
【識別番号】100079108
【弁理士】
【氏名又は名称】稲葉 良幸
(74)【代理人】
【識別番号】100109346
【弁理士】
【氏名又は名称】大貫 敏史
(74)【代理人】
【識別番号】100117189
【弁理士】
【氏名又は名称】江口 昭彦
(74)【代理人】
【識別番号】100134120
【弁理士】
【氏名又は名称】内藤 和彦
(72)【発明者】
【氏名】日名子 聡志
(57)【要約】
【課題】ネットワークシステムの負荷を抑制しながらポートスキャンを実施可能とする。
【解決手段】通信制御装置10は、複数のポート番号を含む第1リストと、複数のIPアドレスを含む第2リストと、を取得する取得部と、前記第1リスト内の前記複数のポート番号について逐次的に、前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する実行部と、を備える。
【選択図】
図8
【特許請求の範囲】
【請求項1】
複数のポート番号を含む第1リストと、複数のIPアドレスを含む第2リストと、を取得する取得部と、
前記第1リスト内の前記複数のポート番号について逐次的に、前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する実行部と、
を備える通信制御装置。
【請求項2】
前記第2リスト内の前記複数のIPアドレスをランダムに並び替えるランダム化部を更に備え、
前記実行部は、ランダムに並び替えられた前記第2リストのエントリの順番に基づいて、前記第2リスト内の前記複数のIPアドレスに対する前記ポートスキャンを実行する、
請求項1に記載の通信制御装置。
【請求項3】
前記実行部は、前記第2リストのエントリの順番に基づいて前記複数のIPアドレスをグループ化し、同一のグループに属する複数のIPアドレスに対する前記ポートスキャンを並列的に実行する、
請求項2に記載の通信制御装置。
【請求項4】
前記ランダム化部は、前記第1リスト内の前記複数のポート番号をランダムに並び替え、
前記実行部は、ランダムに並び替えられた前記第1リストのエントリの順番に基づいて、前記複数のポート番号について逐次的に、前記ポートスキャンを実行する、
請求項2又は請求項3のいずれかに記載の通信制御装置。
【請求項5】
通信制御装置において、
複数のポート番号を含む第1リストを取得する工程と、
複数のIPアドレスを含む第2リストを取得する工程と、
前記第1リスト内の前記複数のポート番号について逐次的に、前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する工程と、
を有する通信制御方法。
【請求項6】
通信制御装置に備えられたプロセッサを、
複数のポート番号を含む第1リストと、複数のIPアドレスを含む第2リストと、を取得する取得部と、
前記第1リスト内の前記複数のポート番号について逐次的に、前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する実行部と、
として機能させる通信制御プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、通信制御装置、通信制御方法、通信制御プログラムに関する。
【背景技術】
【0002】
従来、ネットワーク内の各端末に対して、一以上のポートに対する接続を要求し、当該要求に対する応答を確認することにより、各端末において利用可能なポートを探すポートスキャンが知られている(例えば、特許文献1)。ポートスキャン用のツールとしては、例えば、network mapper(nmap)等も知られている。
【0003】
ネットワーク内の各端末に対してポートスキャンを行うことにより、不要なポートがアクセス可能になっていないか等、ネットワークの脆弱性を発見できる。この結果、ネットワークのセキュリティを向上でき、攻撃者によるユーザの被害を防止できる。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
例えば、nmap等のツールを用いたポートスキャンでは、調査対象の複数のポート番号(例えば、最大65536個のポート番号)のポートスキャンが並列的に実行されるため、調査対象のネットワーク及び/又はシステム(以下、「ネットワークシステム」という)の負荷が増大する恐れがある。このようなポートスキャンによる負荷増大により最悪ユーザに対する通信サービスの提供に支障を来す恐れがあるため、攻撃者によるユーザの被害を防止するためのポートスキャンの実行は現実的には困難であった。
【0006】
本開示は、このような状況を鑑みてなされたものであって、ネットワークシステムの負荷を抑制しながらポートスキャンを実施可能な通信制御装置、通信制御方法、通信制御プログラムを提供する。
【課題を解決するための手段】
【0007】
本開示の一態様に係る通信制御装置は、複数のポート番号を含む第1リストと、複数のIPアドレスを含む第2リストと、を取得する取得部と、前記第1リスト内の前記複数のポート番号について逐次的に、前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する実行部と、を備える。
【図面の簡単な説明】
【0008】
【
図1】本実施形態に係る通信制御システム1の概略の一例を示す図である。
【
図2】本実施形態に係る通信制御システム1を構成する各装置の物理構成の一例を示す図である。
【
図3】本実施形態に係る通信制御装置10の機能構成の一例を示す図である。
【
図4】本実施形態に係るポート番号リスト及びIPアドレスリストの一例を示す図である。
【
図5】本実施形態に係るポート番号リスト及びIPアドレスリストの他の例を示す図である。
【
図6】本実施形態に係る通信制御動作の一例を示すフローチャートである。
【
図7】本実施形態に係るIPアドレスグループに対するポートスキャンの一例を示す図である。
【
図8】本実施形態に係るIPアドレスグループに対するポートスキャンの他の例を示す図である。
【発明を実施するための形態】
【0009】
(概要)
ポートスキャンとは、ポート番号によって識別されるサービスの稼働状況等を調べることである。具体的には、調査対象のポート番号を指定する各パケットを調査対象のネットワークシステムに送信し、当該調査対象のネットワークシステムからの応答を確認することで、ポート番号によって識別されるサービスの稼働状況、当該サービスのバージョン、オペレーティングシステム(OS)、当該サービスのフィルタリング状況等を特定してもよい。
【0010】
ポート番号は、TCP(Transmission Control Protocol)又はUDP((User Datagram Protocol)上のサービスを識別する。例えば、ポート番号「20」はデータ用のFTP(File Transfer Protocol)を識別し、ポート番号「25」はSMTP(Simple Mail Transfer Protocol)を識別し、ポート番号「80」はHTTP(Hypertext Transfer Protocol)を識別する。このように、各サービスを識別するポート番号は予め定められもよい。また、最大65536個のポート番号(例えば、「0」~「65535」)が用いられてもよい。
【0011】
例えば、nmap等のツールを用いたポートスキャンでは、複数のポート番号(例えば、最大65536個のポート番号)を調査対象とする場合、当該複数のポート番号のポートスキャンが並列的に実行される。具体的には、当該複数のポート番号をそれぞれ指定する複数のパケットが調査対象のIPアドレス宛に同時に送信され、当該調査対象のネットワークシステムにおいて当該複数のパケットそれぞれが並列的に処理されることになる。このため、当該ネットワークシステムの負荷が増大する恐れがある。
【0012】
そこで、本実施形態では、調査対象の複数のポート番号のポートスキャンを並列的に実行するのではなく、当該複数のポート番号のポートスキャンを逐次的に実行する。具体的には、あるポート番号についてのポートスキャンが終了してから、次のポート番号についてのポートスキャンを実行することにより、ネットワークシステムの負荷を抑制する。
【0013】
例えば、最大65536個のポート番号のポートスキャンを並列的に実行すると、単一のポート番号のポートスキャンを実行する場合と比較してネットワークシステムの負荷は65536倍となる。複数のポート番号のポートスキャンを逐次的に実行することにより、あるタイミングにおけるネットワークシステムの負荷は、単一のポート番号のポートスキャン時と同等となる。このため、複数のポート番号のポートスキャンを並列的に実行する場合と比較してネットワークシステムの負荷を抑制しながらポートスキャンを実施可能となる。
【0014】
以下、添付図面を参照して、本実施形態について説明する。各図において、同一の符号を付したものは、同一又は同様の構成を有する。なお、本実施形態では、CIDR(Classless Inter-Domain Routing)に基づくIP(Internet Protocol)v4アドレスを用いることを想定するが、これに限られず、IPv6等であっても適宜適用可能である。また、本実施形態では、プライベートIPアドレスを例示するが、本実施形態にグローバルIPアドレスに適用されてもよいことは勿論である。
【0015】
また、本実施形態は、例えば、通信事業者が大規模のネットワークシステムを管理する場合に、インターネットに対してルーティング及び/又は経路広報している全てのIPアドレスに対してポートスキャンを行うことを想定するが、本実施形態の用途はこれに限られない。また、ポートスキャンは、例えば、SYNスキャン、FINスキャン、ACKスキャン、UDPスキャン又はXmasスキャン等の手法が想定されるが、これらに限られず、どのような手法が用いられてもよい。
【0016】
(通信制御システムの構成)
<概略構成>
図1は、本実施形態に係る通信制御システムの概要の一例を示す図である。
図1に示すように、通信制御システム1は、通信制御装置10と、複数のネットワーク30の各々に属する一以上の端末20と、を備える。
【0017】
通信制御装置10は、例えば、通信事業者のサーバ等であり、通信事業者が提供するネットワーク30に属する各端末20に対して、適切な通信サービスを提供するための制御を行う。具体的には、通信制御装置10は、ポートスキャンにより、端末20の脆弱性を検出し、脆弱性が検出された端末20の加入者に対する注意喚起等を行う。
【0018】
各端末20は、例えば、通信事業者が提供する通信サービスの加入者が利用するスマーフォン、タブレット又はパーソナルコンピュータ等である。各端末20は、ネットワーク30を介して通信を行い、IPアドレスで識別される。IPアドレスは、ネットワーク30を識別するネットワーク部と、端末20(すなわち、ホスト)を識別するホスト部とで構成される。CIDRでは、サブネットマスクを用いてネットワーク部のビット数nを変更可能である。ネットワーク部のビット数nは、「プリフィクス」とも呼ばれる。「IPアドレス/n」という表記はCIDR表記とも呼ばれる。
【0019】
例えば、
図1において、「192.168.0.2/24」の端末20は、24ビットのネットワーク部「11000000.10101000.00000000(10進数の“192.168.0”)」により識別されるネットワーク30
0に属し、2進数の8ビットのホスト部「00000010(10進数の“2”)」により識別される。ここで、ホスト部の全ビットが0であるIPアドレスは、ネットワーク30
0を示すネットワークアドレスであり、ホスト部の全ビットが1であるIPアドレスはブロードキャストアドレスである。このため、ホスト部が8ビットの場合、254個(=2の8乗-2)のホスト(すなわち、端末20)を識別可能である。
【0020】
なお、
図1では、プリフィクス「24」の場合の256個のネットワーク30
0~30
255を示すが、通信制御装置10が制御するネットワーク30の数は、図示する数に限られない。通信制御システム1では、異なる複数のプリフィクス値の複数のIPアドレスが使用され、それぞれに属する端末20の数が異なる複数のネットワーク30が設けられてもよい。なお、プリフィクス値が小さいIPアドレスを利用する場合、ネットワーク30に属する端末20の最大数は増加し、プリフィクス値が大きいIPアドレスを利用する場合、ネットワーク30に属する端末20の最大数は減少する。
【0021】
<物理構成>
図2は、本実施形態に係る通信制御システム1を構成する各装置の物理構成の一例を示す図である。各装置(例えば、通信制御装置10及び端末20)は、演算部に相当するプロセッサ10aと、記憶部に相当するRAM(Random Access Memory)10bと、記憶部に相当するROM(Read Only Memory)10cと、通信部10dと、入力部10eと、表示部10fと、を有する。これらの各構成は、バスを介して相互にデータ送受信可能に接続される。なお、
図2で示す構成は一例であり、各装置はこれら以外の構成を有してもよいし、これらの構成のうち一部を有さなくてもよい。また、通信制御装置10は、単体の装置で構成されてもよいし、複数の装置を含んで構成されてもよい。
【0022】
プロセッサ10aは、例えば、CPU(Central Processing Unit)である。プロセッサ10aは、RAM10b又はROM10cに記憶されているプログラムを実行することにより、各装置における各種処理を制御する制御部である。プロセッサ10aは、各装置が備える他の構成と、プログラムとの協働により、各装置の機能を実現し、処理の実行を制御する。プロセッサ10aは、入力部10eや通信部10dから種々のデータを受け取り、データの演算結果を表示部10fに表示したり、RAM10bに格納したりする。
【0023】
RAM10b及びROM10cは、各種処理に必要なデータ及び処理結果のデータを記憶する記憶部である。各装置は、RAM10b及びROM10c以外に、ハードディスクドライブ等の大容量の記憶部を備えてもよい。RAM10b及びROM10cは、例えば、半導体記憶素子で構成されてもよい。
【0024】
通信部10dは、各装置を他の機器に接続するインターフェースである。通信部10dは、他の機器と通信する。入力部10eは、ユーザからデータの入力を受け付けるためのデバイスや、各装置の外部からデータを入力するためのデバイスである。入力部10eは、例えば、キーボード、マウス及びタッチパネル等を含んでよい。表示部10fは、プロセッサ10aによる制御に従って、情報を表示するデバイスである。表示部10fは、例えば、LCD(Liquid Crystal Display)により構成されてよい。
【0025】
各装置を実行させるためのプログラムは、RAM10bやROM10c等のコンピュータによって読み取り可能な記憶媒体に記憶されて提供されてもよいし、通信部10dにより接続されるネットワークを介して提供されてもよい。各装置では、プロセッサ10aが当該プログラムを実行することにより、各装置を制御するための様々な動作が実現される。なお、これらの物理的な構成は例示であって、必ずしも独立した構成でなくてもよい。例えば、各装置は、プロセッサ10aとRAM10bやROM10cが一体化したLSI(Large-Scale Integration)を備えていてもよい。
【0026】
<機能構成>
図3は、本実施形態に係る通信制御装置10の機能構成の一例を示す図である。通信制御装置10は、取得部101、生成部102、ランダム化部103、記憶部104及び実行部105を備える。
【0027】
取得部101は、調査対象の複数のポート番号と、調査対象の複数のIPアドレスと、を取得する。具体的には、取得部101は、使用率及び/又は脆弱性に基づいて選択された複数のポート番号を取得してもよい。例えば、取得部101は、使用率が高い所定数のポート番号を取得してもよい。また、取得部101は、脆弱性が特定された所定数のポート番号を取得してもよい。また、取得部101は、CIDR表記のIPアドレス(すなわち、プリフィクス付きのIPアドレス)を取得し、プリフィクスに基づいてネットワークアドレスとホストアドレスを特定してもよい。
【0028】
生成部102は、複数のポート番号を含むリストであるポート番号リスト(第1リスト)と、複数のIPアドレスを含むリストであるIPアドレスリスト(第2リスト)と、を生成する。具体的には、生成部102は、取得部101によって取得された複数のポート番号を含むポート番号リストを生成してもよい。また、生成部102は、取得部101によって取得された複数のIPアドレスを含むIPアドレスリストを生成してもよい。
【0029】
図4(A)及び(B)は、それぞれ、本実施形態に係るポート番号リスト及びIPアドレスリストの一例を示す図である。例えば、
図4(A)に示すように、生成部102は、調査対象のI個のポート番号(I>1の整数)を昇順(又は降順)に含むポート番号リストを生成してもよい。例えば、
図4(A)では、1番目のエントリがポート番号「20」、2番目のエントリがポート番号「21」、3番目のエントリがポート番号「22」、…であり、1~I番目のエントリに対応するポート番号は昇順である。
【0030】
また、
図4(B)に示すように、生成部102は、調査対象のJ個(J>1の整数)のIPアドレスを昇順(又は降順)に含むIPアドレスリストを生成してもよい。各IPアドレスには、プリフィクスに基づいて特定されたネットワークアドレスが関連付けられてもよいが、IPアドレスリストはIPアドレスを含めばよく、ネットワークアドレスを含まなくともよい。
図4(B)に示すように、J個のIPアドレスが昇順(又は降順)にIPアドレスリストに含まれる場合、同一のネットワークアドレスを有する複数のIPアドレスがホストアドレスの昇順(又は降順)に並ぶことになる。例えば、
図4(B)では、1番目のエントリがIPアドレス「192.168.0.1」、2番目のエントリがIPアドレス「192.168.0.2」、…、254番目のエントリがIPアドレス「192.168.0.254」であり、同一のネットワークアドレス「192.168.0.0」を有するIPアドレスが1番目~254番目のエントリに連続して並ぶ。
【0031】
ランダム化部103は、ポート番号リスト内の複数のポート番号をランダムに並び替える。また、ランダム化部103は、IPアドレスリスト内の複数のIPアドレスをランダムに並び替える。なお、本明細書において「ランダムに並び替える」は「シャッフルする」と言い換えられてもよい。
【0032】
図5(A)及び(B)は、それぞれ、本実施形態に係るポート番号リスト及びIPアドレスリストの他の例を示す図である。例えば、
図5(A)に示すように、ランダム化部103は、
図4(A)に示すポート番号リスト内のI個のポート番号をランダムに並び替えてもよい。例えば、
図5(A)では、1番目のエントリがポート番号「110」、2番目のエントリがポート番号「22」、3番目のエントリがポート番号「443」、…、I番目のエントリがポート番号「123」であり、1~I番目のエントリに対応するポート番号はランダムである。
【0033】
また、
図5(B)に示すように、ランダム化部103は、
図4(B)に示すIPアドレスリスト内のJ個のIPアドレスをランダムに並び替えてもよい。
図5(B)に示すように、J個のIPアドレスをランダムに並び替えることにより、異なるネットワークアドレスを有する複数のIPアドレスが連続し難くなる。例えば、
図5(B)では、1番目のエントリがIPアドレス「192.168.10.1」、2番目のエントリがIPアドレス「192.168.255.2」、3番目のエントリがIPアドレス「192.168.0.254」、…、I番目のエントリがIPアドレス「192.168.1.1」であり、隣接するエントリに対応するIPアドレスは異なるネットワークアドレスを有する。
【0034】
記憶部104は、IPアドレスリスト及びポート番号リストを記憶する。具体的には、記憶部104は、ランダム化部103によってランダムにエントリが並び替えられたポート番号リスト(例えば、
図5(A))及びIPアドレスリスト(例えば、
図5(B))を記憶してもよい。
【0035】
実行部105は、ポート番号毎にIPアドレスリスト内の複数のIPアドレスに対するポートスキャンを実行する。具体的には、実行部105は、ポート番号リスト内の複数のポート番号について逐次的に、当該ポート番号毎のポートスキャンを実行する。
【0036】
実行部105は、ランダム化部103によってランダムに並び替えられたポート番号リストのエントリの順番に基づいて、当該ポート番号リスト内の複数のポート番号について逐次的に、上記ポートスキャンを実行してもよい。ここで、ポート番号リストのエントリの順番とは、ポート番号リスト内のある位置から一定方向に付与された順番であり、例えば、
図5(A)に示すポート番号リストでは、最上のエントリが1番目で、最下のI番目のエントリである。
【0037】
例えば、
図5(A)に示すポート番号リストを利用する場合、実行部105は、ポート番号リストの1番目のエントリであるポート番号「110」についてIPアドレスリスト内の全IPアドレスに対するポートスキャンを行い、次に、2番目のエントリであるポート番号「22」についてIPアドレスリスト内の全IPアドレスに対するポートスキャンを行う。同様に、実行部105は、I番目のエントリまで、ポート番号毎にIPアドレスリスト内の全IPアドレスに対するポートスキャンを行う。このように、ランダムに並び替えられたポート番号リストのエントリ順にポートスキャンを行うことにより、次のどのポート番号のポートスキャンが行われるのかを端末20が推測し難くなる。
【0038】
また、実行部105は、ランダム化部103によってランダムに並び替えられたIPアドレスリストのエントリの順番に基づいて、当該IPアドレスリスト内の複数のIPアドレスに対するポートスキャンを実行してもよい。ここで、IPアドレスリストのエントリの順番とは、IPアドレスリスト内のある位置から一定方向に付与された順番であり、例えば、
図5(B)に示すIPアドレスリストでは、最上のエントリが1番目で、最下のI番目のエントリである。
【0039】
具体的には、実行部105は、IPアドレスリストのエントリの順番に基づいて当該複数のIPアドレスをグループ化し、同一のグループに属する複数のIPアドレスに対するポートスキャンを並列的に実行してもよい。また、実行部105は、所定数のIPアドレスグループ毎に逐次的にポートスキャンを実行してもよい。
【0040】
例えば、
図5(B)に示すIPアドレスリストを利用する場合、実行部105は、J個のIPアドレスをK(K>0の整数)のグループ(以下、「IPアドレスグループ」という)にグループ化してもよい。例えば、IPアドレスリストのエントリの順番に基づいて所定数(例えば、1000個)のIPアドレスをグループ化してもよい。例えば、
図5(B)では、1番目のエントリから順番に所定数のIPアドレス毎に、IPアドレスグループ#1~#Kが形成される。実行部105は、IPアドレスグループ#1内の複数のIPアドレスに対して並列的にポートスキャンを実行してもよい。また、実行部105は、IPアドレスグループ#1のポートスキャンを実行してから次のIPアドレスグループのポートスキャンを実行してもよいし、複数のIPアドレスグループ(例えば、4つのIPアドレスグループ)のポートスキャンを並列的に実行してもよい。
【0041】
なお、通信制御装置10は、ランダム化部103を備えなくともよく、記憶部104は、生成部102によって生成されたポート番号リスト(例えば、
図4(A))及びIPアドレスリスト(例えば、
図4(B))を記憶してもよい。また、実行部105は、当該ポート番号リストのエントリの順番に基づいて、当該ポート番号リスト内の複数のポート番号について逐次的に、上記ポートスキャンを実行してもよい。また、実行部105は、当該IPアドレスリストのエントリの順番に基づいて、当該IPアドレスリスト内の複数のIPアドレスに対するポートスキャンを実行してもよい。この場合、実行部105は、当該複数のIPアドレスに対するポートスキャンを逐次的に実行してもよいし、所定数のIPアドレス毎にグループ化し、同一のIPアドレスグループに属する複数のIPアドレス対するポートスキャンを並列的に実行してもよい。
【0042】
(通信制御システムの動作)
図6は、本実施形態に係る通信制御動作の一例を示すフローチャートである。なお、
図6は、例示にすぎず、少なくとも一部のステップ(例えば、ステップS101~S104等)の順番は入れ替えられてもよいし、不図示のステップが実施されてもよいし、一部のステップが省略されてもよい。なお、
図6においてポート番号の添え字i及びIPアドレスグループの添え字kの初期値は1に設定されるものとするが、これに限られない。
【0043】
ステップS101において、通信制御装置10は、複数のポート番号を含むポート番号リストを生成する。ステップS102において、通信制御装置10は、ステップS101で生成されたポート番号リスト内の複数のポート番号をランダムに並び替える。
【0044】
ステップS103において、通信制御装置10は、複数のIPアドレスを含むIPアドレスリストを生成する。ステップS104において、通信制御装置10は、ステップS103で生成されたIPアドレスリスト内の複数のIPアドレスをランダムに並び替える。また、ステップS104において、通信制御装置10は、ランダムに並び替えられたIPアドレスリストのエントリの順番に基づいてK個のIPアドレスグループを形成してもよい。
【0045】
ステップS105~S107において、通信制御装置10は、ポート番号リスト内のi番目のポート番号(すなわち、ポート番号リストのi番目のエントリのポート番号)について、IPアドレスリスト内のJ個のIPアドレスに対して実行する。具体的には、ステップS105において、通信制御装置10は、i番目のポート番号について、k(1≦k≦K)番目のIPアドレスグループ内の複数のIPアドレスに対するポートスキャンを並列的に実行してもよい。
【0046】
図7及び8を参照し、k(例えば、k=1)番目のIPアドレスグループ内の複数のIPアドレスに対するポートスキャンについて例示する。
図7では、J個のエントリに複数のIPアドレスを昇順に含むIPアドレスリスト(例えば、
図4(B))が用いられ、
図8では、J個のエントリに複数のIPアドレスをランダムな順番で含むIPアドレスリスト(例えば、
図5(B))が用いられるものとする。
【0047】
図7に示すように、例えば、
図4(B)に示すIPアドレスリストが用いられる場合、k番目のIPアドレスグループに同一のネットワークアドレスを有する多数のIPアドレスが属することになる。例えば、
図7では、ネットワークアドレス「192.168.0.0」のネットワーク30に属するIPアドレス「192.168.0.1」~「192.168.0.254」の254個の端末20に対して並列的にポートスキャンが実行されることになる。このため、
図7では、ネットワーク30内の単一の端末20対してポートスキャンを実行する場合と比較して、単一のネットワーク30の負荷が254倍に増加する。
【0048】
一方、
図8に示すように、例えば、
図5(B)に示すIPアドレスリストが用いられる場合、k番目のIPアドレスグループに異なるネットワークアドレスを有するIPアドレスが属する確率が高くなる。例えば、
図8では、
図7と同一の数の端末20がk番目のIPアドレスグループに含まれても、これらが異なるネットワーク30に属する確率が高いので、複数のネットワーク30にポートスキャンの負荷を分散することができる。当該複数のネットワーク30の各々の負荷は、単一の端末20に対してポートスキャンを実行する場合と同等になるので、
図7と比較して、単一のネットワーク30の負荷を抑制できる。
【0049】
ステップS106において、通信制御装置10は、IPアドレスグループの添え字kをカウントアップする。ステップS107において、通信制御装置10は、IPアドレスリスト内のK個のIPアドレスグループについてポートスキャンを終えたか否かを判定し、K個のIPアドレスグループについてのポートスキャンを終えるまで、ステップS105~S107を繰り返す。
【0050】
ステップS108において、通信制御装置10は、ポート番号の添え字iをカウントアップする。ステップS109において、通信制御装置10は、ポート番号リスト内のI個のポート番号についてポートスキャンを終えたか否かを判定し、I個のポート番号についてのポートスキャンを終えるまで、ステップS105~S109を繰り返す。
【0051】
以上のように、本実施形態に係る通信制御システム1によれば、ポート番号毎にIPアドレスリスト内の複数のIPアドレスに対するポートスキャンが実行され、ポート番号リスト内の複数のポート番号について逐次的に当該ポートスキャンが実行される。これにより、あるタイミングにおける通信制御システム1の負荷を単一のポート番号のポートスキャン時と同等とすることができるので、通信制御システム1の負荷を抑制しながらポートスキャンを実施できる。
【0052】
また、本実施形態に係る通信制御システム1によれば、ランダムに並び替えられたIPアドレスリストのエントリの順番に基づいて、当該IPアドレスリスト内の複数のIPアドレスに対するポートスキャンが実行される。これにより、ポートスキャンの対象となる端末20が異なる複数のネットワーク30に属する確率が高くなるので、複数のネットワーク30にポートスキャンの負荷を分散することができ、単一のネットワーク30の負荷を抑制できる。
【0053】
また、本実施形態に係る通信制御システム1によれば、IPアドレスリストのエントリの順番に基づいてIPアドレスリスト内の複数のIPアドレスをグループ化し、同一のグループに属する複数のIPアドレスに対するポートスキャンが並列的に実行される。これにより、異なる複数のネットワーク30に属する端末20に対するポートスキャンを並列的に実行可能となるので、ポート番号毎のポートスキャンをより効率的に実行できる。
【0054】
また、本実施形態に係る通信制御システム1によれば、ランダムに並び替えられたポート番号リストのエントリの順番に基づいて、当該ポート番号リスト内の複数のポート番号について逐次的に上記ポートスキャンが実行される。このため、次にどのポート番号のポートスキャンが実行されるのかの予測を困難化することができる。
【0055】
以上の通り、本実施形態に係る通信制御システム1によると、従来現実的には困難であったポートスキャンを実行可能となり、攻撃者によるユーザの被害と電気通信役務提供の支障を防止できるので、本実施形態に係る技術は、持続可能な開発目標(SDGs)の目標9「産業と技術革新の基盤をつくろう」の達成に貢献できる。
【0056】
(その他の実施形態)
以上説明した実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。実施形態が備える各要素並びにその配置、材料、条件、形状及びサイズ等は、例示したものに限定されるわけではなく適宜変更することができる。また、異なる実施形態で示した構成同士を部分的に置換し又は組み合わせることが可能である。
【0057】
例えば、上記実施形態では、同一のIPアドレスグループ内の複数のIPアドレスに対するポートスキャンは並列的に行われるものとしたが逐次的に実行されてもよい。IPアドレスリスト内に複数のIPアドレスグループを形成するものとしたが、当該複数のIPアドレスグループは形成されなくともよい。IPアドレスリスト内の少なくとも二つのIPアドレスに対するポートスキャンは並列的に実行されてもよいし、又は、逐次的に実行されてもよい。
【0058】
また、上記実施形態では、通信制御装置10が、取得部101によって取得された複数のポート番号を含むポート番号リストを生成し、取得部101によって取得された複数のIPアドレスを含むIPアドレスリストを生成するものとしたがこれに限られない。例えば、通信制御装置10の取得部101は、調査対象の複数のポート番号及び/又は調査対象の複数のIPアドレスを取得する代わりに、ポート番号リスト及び/又はIPアドレスリストを取得してもよい。この場合、通信制御装置101は、他の装置からポート番号リスト及び/又はIPアドレスリストを受信し、通信制御装置101自身は、ポート番号リスト及び/又はIPアドレスリストを生成する生成部102を備えなくともよい。
【符号の説明】
【0059】
1…通信制御システム、10…通信制御装置、20…端末、30…ネットワーク、10a…プロセッサ、10b…RAM、10c…ROM、10d…通信部、10e…入力部、10f…表示部、101…取得部、102…生成部、103…ランダム化部、104…記憶部、105…実行部
【手続補正書】
【提出日】2023-01-26
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
複数のポート番号を含む第1リストと、複数のIPアドレスを含む第2リストと、を生成する生成部と、
前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する実行部と、
前記第2リスト内の前記複数のIPアドレスをランダムに並び替えるランダム化部と、
を備え、
前記実行部は、
ランダムに並び替えられた前記第2リストの前記複数のIPアドレスのエントリの順番に基づいて前記複数のIPアドレスをグループ化し、
前記第1リストの前記複数のポート番号のエントリの順番に従って逐次的になるように、かつ、前記第2リストの同一のグループに属する複数のIPアドレスに対して並列的になるように前記ポートスキャンを実行する、
通信制御装置。
【請求項2】
複数のポート番号を含む第1リストと、複数のIPアドレスを含む第2リストと、を生成する生成部と、
前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する実行部と、
前記第1リスト内の前記複数のポート番号をランダムに並び替え、かつ、前記第2リスト内の前記複数のIPアドレスをランダムに並び替えるランダム化部と、
を備え、
前記実行部は、ランダムに並び替えられた前記第1リストの前記複数のポート番号のエントリの順番に従って逐次的になるように、かつ、前記第2リストの同一のグループに属する複数のIPアドレスに対して並列的になるように前記ポートスキャンを実行する、
通信制御装置。
【請求項3】
通信制御装置において、
複数のポート番号を含む第1リストを生成する工程と、
複数のIPアドレスを含む第2リストを生成する工程と、
前記第2リスト内の前記複数のIPアドレスをランダムに並び替える工程と、
ランダムに並び替えられた前記第2リストの前記複数のIPアドレスのエントリの順番に基づいて前記複数のIPアドレスをグループ化する工程と、
前記第1リストの前記複数のポート番号のエントリの順番に従って逐次的になるように、かつ、前記第2リストの同一のグループに属する複数のIPアドレスに対して並列的になるように前記ポートスキャンを実行する工程と、
を備える、
通信制御方法。
【請求項4】
通信制御装置に備えられたプロセッサに、
複数のポート番号を含む第1リストを生成する工程と、
複数のIPアドレスを含む第2リストを生成する工程と、
前記第2リスト内の前記複数のIPアドレスをランダムに並び替える工程と、
ランダムに並び替えられた前記第2リストの前記複数のIPアドレスのエントリの順番に基づいて前記複数のIPアドレスをグループ化する工程と、
前記第1リストの前記複数のポート番号のエントリの順番に従って逐次的になるように、かつ、前記第2リストの同一のグループに属する複数のIPアドレスに対して並列的になるように前記ポートスキャンを実行する工程と、
を実行させる、
通信制御プログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0007
【補正方法】変更
【補正の内容】
【0007】
本開示の一態様に係る通信制御装置は、複数のポート番号を含む第1リストと、複数のIPアドレスを含む第2リストと、を生成する生成部と、前記第2リスト内の前記複数のIPアドレスに対するポートスキャンをポート番号毎に実行する実行部と、前記第2リスト内の前記複数のIPアドレスをランダムに並び替えるランダム化部と、を備え、前記実行部は、ランダムに並び替えられた前記第2リストの前記複数のIPアドレスのエントリの順番に基づいて前記複数のIPアドレスをグループ化し、前記第1リストの前記複数のポート番号のエントリの順番に従って逐次的になるように、かつ、前記第2リストの同一のグループに属する複数のIPアドレスに対して並列的になるように前記ポートスキャンを実行する。