(57)【要約】【課題】  デュアルスタック環境において、処理負荷を低減させて効率よく且つ確実に名前解決処理を実行するためのＤＮＳサーバを提供する。【解決手段】  所定時間間隔で、ＤＮＳクエリに対する応答処理のログ情報中の拒絶応答数が上位の所定数のドメイン名とその拒絶応答数から、ドメインレベルごとに共通する文字列を含むグループごとにドメイン名およびその拒絶応答数を抽出し、グループごとの上位ドメインリストを生成する上位ドメインリスト生成部１３ｈと、各グループの上位ドメインごとに、ドメイン内の共通する文字列で示される拒絶ドメイン部分情報とこれに該当する拒絶応答数の和で示されるカウント値とを取得してブラックリストを生成するブラックリスト生成部１３ｉと、ブラックリストの中からＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報を削除するブラックリスト更新部１３ｎとを備える。【選択図】図１
2018174469.tif 000002
【特許請求の範囲】
【請求項１】
ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、
ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、
所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成する上位ドメインリスト生成部と、
前記上位ドメインリスト生成部において生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するＤＮＳクエリに対して拒絶応答の対象とするブラックリストを生成するブラックリスト生成部と、
前記ブラックリスト生成部で生成されたブラックリストの中から、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新するブラックリスト更新部と、
前記ブラックリスト更新部で更新されたブラックリストを記憶するブラックリスト記憶部と
を備えることを特徴とするＤＮＳサーバ。
【請求項２】
前記ブラックリスト生成部で生成されたブラックリストと、過去に前記ブラックリスト記憶部に記憶された既存のブラックリストとを突合し、カウンタ値が大きい順に拒絶ドメイン部分情報をソートしてソート後の上位所定数のドメイン情報部分とそのカウンタ値で突合リストを生成する突合リスト生成部をさらに有し、
前記ブラックリスト更新部は、前記突合リスト生成部で生成された突合リストの中から、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記既存のブラックリストを更新する
ことを特徴とする請求項１に記載のＤＮＳサーバ。
【請求項３】
前記ブラックリスト更新部は、前記ＤＮＳレコード情報記憶部に新たな対応情報が追加されると、追加後の新たなＤＮＳレコード情報を取得し、前記ブラックリスト記憶部に記憶された既存のブラックリストの中から、取得したＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウンタ値を削除することで、前記ブラックリスト記憶部内のブラックリストを更新する
ことを特徴とする請求項２に記載のＤＮＳサーバ。
【請求項４】
ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、
ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、
前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するＤＮＳレコード情報取得部と、
所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記ＤＮＳレコード情報取得部で取得されたＤＮＳレコード情報と突合させた突合リストを生成する突合リスト生成部と、
前記突合リスト生成部で生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成部と、
前記ツリー構造情報生成部で生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成部と
前記ブラックリスト生成部で生成されたブラックリストを記憶するブラックリスト記憶部と
を備えることを特徴とするＤＮＳサーバ。
【請求項５】
ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、
ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたＤＮＳサーバが、
所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、
生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成し、
生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するＤＮＳクエリに対して拒絶応答の対象とするブラックリストを生成し、
生成されたブラックリストの中から、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新し、
更新されたブラックリストを記憶する
ことを特徴とするＤＮＳサーバにおけるブラックリスト生成方法。
【請求項６】
ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、
ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたＤＮＳサーバが、
前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加し、
所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値とし、取得したＤＮＳレコード情報と突合させた突合リストを生成し、
生成した突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、
当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加し、
生成したツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成し、
生成したブラックリストを記憶する
ことを特徴とするＤＮＳサーバにおけるブラックリスト生成方法。
【請求項７】
請求項１〜４いずれか１項に記載のＤＮＳサーバで実行される機能を、コンピュータで実行させるためのブラックリスト生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
デュアルスタック環境において、処理負荷を抑えて名前解決処理を実行するためのＤＮＳサーバ、ＤＮＳサーバにおけるブラックリスト生成方法、ＤＮＳサーバに用いるブラックリスト生成プログラムに関する。
【背景技術】
【０００２】
近年、ＩＰネットワークを利用する通信は、ＩＰｖ４とＩＰｖ６とのプロトコルが混在するデュアルスタックの環境で行われることがある。
【０００３】
デュアルスタックの環境においては、異なるプロトコルのネットワークにアクセスする場合、例えば、ＩＰｖ６対応の閉域網（以下、「ＩＰｖ６閉域網」と称する）内のユーザ端末から、ＩＰｖ４対応の広域網（以下、「ＩＰｖ４広域網」と称する）内のＷｅｂサーバにアクセスする場合には、ユーザ端末は一旦ＩＰｖ６閉域網内のＤＮＳ（Domain Name System）サーバに名前解決を問い合わせ、これに対してRefused応答（拒絶応答）を受信すると、ＩＰｖ４広域網内のＩＳＰ−ＤＮＳサーバにアクセスすることになる。
【０００４】
このようにＩＰｖ４広域網へのアクセスの際にもＩＰｖ６閉域網内のＤＮＳサーバで問い合わせに対する処理を行うと、ＩＰｖ６閉域網内のＤＮＳサーバの処理負荷が増大してしまうという問題がある。そのため、ＩＰｖ６閉域網内のＤＮＳサーバの前段に、Refused応答の対象となるハードウェア（ユーザ端末）からのアクセスを検出してフィルタリングするためのハードウェア検出装置を設置する技術がある。
【０００５】
このハードウェア検出装置には、名前解決に関する処理を拒絶するドメイン名を登録したＤＮＳブラックリストを予め保持させる。そして、ＩＰｖ４アドレスの名前解決の問い合わせ要求が行われたときに、当該アドレスに、ＤＮＳブラックリストに登録されたドメイン名が含まれていれば、ＤＮＳサーバにアクセスさせることなく、要求元の端末にRefused応答を送信する。
【０００６】
このように構成することにより、ＩＰｖ６閉域網内のＤＮＳサーバの処理負荷を低減させることができる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００５−２２９２３４号公報
【特許文献２】特開２０１５−２２０４８３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上述したハードウェア検出装置では、ＤＮＳブラックリストに記憶する情報の容量に制限があり、登録可能なドメイン名の数や情報の大きさが限られている。そのため、Refused応答の対象となるドメイン名の共通部分のみをフィルタリングのための検出対象の最小限の情報として登録しておき、当該登録された共通部分を含むドメイン名の名前解決の問い合わせ要求が行われたときにRefused応答している。
【０００９】
しかし、このように最小限の共通部分の情報のみをＤＮＳブラックリストに登録しておくと、ＤＮＳサーバに名前解決処理対象として登録されているドメイン名に、当該共通部分が含まれてしまう場合がある。この場合、当該ハードウェア検出装置において、当該ドメイン名に関してはRefused応答せずにＤＮＳサーバへのアクセスを許可するように個別に設定をする必要がある。このように設定が行われることで、ＤＮＳサーバ内で実行される処理とハードウェア検出装置内で実行される処理との整合性をとることができる。
【００１０】
しかし、ＤＮＳサーバとハードウェア検出装置とは独立して構成されているため、ＤＮＳブラックリストに当該ドメイン名の共通部分を登録してからハードウェア検出装置においてアクセス許可の設定が行われるまでの間、双方の装置で処理の整合性がとれない期間が発生することがある。この期間が発生すると、当該ＤＮＳサーバに名前解決処理対象として登録されているドメイン名に関する名前解決処理が要求されても、処理が実行されずにRefused応答されてしまうという問題があった。
【００１１】
また、ＤＮＳブラックリストの登録は手動で行うため、手間がかかるという問題があった。
【００１２】
本発明は上記事情を鑑みてなされたものであり、デュアルスタック環境において、処理負荷を低減させて効率よく且つ確実に名前解決処理を実行するためのＤＮＳサーバ、ＤＮＳサーバにおけるブラックリスト生成方法、ＤＮＳサーバに用いるブラックリスト生成プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１３】
上記の課題を解決するための、本発明のＤＮＳサーバは、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成する上位ドメインリスト生成部と、前記上位ドメインリスト生成部において生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するＤＮＳクエリに対して拒絶応答の対象とするブラックリストを生成するブラックリスト生成部と、前記ブラックリスト生成部で生成されたブラックリストの中から、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新するブラックリスト更新部と、前記ブラックリスト更新部で更新されたブラックリストを記憶するブラックリスト記憶部とを備えることを特徴とする。
【００１４】
また、本発明の他の形態のＤＮＳサーバは、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するＤＮＳレコード情報取得部と、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記ＤＮＳレコード情報取得部で取得されたＤＮＳレコード情報と突合させた突合リストを生成する突合リスト生成部と、前記突合リスト生成部で生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成部と、前記ツリー構造情報生成部で生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成部と前記ブラックリスト生成部で生成されたブラックリストを記憶するブラックリスト記憶部とを備えることを特徴とする。
【００１５】
また、本発明のＤＮＳサーバにおけるブラックリスト生成方法は、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたＤＮＳサーバが、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成し、生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するＤＮＳクエリに対して拒絶応答の対象とするブラックリストを生成し、生成されたブラックリストの中から、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新し、更新されたブラックリストを記憶することを特徴とする。
【００１６】
また、本発明の他の形態によるＤＮＳサーバにおけるブラックリスト生成方法は、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたＤＮＳサーバが、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加し、所定時間間隔で、前記応答ログ情報記憶部に記憶されたログ情報のドメイン名ごとの拒絶応答数をポイント値とし、取得したＤＮＳレコード情報と突合させた突合リストを生成し、生成した突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加し、生成したツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成し、生成したブラックリストを記憶することを特徴とする。
【００１７】
また、本発明のＤＮＳサーバに用いるブラックリスト生成プログラムは、ＤＮＳサーバに、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶機能と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶機能と、所定時間間隔で、前記応答ログ情報記憶機能により記憶された応答ログ情報から、拒絶応答数が上位の所定数のドメイン名とその拒絶応答数を抽出して応答ログ情報の上位ドメインリストを生成し、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名およびその拒絶応答数で構成されるグループごとの上位ドメインリストを生成する上位ドメインリスト生成機能と、前記上位ドメインリスト生成機能により生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに、該当するグループ内のドメイン名に対する拒絶応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するＤＮＳクエリに対して拒絶応答の対象とするブラックリストを生成するブラックリスト生成機能と、前記ブラックリスト生成機能により生成されたブラックリストの中から、前記ＤＮＳレコード情報記憶機能により記憶されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除することで前記ブラックリストを更新するブラックリスト更新機能と、前記ブラックリスト更新機能により更新されたブラックリストを記憶するブラックリスト記憶機能とを実行させることを特徴とする。
【００１８】
また、本発明の他の形態によるＤＮＳサーバに用いるブラックリスト生成プログラムは、ＤＮＳサーバに、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶機能と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶機能と、前記ＤＮＳレコード情報記憶機能により記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶機能で記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するＤＮＳレコード情報取得機能と、所定時間間隔で、前記応答ログ情報記憶機能により記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記ＤＮＳレコード情報取得機能により取得されたＤＮＳレコード情報と突合させた突合リストを生成する突合リスト生成機能と、前記突合リスト生成機能により生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成機能と、前記ツリー構造情報生成機能により生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成機能と、前記ブラックリスト生成機能により生成されたブラックリストを記憶するブラックリスト記憶機能とを実行させることを特徴とする。
【発明の効果】
【００１９】
本発明のＤＮＳサーバ、ＤＮＳサーバにおけるブラックリスト生成方法、ＤＮＳサーバに用いるブラックリスト生成プログラムによれば、デュアルスタック環境において、処理負荷を低減させて効率よく且つ確実に名前解決処理を実行することが可能になる。
【図面の簡単な説明】
【００２０】
【図１】本発明の第１実施形態によるＤＮＳサーバを用いた通信システムの構成を示す全体図である。
【図２】本発明の第１実施形態によるＤＮＳサーバにおいて、ＤＮＳクエリを受信したときに実行される処理を示すフローチャートである。
【図３】本発明の第１実施形態によるＤＮＳサーバにおいて、ブラックリスト生成タイミングが到来したときに実行される処理を示すフローチャートである。
【図４】本発明の第１実施形態によるＤＮＳサーバで生成される応答ログ情報の上位ドメインリストの一例を示す表である。
【図５】（ａ）〜（ｄ）は、本発明の第１実施形態によるＤＮＳサーバで生成されるグループごとの上位ドメインリストの一例を示す表である。
【図６】（ａ）〜（ｃ）は、本発明の第１実施形態によるＤＮＳサーバで生成される所定グループの上位ドメインリスト内の各ドメイン名を構成する文字を、ドメインレベルごとの表に格納した状態を示す説明図である。
【図７】本発明の第１実施形態によるＤＮＳサーバのブラックリスト生成部で生成されるブラックリストの一例を示す表である。
【図８】本発明の第１実施形態によるＤＮＳサーバのブラックリスト記憶部に記憶された既存のブラックリストの一例を示す表である。
【図９】本発明の第１実施形態によるＤＮＳサーバの突合リスト生成部で生成された突合リストの一例を示す表である。
【図１０】本発明の第１実施形態によるＤＮＳサーバに記憶されるＤＮＳレコード情報の一例を示す表である。
【図１１】本発明の第１実施形態によるＤＮＳサーバのブラックリスト更新部で更新された突合リストの一例を示す表である。
【図１２】本発明の第１実施形態によるＤＮＳサーバのブラックリスト記憶部に記憶されたブラックリストのカウンタ値がリセットされた状態を示す表である。
【図１３】本発明の第１実施形態によるＤＮＳサーバにおいて、ＤＮＳレコード情報に新たな対応情報が追加されたときに実行される処理を示すフローチャートである。
【図１４】本発明の第２実施形態によるＤＮＳサーバを用いた通信システムの構成を示す全体図である。
【図１５】本発明の第２実施形態によるＤＮＳサーバにおいて、ブラックリスト生成タイミングが到来したときに実行される処理を示すフローチャートである。
【図１６】本発明の第２実施形態によるＤＮＳサーバで生成される応答ログ情報の上位ドメインリストの一例を示す表である。
【図１７】本発明の第２実施形態によるＤＮＳサーバで取得されるＤＮＳレコード情報の一例を示す表である。
【図１８】本発明の第２実施形態によるＤＮＳサーバで生成されるツリー構造情報の一例を示す説明図である。
【図１９】本発明の第２実施形態によるＤＮＳサーバのブラックリスト生成部で生成されるブラックリストの一例を示す表である。
【発明を実施するための形態】
【００２１】
《第１実施形態》
〈第１実施形態によるＤＮＳサーバを用いた通信システムの構成〉
本発明の第１実施形態によるＤＮＳサーバを用いた通信システムの構成について、図１を参照して説明する。本実施形態による通信システム１Ａは、ＩＰｖ６閉域網１０とＩＰｖ４広域網２０とが接続されたデュアルスタック環境で構築されている。
【００２２】
ＩＰｖ６閉域網１０には、複数のＩＰｖ６閉域網内サーバ（第１閉域網内サーバ１１−１、第２閉域網内サーバ１１−２、および第３閉域網内サーバ１１−３）と、ユーザ端末１２と、ＩＰｖ６閉域網ＤＮＳサーバ１３Ａ（以下、「閉域網ＤＮＳサーバ１３Ａ」と記載する）とが接続されている。第１閉域網内サーバ１１−１〜第３閉域網内サーバ１１−３にはそれぞれ、個別にＩＰｖ６アドレスが割り振られている。
【００２３】
図１においては、ＩＰｖ６閉域網１０にユーザ端末が１台接続され、ＩＰｖ６閉域網内サーバが３台接続された場合を示したが、この数には限定されず、さらに多くのユーザ端末やＩＰｖ６閉域網内サーバが接続されていてもよい。
【００２４】
ユーザ端末１２は、ユーザにより、第１閉域網内サーバ１１−１〜第３閉域網内サーバ１１−３、またはＩＰｖ４広域網２０内のＷｅｂサーバのいずれかをアクセス先としてホスト名またはメールアドレスを指定する操作が行われると、アクセス先のドメイン名からＩＰアドレスを取得する名前解決処理を要求するためのＤＮＳクエリを生成し、閉域網ＤＮＳサーバ１３Ａに送信する。
【００２５】
ＤＮＳサーバ１３Ａは、ＤＮＳレコード情報記憶部１３ａと、受信部１３ｂと、ドメイン判定部１３ｃと、ＤＮＳアプリケーション１３ｄと、応答生成部１３ｅと、送信部１３ｆと、応答ログ情報記憶部１３ｇと、上位ドメインリスト生成部１３ｈと、ブラックリスト生成部１３ｉと、ブラックリスト記憶部１３ｊと、ブラックリスト取得部１３ｋと、突合リスト生成部１３ｌと、ＤＮＳレコード情報取得部１３ｍと、ブラックリスト更新部１３ｎとを有する。
【００２６】
ＤＮＳレコード情報記憶部１３ａは、ＩＰｖ６閉域網１０内の装置に関し、名前解決処理を行うために予め登録された、ドメイン名とＩＰｖ６アドレスとの対応情報を、ＤＮＳレコード情報として記憶する。
【００２７】
受信部１３ｂは、ユーザ端末１２から送信されるＤＮＳクエリを受信する。ドメイン判定部１３ｃは、受信部１３ｂで受信されたＤＮＳクエリで指定されるドメイン名が、後述するブラックリスト記憶部１３ｊに記憶されたブラックリスト内の拒絶ドメイン部分情報に該当するか否かを判定する。ここで、指定されたドメイン名がブラックリスト内の拒絶ドメイン部分情報に該当すると判定した場合は、当該ＤＮＳクエリを応答生成部１３ｅに送出し、ブラックリストに該当しないと判定した場合は、当該ＤＮＳクエリをＤＮＳアプリケーション１３ｄに送出する。
【００２８】
ＤＮＳアプリケーション１３ｄは、ドメイン判定部１３ｃからＤＮＳクエリを取得すると、ＤＮＳレコード情報記憶部１３ａに記憶されたＤＮＳレコード情報に基づいて、取得したＤＮＳクエリで指定されるドメイン名に対応するＩＰｖ６アドレスを取得し、応答生成部１３ｅに送出する。また、ＤＮＳアプリケーション１３ｄは、取得したＤＮＳクエリで指定されるドメイン名に対応するＩＰｖ６アドレスがＤＮＳレコード情報記憶部１３ａに記憶されていないときには、当該ＤＮＳクエリに対しRefused応答すべきことを、応答生成部１３ｅに通知する。
【００２９】
応答生成部１３ｅは、ドメイン判定部１３ｃから、ドメイン名がブラックリスト内の拒絶ドメイン部分情報に該当すると判定したＤＮＳクエリを取得したときには、Refused応答を生成し、送信部１３ｆを介してユーザ端末１２に送信する。また、ＤＮＳアプリケーション１３ｄで取得されたＩＰｖ６アドレスを取得したときは、当該ＩＰｖ６アドレスを当該ＤＮＳクエリに対する応答として生成し、送信部１３ｆを介してユーザ端末１２に送信する。また、応答生成部１３ｅは、ＤＮＳアプリケーション１３ｄから、当該ＤＮＳクエリに対しRefused応答すべきことが通知されたときにはRefused応答を生成し、送信部１３ｆを介してユーザ端末１２に送信する。
【００３０】
応答ログ情報記憶部１３ｇは、ＤＮＳアプリケーション１３ｄで実行されたＤＮＳクエリに対する応答処理のログ情報（応答ログ情報）を記憶するとともに、Refused応答したログ情報に関し、ドメイン名ごとのRefused応答数を計数して記憶する。
【００３１】
上位ドメインリスト生成部１３ｈは、所定時間間隔で到来するブラックリスト生成タイミングにおいて、応答ログ情報記憶部１３ｇに記憶された応答ログ情報からRefused応答数が上位の所定数のドメイン名とそのRefused応答数を抽出し、応答ログ情報の上位ドメインリストを生成する。そして、生成した応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループごとに、該当するドメイン名とそのRefused応答数で構成されるグループごとの上位ドメインリストを生成する。
【００３２】
ブラックリスト生成部１３ｉは、上位ドメインリスト生成部１３ｈにおいて生成された各グループの上位ドメインリストごとに、ドメイン名内の共通する文字列を拒絶ドメイン部分情報として抽出するとともに該当するグループ内のドメイン名に対するRefused応答数の和を当該拒絶ドメイン部分情報のカウント値として算出し、これらの拒絶ドメイン部分情報とそのカウント値とを用いて、以後発生するＤＮＳクエリに対してRefused応答の対象とするブラックリストを生成する。
【００３３】
ブラックリスト記憶部１３ｊは、過去のブラッククリスト生成タイミングにおいて生成したブラックリストを記憶する。
【００３４】
ブラックリスト取得部１３ｋは、突合リスト生成部１３ｌからの要求により、ブラックリスト記憶部１３ｊに記憶されたブラックリストを取得する。
【００３５】
突合リスト生成部１３ｌは、ブラックリスト生成部１３ｉで生成されたブラックリストと、ブラックリスト取得部１３ｋで取得された既存のブラックリストとを突合し、カウンタ値が大きい順に拒絶ドメイン部分情報をソートしてソート後の上位所定数の拒絶ドメイン部分情報とそのカウンタ値で突合リストを生成する。
【００３６】
ＤＮＳレコード情報取得部１３ｍは、ブラックリスト更新部１３ｎからの要求により、ＤＮＳレコード情報記憶部１３ａに記憶されたＤＮＳレコード情報を取得する。
【００３７】
ブラックリスト更新部１３ｎは、突合リスト生成部１３ｌで生成された突合リストの中から、ＤＮＳレコード情報取得部１３ｍで取得されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値を削除する。そして、該当情報を削除した後の上位所定数の拒絶ドメイン部分情報とそのカウンタ値で、ブラックリスト記憶部１３ｊ内のブラックリストを更新する。
【００３８】
また、ブラックリスト更新部１３ｎは、ＤＮＳレコード情報記憶部１３ａに新たなドメイン名とＩＰｖ６アドレスとの対応情報が追加されたときに、ＤＮＳレコード情報取得部１３ｍを介して新たなＤＮＳレコード情報を取得するとともに、ブラックリスト取得部１３ｋを介して既存のブラックリストを取得する。そして、既存のブラックリストの中から、取得したＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウンタ値を削除することで、ブラックリスト記憶部１３ｊ内のブラックリストを更新する。
【００３９】
ＩＰｖ４広域網２０には、複数のＷｅｂサーバ（第１Ｗｅｂサーバ２１−１、第２Ｗｅｂサーバ２１−２、および第３Ｗｅｂサーバ２１−３）と、ＩＳＰ（Internet Service Provider）−ＤＮＳサーバ２２とが接続されている。図１においては、ＩＰｖ４広域網２０にＷｅｂサーバが３台接続された場合を示したが、この数には限定されず、さらに多くのＷｅｂサーバが接続されていてもよい。第１Ｗｅｂサーバ２１−１〜第３Ｗｅｂサーバ２１−３にはそれぞれ、個別にＩＰｖ４アドレスが割り振られている。
【００４０】
ＩＳＰ−ＤＮＳサーバ２２は、ユーザ端末１２からＤＮＳクエリを取得すると、これに対する応答として、当該ＤＮＳクエリに含まれるドメイン名に対応するＩＰｖ４アドレスを取得してユーザ端末１２に送信する。
【００４１】
〈第１実施形態によるＤＮＳサーバを用いた通信システムの動作〉
次に、本実施形態による通信システム１ＡのＩＰｖ６閉域網１０内の閉域網ＤＮＳサーバ１３Ａの動作について、図２〜１２を参照して説明する。本実施形態において、ＩＰｖ６閉域網１０内のＤＮＳレコード情報記憶部１３ａには、ＩＰｖ６閉域網１０内の装置（第１閉域網内サーバ１１−１、第２閉域網内サーバ１１−２、および第３閉域網内サーバ１１−３を含む）に関し、名前解決処理を行うために予め登録された、ドメイン名とＩＰｖ６アドレスとの対応情報が、ＤＮＳレコード情報として予め記憶されている。
【００４２】
そして、通常の稼動中は、ユーザ端末１２においてアクセス先としてホスト名またはメールアドレスを指定する操作が行われると、アクセス先のドメイン名からＩＰアドレスを取得する名前解決処理を要求するためのＤＮＳクエリが生成され、閉域網ＤＮＳサーバ１３Ａに送信される。
【００４３】
閉域網ＤＮＳサーバ１３Ａでは、図２のフローチャートに示すように、ユーザ端末１２から送信されたＤＮＳクエリが受信部１３ｂから受信されると（Ｓ１の「YES」）、ドメイン判定部１３ｃにおいて、ＤＮＳクエリで指定されるドメイン名が、後述するブラックリスト記憶部１３ｊに記憶されたブラックリスト内の拒絶ドメイン部分情報に該当するか否かが判定される（Ｓ２）。
【００４４】
判定したドメイン名が例えばＩＰｖ４アドレスのドメイン名であり、ブラックリスト内の拒絶ドメイン部分情報に該当すると判定した場合（Ｓ２の「YES」）は、応答生成部１３ｅで当該ＤＮＳクエリに対するRefused応答が生成され、送信部１３ｆからユーザ端末１２に送信される（Ｓ３）。このように、ブラックリスト内の拒絶ドメイン部分情報に該当するＤＮＳクエリに対しては、ＤＮＳアプリケーションの前段でRefused応答処理が行われる。このとき、ブラックリスト内に記憶されている、該当するドメイン部分情報に関するRefused応答した回数を示すカウント値が更新される。
【００４５】
ユーザ端末１２では、Refused応答を受信したことによりＩＰｖ４広域網２０内のＩＳＰ−ＤＮＳサーバ２２に対してＤＮＳクエリが再送信される。ＩＳＰ−ＤＮＳサーバ２２では、取得したＤＮＳクエリに基づいて例えばＷｅｂサーバ２１−１のＩＰｖ４が取得され、ユーザ端末１２に通知される。ユーザ端末１２では、通知されたＩＰｖ４アドレスを用いて、Ｗｅｂサーバ２１−１にアクセス処理が実行される。
【００４６】
また、ステップＳ２において、ドメイン判定部１３ｃで判定したドメイン名がブラックリスト内の拒絶ドメイン部分情報に該当しないと判定した場合（Ｓ２の「NO」）は、当該ＤＮＳクエリがＤＮＳアプリケーション１３ｄに送出される。ＤＮＳアプリケーション１３ｄでは、ＤＮＳレコード情報記憶部１３ａに記憶されたＤＮＳレコード情報に、受信したＤＮＳクエリで指定されるドメイン名に対応するＩＰｖ６アドレスが記憶されているか否かが判定される（Ｓ４）。判定の結果、記憶されたＤＮＳレコード情報に、受信したＤＮＳクエリで指定されるドメイン名に対応するＩＰｖ６アドレスが記憶されているときには（Ｓ４の「YES」）、当該ＩＰｖ６アドレスが取得される（Ｓ５）。
【００４７】
そして、応答生成部１３ｅにおいて、取得されたＩＰｖ６アドレスの情報が当該ＤＮＳクエリに対する応答として生成され、送信部１３ｆからユーザ端末１２に送信される（Ｓ６）。ここで、ＤＮＳアプリケーション１３ｄで、当該ＤＮＳクエリに対してＩＰｖ６アドレスを応答したことが、応答ログ情報記憶部１３ｇに記憶される（Ｓ７）。
【００４８】
ユーザ端末１２では、通知されたＩＰｖ６アドレスを用いて、第１閉域網内サーバ１１−１にアクセス処理が行われる。
【００４９】
上述した処理において、ユーザ端末１２から、ブラックリストに記憶されていないドメイン名を有する端末、例えばＩＰｖ４広域網２０内のＷｅｂサーバ２１−３をアクセス先としてホスト名を指定する操作が行われた場合には、ステップＳ４の「NO」からステップＳ８に移行する。そして、ＤＮＳアプリケーション１３ｄにより、当該ＤＮＳクエリに対しRefused応答すべきことが応答生成部１３ｅに通知される。応答生成部１３ｅでは、Refused応答が生成され、ユーザ端末１２に送信される（Ｓ８）。ここで、ＤＮＳアプリケーション１３ｄで、当該ＤＮＳクエリに含まれるＩＰｖ４アドレスのドメイン名に対してRefused応答したことが、応答ログ情報記憶部１３ｇに記憶される。また、応答ログ情報記憶部１３ｇに記憶された、該当するドメイン名のRefused応答数が更新される（Ｓ９）。
【００５０】
上述したように稼動している間に、閉域網ＤＮＳサーバ１３Ａ内において所定時間間隔で実行されるブラックリストの生成処理について、図３〜１１を参照して説明する。
【００５１】
予め設定されたブラックリスト生成タイミングが到来すると（Ｓ１１の「YES」）、上位ドメインリスト生成部１３ｈにより、応答ログ情報記憶部１３ｇに記憶された応答ログ情報から、Refused応答数が上位の所定数のドメイン名とそのRefused応答数が抽出され、応答ログ情報の上位ドメインリストが生成される（Ｓ１２）。ここでは、一例として、図４に示す応答ログ情報から、太線枠で示すRefused応答数上位１０位までのドメイン名およびそのRefused応答数が抽出され、上位ドメインリストが生成される。ここで、図４に示すリスト内のRefused応答数の大きさは、Ａ＞Ｂ＞Ｃ＞Ｄ＞Ｅ＞Ｆ＞Ｇ＞Ｈ＞Ｉ＞Ｊ・・・＞Ｘである。
【００５２】
次に、上位ドメインリスト生成部１３ｈにおいて、図４に示す応答ログ情報の上位ドメインリストに基づいて、ドメインレベルごとに共通する文字列を含むグループα、β、σ、γごとに、図５（ａ）、（ｂ）、（ｃ）、および（ｄ）の４つの上位ドメインリストが生成される（Ｓ１３）。これらのグループごとの上位ドメインリストは、該当するドメイン名とそのRefused応答数で構成される。
【００５３】
次に、ブラックリスト生成部１３ｉにより、グループα、β、σ、γごとの、上位ドメインリスト内のドメイン名の共通文字列部分が抽出される。一例として、生成された４つのグループの上位ドメインリストのうち、図５（ａ）に示すグループαの上位ドメインリストからドメイン名の共通文字列部分を抽出する場合について説明する。
【００５４】
グループαの上位ドメインリストには、Refused応答した回数が多いドメイン名として、「aaaaa.co.jp」、「aa.co.jp」、および「aaaa.co.jp」の３つが格納されている。そして、これらのドメイン名がそれぞれ、第１レベルドメイン（トップレベルドメイン）、第２レベルドメイン、第３レベルドメインに分割され、ドメインレベルごとに図６（ａ）〜（ｃ）のように表で示される。
【００５５】
図６（ａ）は、グループα内の各ドメイン名の第１レベルドメインを示す表であり、１行目にドメイン名「aaaaa.co.jp」の第１レベルドメインである「jp」が各列に一文字ずつ格納され、２行目にドメイン名「aa.co.jp」の第１レベルドメインである「jp」が各列に一文字ずつ格納され、ドメイン名「aaaa.co.jp」の第１レベルドメインである「jp」が各列に一文字ずつ格納されている。
【００５６】
図６（ｂ）は、各ドメイン名の第２レベルドメインを示す表であり、図６（ａ）と同様の要領で、１行目〜３行目に各ドメイン名の第２レベルドメインである「co」が各列に一文字ずつ格納されている。
【００５７】
図６（ｃ）は、各ドメイン名の第３レベルドメインを示す表であり、１行目にドメイン名「aaaaa.co.jp」の第３レベルドメインである「aaaaa」が各列に一文字ずつ格納され、２行目にドメイン名「aa.co.jp」の第３レベルドメインである「aa」が各列に一文字ずつ格納され、ドメイン名「aaaa.co.jp」の第３レベルドメインである「aaaa」が各列に一文字ずつ格納されている。これらの情報は、各行において、右詰で各列に格納される。
【００５８】
次に、生成されたドメインレベルごとの表に基づいて、複数のドメイン名の間で、第１レベルドメインおよび第２レベルドメインがすべての列で一致し、且つ第３レベルドメインの右から複数列が共通する共通文字列の組み合わせが抽出される。図６（ａ）〜（ｃ）においては、３つのドメイン名「aaaaa.co.jp」、「aa.co.jp」、および「aaaa.co.jp」の間で、第１レベルドメイン「jp」および第２レベルドメイン「co」が一致しており、第３レベルドメインの右から２列が「aa」で共通するため、これらを組み合わせた文字列「aa.co.jp」が抽出される。
【００５９】
そして、当該抽出した文字列の先頭に任意の０文字以上の文字列を示す「*」を付加した「*aa.co.jp」を、以後発生するＤＮＳクエリに対してRefused応答の対象とする拒絶ドメイン部分情報とする。また、この拒絶ドメイン部分情報「*aa.co.jp」に該当するドメイン名「aaaaa.co.jp」、「aa.co.jp」、および「aaaa.co.jp」のRefused応答数の和が、当該拒絶ドメイン部分情報「*aa.co.jp」のカウンタ値ａとして算出される。つまり、カウンタ値ａ＝Refused応答数Ａ＋Ｄ＋Ｇである。
【００６０】
同様に、図５（ｂ）に示すグループβの上位ドメインリストから拒絶ドメイン部分情報「*bbb.co.jp」が抽出され、そのカウンタ値ｂが算出される（カウンタ値ｂ＝Refused応答数Ｂ＋Ｉ）。また、図５（ｃ）に示すグループσの上位ドメインリストから拒絶ドメイン部分情報「*cc.co.jp」が抽出され、そのカウンタ値ｄが算出される（カウンタ値ｄ＝Refused応答数Refused応答数Ｅ＋Ｆ＋Ｊ）。また、図５（ｄ）に示すグループγの上位ドメインリストから拒絶ドメイン部分情報「*ddd.co.jp」が抽出され、そのカウンタ値ｃが算出される（カウンタ値ｃ＝Refused応答数Ｃ＋Ｈ）。
【００６１】
そして、抽出された４つの拒絶ドメイン部分情報が、カウンタ値の大きい順に並び替えられ、図７に示すようにブラックリストが生成される（Ｓ１４）。図７のブラックリストには、カウンタ値の大きい順に、拒絶ドメイン部分情報が「*aa.co.jp」とそのカウンタ値ａ、「*bbb.co.jp」とそのカウンタ値ｂ、「*ddd.co.jp」とそのカウンタ値ｃ、「*cc.co.jp」とそのカウンタ値ｄが保持されている。
【００６２】
ここで、当該ブラックリストの生成処理が１回目であり、ブラックリスト記憶部１３ｊの中に既存のブラックリストが未だない場合は（Ｓ１５の「YES」）、ステップＳ１４で更新されたブラックリストがブラックリスト記憶部１３ｊに記憶され、ステップＳ１１に戻る（Ｓ１６）。
【００６３】
ステップＳ１１において、予め設定された期間（例えば数日）が経過し、次のブラックリスト生成タイミングが到来すると（Ｓ１１の「YES」）、上述したようにステップＳ１２〜Ｓ１４の処理が実行される。
【００６４】
本実施形態においては２回目以降のブックリスト生成処理が実行されており（Ｓ１５の「NO」）、ブラックリスト取得部１３ｋにより、ブラックリスト記憶部１３ｊに記憶されている既存のブラックリストが取得される（Ｓ１７）。既存のブラックリストの一例を、図８に示す。図８のブラックリストには、拒絶ドメイン部分情報「*yy.co.jp」とのこの拒絶ドメイン部分情報に関するRefused応答した回数を示すカウンタ値x、拒絶ドメイン部分情報「*jjj.co,jp」とそのカウンタ値ｙ、および拒絶ドメイン部分情報「*zzzzzz.ne.jp」とそのカウンタ値zが保持されている。
【００６５】
次に、突合リスト生成部１３ｌにより、ブラックリスト生成部１３ｉで生成されたブラックリストと、ブラックリスト取得部１３ｋで取得された既存のブラックリストとが突合され、カウンタ値が大きい順に拒絶ドメイン部分情報がソートされた突合リストが生成される（Ｓ１８）。例えば、図７に示すブラックリストと、図８に示す既存のブラックリストとが突合され、図９に示す突合リストが生成される。
【００６６】
突合リストが生成されると、ブラックリスト更新部１３ｎからの要求によりＤＮＳレコード情報取得部１３ｍで最新のＤＮＳレコード情報がＤＮＳレコード情報記憶部１３ａから取得される（Ｓ１９）。例えば、図１０に示すような、「aaa.ne.jp」、「bbbbb.co.jp」・・・「ccc.ne.jp」を含むＤＮＳレコード情報が取得される。
【００６７】
そして、ブラックリスト更新部１３ｎにより、突合リスト生成部１３ｌで生成された突合リストの中から、ＤＮＳレコード情報取得部１３ｍで取得されたＤＮＳレコード情報内のドメイン名が該当する拒絶ドメイン部分情報とそのカウント値が削除される（Ｓ２０）。例えば、図９に示すように生成された突合リストの中から、図１０に示すＤＮＳレコード情報内の「bbbbb.co.jp」が該当する拒絶ドメイン部分情報「*bbb.co.jp」とそのカウンタ値ｂが削除され、図１１のように更新される。
【００６８】
そして、この更新された突合リストの中から、上位所定数の拒絶ドメイン部分情報とそのカウンタ値が抽出され、抽出された情報でブラックリスト記憶部１３ｊ内のブラックリストが更新される（Ｓ２１）。例えば、図１１の更新された突合リストの中から、太線枠で示す上位３個の拒絶ドメイン部分情報とそのカウンタ値（拒絶ドメイン部分情報「*aa.co.jp」とそのカウンタ値ａ、拒絶ドメイン部分情報「*yy.co,jp」とそのカウンタ値x、拒絶ドメイン部分情報「*jjj.co.jp」とそのカウンタ値y）が抽出され、これらの情報でブラックリスト記憶部１３ｊ内のブラックリストが更新される。
【００６９】
ブラックリスト記憶部１３ｊのブラックリストが更新されると、応答ログ情報記憶部１３ｇ内に記憶された応答ログ情報が消去されるとともに、更新したブラックリスト内のすべてのカウント値が図１２に示すようにリセットされ、ステップＳ１に戻る。以上で、ブラックリストの生成処理の説明を終了する。
【００７０】
次に、閉域網ＤＮＳサーバ１３Ａ内のＤＮＳレコード情報記憶部１３ａに、名前解決処理を行うためのドメイン名とＩＰｖ６アドレスとの対応情報が新たに追加されたときに実行される処理について、図１３のフローチャートを参照して説明する。
【００７１】
ＤＮＳレコード情報記憶部１３ａのＤＮＳレコード情報に新たな対応情報が追加されると（Ｓ２１の「YES」）、ＤＮＳレコード情報取得部１３ｍで情報追加後のＤＮＳレコード情報がＤＮＳレコード情報記憶部１３ａから取得され、ブラックリスト更新部１３ｎに送出される（Ｓ２２）。また、ブラックリスト更新部１３ｎからの要求により、ブラックリスト取得部１３ｋで既存のブラックリストがブラックリスト記憶部１３ｊから取得される（Ｓ２３）。
【００７２】
そして、ブラックリスト更新部１３ｎにより、既存のブラックリストから、取得されたＤＮＳレコード情報内のドメイン名に該当する拒絶ドメイン部分とそのカウンタ値が削除されることでブラックリストが更新される（Ｓ２４）。
【００７３】
以上の第１実施形態によれば、ＩＰｖ６閉域網１０内の閉域網ＤＮＳサーバ１３Ａにおいて、頻繁に受信されるＩＰｖ４広域網２０のドメイン名に関するＤＮＳクエリに対しては、ＤＮＳアプリケーション１３ｄ前段で迅速にRefused応答が行われ、ＤＮＳアプリケーション１３ｄの処理負荷が低減されるとともに、処理時間の短縮を図ることができる。
【００７４】
また、ユーザ端末１２から頻繁にアクセスする先が追加、変更されたときや、ＤＮＳレコード情報が新たに追加されたときにも、これに対応して自動でブラックリストが迅速に更新され、ＤＮＳレコード情報に登録されたドメイン名に対する名前解決処理を確実に実行させることができる。
【００７５】
《第２実施形態》
〈第２実施形態によるＤＮＳサーバを用いた通信システムの構成〉
本発明の第２実施形態によるＤＮＳサーバを用いた通信システムの構成について、図１４を参照して説明する。本実施形態による通信システム１Ｂは、第１実施形態の通信システム１Ａの閉域網ＤＮＳサーバ１３Ａ内のブラックリスト生成部１３ｉ、ブラックリスト取得部１３ｋ、突合リスト生成部１３ｌ、およびブラックリスト更新部１３ｎに換えて、閉域網ＤＮＳサーバ１３Ｂが、突合リスト生成部１３ｐ、ツリー構造情報生成部１３ｑ、ブラックリスト生成部１３ｒ、およびブラックリスト更新部１３ｓを有する他は、第１実施形態の構成と同様であるため、同一機能を有する部分の詳細な説明は省略する。
【００７６】
本実施形態において、閉域網ＤＮＳサーバ１３Ｂ内のＤＮＳレコード情報取得部１３ｍは、ＤＮＳレコード情報記憶部１３ａに記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、応答ログ情報記憶部１３ｇに記憶可能な応答ログ情報数の最大値よりも十分に小さい値を、対応するポイント値として付加する。ここでは、各ＤＮＳレコード情報に対し、−∞をポイント値として付加する。
【００７７】
上位ドメインリスト生成部１３ｈは、所定時間間隔で到来するブラックリスト生成タイミングにおいて、応答ログ情報記憶部１３ｇに記憶された応答ログ情報からRefused応答数が上位の所定数のドメイン名とそのRefused応答数を抽出し、応答ログ情報の上位ドメインリストを生成する。
【００７８】
突合リスト生成部１３ｐは、上位ドメインリスト生成部１３ｈで生成された上位ドメインリスト中のドメイン名ごとのRefused応答数を該当するドメイン名のポイント値として、ＤＮＳレコード情報取得部１３ｍで取得されたＤＮＳレコード情報と突合させた突合リストを生成する。
【００７９】
ツリー構造情報生成部１３ｑは、突合リスト生成部１３ｐで生成された突合リストから、ドメイン名を構成する各文字をノードとし、ドメイン名の末端（右端）の共通する文字を最上位ノードとし先頭（左端）の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成する。そして、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加する。
【００８０】
ブラックリスト生成部１３ｒは、ツリー構造情報生成部１３ｑで生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成する。
【００８１】
ブラックリスト更新部１３ｓは、ブラックリスト生成部１３ｒで生成されたブラックリストで、ブラックリスト記憶部１３ｊ内の既存のブラックリストを更新する。
【００８２】
〈第２実施形態によるＤＮＳサーバを用いた通信システムの動作〉
本実施形態による通信システム１Ｂの閉域網ＤＮＳサーバ１３Ｂの動作について、図１５〜１９を参照して説明する。本実施形態において、通常の稼動中は第１実施形態と同様に、ユーザ端末１２からの要求に基づいて名前解決処理が実行される。
【００８３】
当該通信システム１Ｂの稼動中に、予め設定されたブラックリスト生成タイミングが到来すると（Ｓ３１び「YES」）、上位ドメインリスト生成部１３ｈにより、応答ログ情報記憶部１３ｇに記憶された応答ログ情報から、Refused応答数が上位の所定数のドメイン名とそのRefused応答数が抽出され、図１６に示すように応答ログ情報の上位ドメインリストが生成される（Ｓ３２）。
【００８４】
また、ＤＮＳレコード情報取得部１３ｍにより、ＤＮＳレコード情報記憶部１３ａに記憶されたＤＮＳレコード情報が取得され、各ＤＮＳレコード情報に対し、応答ログ情報記憶部１３ｇに記憶可能な応答ログ情報数の最大値よりも十分に小さい値が、対応するポイント値として付加される。ここでは、図１７に示すように、各ＤＮＳレコード情報に対し、−∞がポイント値として付加される（Ｓ３３）。
【００８５】
次に、突合リスト生成部１３ｐにより、応答ログ情報記憶部１３ｇに記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、ＤＮＳレコード情報取得部１３ｍで取得されたＤＮＳレコード情報と突合させた突合リストが生成される（Ｓ３４）。
【００８６】
次に、ツリー構造情報生成部１３ｑにおいて、突合リスト生成部１３ｐ生成された突合リストから、図１８に示すように、ドメイン名の各文字をノードとしたツリー構造の情報が生成される。このツリー構造の情報は、複数のドメイン名に共通する第１ドメインの末端文字（右端の文字）を最上位ノードとし、右端の文字から順に左に一文字ずつ、該当するノードを順次下位ノードとしてエッジで関連付けて構成される。ここで、複数のドメイン名間で最上位ノードから連続して共通する文字列部分は同一ノードとし、異なる文字から先をエッジで分岐させることで、突合リスト内の複数のドメイン名の情報が格納される。
【００８７】
また、当該ツリー構造の情報内の各最下位のノードには、該当するドメイン名のポイント値が付加される（Ｓ３５）。また、共通の上位ノードを有する最下位ノード（末端ノード）のポイント値の合計値が、該当する上位ノードのポイント値として付加される（Ｓ３６）。さらに、上位のノードにポイント値が付加されていないノードがあるときには（Ｓ３７の「YES」）、ポイント値が付加されていない共通の上位ノードを有する、ポイント値が付加された直近の下位のノードのポイント値の合計値が、該当する上位ノードのポイント値として付加される（Ｓ３８）。この処理は、ポイント値が付加されていないノードがなくなるまで繰り返される。
【００８８】
ツリー構造の情報内のすべてのノードにポイント値が付加されると（Ｓ３７の「NO」）、ブラックリスト生成部１３ｒにより、ツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分および対応するポイント値が抽出される（Ｓ３９）。そして、抽出された共通文字列部分のうち、対応するポイント値が所定値よりも大きいものがさらに抽出される。ここで、抽出対象のノードに下位ノードが存在する場合には、当該下位ノード部分を０文字以上の任意の文字列を示す「*」として、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶ドメイン部分情報が生成される。そして、生成された拒絶部分ドメイン部分情報が図１９に示すようにリスト化されることで、ブラックリストが生成される。さらに、ブラックリスト更新部１３ｓにより、生成されたブラックリストでブラックリスト記憶部１３ｊ内の既存のブラックリストが更新される（Ｓ４０）。
【００８９】
以上の第２実施形態によれば、ＩＰｖ６閉域網１０内の閉域網ＤＮＳサーバ１３Ｂにおいて、頻繁に受信されるＩＰｖ４広域網２０のドメイン名に関するＤＮＳクエリに対しては、ＤＮＳアプリケーション１３ｄ前段で迅速にRefused応答が行われ、ＤＮＳアプリケーション１３ｄの処理負荷が低減されるとともに、処理時間の短縮を図ることができる。
【００９０】
上述した実施形態においては、ＩＰｖ６に対応したネットワーク内のＤＮＳサーバにブラックリストの生成および更新を行う機能を設けた場合について説明したが、当該機能をＩＰｖ４ネットワーク内のＤＮＳサーバに搭載し、ＩＰｖ４ネットワーク内の機器からＩＰｖ６ネットワーク内の機器にアクセスする際のＤＮＳサーバの処理負荷を軽減させるようにしてもよい。
【符号の説明】
【００９１】
１…通信システム
１０…ＩＰｖ６閉域網
１１−１…第１閉域網内サーバ
１１−２…第２閉域網内サーバ
１１−３…第３閉域網内サーバ
１２…ユーザ端末
１３…ＤＮＳサーバ
１３ａ…ＤＮＳレコード情報記憶部
１３ｂ…受信部
１３ｃ…ドメイン判定部
１３ｄ…ＤＮＳアプリケーション
１３ｅ…応答生成部
１３ｆ…送信部
１３ｇ…応答ログ情報記憶部
１３ｈ…上位ドメインリスト生成部
１３ｉ…ブラックリスト生成部
１３ｊ…ブラックリスト記憶部
１３ｋ…ブラックリスト取得部
１３ｌ…突合リスト生成部
１３ｍ…ＤＮＳレコード情報取得部
１３ｎ…ブラックリスト更新部
１３ｐ…突合リスト生成部
１３ｑ…ツリー構造情報生成部
１３ｒ…ブラックリスト生成部
１３ｓ…ブラックリスト更新部
２０…ＩＰｖ４広域網
２１−１…第１Ｗｅｂサーバ
２１−２…第２Ｗｅｂサーバ
２１−３…第３Ｗｅｂサーバ
２２…ＩＳＰ−ＤＮＳサーバ
【図１】
2018174469.tif 000003
【図２】
2018174469.tif 000004
【図３】
2018174469.tif 000005
【図４】
2018174469.tif 000006
【図５】
2018174469.tif 000007
【図６】
2018174469.tif 000008
【図７】
2018174469.tif 000009
【図８】
2018174469.tif 000010
【図９】
2018174469.tif 000011
【図１０】
2018174469.tif 000012
【図１１】
2018174469.tif 000013
【図１２】
2018174469.tif 000014
【図１３】
2018174469.tif 000015
【図１４】
2018174469.tif 000016
【図１５】
2018174469.tif 000017
【図１６】
2018174469.tif 000018
【図１７】
2018174469.tif 000019
【図１８】
2018174469.tif 000020
【図１９】
2018174469.tif 000021
【手続補正書】
【提出日】平成30年6月19日(2018.6.19)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、
ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、
前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するＤＮＳレコード情報取得部と、
所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記ＤＮＳレコード情報取得部で取得されたＤＮＳレコード情報と突合させた突合リストを生成する突合リスト生成部と、
前記突合リスト生成部で生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成部と、
前記ツリー構造情報生成部で生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成部と
前記ブラックリスト生成部で生成されたブラックリストを記憶するブラックリスト記憶部と
を備えることを特徴とするＤＮＳサーバ。
【請求項２】
ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、
ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたＤＮＳサーバが、
前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加し、
所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値とし、取得したＤＮＳレコード情報とを突合させた突合リストを生成し、
生成した突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、
当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加し、
生成したツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成し、
生成したブラックリストを記憶する
ことを特徴とするＤＮＳサーバにおけるブラックリスト生成方法。
【請求項３】
請求項１に記載のＤＮＳサーバで実行される機能を、コンピュータで実行させるためのブラックリスト生成プログラム。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００１３
【補正方法】削除
【補正の内容】
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１４
【補正方法】変更
【補正の内容】
【００１４】
上記の課題を解決するための、本発明のＤＮＳサーバは、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部と、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するＤＮＳレコード情報取得部と、所定時間間隔で、前記応答ログ情報記憶部に記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記ＤＮＳレコード情報取得部で取得されたＤＮＳレコード情報と突合させた突合リストを生成する突合リスト生成部と、前記突合リスト生成部で生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成部と、前記ツリー構造情報生成部で生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成部と前記ブラックリスト生成部で生成されたブラックリストを記憶するブラックリスト記憶部とを備えることを特徴とする。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】削除
【補正の内容】
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００１６
【補正方法】変更
【補正の内容】
【００１６】
また、本発明のＤＮＳサーバにおけるブラックリスト生成方法は、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶部と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶部とを備えたＤＮＳサーバが、前記ＤＮＳレコード情報記憶部に記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶部に記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加し、所定時間間隔で、前記応答ログ情報記憶部に記憶されたログ情報のドメイン名ごとの拒絶応答数をポイント値とし、取得したＤＮＳレコード情報と突合させた突合リストを生成し、生成した突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加し、生成したツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成し、生成したブラックリストを記憶することを特徴とする。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００１７
【補正方法】削除
【補正の内容】
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００１８
【補正方法】変更
【補正の内容】
【００１８】
また、本発明のＤＮＳサーバに用いるブラックリスト生成プログラムは、ＤＮＳサーバに、ドメイン名からＩＰアドレスを解決する名前解決処理を行うために登録された、ドメイン名とＩＰアドレスとの対応情報をＤＮＳレコード情報として記憶するＤＮＳレコード情報記憶機能と、ドメイン名を指定して名前解決処理を要求するために送信されたＤＮＳクエリに対する応答処理のログ情報を記憶する応答ログ情報記憶機能と、前記ＤＮＳレコード情報記憶機能により記憶されたＤＮＳレコード情報を取得し、各ＤＮＳレコード情報に対し、前記応答ログ情報記憶機能で記憶可能な応答ログ情報数の最大値よりも大きい絶対値の負の値をポイント値として付加するＤＮＳレコード情報取得機能と、所定時間間隔で、前記応答ログ情報記憶機能により記憶された応答ログ情報のドメイン名ごとの拒絶応答数をポイント値として、前記ＤＮＳレコード情報取得機能により取得されたＤＮＳレコード情報と突合させた突合リストを生成する突合リスト生成機能と、前記突合リスト生成機能により生成された突合リストから、ドメイン名の各文字をノードとし、ドメイン名の末端の共通する文字を最上位ノードとし先頭の文字を最下位ノードとして、共通の末端文字列を有する複数のドメイン名を示したツリー構造の情報を生成し、当該ツリー構造の情報内の各最下位ノードに、該当するドメイン名のポイント値を該当するノードのポイント値として付加し、最下位以外の各ノードに、直近の下位ノードのポイント値の合計値を該当するノードのポイント値として付加するツリー構造情報生成機能と、前記ツリー構造情報生成機能により生成されたツリー構造の情報から、ポイント値が正の値であり、直近の上位ノードのポイント値が負の値であるノードについて、当該ノードおよびその上位のノードを含めた共通文字列部分を抽出し、当該共通文字列部分を、以後発生するＤＮＳクエリに対して拒絶応答の対象とする拒絶部分ドメイン情報として、ブラックリストを生成するブラックリスト生成機能と、前記ブラックリスト生成機能により生成されたブラックリストを記憶するブラックリスト記憶機能とを実行させることを特徴とする。