← ブログに戻る

VPN検出の誤検知を減らす:実践ガイド

VPN検出の誤検知を減らす:実践ガイド

VPN検出の誤検知とは、背後にいるのが普通のユーザーであるにもかかわらず、IPアドレスがVPN、プロキシ、匿名化サービスとしてフラグ付けされることです。最も多い原因は、共有アドレス、クラウドにホストされた出口、古いリストのデータです。誤検知を減らすには、フラグが実際に何を意味するかを理解し、アプリケーションがそれをどう扱うかを決めることが大半を占めます。

正当なトラフィックにフラグが立つ理由

VPN検出は観測ではなく推論です。サービスが目にするのは送信元アドレスだけで、そのアドレスから、どのような種類のネットワークに属しているかを推測しなければなりません。使われる手法は大きく2つあります。既知のVPNやTor出口ノードの公開リストとアドレスを照合する方法と、そのアドレスがあるネットワークを誰が運用しているかを調べる方法です。どちらも、予測可能なかたちで誤ることがあります。

最初の誤りの原因は、アドレスの共有です。キャリアグレードNATにより、ISPは数千人の契約者を少数の公開アドレスのプールの背後に置くことができ、多くの企業、大学、ホテルも、通常のNATで同じことをしています。外から見ると、1つのアドレスから多くの人による無関係な大量のセッションが生じ、リクエストログしかない場合、これは商用VPNの出口とまさに同じに見えます。したがって、量や、アドレスあたりの異なるアカウント数をトリガーとする行動ヒューリスティックは、まったく普通のネットワークで誤作動します。

2つ目の原因は、ホスティングです。企業のユーザーは、セキュアウェブゲートウェイ、クラウドプロキシ、ゼロトラストサービスを通じてインターネットに接続することが多く、その出口アドレスはデータセンターのネットワーク内にあります。会社のVPNを使うリモートワーカーは、正当でよくある運用ですが、そのデータセンターから来ているように見えます。データセンターのアドレスをすべて疑わしいものとして扱うルールは、悪用する者と一緒に、こうした人々も捕まえてしまいます。3つ目の原因は時間です。VPNプロバイダがアドレスを手放し、別のテナントがそれを引き継いでも、更新されていないリストは古い状態を報告し続けます。

フラグだけでなく、ネットワークを読む

真偽値は、検索結果の中で最も情報量が少ない部分です。ipto のIP検索は、アドレスを運用するASNと組織に加えて、is_vpn、is_tor、is_abuser、is_datacenter、bogon、bogon_typeのフィールドを返します。これらのフィールドは、まとめて読むことを想定しています。is_datacenterが true でis_vpnが false のアドレスは、ホスティングネットワークに属するものの、既知のVPNの情報源には一致しなかったということです。これは公開された出口リストに一致した場合とは異なる状況で、ポリシーでも別の扱いにできます。

VPN、Tor、プロキシのチェッカーは、単一のアドレスについて同じ根拠を、ネットワークとどの情報源が一致を出したかも含めて表示します。不当にブロックされたと訴えるユーザーからの特定の苦情を調べる際に役立ちます。所有者の側面については、ASN lookupが、運用者が家庭向けISP、モバイルキャリア、大学、クラウドプロバイダのどれかを教えてくれます。フラグが立ったアドレスが一般消費者向けISPに解決される場合、VPNという判定は、ホスティングプロバイダ上の同じ判定よりも疑ってかかる価値があります。

リストとASNのシグナルがどのように組み合わされるかの背景については、VPN検出の仕組みの記事で仕組みを順に説明しています。

間違いを許容するポリシーを設計する

誤検知を最も大きく減らせるのは、たいてい検出器の調整ではなく、陽性の結果が何を引き起こすかを変えることです。VPNの利用は合法でごく普通のことで、公共のWi-Fiや仕事のために使っている人も大勢います。VPNフラグだけでハードブロックすれば、必ず一部の正当なユーザーを罰することになるため、ブロックは、新規アカウントからの支払いなど、リスクが具体的な状況に限り、それ以外ではより穏やかな対応を使ってください。

  • ブロックではなくステップアップ。リクエストを完全に拒否するのではなく、追加の認証ステップを求める、CAPTCHAを加える、価値の高い操作を遅らせる、といった対応にします。
  • 独立したシグナルを組み合わせる。VPNフラグに使い捨てメールのドメインと、一致しない電話の地域が加われば、どれか1つよりも大きな意味を持ちます。fraud score checkerは、この目的のために、IP、メール、電話、User-Agentのシグナルを0〜100の単一スコアにまとめます。
  • わかっているものは許可リストに入れる。自社のオフィス、パートナー、顧客の既知のゲートウェイにフラグが立った場合は、その範囲を記録して除外します。アドレスは再割り当てされるため、リストは定期的に見直してください。
  • 理由を記録する。どのフィールドが判断のトリガーになったかを保存すれば、サポートが説明でき、フラグがどのくらいの頻度で覆されたかを測定できます。
  • スケジュールに従って再確認する。ipto の脅威フィードは6時間ごと、IPとASNのデータセットは毎日更新されるので、それより古いキャッシュ済みの判定は、すでに古い可能性があります。

どの検出器にも限界がある

完全なリストは存在しないため、陰性の結果は「未知」を意味するだけで、「間違いなくVPNではない」という意味では決してありません。ipto はレジデンシャルプロキシを検出しません。レジデンシャルプロキシは通常の家庭の回線を通してトラフィックを流すため、設計上、本物のユーザーと区別しにくいものです。そのため、自分の誤検知率を測定することが重要です。フラグが立ったセッションをサンプリングし、そのうち正当な顧客だったものがどれだけあったかを確認して、各シグナルに結び付ける対応を調整してください。threat feedsのページには、VPN、Tor、高リスクのリストそのものが表示されており、アドレスが実際に公開リストに載っているのか、別の理由でフラグが立ったのかを確認したいときに役立ちます。

これらすべてを、サインアップなしで試せます。無料枠は1日1,000リクエストで、検索エンドポイントとレスポンスのフィールドはAPIドキュメントに記載されています。

率直な回答

多くの無関係なユーザーが1つの公開アドレスの背後に集中するため、リクエストログ上ではVPNの出口に似て見えます。量やアドレスあたりのアカウント数に基づくヒューリスティックでは、両者を簡単には区別できません。
いいえ。VPNの利用は合法でよくあることなので、フラグは他の証拠とあわせて評価するシグナルです。多くの場合、完全なブロックよりステップアップ認証のほうが公平です。
いいえ。ipto が報告するのはVPN、Tor、abuse、データセンター、bogonのシグナルで、レジデンシャルプロキシのトラフィックは検出しません。陰性の結果は、そのアドレスがVPNとして知られていないという意味にすぎません。
← ブログに戻る