VPN 偵測原理:ASN 與封鎖清單
VPN 偵測的運作方式,是判斷某個 IP 位址是否屬於已知會為他人中繼流量的網路,主要依據兩個來源:位址的自治系統編號(ASN),它顯示誰在營運該網路;以及已知 VPN、Proxy 與 Tor 出口位址的封鎖清單。這兩個來源都不完整,因此偵測是機率估計,而非證明。
之所以可能做到這件事,是因為 VPN 出口一定得存在於某處。商業 VPN 服務在資料中心租用伺服器,並從少數幾個網路宣告位址空間,而這些位址的行為與家用寬頻連線不同。偵測的做法就是嘗試辨識這種足跡。
訊號一:ASN 歸屬
每個公開 IP 位址都位於由某個自治系統宣告的區塊內,並以 ASN 識別。ASN 查詢可針對像 AS15169 這樣的編號回傳登記的擁有者、組織與國家,而主要的 IP 查詢則會隨每個位址回傳相同的 asn 與組織。如果該組織是主機代管公司、雲端平台或 CDN,那麼這個位址不太可能是在家中的個人,ipto 將此以 is_datacenter 呈現。如果是消費性 ISP,則該位址很可能是家庭或行動用戶。相關背景請見 什麼是 ASN。
對於常見情況(VPN 供應商在租用機櫃中運行伺服器),ASN 證據相當有力,但它有兩個弱點。許多非 VPN 流量同樣來自資料中心:腳本、監控服務、合法的企業對外出口,以及雲端託管的應用程式。而透過消費性 ISP 出口的 VPN 則完全不會留下資料中心的足跡。因此 ASN 只是先驗,而非結論。
訊號二:已公布的清單
第二個來源是已被識別為 VPN 端點、Proxy 或 Tor 中繼節點的位址清單。Tor 是最容易的情況,因為該網路會公開發布其中繼節點,但出口清單變動很快,正如為何靜態 Tor 出口清單很快就會過時所討論的。至於商業 VPN,清單是從觀察與供應商資料彙整而成,由於供應商不斷輪替並新增伺服器,這些清單需要頻繁更新。在 ipto 上,VPN、Tor 與濫用來源每 6 小時更新一次,IP 與 ASN 資料集則每日更新,結果會以 is_vpn、is_tor 與 is_abuser 出現在 IP 查詢中。你也可以直接瀏覽底層的威脅情資來源。
清單證據比 ASN 證據更具體,因為列在清單上的位址是被個別識別出來的。但它有時間落差:今天早上新增的伺服器,在下次更新之前可能不會出現在任何清單上,而清單也可能保留那些後來已重新配給一般客戶的位址。
結合兩種訊號
這兩個來源互補。位於主機代管 ASN 且出現在出口清單上的位址,可高度確信是 VPN 或 Proxy。僅位於主機代管 ASN 的位址值得謹慎對待,但不應自動視為 VPN。符合清單但位於消費性 ASN 的位址,可能是過時的條目或住宅出口。將位址送入 VPN、Tor 與 Proxy 檢查工具,會顯示符合了哪些清單以及該位址屬於哪個網路,讓你看到證據,而不只是一個是或否。
偵測會漏掉的地方
在圍繞結果進行設計時,請明確認識這些盲點:
- 新增或輪替的伺服器在來源跟上之前可能不會被偵測到。
- 住宅 Proxy透過真實的家用連線轉送,看起來就像一般使用者。ipto 無法偵測它們;關於為何這麼困難,請參閱住宅 Proxy 偵測。
- IPv6:VPN、Tor 與濫用旗標目前涵蓋 IPv4 範圍,因此 IPv6 位址在這些旗標上會回傳 false 而非猜測,不過 ASN、組織與位置仍可運作。
- 自行架設的 VPN若位於小型供應商範圍內的個人伺服器上,可能永遠不會出現在任何清單中。
請將負面結果視為「未知是 VPN」,而不是「肯定是直連」。
合理運用結果
大多數 VPN 使用者都是合法的:使用企業通道的員工、旅行者、注重隱私的人。旗標最適合作為風險輸入,觸發相稱的回應,例如額外的驗證步驟、較低的信任分數,或對高價值操作進行人工審查,而不是自動封鎖。相關模式請見降低 VPN 偵測的誤判,而詐欺分數檢查工具則展示了如何將 IP 訊號與電子郵件、電話及 User-Agent 證據結合成單一的 0 到 100 分數。
想親自嘗試,請用你自己日誌中的位址呼叫 GET https://ipto.to/v1/ip/:ip(免費、無需註冊、每天 1,000 次請求),並檢視 ASN 旁的旗標。回應結構請見 API 文件。