IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ パロ アルト ネットワークス,インコーポレイテッドの特許一覧

特表2024-541914ダングリングDNSレコードのインライン識別およびブロック
<>
  • 特表-ダングリングDNSレコードのインライン識別およびブロック 図1
  • 特表-ダングリングDNSレコードのインライン識別およびブロック 図2
  • 特表-ダングリングDNSレコードのインライン識別およびブロック 図3
  • 特表-ダングリングDNSレコードのインライン識別およびブロック 図4
  • 特表-ダングリングDNSレコードのインライン識別およびブロック 図5
  • 特表-ダングリングDNSレコードのインライン識別およびブロック 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-11-13
(54)【発明の名称】ダングリングDNSレコードのインライン識別およびブロック
(51)【国際特許分類】
   G06F 21/55 20130101AFI20241106BHJP
   H04L 61/00 20220101ALI20241106BHJP
【FI】
G06F21/55 340
H04L61/00
【審査請求】有
【予備審査請求】未請求
(21)【出願番号】P 2024524609
(86)(22)【出願日】2022-10-19
(85)【翻訳文提出日】2024-05-30
(86)【国際出願番号】 US2022047186
(87)【国際公開番号】W WO2023076091
(87)【国際公開日】2023-05-04
(31)【優先権主張番号】17/511,393
(32)【優先日】2021-10-26
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
【公序良俗違反の表示】
(特許庁注:以下のものは登録商標)
1.FACEBOOK
(71)【出願人】
【識別番号】517392861
【氏名又は名称】パロ アルト ネットワークス,インコーポレイテッド
【氏名又は名称原語表記】Palo Alto Networks,Inc.
【住所又は居所原語表記】3000 Tannery Way,Santa Clara,California 95054,United States of America
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100229448
【弁理士】
【氏名又は名称】中槇 利明
(72)【発明者】
【氏名】リウ,ダイピン
(72)【発明者】
【氏名】ドゥアン,ルイアン
(72)【発明者】
【氏名】ワン,ジュン
(57)【要約】
本出願は、ダングリングレコードを識別するための方法、システム、およびコンピュータシステムを開示する。本方法は、ドメインのセットを取得するステップと、ドメインのセットに含まれるドメインに関連付けられたレコードがダングリングであるか否かを決定するステップと、ドメインに関連付けられたレコードがダングリングであると決定したことに応答して、登録者に対して、レコードがダングリングであるという通知を提供するステップと、を含む。
【特許請求の範囲】
【請求項1】
システムであって、1つ以上のプロセッサ、および、メモリを備えており、
前記1つ以上のプロセッサは、
ドメインのセットを取得し、
前記ドメインのセットに含まれるドメインに関連付けられたレコードがダングリングであるか否かを決定し、かつ、
前記ドメインに関連付けられたレコードがダングリングであると決定したことに応答して、登録者に対して、前記レコードがダングリングであるという通知を提供する、
ように構成されており、
前記メモリは、
前記プロセッサに結合されており、かつ、前記プロセッサに命令を提供する、
ように構成されている、
システム。
【請求項2】
前記ドメインに関連付けられたレコードは、前記ドメインに向けられたDNSクエリの受信と同時に、前記レコードが登録に利用可能であるという決定に応答して、ダングリングであると決定される、
請求項1に記載のシステム。
【請求項3】
前記1つ以上のプロセッサは、さらに、
ダングリングであると決定された前記レコードに関連付けられた前記ドメインに対するDNSクエリをブロックする、
ように構成されている、請求項1に記載のシステム。
【請求項4】
前記レコードは、トップレベルドメイン、サブドメイン、および、IPアドレスの1つ以上に対応している、
請求項1に記載のシステム。
【請求項5】
前記レコードがダングリングであるか否かを決定することは、
前記ドメインに関連付けられたトップレベルドメインが登録のために利用可能であるか否かをチェックすること、
を含む、請求項1に記載のシステム。
【請求項6】
前記トップレベルドメインが登録のために利用可能であるか否かをチェックすることは、
前記トップレベルドメインを登録するためにドメインレジストラをクエリすること、
を含む、請求項4に記載のシステム。
【請求項7】
前記レコードがダングリングであるか否かを決定することは、
前記ドメインに関連付けられたサブドメインが登録のために利用可能であるか否かをチェックすること、
を含む、請求項1に記載のシステム。
【請求項8】
前記サブドメインが登録のために利用可能であるか否かをチェックすることは、
前記ドメインに関連付けられたトップレベルドメインの登録者によって提供されるサービスをクエリすること、を含み、
前記サービスは、前記サブドメインを登録しようとするためにクエリされる、
請求項7に記載のシステム。
【請求項9】
前記レコードがダングリングであるか否かを決定することは、
パブリッククラウドから、前記ドメインに関連付けられたIPアドレスを割り当てるように試みること、
を含む、請求項1に記載のシステム。
【請求項10】
前記1つ以上のプロセッサは、さらに、DNSクエリを受信するように構成されており、かつ、
前記レコードがダングリングであるか否かを決定することは、前記DNSクエリの受信に応答して実行される、
請求項1に記載のシステム。
【請求項11】
関連するレコードがダングリングであるか否かの決定が行われる前記ドメインは、前記DNSクエリに少なくとも部分的に基づいて選択される、
請求項10に記載のシステム。
【請求項12】
前記ドメインは、前記DNSクエリが前記ドメインに向けられていると決定することに、少なくとも部分的に基づいて、選択される、
請求項11に記載のシステム。
【請求項13】
前記レコードがダングリングであるか否かを決定することは、前記DNSクエリを解決するのと同時に実行される、
請求項10に記載のシステム。
【請求項14】
前記レコードがダングリングであるか否かを決定することは、既定の時間間隔で実行される、
請求項1に記載のシステム。
【請求項15】
前記1つ以上のプロセッサは、繰り返し、(i)前記ドメインのセットから特定のドメインを選択し、かつ、(ii)前記特定のドメインに関連する特定のレコードがダングリングであるか否かを決定する、
ように構成されている、請求項1に記載のシステム。
【請求項16】
前記登録者に前記通知を提供することは、
前記レコードに関連付けられた特定の登録者を決定すること、および、
前記特定の登録者に対して通信を送信すること、
を含む、請求項1に記載のシステム。
【請求項17】
前記通信は、電子メールである、
請求項16に記載のシステム。
【請求項18】
前記1つ以上のプロセッサは、さらに、
ダングリングレコードに関連付けられた前記ドメインへのトラフィックを受信し、かつ、
前記ドメインに関連付けられた顧客のための顧客セキュリティポリシに従って、前記トラフィックをルーティングする、
ように構成されている、請求項1に記載のシステム。
【請求項19】
方法であって、
1つ以上のプロセッサによって、ドメインのセットを取得するステップと、
前記1つ以上のプロセッサによって、前記ドメインのセットに含まれるドメインに関連付けられたレコードがダングリングであるか否かを決定するステップと、
前記ドメインに関連付けられたレコードがダングリングであると決定したことに応答して、前記1つ以上のプロセッサによって、登録者に対して、前記レコードがダングリングであるという通知を提供するステップと、
を含む、方法。
【請求項20】
非一時的コンピュータ可読記憶媒体に保管されているコンピュータプログラムであって、前記コンピュータプログラムは、プログラム命令を含み、
前記命令が実行されると、1つ以上のプロセッサに、
ドメインのセットを取得するステップと、
前記ドメインのセットに含まれるドメインに関連付けられたレコードがダングリングであるか否かを決定するステップと、
前記ドメインに関連付けられたレコードがダングリングであると決定したことに応答して、登録者に対して、前記レコードがダングリングであるという通知を提供するステップと、
を実施させる、
コンピュータプログラム。
【発明の詳細な説明】
【背景技術】
【0001】
悪意のある個人は、様々な方法でコンピュータシステムを危険にさらす(compromise)ように試みる。一つの例として、そうした個人は、以前に(例えば、本物の個人またはサービスに対して)登録された、そして、登録者が、何らかの理由で、そうした登録を誤って失効させるように許可した場合といった、利用可能になった、ドメインまたはサブドメインを登録しようとすることがある。ドメインまたはサブドメインの登録が成功すると、悪意のある個人は、そうしたドメインまたはサブドメイン上で、ホストの悪意のあるサービスを求めることができる。真正の個人またはサービスによって以前に提供されたサービスへのアクセスを試みて、マルウェアを、クライアント端末に感染させる、といったものである。従って、悪意のある個人によるリソースのハイジャックにさらされたリソースを識別するための改善された技法に対する必要性が依然として存在している。
【図面の簡単な説明】
【0002】
本発明の様々な実施形態が、以下の詳細な説明および添付の図面において開示されている。
図1図1は、本出願の様々な実施形態に従った、ダングリングレコード(dangling record)検出を提供するシステムに係るブロック図である。
図2図2は、本出願の様々な実施形態に従った、ダングリングレコード検出を提供するシステムに係るブロック図である。
図3図3は、本出願の様々な実施形態に従った、レコードがダングリングであるか否かを決定するための方法に係るフローチャートである。
図4図4は、本出願の様々な実施形態に従った、レコードがダングリングであるか否かを決定するための方法に係るフローチャートである。
図5図5は、本出願の様々な実施形態に従った、レコードがダングリングであるという指示を提供するための方法に係るフローチャートである。
図6図6は、本出願の様々な実施形態に従った、レコードがダングリングであるか否かを決定するための方法に係るフローチャートである。
【発明を実施するための形態】
【0003】
本発明は、プロセス、装置、システム、組成物、コンピュータ可読保管媒体上に具現化されたコンピュータプログラム製品、及び/又は、メモリ上に保管された命令、及び/又は、プロセッサに結合されたメモリにより保管され、かつ/あるいは、提供される命令を実行するように構成されたプロセッサといった、プロセッサを含む、多数の方法で実施することができる。本明細書において、これらの実装、または、本発明がとり得る任意の他の形態は、技法(technique)と称され得る。一般的に、開示されたプロセスのステップの順序は、本発明の範囲内で変更され得る。特に明記しない限り、タスクを実行するように構成されているものとして説明されるプロセッサまたはメモリといったコンポーネントは、所与の時間にタスクを実行するように一時的に構成される汎用コンポーネント、または、タスクを実行するように製造される特定のコンポーネントとして実装され得る。本明細書で使用されるように、「プロセッサ(“processor”)」という用語は、コンピュータプログラム命令といった、データを処理するように構成された1つ以上のデバイス、回路、及び/又は、処理コアを指す。
【0004】
本発明の1つ以上の実施形態の詳細な説明が、本発明の原理を示す添付の図面とともに、以下で提供されている。本発明は、そうした実施形態に関連して説明されるが、本発明は、いかなる実施形態にも限定されるものではない。本発明の範囲は、請求項によってのみ限定されるものであり、かつ、本発明は、多数の代替、修正、および均等物を包含する。本発明の完全な理解を提供するために、以下の説明において多数の具体的な詳細が記載されている。これらの詳細は、例示の目的で提供されるものであり、そして、本発明は、これらの具体的な詳細の一部または全部を伴わずに、特許請求の範囲に従って実施され得る。明確にするために、本発明に関連する技術分野で知られている技術的材料は、本発明が不必要に不明瞭にならないように、詳細には説明されていない。
【0005】
レコードがダングリングレコードに対応するか否かを決定するシステムを開示する。システムは、1つ以上のプロセッサ、および、メモリを含んでいる。1つ以上のプロセッサは、ドメインのセットを取得し、ドメインのセットに含まれるドメインに関連付けられたレコードがダングリングであるか否かを決定し、そして、ドメインに関連付けられたレコードがダングリングであると決定したことに応答して、登録者に対して、レコードがダングリングであるという通知を提供する、ように構成されている。
【0006】
本明細書で使用される際に、「ダングリング(“dangling”)」という用語は、レコードが以前に登録されており、かつ、レコードの現在の登録が完了していないか、または、そうでなければ、無効であり、そして、レコードの登録が、第三者(third party)登録の影響を潜在的に受けやすい状態を指す。
【0007】
本明細書で使用される際に、「レコード(“record”)」という用語は、当事者(party)に対して登録可能、または、割り当て可能なインターネットリソースを指す。レコードの例は、ドメイン、サブドメイン、IPアドレス、第三者サービスのアカウント、メール交換(MX)レコード、ネームサーバ(NS)レコード、正規名(CNAME)レコード、委任名(DNAME)レコード、等を含む。
【0008】
不正な個人は、レコードからサービスまたは情報を取得しようとしている第三者をだます(spoof)ために、ダングリングレコードを監視(monitor)し、または、レコードを登録しようとすることができる。例えば、悪意のある者(malicious party)は、レコードの登録が失効する前に、失効していることを知っており、かつ、真正のサービスを第三者に提供したことを知っているドメインを、登録しようと試みることができる。従って、ドメインといったレコードに関する入口および出口の通信は、悪意のある当事者にさらされることになるだろう。悪意のある者が失効レコード(lapsed record)の登録に成功した場合に、悪意のある者は、レコードの登録の変更に気づいていない第三者に対して電子メールまたは他の通信を送信することができる。同様に、悪意のある者が失効レコードを登録することに成功した場合に、悪意のある者は、ドメインといったレコードにアクセスしようとしている第三者が、レコードを現在所有しているか、または、そうでなければ、レコードに関する登録を有している、悪意のある者または攻撃者にリダイレクトされるように、リダイレクトを設定することができる。ドメインの場合、悪意のある者がドメインを登録することに成功すると、その悪意のある者は、権威DNS(authoritative DNS)をハイジャックし得る。上記を考慮すると、登録が誤って失効した可能性があるダングリングレコードの登録者に警告するために、ダングリングレコードの能動的な検出の必要性が存在している。
【0009】
様々な実施形態に従って、システムは、レコードが登録または割り当てに利用可能であるという決定に少なくとも部分的に基づいて、レコードがダングリングレコードに対応するか否かを決定する。いくつかの実施形態において、システムは、DNSトラフィックと同時にレコードがダングリングであるか否かを決定する。例えば、DNSクエリを受信したことに応答して、システムは、DNSクエリに対応するレコード(例えば、ドメイン、サブドメイン、IPアドレス、等)を決定し、そして、システムは、DNSクエリのサービスと同時にレコードがダングリングであるか否かを決定する。いくつかの実施形態において、システムは、DNSクエリをインターセプトし、または、DNSクエリに対する応答をインターセプトし、そして、システムは、レコードがダングリングであるか否かを(例えば、DNSクエリが発信されたクライアントに対して応答が通信される前に)決定する。いくつかの実施形態において、システムは、既定のスケジュールに従って、レコードがダングリングであるか否かを決定する。例えば、システムは、1人以上の顧客に関連付けられたレコードといったレコードのセットを受信(または管理)し、そして、既定の時間間隔で、システムは、レコードのセットを通して反復して、レコードがダングリングであるか否かを決定する。既定の時間間隔は、毎日、毎週、毎月、等であるように設定され得る。様々な他の時間間隔またはスケジュールが、管理者といったユーザの構成(configuration)または要求に基づいて設定され得る。トップレベル(top-level)ドメインに関しては、たいてい、登録者に対して猶予期間(grace period)が延長され、失効ドメインが公衆に利用可能になる前に、ドメインを回復する。猶予期間は、典型的には2ヶ月である。従って、いくつかの実施形態において、システムは、3ヶ月ごとに(すなわち、失効した登録が公衆に公開されることを可能にするために2ヶ月よりも長い別の期間)ドメインのセットにわたりチェックを実行する。疑わしい当事者は、レコード(例えば、ドメイン)の登録が失効する時間の間にレコードの登録を行い、そして、システムは、レコードがダングリングであるか否かを決定するためのチェックを実行する。従って、様々な実施形態において、システムは、レコードの有効期限切れ又は失効と、レコードのチェックとの間の時間量を最適化し、もしくは、低減する。いくつかの実施形態において、システムは、1つ以上のレコードに対応している予想される有効期限を保管し、そして、システムは、特定のレコードについて予想される登録日の後で、既定の期間に登録を提供している第三者サービスをクエリする。いくつかの実施形態において、ドメインのセットは、ユーザまたは顧客(例えば、システムによって提供されるサービスの顧客)に関連付けられた1つ以上のドメインに対応することができる。いくつかの実施形態において、ドメインのセットは、ユーザまたは顧客のセットにわたる複数のドメインに対応している。
【0010】
様々な実施形態に従って、レコードがダングリングレコードに対応すると決定したことに応答して、システムは、レコードがダングリングである(本明細書ではダングリングレコードとしても、また、呼ばれる)という指示を提供する。いくつかの実施形態において、システムは、レコードに関連付けられた登録者に関する連絡先情報(contact information)を決定し、連絡先情報に含まれるアドレスまたは連絡先に対して、レコードがダングリングであるという指示を通信する。レコードがダングリングであるという指示は、レコードがダングリングであるという通知、および、レコードが悪意のある攻撃者の影響を受け得る(例えば、レコードが第三者によって登録され得る)という指示を含み得る。連絡先情報に含まれるアドレスは、電子メール、電話番号、アカウント識別子(例えば、アカウントのレコードがダングリングであるか否かをチェックするサービスのためのシステムに関連付けられたアカウントについて、等)を含み得る。いくつかの実施形態において、システムは、レコードが関連するサービスをクエリすること(querying)に少なくとも部分的に基づいて、レコードと関連付けられた登録者に関連する連絡先情報を決定する。例えば、レコードがドメインである場合、システムは、ドメインについてWHOISレコードにクエリを行い、そして、WHOISレコードから登録情報を取得する。いくつかの実施形態において、レコードがダングリングレコードであると決定したことに応答して、システムは、レコードに関連付けられたレジストラ(registrar)(例えば、登録者にレコードに関するサービスを提供するサービス)に対して通信し、レコードが悪意のある攻撃者の影響を受け得るという指示を、そうしたレジストラに対して提供する。
【0011】
いくつかの実施形態において、レコードがダングリングであると決定したことに応答して、システムは、そのレコードへのトラフィックをブロックさせる。例えば、ダングリングレコードがドメインである場合、システムは、ドメインへのDNSトラフィックをアクティブにブロックし、または、ドメインへのDNSトラフィックをブロックするための指示または命令を、別のネットワークデバイスに対して提供する。別の例として、レコードがダングリングであるという決定が、レコードに向けられたDNSトラフィックと同時に実行される場合、システムは、レコードへのDNSトラフィックをブロックし、または、シンクホール(sinkhole)アドレス/リダイレクトを、そうしたDNSトラフィックが発信されたクライアントに返す。別の例として、レコードがダングリングであると決定したことに応答して、システムは、例えば、レコードに向けられたトラフィックをブロックさせる(または、レコードに関連付けられた以前のレジストラントに関連付けられた異なるアドレスに対してリダイレクトさせる)ために、ファイアウォールポリシを更新する。いくつかの実施形態において、システムは、トラフィックがブロックまたはリダイレクトされないレコード(例えば、ドメイン)のホワイトリストを保管する。例えば、たとえレコードがダングリングレコードであると決定されたとしても、システムは、レコードに関するトラフィックを許可する(例えば、システムは、ホワイトリスト上のレコードのトラフィックをブロックまたはリダイレクトしない)。ホワイトリストは、例えば、管理者、顧客、等によって構成可能であり得る。
【0012】
様々な実施形態に従って、ダングリングレコードを検出し、または、レコードがダングリングレコードであるか否かを決定するシステムは、1つ以上のサーバによって提供される。例えば、システムは、様々なユーザまたは顧客に提供されるクラウドサービスであり得る。別の例として、1つ以上のサーバは、パッシブDNSサービス、DNSセキュリティサーバ、DNSリゾルバ、等から、クエリを受信する。
【0013】
システムは、レコードのセキュリティ(例えば、レコードの登録)を改善し、そして、レコードが悪意のある第三者によってハイジャックされる可能性を低減する。関連技術のシステムは、例えば、そうした関連システムが管理する登録のために、それ自体のシステム内のダングリングレコードを識別することができる。そうした関連技術のシステムは、一般的に、登録のためのアカウントに対するアクセスを必要とする。例えば、ドメインレジストラは、その顧客について、失効した顧客のドメイン登録またはサブドメイン登録を識別することができる。様々な実施形態は、システムによって管理されるレコード(例えば、ドメイン)内のダングリングレコードを検出することに限定されない。例えば、様々な実施形態は、第三者サービスプロバイダおよびプラットフォームにわたり、レコードの拡張可能な検出を提供する。様々な実施形態に従ったシステムは、そうした登録者についてダングリングレコードを検出するために、登録者に関連付けられた証明書を介するなどして、登録者のアカウントに対するアクセスを必要としない。いくつかの実施形態において、システムは、公衆に公開された情報を使用して、レコードがダングリングレコードであるか否かを決定する。例えば、システムは、第三者サービスのために開発されたアプリケーションプログラミングインターフェイスAPIを介するなどして、公衆に利用可能な第三者サービスをクエリする。
【0014】
第三者サービスプロバイダは、しばしば、端末(例えば、システム)がAPIなどを介して第三者サービスプロバイダに送信することができるクエリの数を抑制し、または、上限を設ける。場合によっては、第三者サービスプロバイダは、プレミアムサービス、たいていは有料加入を必要とするモデル、を提供する。この中では、クエリの数は上限が定められておらず(uncapped)、または、その上限が無料サービスに対して延長される。様々な実施形態に従って、システムは、1つ以上の第三者サービスそれぞれに対して複数のアカウントを登録し、そして、複数のアカウントを使用して、既定のレコードのセット(例えば、システムの顧客に対応するレコードのセット)に関するダングリングレコードについて、1つ以上の第三者サービスにクエリを実行する。
【0015】
図1は、本出願の様々な実施形態に従った、ダングリングレコード検出を提供するシステムに係るブロック図である。様々な実施形態に従って、システム100の少なくとも一部は、図2のシステム200を実装する。システム100は、図3のプロセス300、図4のプロセス400、図5のプロセス500、及び/又は、図6のプロセス600を実施する。
【0016】
示された実施例において、システム100は、ダングリングレコードサービス110を含んでいる。システム100は、第1レコードサービス130、第2レコードサービス140、第3レコードサービス150、管理者システム160、及び/又は、クライアントシステム170のうちの1つ以上を、さらに、含むことができる。システム100は、さらに、ネットワーク180を含むことができる。様々な実施形態に従って、ダングリングレコードサービス110は、ビジネスアプリケーション層115およびデータベース層120のうちの1つ以上を含んでいる。
【0017】
第1レコードサービス130、第2レコードサービス140、及び/又は、第3レコードサービス150は、1人以上のユーザまたは顧客にサービスを提供する。様々な実施形態に従って、サービスは、1つ以上のレコードの登録を含んでいる。一つの例として、第1レコードサービス130は、ドメインレジストラである。別の例として、第2レコードサービス140は、サブドメインの登録を提供するサービスプロバイダである(例えば、Shopify、Facebook、Google、Microsoft、等)。例示的なレコードは、トップレベルドメインまたはサブドメインといったドメイン、IPアドレス、アカウント、などを含んでいる。
【0018】
様々な実施形態に従って、ダングリングレコードサービス110は、レコードがダングリングレコードに対応するか否かを決定する。一つの例として、ダングリングレコードサービス110は、ドメインのセットを取得し、ドメインのセットに含まれるドメインに関連付けられたレコードがダングリングであるか否かを決定し、そして、ドメインに関連付けられたレコードがダングリングであると決定したことに応答して、登録者に対して、レコードがダングリングであるという通知を提供する。別の例として、レコードがダングリングであるという通知を提供することに加えて、または、その代わりに、ダングリングレコードサービス100は、レコードに向けられたトラフィック(例えば、DNSトラフィック)をブロックし、または、リダイレクトする。
【0019】
図1に示されるように、ダングリングレコードサービス110は、ビジネスアプリケーション層115及び/又はデータベース層115のうちの1つ以上を含むことができる。
【0020】
ビジネスアプリケーション層115は、ダングリングレコードサービス110を制御及び/又は構成することに関連して使用される。1つ以上のポリシは、ダングリングレコードを監視または検出するために、ビジネスアプリケーション層115を介して設定され得る。例えば、管理者は、管理者システム160を使用して、ビジネスアプリケーション層115と通信し、ダングリングレコードサービス110が、ダングリングレコードを監視または検出する、ドメインのセットまたはレコードのセットを構成(例えば、定義)する。別の例として、管理者は、ビジネスアプリケーション層115と通信して、レコードがダングリングであるか否かを決定するように、もしくは、どのダングリングレコードサービス110が、レコードがダングリングであるか否かを決定するかに従って、スケジュールまたは期間を設定するように、ダングリングレコードサービス110に要求または命令する。
【0021】
データベース層120またはストレージ層は、ユーザ(または、顧客)のレコードに対するマッピングを保管するように構成されている。レコードは、そうしたレコードの中のレコードがダングリングになるか否かを決定することに関連して、ダングリングレコードサービス110が監視または検出する、といったものである。いくつかの実施形態において、データベース層120は、1つ以上のポリシを保管し、それに従って、ダングリングレコードサービス110は、1つ以上のレコードがダングリングレコードに対応するか否かを決定する。データベース層120は、さらに、それぞれのポリシが関連する、1人以上のユーザまたは顧客に対する1つ以上のポリシのマッピングを保管することができる。ポリシは、スケジュールまたは期間を示すポリシを含むことができ、これに従って、ダングリングレコードサービス110は、レコードがダングリングレコードに対応するか否かの決定を実行する。
【0022】
様々な実施形態に従って、ダングリングレコードサービス110は、1つ以上のレコードサービス(例えば、第1レコードサービス130、第2レコードサービス140、及び/又は、第3レコードサービス150)に関連付けられた1つ以上のレコードがダングリングであるか否かを決定する。例えば、ダングリングレコードサービス110は、対応するレコードがダングリングであるか否かを決定することに関連して、対応する1つ以上のレコードサービスをクエリする。いくつかの実施形態において、クエリは、レコードを登録するためのクエリを含む(例えば、レコードの登録が許可され、または、可能である場合に、ダングリングレコードサービス110は、そうしたレコードをダングリングとして見なすことできる。疑わしい第三者に対して、レコードを登録することが利用可能だからである。)。いくつかの実施形態において、ダングリングレコードサービス110は、レコードサービスに対応するAPIを介して、レコードサービスに対してクエリを通信する。例えば、ビジネスアプリケーション層115は、APIを介して、レコードサービスを呼び出す(call)ために使用される。1つ以上のレコードに関する1つ以上のレコードサービスへのクエリは、個別に、または、バッチで送信することができる。例えば、ダングリングレコードサービス110は、ダングリングレコードサービス110がダングリングレコードを監視/検出する、レコードの全てまたはサブセットについて、複数のクエリを特定のレコードサービスに通信する。
【0023】
システム100は、さらに、ネットワーク18といった1つ以上のネットワークを含み、これを介して、管理者システム160及び/又はクライアントシステム170は、ビジネスアプリケーション層115及び/又はデータベース層120といった1つ以上のダングリングレコードサービス110と通信する。様々な実施形態において、ネットワーク125は、有線ネットワーク、及び/又は、セルラネットワーク、無線ローカルエリアネットワーク(WLAN)、または、任意の他の適切なネットワークといった無線ネットワーク、のうちの1つ以上を含んでいる。いくつかの実施形態において、ビジネスアプリケーション層115及び/又はデータベース層120は、1つ以上のサーバによってそれぞれに実装されている。システム100は、様々な他のシステムまたは端末を含み得る。
【0024】
図2は、本出願の様々な実施形態に従った、ダングリングレコード検出を提供するシステムに係るブロック図である。様々な実施形態に従って、システム200は、例えば、レコードサービス110をダングリングするために、図1のシステム100に関連して実装される。様々な実施形態において、システム200は、図3のプロセス300、図4のプロセス400、図5のプロセス500、及び/又は、図6のプロセス600に関連して実装される。
【0025】
システム200は、サーバといった1つ以上のデバイスによって実装され得る。システム200は、ネットワーク上の様々な位置において実装され得る。例えば、ダングリングレコードサービスは、DNSリゾルバ上に配置されている。別の例として、ダングリングレコードサービスは、ファイアウォール上に配置されている。別の例として、ダングリングレコードサービスは、DNSリゾルバに提供されるサービスである(例えば、ダングリングレコードサービスは、DNSトラフィックの対象となるドメインといったレコードがダングリングレコードに対応するか否かの決定について、DNSリゾルバまたはファイアウォールからのクエリをサービスする、1つ以上のリモートサーバ上に展開される)。別の例として、ダングリングレコードサービスは、ネットワーク上のある位置に配置され、それによって、ダングリングレコードサービスは、DNSクエリ、及び/又は、DNSクエリに応答して通信される応答(response)といったDNSトラフィックをインターセプトする。
【0026】
示された実施例において、システム200は、レコードがダングリングレコードであるか否かを決定することに関連して1つ以上のモジュールを実装する。システム200は、通信インターフェイス205、1つ以上のプロセッサ210、ストレージ装置215、及び/又は、メモリ220を含んでいる。1つ以上のプロセッサ210は、通信モジュール225、レコード選択モジュール230、クエリモジュール235、登録モジュール240、ダングリングレコード決定モジュール245、及び/又は、アクティブ測定モジュール250のうちの1つ以上を含んでいる。
【0027】
いくつかの実施形態において、システム200は、通信モジュール225を含んでいる。システム200は、通信モジュール225を使用して、様々なクライアント端末、または、管理者システムといったユーザシステムと通信する。いくつかの実施形態において、システム200は、通信モジュール225を使用して、例えば、特定のサービスに関してレコードが利用可能であるか否かを決定するためのクエリを送信すること(例えば、レコードが登録可能であるかを決定すること、レコードの登録が失効/期限切れになったか否かを決定すること、レコードを登録しようと試みること、等)、及び/又は、クエリに対する応答を受信することに関連して、1つ以上のレコードサービスと通信する。例えば、通信モジュール225は、通信される情報を、通信インターフェイス205に提供する。別の例として、通信インターフェイス205は、システム200によって受信された情報を、通信モジュール225に提供する。通信モジュール225は、ファイアウォール、DNSリゾルバ、等といった様々なクライアント端末またはシステムから、1つ以上のDNSクエリを受信するように構成されている。例えば、ダングリングレコードサービスは、DNSトラフィックをインターセプトし、そして、DNSトラフィックに対して応答を提供する前に、または、それに関連して、ダングリングレコードを識別するために、使用される。通信モジュール225は、管理者または顧客といったユーザから、ダングリングレコードサービス110への、1つ以上の設定または構成を受信するように構成されている。1つ以上の設定または構成の例は、どのダングリングレコードが監視/検出されるかに関するレコードのセットの構成、どのダングリングレコードが監視/検出されるかに関するポリシ(例えば、レコードのセットがダングリングレコードを含むか否かを決定するためのスケジュール、それに従ってダングリングレコードについてのチェックが実行される期間または頻度、レコードに対するコンタクト情報のマッピング、対応するレコードがダングリングであるという決定にもかかわらずトラフィックが許可されるドメインといったレコードのホワイトリスト、等)を含んでいる。
【0028】
様々な実施形態に従って、システム200は、レコード選択モジュール230を含んでいる。システム200は、システム200が決定する対象のレコードが、そのレコードがダングリングレコード(例えば、ドメインレジストラといった対応するレコードサービスにクエリが送信される対象のレコード)であるか否かを決定することに関連して、レコード選択モジュール230を使用する。いくつかの実施形態において、レコード選択モジュール230は、DNSトラフィックに少なくとも部分的に基づいて、レコードを決定する。例えば、DNSクエリを受信したことに応答して、システム200は、DNSクエリに対応するレコード(例えば、トップレベルドメイン、サブドメイン、IPアドレス、等)がダングリングレコードであるか否かを決定するためにクエリされる。いくつかの実施形態において、レコード選択モジュール230は、システム200が、ダングリングレコードになるレコードを監視/検出するレコードのセット、もしくは、特定のユーザまたは顧客に対応するレコードのセットといったレコードのセットに少なくとも部分的に基づく。例えば、システム200が、既定のスケジュールまたは頻度に従ってレコードのセットを監視するためのポリシを保管し、そして、そうした監視が、既定のスケジュールまたは頻度に少なくとも部分的に基づいて現在の時間に実行されるべきであるという決定に応答して、レコード選択モジュール230は、そうしたポリシに対応するレコードのセットを決定する。
【0029】
いくつかの実施形態において、システム200は、クエリモジュール235を含んでいる。システム200は、クエリモジュール235を使用して、1つ以上のレコードサービス(例えば、第1レコードサービス130、第2レコードサービス140、及び/又は、第3レコードサービス150)をクエリする。クエリモジュール235は、1つ以上のレコードがダングリングであるか否かを決定することに関連して、1つ以上のレコードサービスをクエリするために使用される。例えば、クエリモジュール235は、(例えば、特定のレコードが登録可能であるか否かを決定するシステム200に関連して)特定のレコードを登録するために、レコードサービスをクエリする。一つの例として、レコードがIPアドレスである場合、クエリモジュール235は、システム200がIPアドレスを取得できるか否かを決定するために、パブリッククラウドをクエリする。別の例として、レコードがドメインである場合、クエリモジュール235は、TLD zonefilesを提供するレジストラまたはサービスをクエリする。別の例として、レコードがサブ領域である場合、クエリモジュール235は、サブ領域を提供する第三者サービス(例えば、Shopify、Google、Microsoft、Facebook、等)をクエリする。
【0030】
いくつかの実施形態において、システム200は、登録モジュール240を含んでいる。システム200は、登録モジュール240を使用して、レコードサービスにレコードを登録すること、及び/又は、レコードサービスへのレコードの登録を管理することを試みる。例えば、登録モジュール240は、アカウントまたはサブ領域を第三者サービス(例えば、Shopify、Google、Microsoft、Facebook、Esty、Printerest、等)に登録しようと試みるように構成される。いくつかの実施形態において、ユーザは、レコードがダングリングであるとシステム200が決定したことに応答して、ユーザに関連付けられた特定のレコードを登録するためのポリシを構成する。例えば、そうしたポリシに従って、レコードの登録が失効/期限切れになった決定したことに応答して、システム200は、登録モジュール240を使用して、ユーザ(例えば、レコードの登録が失効/期限切れになることを誤って許可した以前の登録者)のレコードを再登録する。
【0031】
いくつかの実施形態において、システム200は、ダングリングレコード決定モジュール245を含んでいる。システムは、ダングリングレコード決定モジュール245を使用して、レコードがダングリングレコードであるか否かを決定する。例えば、ダングリングレコード決定モジュール245は、1つ以上のレコードサービスをクエリすることに関連して、クエリモジュール235が受信する応答に少なくとも部分的に基づいて、レコードがダングリングであるか否かを決定する。レコードが失効/期限切れになったという指示をクエリモジュール235が受信した場合に、ダングリングレコード決定モジュール245は、レコードがダングリングレコードであると決定する。別の例として、ダングリングレコード決定モジュール245は、レコードが、例えば、第三者サービスを用いて登録可能であると登録モジュール240が決定することに少なくとも部分的に基づいて、レコードがダングリングであるか否かを決定する(例えば、登録モジュール240は、Shopify、Microsoftといった第三者サービスを用いて、アカウントを作成し、または、サブ領域を登録することができる、等)。
【0032】
いくつかの実施形態において、システム200は、アクティブ測定モジュール250を含んでいる。システム200は、システム200が、レコードがダングリングレコードであると決定したことに応答して、アクティブ測定250を使用して、1つ以上の動作を実行する。レコードがダングリングレコードであるという決定に応答して実行される1つ以上の動作は、システム200がレコードを監視する顧客の代わりに、顧客のポリシまたはプリファレンスといった1つ以上のポリシまたはプリファレンスにおいて事前設定され得る。1つ以上の動作の例は、レコードがダングリングレコードであるという通知または表示を提供すること、レコードを登録すること、ダングリングレコードに対応するドメインまたはアドレスへのトラフィックをブロックすること、ダングリングレコードに対応するドメインまたはアドレスへのトラフィックをリダイレクトすること、等を含む。一つの例として、レコードがダングリングレコードであるとシステム200が決定したことに応答して、アクティブ測定モジュール250は、レコードがダングリングであるという表示を(例えば、通信モジュール225を介して)通信する。本表示は、レコードに関する連絡先情報(例えば、システム200がレコードを監視するユーザまたは顧客の連絡先、レコードに関連付けられたレジストラによって識別された登録者、等)に通信される。別の例として、レコードがダングリングレコードであるとシステム200が決定したことに応答して、アクティブ測定モジュール250は、例えば、ユーザまたは顧客(例えば、そうしたレコードの以前の登録者)に代わり、レコードを登録する。
【0033】
様々な実施形態に従って、ストレージ215は、ファイルシステムデータ260、ドメインデータ262、レコードデータ264、及び/又は、ポリシデータ266のうちの1つ以上を含んでいる。ストレージ215は、共有ストレージ(例えば、ネットワークストレージシステム)及び/又はデータベースデータ、及び/又はユーザアクティビティデータを含んでいる。
【0034】
いくつかの実施形態において、ファイルシステムデータ260は、1つ以上のデータセット(例えば、1つ以上のテナントのための1つ以上のデータセット、等)といったデータベースを含んでいる。ファイルシステムデータ260は、顧客に関するデータ、レコードがダングリングレコードであるか否かを決定するシステム200に関連して使用されるデータ、DNSクエリに関する履歴情報、ドメインといったレコードのホワイトリスト(例えば、ドメインがダングリングレコードであるという決定に応答して、トラフィックが許可され、または、そうでなければ、ブロックされないドメインのセット)、等を含んでいる。
【0035】
ドメインデータ262は、1つ以上のドメインに関するデータを含んでいる。一つの例として、1つ以上のドメインに関するデータは、ドメイン(例えば、トップレベルドメイン、サブドメイン、等)と、IPアドレスといったアドレス情報との間の関係および関連付けを含んでいる。一つの例として、1つ以上のドメインに関するデータは、ダングリングレコードを監視/検出するためにシステム200によって提供されるサービスのユーザまたは顧客といった登録者へのドメインのマッピングを含む。別の例として、ドメインデータ262は、DNSクエリまたはDNSクエリへの応答に含まれるドメイン(例えば、DNSクエリまたはDNSクエリへの応答から、システム200によってインターセプトされたドメイン)に関する情報を含む。
【0036】
レコードデータ264は、特定のレコードがダングリングレコードであるか否かをシステム200が決定する1つ以上のレコードに関する情報を含んでいる。いくつかの実施形態において、レコードデータ264は、そうしたレコードの登録を管理または提供するレコードサービス(例えば、ドメインレジストラ、パブリッククラウド、Shopifyといったサブドメインをユーザが登録することを可能にする第三者サービス、等)へのレコードのマッピングを含んでいる。一つの例として、レコードデータ264は、API、もしくは、通信プロトコルまたはシンタックスのマッピングを含んでおり、それに従って、システム200は、レコードサービスと通信する。別の例として、レコードデータ264は、1つ以上のレコードがダングリングレコードに対応するか否かを、それぞれに、示している1つ以上のインジケータを含んでいる。
【0037】
ポリシデータ266は、1つ以上のポリシを含み、それに従って、システム200は、1つ以上のレコードがダングリングレコードに対応するか否かを決定する。例えば、ポリシデータ266は、スケジュールまたは期間へのレコードのマッピングを含み、それに従って、システム200は、レコードがダングリングレコードであるか否かのチェックを実行する。別の例として、ポリシデータ266は、特定のレコードがダングリングレコードであると決定されたことに応答して実行される、アクティブな手段(measures)へのレコードのマッピングを含んでいる。別の例として、ポリシデータ266は、ユーザまたは顧客のレコードがダングリングレコードであると決定されたことに応答して実行される、アクティブな手段へのユーザまたは顧客のマッピングを含んでいる。様々な他のポリシがポリシデータ266において保管され得る。
【0038】
様々な実施形態に従って、メモリ220は、実行アプリケーションデータ275を含んでいる。実行アプリケーションデータ275は、レコードがダングリングレコードであるか否かを決定するため、もしくは、レコードがダングリングレコードであるか否かを決定することに関連して使用する設定またはポリシに関してシステム200を構成するための、プロセスを実行するアプリケーションといった、アプリケーションを実行することに関連して、取得または使用されるデータを含んでいる。実施形態において、アプリケーションは、クエリまたはタスクを受信し、かつ/あるいは、実行すること、レポートを生成、かつ/あるいは、実行されたクエリまたはタスクに応答する情報を構成すること、及び/又は、クエリまたはタスクに応答する情報をユーザに提供すること、のうちの1つ以上を実行する1つ以上のアプリケーションを含んでいる。他のアプリケーションは、任意の他の適切なアプリケーションを含んでいる(例えば、レコードサービスをクエリするためのアプリケーション、レコードサービスと通信を確立するためのアプリケーション、アクティブな手段を実行するためのアプリケーション、第三者サービスを用いてレコードを登録するためのアプリケーション、レポート作成アプリケーション、ユーザインターフェイスアプリケーション、データ分析アプリケーション、トラフィックをブロックまたはリダイレクトするためのアプリケーション、ユーザ認証アプリケーション、等)。
【0039】
図3は、本出願の様々な実施形態に従った、レコードがダングリングであるか否かを決定するための方法に係るフローチャートである。様々な実施形態に従って、プロセス300は、図1のシステム100、及び/又は、図2のシステム200に関連して実施される。
【0040】
いくつかの実施形態において、プロセス300は、ダングリングレコードサービス(例えば、監視または検出サービス)の顧客によって設定されたスケジュールといった既定のスケジュールに従って、呼び出される(invoked)。プロセス300は、管理者からの要求といったユーザ入力に応答して、呼び出され得る。
【0041】
305では、ドメインのセットが受信される。いくつかの実施形態において、システムは、システムがダングリングレコードを監視または検出するように構成されたレコードのデータベースから、ドメインのセットを受信する。例えば、ドメインのセットは、ダングリングレコードサービスの特定の顧客に関連付けられたドメインを含むことができる。別の例として、ドメインのセットは、ダングリングレコードサービスがダングリングレコードを監視または検出する、全ての顧客についての全てのドメインに対応している。
【0042】
いくつかの実施形態において、ドメインのセットは、DNSトラフィックインターセプトからの要求に関連付けられた1つ以上のドメイン(例えば、DNSリゾルバ、ファイアウォール、等)に対応している。一つの例として、1つ以上のDNSクエリをインターセプトすること、または、1つ以上のDNSクエリに対する応答をインターセプトすることに応答して、1つ以上のドメインのいずれかがダングリングレコードに対応するか否かを決定するために、ドメインのセットがシステムに提供される。
【0043】
310では、ドメインが選択される。ドメインは、ドメインのセットの中から選択される。いくつかの実施形態において、ドメインは、ドメインがシステムの顧客に対応するという決定、または、そうした顧客がシステムによって提供されるサービスのレベルに加入しているという決定に基づいて、選択される。
【0044】
315では、選択されたドメインに関連付けられたレコードが選択される。いくつかの実施形態において、システムは、ドメインにマッピングされた1つ以上のレコード(例えば、ドメインに関してユーザのアカウントにマッピングされた1つ以上のレコード)に少なくとも部分的に基づいて、ドメインに関連付けられたレコードを決定する。レコードの例は、ドメイン、サブドメイン、IPアドレス、第三者サービスのアカウント、メール交換(MX)レコード、ネームサーバ(NS)レコード、正規名(CNAME)レコード、委任名(DNAME)レコード、等を含んでいる。いくつかの実施形態において、システムは、ドメインに関連付けられたレコードの全て、またはセットにわたり繰り返すことに関連して、レコードを選択する。
【0045】
320では、レコードがダングリングレコードであるか否かの決定が行われる。いくつかの実施形態において、システムは、レコードの登録が失効、または、期限切れになったという決定、もしくは、レコードが、別の方法で、登録可能である(例えば、システムがレコードを登録することができる)という決定に、少なくとも部分的に基づいて、レコードがダングリングであるか否かを決定する。
【0046】
様々な実施形態に従って、システムは、レコードがダングリングであるか否かを決定することに関連して1つ以上のレコードサービスをクエリする。システムは、選択されたレコードに関連付けられたレコードサービスを決定し、レコードに関する情報(例えば、レコードに関する登録詳細、登録のためのそうしたレコードの利用可能性、レコードの登録が失効または期限切れになったか否かの表示、等)を決定するために、そうしたレコードサービスへのクエリを生成する。一つの例として、ドメインの場合、システムは、ドメインが期限切れ、かつ、登録可能であるか否かを決定する。システムは、トップレベルドメインzonefilesが、ドメインを含むか否かを決定する。例えば、トップレベルドメインzonefilesが、ドメインを含む場合に、システムは、レコード(例えば、ドメイン)をダングリングではないと見なす。トップレベルドメインzonefilesが、ドメインを含まない場合に、システムは、ドメインが登録され得る(例えば、購入され得る)か否かを決定するために、レジストラ(例えば、GoDaddy.comといったドメインレジストラ)をクエリする。一つの例として、ドメインが登録され得ると決定したことに応答して、ドメインは、ダングリングレコードと見なされる。
【0047】
320においてレコードがダングリングレコードであると決定したことに応答して、プロセス300は、325に進み、そこでは、レコードがダングリングであるという指示が提供される。様々な実施形態に従って、レコードがダングリングレコードであると決定したことに応答して、システムは、以前のレジストラントに対して通知を提供する。一つの例として、システムは、レコードサービスをクエリすることに少なくとも部分的に基づいて(例えば、レコードがトップレベルドメインである場合にWHOISレコードをクエリすること、対応する登録情報についてWHOISレコードをクエリすること、といったもの)、レコードに関する連絡先情報を決定する。別の例として、システムが顧客の代わりにレコードを監視している場合、レコードがダングリングであると決定したことに応答して、システムは、例えば、ユーザインターフェイス(例えば、システムによって提供されるダッシュボード)を介して、顧客に対して、かつ/あるいは、そうした顧客の連絡先情報に対して、表示を提供する。いくつかの実施形態において、指示を提供することに加えて、または、その代替として、システムは、能動的手段を実行する。アクティブな手段の例は、ダングリングレコードに関連付けられたアドレスへのトラフィックをブロックすること、トラフィックをシンクホールIPに対してリダイレクトすること、等を含んでいる。
【0048】
逆に、320においてレコードがダングリングレコードではないと決定されたことに応答して、プロセス300は330に進み、そこでは、レコードがダングリングではないことが示される。いくつかの実施形態において、330は、プロセス300から除外される。例えば、いくつかの実施態様において、レコードがダングリングでないと決定したことに応答して、プロセス300は、そうした指示を提供せず、かつ、レコードに対応するアドレスへのトラフィックを変更しない。
【0049】
335では、選択されたドメインに関連付けられた他のレコードについてチェックまたは決定を実行するか否かに関して決定が行われる。選択されたレコードの別のレコードに関して決定が行われると決定したことに応答して、プロセス300は、315に戻り、そして、プロセス300は、そうしたレコードがダングリングレコードであるか否かを決定するためにチェックすべきさらなるレコードがなくなるまで、315から335までを実行し続ける。一つの例として、さらなるレコードが監視されるべきか否かの決定は、そうしたドメインの顧客に関連付けられたレコードのセットに少なくとも部分的に基づくことができる。別の例として、さらなるレコードが監視されるべきか否かの決定は、プロセス300を一時停止または終了するための管理者からの命令といったユーザ入力に基づくことができる。
【0050】
選択されたドメインの別のレコードに関して決定が行われないと決定したことに応答して、プロセス300は340に進み、そこでは、別のドメインについてチェックまたは決定を行うか否かについて決定が行われる。別のドメインに関して決定が行われると決定したことに応答して、プロセス300は310に戻り、プロセス300は、関連するレコードがダングリングレコードであるか否かを決定するために監視すべきさらなるドメインがなくなるまで、310から340までを実行し続ける。一つの例として、さらなるドメインがチェックされるか否かの決定は、プロセス300が呼び出されたDNSトラフィックのセットが、任意のさらなるドメインのためのトラフィックを含まないという決定に基づく。別の例として、さらなるドメインがチェックされるか否かの決定は、プロセス300が呼び出された既定のスケジュールに従ってシステムが監視することになるドメインのセットが、さらなるドメインを含まないという決定に基づく。別の例として、さらなるドメインが監視されるか否かの決定は、プロセス300を一時停止または終了するための管理者からの命令といったユーザ入力に基づくことができる。
【0051】
345では、プロセス300が完了したか否かに関して決定が行われる。いくつかの実施形態において、プロセス300は、ドメインのセットの中にさらなるドメインが存在しないという決定に応答して完了したと決定され(例えば、少なくともプロセス300のこの反復について)、管理者は、プロセス300が一時停止または停止されるべきであることを示す、等。プロセス300が完了したという決定に応答して、プロセス300は、完了する。プロセス300が完了していないという決定に応答して、プロセス300は305に戻る。いくつかの実施形態において、プロセス300は、次の予定された時間に、または、既定の時間後に、もしくは、イベントに応答して(例えば、疑わしいDNSトラフィックの受信に応答して、等)、呼び出される。
【0052】
図4は、本出願の様々な実施形態に従った、レコードがダングリングであるか否かを決定するための方法に係るフローチャートである。様々な実施形態に従って、プロセス300は、図1のシステム100、及び/又は、図2のシステム200に関連して実施される。
【0053】
様々な実施形態に従って、プロセス400は、レコードがダングリングレコードであるか否かを決定することに関連して呼び出される。
【0054】
405では、レコードに関連付けられたサービスが決定される。
【0055】
410では、クエリに基づいて、レコードの利用可能性が決定可能であるか否かに関して決定が行われる。
【0056】
410での、クエリに基づいて、レコードの利用可能性が決定可能であるという決定に応答して、プロセス400は、415に進み、そこでは、サービスに関するレコードの利用可能性をクエリするめのクエリが送信される。
【0057】
420では、サービスに関してレコードが利用可能であるか否かの指示が受信される。
【0058】
425では、サービスに関してレコードが利用可能であるか否かの指示に少なくとも部分的に基づいて、レコードがダングリングであるか否かの決定が行われる。
【0059】
410での、クエリに基づいて、レコードの利用可能性が決定可能でないという決定に応答して、プロセス400は、435に進み、そこでは、登録(または、登録の試み)に基づいて、レコードの利用可能性が決定可能であるか否かに関して決定が行われる。435での、登録または登録の試みに基づいて、レコードの利用可能性が決定可能でないという決定に応答して、プロセス400は、430に進む。
【0060】
435での、登録または登録の試みに基づいて、レコードの利用可能性が決定可能であるという決定に応答して(または、レコードの登録を試みるという決定に応答して)、プロセス400は、440に進み、そこでは、レコードの登録を管理するサービス(例えば、レコードサービス)に対して登録要求が送信される。例えば、サブドメイン(例えば、Shopify、Substack.com、Facebook、等)に関する登録を提供する第三者サービスの場合、システムは、レコードを登録する要求を送信する。別の例として、ドメインおよびサービスがトップレベルドメインレジストラ(例えば、GoDaddy.com)である場合、システムは、ドメインを登録する要求を送信する。
【0061】
445では、登録要求に対して応答する。いくつかの実施形態において、応答は、サービスに関してレコードの登録が利用可能であるか否かを示す。いくつかの実施形態において、登録要求への応答は、登録の確認(confirmation)である(例えば、システムは、以前の登録者であった、顧客の代わりにレコードを登録することができる、等)。
【0062】
450では、登録要求に対する応答に少なくとも部分的に基づいて、レコードがダングリングレコードであるか否かの決定が行われる。いくつかの実施形態において、システムは、レコードの登録が利用可能であるという指示を受信したことに応答して、または、システムが(例えば、顧客の代わりに)レコードを登録することに成功した場合、レコードがダングリングであると決定する。
【0063】
430では、プロセス400が完了したか否かに関して決定が行われる。いくつかの実施形態において、プロセス400は、そうしたレコードがダングリングレコードであるか否かについてシステムがチェックを実行する対象となるレコードのセットの中にさらなるレコードがないという決定に応答して、完了したと決定され、管理者は、プロセス400が一時停止または停止されるべきであることを示す、等。プロセス400が完了したという決定に応答して、プロセス400は、終了する。プロセス400が完了していないという決定に応答して、プロセス400は、405に戻る。いくつかの実施形態において、プロセス400は、次の予定された時間に、または、既定の時間後に、もしくは、イベントに応答して(例えば、疑わしいDNSトラフィックの受信に応答して、等)呼び出される。
【0064】
図5は、本出願の様々な実施形態に従った、レコードがダングリングであるという指示を提供するための方法に係るフローチャートである。様々な実施形態に従って、プロセス300は、図1のシステム100、及び/又は、図2のシステム200に関連して実施される。
【0065】
510では、レコードがダングリングレコードであるという指示が取得される。いくつかの実施形態において、システムは、レコードの登録が期限切れ、または、失効したという決定に応答して、もしくは、レコードが登録可能であるという決定に応答して、レコードがダングリングレコードであるという指示を取得する。
【0066】
520では、レコードがダングリングレコードであるという指示がクライアントに提供される。レコードがダングリングレコードであるという指示を取得したことに応答して(例えば、レコードがダングリングレコードであると決定したことに応答して)、システムは、レコードがダングリングレコードであるという指示を、顧客といったクライアントに(例えば、ユーザインターフェイス、ダッシュボード、テキストメッセージ、電子メール、等を介して)、または、レコードの登録に関連付けられた連絡先に(例えば、WHOIS登録者情報といった、レコードの以前の登録に含まれる連絡先情報内に含まれる連絡先)通信する。
【0067】
530では、ダングリングレコードを解決する要求が受信されたか否かに関して決定が行われる。いくつかの実施形態において、システムは、ユーザの代わりにレコードを登録する、等といった、ダングリングレコードを解決するための要求を受信する。いくつかの実施形態において、ダングリングレコードを解決するためのシステム要求は、システムによって提供されるダングリングレコードサービスの特定の顧客のためのポリシといった、既定のポリシに少なくとも部分的に基づいて、自動的に生成される。
【0068】
530においてダングリングレコードを解決するための要求が受信されたと決定したことに応答して、プロセス500は、540に進み、そこでは、レコードを登録する要求がサービスに送信される。
【0069】
550では、レコードが登録されているか否かの指示が、サービスから受信される。サービス(例えば、ドメインレジストラといった、レコードの登録を提供/管理する第三者サービス)に要求を送信したことに応答して、システムは、レコードが正常に登録されたか否かを示す応答を受信する。
【0070】
560では、プロセス500が完了したか否かに関する決定が行われる。いくつかの実施形態において、プロセス500は、ダングリングレコードであると見なされるさらなるレコードがないという決定に応答して、完了したと決定され、管理者は、プロセス500が一時停止または停止されるべきであることを示す、等。プロセス500が完了したという決定に応答して、プロセス500は、終了する。プロセス500が完了していないという決定に応答して、プロセス500は、510に戻る。いくつかの実施形態において、プロセス500は、次の予定された時間に、または、既定の時間後に、もしくは、イベントに応答して(例えば、疑わしいDNSトラフィックの受信に応答して、等)呼び出される。
【0071】
図6は、本出願の様々な実施形態に従った、レコードがダングリングであるか否かを決定するための方法に係るフローチャートである。様々な実施形態に従って、プロセス300は、図1のシステム100、及び/又は、図2のシステム200に関連して実施される。
【0072】
様々な実施形態に従って、プロセス600は、DNSトラフィックを受信することに応答して呼び出される。例えば、プロセス600は、DNSクエリに関して呼び出されたインターセプト、または、DNSクエリへの応答に応答して、呼び出される。
【0073】
605では、DNSトラフィックが受信される。いくつかの実施形態において、DNSトラフィックは、DNSクエリ及び/又はDNSクエリへの応答をインターセプトするインターセプトに関連して受信される。
【0074】
610では、ドメインが決定される。システムは、DNSトラフィックに少なくとも部分的に基づいて、ドメインを決定する。いくつかの実施形態において、システムは、DNSクエリに含まれ、または、DNSクエリに対する応答に含まれるドメインを決定する。
【0075】
615では、ドメインに関連付けられたレコードが選択される。いくつかの実施形態において、システムは、DNSトラフィック及び/又はトラフィックからのドメインを分析し、そして、システムは、ドメインに対応するレコードを決定する。いくつかの実施形態において、システムは、ドメインにマッピングされた1つ以上のレコード(例えば、ドメインに関してユーザのアカウントにマッピングされた1つ以上のレコード)に少なくとも部分的に基づいて、ドメインに関連付けられたレコードを決定する。レコードの例は、ドメイン、サブドメイン、IPアドレス、第三者サービスのアカウント、メール交換(MX)レコード、ネームサーバ(NS)レコード、正規名(CNAME)レコード、委任名(DNAME)レコード、等を含む。いくつかの実施形態において、システムは、ドメインに関連付けられたレコードの全て、またはセットにわたり繰り返すことに関連して、レコードを選択する。
【0076】
620では、ドメインに関連付けられたレコードがダングリングであるか否かに関して決定が行われる。いくつかの実施形態において、625は、図3のプロセス300の320、または図4のプロセス400の425、もしくは450に対応するか、または、それらと同様である。
【0077】
620では、ドメインに関連付けられたレコードがダングリングであると決定したことに応答して、プロセス600は、625に進み、そこでは、レコードがダングリングであるという指示が提供される。いくつかの実施形態において、625は、図3のプロセス300の325に対応し、または、それと同様である。いくつかの実施形態において、プロセス600は、625を含まない(例えば、レコードがダングリングレコードであるという通知または表示が提供されない)。
【0078】
630では、DNSトラフィックに対する応答が提供される。いくつかの実施形態において、レコードがダングリングレコードであると決定したことに応答して、システムは、アクティブな手段を実行する。DNSトラフィックの場合、アクティブな手段は、レコード(例えば、IPアドレス、ドメイン、等)へのDNSトラフィックをブロックすること、または、DNSトラフィックをシンクホールIPに対してリダイレクトすること、を含むことができる。
【0079】
620においてドメインに関連付けられたレコードがダングリングでないと決定したことに応答して、プロセス600は、635に進み、そこでは、DNSトラフィックに対する応答が提供される。いくつかの実施形態において、レコードがダングリングレコードではないと決定したことに応答して、アクションが実行されず、または、通知が提供されない。
【0080】
640では、選択されたドメインに関連付けられた他のレコードについてチェックまたは決定を実行するか否かに関して決定が行われる。選択されたレコードの別のレコードに関して決定が行われると決定したことに応答して、プロセス600は、615に戻り、そして、プロセス600は、そうしたレコードがダングリングレコードであるか否かを決定するためにチェックすべきさらなるレコードがなくなるまで、615から640までを実行し続ける。一つの例として、さらなるレコードが監視されるべきか否かの決定は、そうしたドメインの顧客に関連付けられたレコードのセットに少なくとも部分的に基づくことができる。別の例として、さらなるレコードが監視されるべきか否かの決定は、プロセス600を一時停止または終了するための管理者からの命令といったユーザ入力に基づくことができる。
【0081】
選択されたドメインの別のレコードに関して決定を行うべきでないと決定したことに応答して、プロセス600は645に進み、そこでは、別のドメインについてチェックまたは決定を行うか否かについて決定が行われる。別のドメインに関して決定が行われると決定したことに応答して、プロセス600は610に戻り、プロセス600は、関連するレコードがダングリングレコードであるか否かを決定するために監視すべきさらなるドメインがなくなるまで、610から645までを実行し続ける。一つの例として、さらなるドメインがチェックされるべきか否かの決定は、プロセス600が呼び出されたDNSトラフィックのセットが、任意のさらなるドメインのためのトラフィックを含まないという決定に基づく。別の例として、さらなるドメインがチェックされるべきか否かの決定は、プロセス600が呼び出された既定のスケジュールに従ってシステムが監視することになるドメインのセットが、さらなるドメインを含まないという決定に基づく。別の例として、さらなるドメインが監視されるべきか否かの決定は、プロセス600を一時停止または終了するための管理者からの命令といったユーザ入力に基づくことができる。
【0082】
650では、プロセス600が完了したか否か関して決定が行われる。いくつかの実施形態において、プロセス600は、ドメインのセットの中にさらなるドメインが存在しないという決定に応答して完了したと決定され(例えば、少なくともプロセス600のこの反復について)、管理者は、プロセス600が一時停止または停止されるべきであることを示す、等。プロセス600が完了したという決定に応答して、プロセス600は、終了する。プロセス600が完了していないという決定に応答して、600は605に戻る。いくつかの実施形態において、プロセス600は、DNSトラフィックに関する次のインターセプトで、または、イベントに応答して(例えば、疑わしいDNSトラフィックの受信に応答して、等)、呼び出される。
【0083】
本明細書で説明される実施形態の様々な実施例は、フローチャートに関連して記載されている。実施例は、特定の順序で実行されるいくつかのステップを含み得るが、様々な実施形態に従って、様々なステップは、様々な順序で実行されてよく、かつ/あるいは、様々なステップは、単一のステップの中へ、または、並列に組み合わせられてよい。
【0084】
前述の実施形態は、理解を明確にする目的で、ある程度詳細に説明されてきたが、本発明は、提供された詳細に限定されるものではない。本発明を実施する多くの代替方法が存在している。開示された実施形態は、例示的であり、かつ、限定的なものではない。
図1
図2
図3
図4
図5
図6
【国際調査報告】