Cleaning the NTP Pool: Detecting and Mitigating NTP-Sourced IPv6 Scanning
本論文は、偵察やスキャニングのためにアクティブなIPv6クライアントアドレスを収集するNTP Poolサーバーを検出し、特性を評価するための手法を提示するものであり、これにより22台の悪意のあるサーバーが特定され、関係する実体によるその後のポリシー変更へとつながった。
原論文は CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) でライセンスされています。 これは以下の論文のAI生成解説です。著者が執筆または承認したものではありません。技術的な正確性については原論文を参照してください。 免責事項の全文を読む
インターネットを、あらゆるデバイスが家番号のような固有の住所を持つ、巨大で賑やかな都市だと想像してみてください。古いバージョンのこの都市(IPv4)では、通りは混雑しており、誰かがブロックを歩いてすべてのドアをノックし、誰が家にいるかを確認することは容易でした。しかし、この都市の新しい大規模な拡張(IPv6)では、通りは非常に長く、家番号は非常にランダムで絶えず変化しているため、推測だけで誰かを見つけ出すことはほぼ不可能です。秒単位で更新される地図が必要になるでしょう。
時計を同期させるために、この都市のほとんどのデバイスは、時間を推測するのではなく、「NTPプール」と呼ばれる中央の時報係に問いかけます。NTPプールとは、誰でも時計を設置して近所に時刻を提供できる、大規模なボランティア運営の時計塔のようなものです。非常に人気があるため、毎日、何百万ものデバイスがこれらの時計に時刻を尋ねています。問題は、デバイスが時刻を尋ねる際、時計が回答をどこに送ればよいかを知るために、そのデバイスの「家番号」(IPアドレス)を示す必要があることです。この論文は、一部の人々がこれらのボランティアの時計を、単に時刻を教えるためだけでなく、訪れた人々の家番号を密かに書き留めるために使い、それによって本来は見つけられなかったはずのドアを叩くためのリストを作成しているという、巧妙なトリックについて探求しています。
時計塔の強奪
この研究において、研究者のエリック・ライエとロバート・ベヴァリーは、「バックスキャニング」と彼らが呼ぶ奇妙な現象を調査することにしました。彼らは、NTPプールのボランティア時計のいくつかがスパイのように振る舞っているのではないかと疑いました。このトリックの仕組みはこうです。デバイスが時計に時刻を尋ねます。時計はそのデバイスのアドレスを確認し、それを書き留めます。そして、単に時刻を返す代わりに、そのアドレスに対してプローブ(探索)を送り始め、そこでどのようなサービスが稼働しているかを確認します。これは、まるで親切なパン屋が、あなたが時刻を尋ねた直後に、あなたが店に入ってきたという理由だけで、あなたの家に鍵のかかるドアやセキュリティカメラ、あるいは隠された金庫があるかどうかを密かに調べ始めるようなものです。
これらのスパイを捕まえるために、研究者たちは巧妙な罠を仕掛けました。彼らは、NTPプールの時計に数千のリクエストを送る特別な「プローバー(探索用)」コンピュータを作成しました。しかし、ここが魔法の部分です。すべてのリクエストは、新しい、一度限りの偽の、使い捨ての家番号(「ノンス」と呼ばれます)から送られました。これらの番号はランダムであり、二度と使用されませんでした。研究者たちは、その後、これらの偽の家のドアを誰かが叩くかどうかを待ちました。
もし時計が単に自分の仕事をしていただけなら、時刻を返し、その偽の家番号については忘れるはずです。しかし、もし時計がスパイであったなら、その時計は偽の番号を書き留め、後にそのアドレスに対してプローブを送信したはずです。偽の家は実際には存在しないため、プローブがそこに到達できる唯一の方法は、時計(またはそれに接続されている誰か)がその番号を保存し、積極的に探し回っていた場合のみです。
彼らの発見
1年間にわたり、研究者たちは2,335の異なるNTPサーバーに対して、約245万件のこれらの偽のリクエストを送信しました。その結果、22のサーバーが実際にスパイとして機能していることが判明しました。これら22のサーバーは、その挙動に基づいて4つの明確な「クラスター」に分類されました。
- ライト・タッチャー(軽い接触者): 1つのグループのサーバーは、主に偽のアドレスに対して単一の「ピング」(デバイスが生存しているかを確認する基本的なチェック)を送るだけでした。彼らは好奇心はありましたが、深くは掘り下げませんでした。
- ヘビー・ヒッター(重量級の攻撃者): 研究者が「クラスター2」と呼んだ最も活発なグループは、大規模なオペレーションでした。彼らは8つのNTPサーバーを使用してアドレスを収集しましたが、その後、3,000以上の異なるIPアドレスを使用して、ドアを叩く大規模なスキャニングキャンペーンを展開しました。彼らは単にドアが開いているかを確認するだけでなく、572種類の異なるタイプのロック(TCPポート)と9種類の異なるタイプの鍵(UDPポート)を試しました。彼らはウェブサーバー、リモートコントロールツール、データベースなどの特定のものを探していました。
- ローン・ウルフ(一匹狼): 他の2つのグループはもっと小さく、それぞれ1つのサーバーだけでありながら、依然としてスキャニングを行っていました。一方はピングを送り、もう一方は特定のAndroidデバッグポートへのアクセスを試みていました。
研究者はタイミングについても興味深いことに気づきました。「ライト・タッチャー」の場合、新しいアドレスを確認してからスキャニングを開始するまでに平均して約14時間かかりました。「ヘビー・ヒッター」はもう少し時間がかかり、約22時間でしたが、一度始まると止まりませんでした。これらのスキャンの中には、同じアドレスを繰り返しチェックしながら、1ヶ月以上継続したものもありました。
「なぜ」と「誰が」
研究者は、最大のスキャニンググループ(クラスター2)の所有者を突き止めました。それはサイバーセキュリティ保険会社でした。研究者が彼らに尋ねると、その会社は率直に答えました。彼らは、アクティブなIPv6アドレスを学習し、バックスキャニングを行う目的で、具体的にNTPプールを使用していることを認めました。彼らは、これを「防御的な目的」、具体的には保険顧客のリスク計算を助けるために行っていると主張しました。彼らは、どのようなデバイスが存在するかを知ることが、脅威の状況を理解するのに役立つと論じました。
しかし、研究者は重大な問題を指摘しました。スキャンされているデバイスの所有者は、それが起きていることを知りませんでした。これらのデバイスの多くは、自動的にNTPプールに時刻を尋ねるだけの、小さな組み込みデバイス(スマートサーモスタットやIoTセンサーなど)です。彼らはスキャンに同意したことは一度もありません。さらに、このスキャニング企業は、特定が困難なクラウドサーバーを組み合わせて使用していました。同社は、スキャニング・インフラストラクチャの約40%に識別記録(rDNS)が欠落していることを認め、それらの特定の項目は修正したと主張しましたが、彼らのNTPサーバーには識別記録を追加していません。さらに、彼らのN NTPサーバーもスキャニングサーバーも、誰であるかを説明したり、オプトアウト(拒否)したりするためのウェブページをホストしていません。ただし、ドメインの転送設定により、いくらかの情報は提供されています。
その後の展開
この発見は、インターネットの倫理における「グレーゾーン」を浮き彫りにしました。誰かのドアを叩いて誰が家にいるかを確認すること自体は通常犯罪ではありませんが、隠されているはずのデバイスを見つけるためのトリックを使って秘密裏に行うことは、倫理的に不透明です。研究者は単に問題を指摘しただけでなく、NTPプールの管理者と協力して解決に取り組んでいます。
彼らは現在、検出方法をNTPプールのスコアリングシステムに直接統合するシステムを構築しています。将未来的には、もしボランティアの時計サーバーが「バックスキャニング」を行っていることが見つかった場合、システムは自動的にそのスコアを下げ、その結果、トラフィックを受け取れなくなり、最終的にはプールから追放されるようになります。研究者はまた、不正な行為者のリストをNTPプールと共有しました。関与した保険会社は、スキャニングサーバーの欠落している識別記録を修正することで、自らの業務をより透明にするということに同意しましたが、NTPサーバー自体は依然として未特定なままです。
教訓
この論文は、デバイスを見つけることが困難であるはずの世界においても、システムを欺く巧妙な方法が存在することを示しています。信頼されているボランティアの時刻提供サービスを利用することで、一部の組織はインターネットの最も捉えどころのないデバイスの地図を作り上げることができました。この研究は、これらのスキャンがセキュリティや保険を目的としているとしても、デバイス所有者の同意をバイパスしていることを示唆しています。解決策はNTPプールを閉鎖することではなく、NTPプールをより賢くし、ボランティアの時計が単なる「時計」であり続け、決して「秘密のスパイ」にならないようにすることです。
自分の分野の論文に埋もれていませんか?
研究キーワードに一致する最新の論文のダイジェストを毎日受け取りましょう——技術要約付き、あなたの言語で。