今天,就來跟大家聊聊關於IP其他的方方面面。IP位址的所有研究,其實可以歸到三個問題上:
1、這個IP在哪兒?
2、這個IP是什麼?
3、這個IP幹了什麼?
看似簡單的問題,但每個都需要投入巨大深入研究的代價。同盾科技在IP畫像研發過程中,我們接觸了國內外很多出色的IP位址數據服務商,也經過諸多的測試與調研,最終我們選擇了最優的平臺,作為我們的基礎數據供應商,在這些數據的基礎上,產生出了更加豐富的信息,最終投入到各個風控場景中進行使用。
PS:
高能預警:本期文章中會有大量專業名詞出現,儘量通俗易懂地闡述給大家,可自備詞典;
關於IP的一些冷知識:
IP位址(本文中特指IPv4地址),是用於標識網絡和主機的一種邏輯標識。依託於強大的TCP/IP協議,使得我們可以憑藉一個IP位址,就訪問網際網路上的所有資源。
IP位址本質上,只是一個32位的無符號整型(unsigned int),範圍從0 ~ 2^32 ,總計約43億個IP位址。為了便於使用,一般使用字符串形式的IP位址,也就是我們平常用到的192.168.0.1這種形式。實際上,就是把整數,每8個二進位位轉換成對應的十進位整數,以點分隔的形式使用。
比如,192.168.0.1和3232235521是等價的。
全球共有五個區域網際網路註冊機構(RIR),分別是:
美洲網際網路號碼註冊管理機構(American Registry for Internet Numbers,ARIN);
歐洲IP網絡資源協調中心(RIPE Network Coordination Centre,RIPE NCC);
亞太網絡信息中心(Asia-Pacific Network Information Centre,APNIC);
拉丁美洲及加勒比地區網際網路地址註冊管理機構(Latin American and Caribbean Internet Address Registry,LACNIC);
非洲網絡信息中心(African Network Information Centre,AfriNIC)。
IP位址的劃分,有RIR機構來進行統籌管理。負責亞洲地區IP位址分配的,就是APNIC,總部位於澳大利亞墨爾本。
各大RIR機構都提供了關於IP位址劃分的登記信息,即whois記錄。可以在各大RIR機構提供的whois查詢頁面上查看,或者使用whois命令查詢:
whois信息中,會顯示IP位址所屬的網段,以及申請使用和維護這個網段的運營商。比如,上面的信息中顯示,153.35.93.31隸屬於江蘇省聯通。
某些黑客題材的電影中往往會出現使用whois直接查詢得到了一個IP的位置,非常精確地定位到了一幢建築物裡。
這張截圖來自於2015年上映的《BlackHat》,滿滿的槽點,都是導演YY出來的。
(導演:怪我咯?)
正餐之前,給大家稍加科普一下,下面我們就要進入主菜了。讓我們逐一來解惑文章開篇提到的三個問題。
NO.1 這個IP在哪兒?
前面提到IP的whois信息,其中包含了申請使用該IP的運營商信息,並且在網段描述信息中,會包含國籍和省份信息。
但是這樣遠遠不夠,風控場景中,我們需要更加精確的結果,需要知道這個IP具體在哪個城市、哪個鄉鎮,甚至希望能夠精確到某一條街道或者小區。
曾有人問:我們的IP位址庫是否能夠提供這樣的結果?可以確定用戶在某個網吧、寫字樓甚至某個小區?
那上面這樣的IP資料庫是如何產生的呢?
俗稱「人海戰術」。您可別不相信,直到今天,依然有眾多的網友在為這個IP庫提供數據更新,上報IP位址的確切位置。但我們無從考證這個位置信息是否真實準確,如果不能報保證數據的準確性,在風控決策中同盾是不會去使用的。
一種IP位址定位手段,是通過海量Traceroute信息來分析。
理論上,如果我能夠得到所有IP相互之間Traceroute的信息,就可以繪製出整個網際網路的鏈路圖。
(上圖來自於IPIP.NET提供的BestTrace工具)
每一次traceroute,都會返回詳細的網絡鏈路信息。積累了足夠多的鏈路信息之後,就可以直觀地看出,很多鏈路都經過了同一個IP,那麼這個IP就是骨幹節點或者區域的骨幹節點。先確定出哪些節點是CN2骨幹節點,進一步確定省級骨幹節點,再逐一識別市縣區級的骨幹節點,最後得到全國範圍內的網絡分布。
以下是CAIDA的一份報告,使用了類似的原理,但統計的最小單位是AS(自治域)
圈的邊緣,就是探測節點,中間的紅色部分,就是全球網際網路的骨幹節點。原理雖然簡單,但實現起來卻沒那麼容易。
首先,你得有足夠數量的節點來探測、收集traceroute鏈路數據。其次,要有可靠的技術手段來及時分析探測到的結果,匯總形成IP位址資料庫。據了解,DigitalElemet也用了類似的方式進行探測,在全球範圍內一共部署了超過8萬個探測節點。
根據這種網絡鏈路探測的出的定位結果,業內又稱之為「網絡位置」。就是從網際網路的結構上來說,我們最終確定了一個IP,被分配到了某個地方的運營商手裡。
但是我們又遇到了很多其他的情況,給大家舉幾個簡單的例子。
117.61.31.0 江蘇省 南京市 電信
通過分析這個IP關聯的所有定位數據,得到了如下的分布:
這種情況,我們稱為「流量回源」。當用戶在使用南京電信的手機卡上網時,無論用戶身處哪裡,他的流量都會回到南京電信,再轉發出去,所以從IP上看,都會顯示為一個南京的IP。
上面的定位信息分布,可以在RTBAsia的IP位址實驗室中獲取https://ip.rtbasia.com/
153.35.93.32 江蘇省 南京市 聯通
各種渠道的信息表明,這個IP確實分配到了南京聯通,結果定位點全部落在了北京市的範圍內。如果我們根據IP的定位結果來判斷用戶當前的位置,得到的結果肯定就錯了。
難道前面提供的信息錯了?其實是由於國內運營商對IP位址的劃分和使用不透明,甚至特殊形式的租賃,導致北京的用戶,分配到了一個南京的IP。
IP位址跨城市覆蓋,覆蓋範圍非常大,用戶位置和網絡位置不在同一個城市甚至不在同一個省,都會影響到結果,無法準確給出判斷。
另一方面,隨著行動裝置的普及,在用戶允許的情況下,可以通過行動裝置採集到設備上的GPS信息。前面大家看到的兩張定位分布圖,就是分析一個IP在歷史上關聯過的所有GPS定位繪製出來的。每一個紅點,都表示曾經有一個用戶這裡出現過。再通過聚類和GPS反向解析,就可以預測一個IP下的用戶,可能出現的地理位置。這個結果,我們又稱之為「行為位置」。
這種分析方法看起來效果非常不錯,但是卻面臨兩個很重要的問題。
其一是,今年來設備作弊的方式層出不窮,如果沒有有效的手段來保證數據的準確性和可靠性,最終得出的結果也會有偏差。
比如下面這裡例子,定位點非常規整地分布在一個矩形區域內,而且覆蓋到了海面上,做了深入的分析之後才發現這個IP下面有大量的作弊行為:
另一方面,依靠定位點分布來分析IP的定位,需要長時間積累GPS數據。人口密集的地方,這個數據積累可以只要一天,二線城市需要一周,三線城市就需要至少一個月了。此前還遇到一個位於塔克拉瑪幹沙漠中的基站IP,至今還沒有過與之關聯的GPS信息。如果某一天,IP位址被重新分配了,劃分到另外一個城市去使用,就需要等上一周甚至一個月的時間,才能重新校正結果。而網絡鏈路的分析可以很快感知到。
實際的使用中,我們會把這兩種方式結合到一起。並不是說,兩個定位結果中,有一個錯了。兩個都是正確答案,只是某些情況下,有一個答案並不適合風控場景。
網際網路,就像物流系統一樣。我們分析IP的位置,和分析一個快遞小哥負責派送的區域原理是一樣。沒有哪個快遞小哥只給一戶人家送貨,IP也一樣,我們最終只能確定這個IP後面的用戶,可能出現的地理位置區域。隨著技術的提升,數據的積累,我們能夠不斷縮小這個範圍,達到最貼近真實的結果。
本次與大家分享的內容到此為止,大家可以反覆多次閱讀,很多專業描述其實也沒有那麼難懂,期望可以幫助到有需要的朋友們。另外兩個問題的分享,敬請期待IP下半部的分享!
Via:同盾科技