原創: 同盾反欺詐研究院 先知安全技術社區 2017-07-13 git
今日,就來跟你們聊聊關於IP地址方方面面的研究,其實能夠歸到三個問題上: 數據庫
一、這個IP在哪兒? 安全
二、這個IP是什麼? 網絡
三、這個IP幹了什麼? 工具
看似簡單的問題,但每一個都須要投入巨大深刻研究的代價。同盾科技在IP畫像研發過程當中,咱們接觸了國內外不少出色的IP地址數據服務商,也通過諸多的測試與調研,最終咱們選擇了最優的平臺,做爲咱們的基礎數據供應商,在這些數據的基礎上,產生出了更加豐富的信息,最終投入到各個風控場景中進行使用。 post
關於IP的一些冷知識: 測試
IP地址(本文中特指IPv4地址),是用於標識網絡和主機的一種邏輯標識。依託於強大的TCP/IP協議,使得咱們能夠憑藉一個IP地址,就訪問互聯網上的全部資源。 orm
IP地址本質上,只是一個32位的無符號整型(unsigned int),範圍從0 ~ 2^32 ,總計約43億個IP地址。爲了便於使用,通常使用字符串形式的IP地址,也就是咱們日常用到的192.168.0.1這種形式。實際上,就是把整數,每8個二進制位轉換成對應的十進制整數,以點分隔的形式使用。 ip
好比,192.168.0.1和3232235521是等價的。 ci
當今全球,互聯網系統共分爲四大區域,每個區域都由一件互聯網的本體,經過光纜覆蓋信號。這四大區域分別被命名爲:格蘭芬多,斯萊特林,赫奇帕奇以及拉文克勞......
這是《愛情公寓3》中的一個讓人捧腹的橋段。雖然是惡搞,可是有一件事兒說對了,互聯網確實是分區域的。
全球共有五個區域互聯網註冊機構(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(自治域)
原圖地址:http://www.caida.org/research/topology/as_core_network/pics/2015/ascore-2015-jan-ipv4v6-poster-2000x1389.png圈的邊緣,就是探測節點,中間的紅色部分,就是全球互聯網的骨幹節點。原理雖然簡單,但實現起來卻沒那麼容易。
首先,你得有足夠數量的節點來探測、收集traceroute鏈路數據。其次,要有可靠的技術手段來及時分析探測到的結果,彙總造成IP地址數據庫。據瞭解,DigitalElemet也用了相似的方式進行探測,在全球範圍內一共部署了超過8萬個探測節點。
根據這種網絡鏈路探測的出的定位結果,業內又稱之爲「網絡位置」。就是從互聯網的結構上來講,咱們最終肯定了一個IP,被分配到了某個地方的運營商手裏。
可是咱們又遇到了不少其餘的狀況,給你們舉幾個簡單的例子。
117.61.31.0 江蘇省 南京市 電信
經過分析這個IP關聯的全部定位數據,獲得了以下的分佈:
這種狀況,咱們稱爲「流量回源」。當用戶在使用南京電信的手機卡上網時,不管用戶身處哪裏,他的流量都會回到南京電信,再轉發出去,因此從IP上看,都會顯示爲一個南京的IP。
上面的定位信息分佈,能夠在RTB Asia的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下半部的分享!