This post is also available in: English (英語)
概要
ネットワークスキャンのアクティビティを追跡すれば、どのサービスが狙われているかをつかみやすくなり、スキャナの送信元を監視すれば、侵害を受けたエンドポイントを特定することができます。たとえば著名な組織に属するホストが突然インターネットの一部をスキャンし始めたなら、それはそのホストが侵害を受けたことを示す強力な指標となります。
本稿では、2021年5月から8月までの4ヶ月間のネットワークスキャンアクティビティを調査した結果をまとめます。私たちは、日次平均で9,500種類以上の異なるポートを列挙している75,000台の一意なスキャナIPアドレスをグローバルに確認しています。インターネットに公開されているエンドポイントについては、1,900種類のポートを狙う1,500台のユニークなスキャナIPが毎日観測されました。IPv4アドレス空間の一部しかスキャンしないスキャナもあることから、各エンドポイントで観測されたスキャナの数は、グローバルに観測されたスキャナの総数よりも少なくなります。
最もスキャン数が多かったたサービスは、Samba、Telnet、SSHの3つで、これらがグローバルのスキャントラフィックの36%を占めていました。私たちが観測した全スキャナのうち、64%のIPはこの4ヶ月間を通じて1度しか観測されませんでした。0.15%のIPは、毎日観測されました。 このエフェメラルIPの割合の高さは、大半のスキャナが追跡困難ということを意味しています。一方、ShodanやCensys、Shadowserverなどの正規スキャンサービスプロバイダは、通常はその多くが固定IPセットを使用し、ユーザーエージェントやドメイン名を明示的に示してスキャナを識別できるようにしています。今回の調査で確認した最頻スキャナIPのリストは、こちらのGitHubに公開しておきます。
Prisma Cloudは、複数のクラウドサービスプロバイダ(CSP)にまたがるクラウドワークロードを保護する包括的クラウドネイティブセキュリティプラットフォームです。Unit 42のリサーチャーは、Prisma Cloudが収集した何兆ものフローログ(Flow Logs)を分析し、ネットワークスキャンのトラフィックを抽出しています。AutoFocusとWildFireの脅威インテリジェンスを組み合わせることで、Prisma Cloudは、弊社のお客様を標的とした悪意のあるトラフィックや、お客様のクラウド環境を起点とする悪意のあるトラフィックを継続的に監視します。
スキャントラフィックの識別
フローログ(Flow Logs)は、仮想マシン(VM)やコンテナ、ファンクションなどのクラウドリソースとの間を流れるIPトラフィックを記録する機能で、主要CSPはすべて、それぞれ用にフローログ機能を用意しています(AWS、Azure、GCP)。NetFlowのデータと同様に、フローログはパケットキャプチャと比べればさほど詳細ではないのですが、ネットワークパフォーマンスやセキュリティ上の問題をおおざっぱに監視したいときに使うと効率的です。通常、各フローログレコードには、送信元IP、送信先IP、送信元ポート、送信先ポート、IPプロトコル番号、パケットサイズ、バイトサイズ、タイムスタンプが含まれています。CSPによっては、各フローレコードに、アカウントIDやリソースIDなどそのクラウド固有の追加情報を含めることもあります。
フローログにはレイヤー7のアプリケーション情報は含まれません。したがって、あるフローがスキャン用のペイロードを運んでいるかどうかを単一レコードから判断するのは困難です。ただし、数万台のエンドポイントからのフローログがあれば、複数のCSP、地域、顧客間のフローレコードを相関させることで、高い確度でスキャントラフィックを識別できます。たとえば、ある送信元IPが、短時間で多数のエンドポイントに接続しており、そのすべてのフローのバイト/パケットサイズが似ているのなら、それはその送信元IPがスキャンオペレーションを実施しているという強力な指標になります。以下は私たちがフローログからスキャントラフィックを識別するさいに使っているメトリクスと条件です。
- 送信元IPは異なるCSP、アカウント、地域の複数のエンドポイントに接続しにいっている
- 送信元IPはそれらすべてのエンドポイントに短時間(たとえば6時間以内)で接続している
- 送信元IPはそれらすべてのエンドポイントに同一ロトコル・同一ポート番号で接続している(たとえば22/tcp )。
- 送信元IPからそれらすべてのエンドポイントへのトラフィックパターンが似ている。具体的には、それらすべてのエンドポイントへのパケットサイズ、バイトサイズ、フローカウントのばらつきがある閾値よりも小さくなければなりません。
スキャントラフィックの特徴
インターネット全体をスキャンするトラフィックは、通常は偵察のみを行い、悪意のあるペイロードは運んでいません。しかし、悪意のあるアクターは、スキャン結果から被害者を探し出し、そのインフラについて学び、侵入できそうな入口を見つけます。防御の観点からは、ネットワークスキャン情報は攻撃者のターゲットを把握するのに役立ちます。またSOCアナリストがスキャントラフィックを識別できれば、ネットワークログからそれらを除外できるので、フォレンジック作業がさらに効率的になります。
図1はスキャナIPの発信元の国別トップ20で、スキャントラフィックの25%が中国またはインドからのものでした。先行研究からは、一部のインターネットサービスプロバイダ(ISP)について、他のISPよりも悪意のあるトラフィックや攻撃トラフィックが多い傾向があるとわかっています(以下レポート参照: Regional Threat、ASN Report、Domain Research)。
図2は、最も多くのスキャナをホストしているISPを調べたものです。私たちが観測した760のISPのうち、上位2つのISPであるCHINA UNICOM China169 BackboneとChinanetが全スキャナの13%をホストしていました。ほとんどのISPは、顧客がスキャントラフィックを生成することを検知して禁止しているので、これら上位20社のISPは、顧客の帯域幅使用に対する制限がゆるいものと考えられます。なお、これらのスキャンアクティビティは、顧客環境で意図的・非意図的に行われている可能性があります。ISPは、顧客のアクティビティ(IPアドレスをインターネットのスキャンに使用するなど)に対して責任を負いません。
全体として、スキャントラフィックの96%はTCPで、UDPはわずか4%です。図3と図4は、最も頻繁にスキャンされたポートとプロトコルを示しています。図3はTCPでスキャンされたポートのトップ20、図4はUDPでスキャンされたポートのトップ10を示しています。各棒グラフのデータラベルは、対象となったポートとプロトコルで最も一般的に提供されているサービスを示しています。たとえば、Sambaサービスは通常445/tcpで稼働し、セッション開始プロトコル(SIP)は通常5060/udpで稼働します。
興味深いことに、トップ3のサービスの1つは、半世紀前のプロトコルであるTelnetです。Telnetは、シンプルなコマンドラインによるリモートサーバー管理プロトコルで、セキュリティのためのメカニズムを何も持たず、ずいぶん前により安全なプロトコルであるSSHに取って代わられています。Unit 42の先行研究(Mirai亜種、SOHOルーターの悪用)から、こうしたスキャントラフィックは、設定ミスでTelnetサービスを無防備に開いたままにしているIoT機器を探しているものと考えられます。
図5は、各スキャナIPの観測日数を示したものです。あるスキャナIPが1日しか観測されなかった場合、そのスキャナは過去4ヶ月間は同じIPを再利用していないということになります。121日間ずっと観測されているスキャナは、ある静的IPを使って毎日インターネットをスキャンしているということになります。私たちが観測した全スキャナのうち、64%のIPはこの4ヶ月間を通じて1度しか観測されませんでした。0.15%のIPは、毎日観測されました。毎日観測されているIPの一部をこちらに公開してあります。これらのIPは、過去90日間で、標的とされることの多かった上位10種類のポート番号(図3-4)をスキャンしていました。
結論
ネットワークスキャンアクティビティは、インターネット上の背景ノイズのようなもので、どこにでもあって特定のターゲットを持ちません。その主な目的は「できるだけ多くのホストに到達してその上にあるアクティブなサービスを特定すること」にあります。スキャントラフィックそれ自体に悪意のあることは少なく、使用する帯域幅もごくわずかですが、その結果からサイバー犯罪者は潜在的被害者を割り出すことができます。インターネット上で新たに公開されたサービスを攻撃者が発見するのにかかる時間はわずか数分で、安全な設定がされていなかったり、既知の脆弱性があったりすれば、攻撃者はものの数秒でそのサービスを侵害可能です。
こうしたスキャナIPは大半が動的IPからのものなので(64%)、スキャントラフィックを追跡・ブロックすることは困難です。ただし、適切なサイバー衛生を実施していれば、これらのスキャナによる脅威は効果的に緩和できます。私たちは以下のベストプラクティスを推奨します。
- インターネットへ公開するサービスは最小限にとどめる。図3の上位20サービスのほとんどはインターネット全体に公開すべきものではない。
- アプリケーションファイアウォールを使い、HTTPやHTTPSなどインターネットに公開するサービスを保護する。
- Cortex Xpanseなどの攻撃対象領域管理用のサービスを使い、公開しているインフラを監視する。