VPN経由で見慣れたサイトを開くと追加の確認を求められる。そのとき魅力的に思える説明は、トンネルが見破られたというものだ。何かは検出されたが、それはあなたではなかった。サイトは複数のシグナルを採点しており、その一つが送信元アドレスである。そしてそのアドレスは、一分前にログイン失敗を量産していたかもしれない見知らぬ人々と共有されている。この判断を自分の接続への判決として読むのは、スコアが何のためにあるのかを誤解している。

送信元アドレスが決められることと決められないこと

IPアドレスは、ある時点でネットワークを通る経路を表す。それは人も、端末も、ましてや一つのアカウントも特定しない。キャリアグレードNATや混雑したVPNプールでは、無関係な数千のセッションを同時に背負うこともある。アドレスを身元として扱うサイトは、実際にはそれを評判として扱っているのであり、それは統計的な言明であって事実ではない。

二人が同じ出口を共有しても、正反対の証拠を生み出せる。一方は第二要素を使ってログインに成功し、もう一方は四十個のパスワードを試す。アドレスは同一なので、アドレスだけに基づく規則では両者を区別できず、引き起こされる反応はどちらにも等しく適用される。

これはアドレスを無視すべきだという主張ではない。シグナルが何を測っているかを忘れないための主張だ。VPNログイン周りの意外な挙動の多くは、誤った観測ではなく、誤った粒度で制御を適用することから生じる。

出口をブロックすることが見知らぬ人を罰する理由

アドレス単位のブロックは実装が安く、狙いを定めるのが高い。その影響範囲はそのアドレス背後のすべてのセッションであり、だからこそ共有アドレスとNATの振る舞いには運用文書の中で独自の歴史がある。同じ論理は、共有送信元アドレスとアドレスベースのフィルタリングの副作用に関するIETFの作業にも現れている。

SignalWhat it provides evidence aboutWhat it cannot settle
Source address and its reputationThe network path, and how that path behaved recently for othersWhich account or person is behind the request
Authenticator resultWhether the account claim was proved at the required strengthWhether the account's owner initiated it
Request timing and volumeWhether the pattern looks automated or burst-likeWhether the intent was malicious or a shared client
Application event historyWhat this account has done while signed inAnything about requests that never authenticated

ブロックが生む二つの失敗を考えてみよう。同じ出口の背後にいる正当な顧客はサービスを拒否され、悪用よりも高くつくサポートチケットを開く。実際の攻撃者は数千のプールの次の出口へ移り、再接続以外の何も費やさずに続ける。

比例性が欠けている段階だ。繰り返されるログイン失敗、自動化されたリクエストの急増、認証後の権限違反は三つの異なる出来事であり、アドレスの形をした問題と言えるのは二つ目だけだ。同じサイト全体のネットワーク禁止を三つすべてに適用することが、セキュリティ制御をサポート待ち行列に変える道である。

証拠のある場所に判断を置く

アカウント単位の制御はアドレスをまたいでアカウントを追跡する。これはあなたが本当に気にかける実体と一致する。レート制限、繰り返しの失敗後の待機期間、機密操作に対する段階的な認証は、いずれもネットワーク経路ではなくアカウントまたは操作に作用する。これはあなたが実際に守っている実体によく合う。攻撃者が新しい出口アドレスを探す動機も取り除く。

NISTの認証ガイドラインはこれらをリスク評価への入力として扱い、シグナルの一つにアドレス、地理位置、リクエストの時刻を挙げている。まさに借りるべき枠組みだ。シグナルは判断に情報を与えるのであって、認証器を置き換えるものではない。その一覧は禁止すべきもののメニューではなく、入力として読むべきだ。証明は依然として認証器が行い、他のシグナルはその周りにどれだけ摩擦を置くかを決めるだけである。

二つの設計上の制約が、アカウント単位のアプローチ自体が障害になるのを防ぐ。レート制限には安全な見直しの経路が必要で、利用者は資格情報を公開せずに誤った分類を報告できなければならない。段階的な確認は、未検証のサポート窓口に渡されたパスワードやワンタイムコードで答えられてはならない。

公正なポリシーは外からどう見えるか

各制御がどの判断を支えるのかを書き出し、その制御の粒度が一致しているかを確認する。アドレスの制御はネットワークからの通信についての問いに答え、アカウントの制御はアカウントについての問いに答え、アプリケーションのイベントは認証後の振る舞いについての問いに答える。三つすべてを名指しするポリシーは監査可能であり、VPN通信だけを名指しするものはそうではない。

次に、規則の数ではなく結果を測る。不正な試行は減り、正当な利用者は支援された経路を保ち、千回のログインあたりのサポート接触数は増えるべきではない。最初の数字を改善しつつ残り二つを壊すブロックは、問題を解決したのではなく移したのだ。

VPN接続を受け入れ、悪用対策を実施することは両立する目標だ。機能する版は、送信元アドレスを複数の入力の一つとして扱い、証拠に合う最も狭い制御を適用し、誤って分類された人に誠実な道を残す。失敗する版は、アドレスを容疑者として扱い、それをポリシーと呼ぶ。

関連記事