原创: 同盾反欺诈研究院 先知安全技术社区 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下半部的分享!