«

»

Dec 12 2016

[隐私安全]PC端网页版百度地图是如何定位你的真实地址的

 

注:本文适用于网页版百度地图,同样适用于阿里的高德地图,以及搜狗地图等。

PC端打开网页版百度地图http://map.baidu.com/,不少用户都会发现,“哇,定位好准!”

不觉得奇怪么?

你的电脑上没有 GPS 模块,你的浏览器也没提示“网站想要获取您的位置”,那么百度地图是根据什么确定你的精确位置的?

正规网站都应该在需要获取用户地址时需要先经过用户同意。

 

分析

首先来思考一个问题:如何定位一个用户的真实地址?

有两种方法:

  • 根据用户的IP,通过运营商办理宽带时填写的资料;
  • GPS定位;

根据用户的IP,通过运营商办理宽带时填写的资料

这是比较正规的通过IP获取到所在地理位置的途径。以ipip和ip138为代表的ip库,也都是基于各电信运营商、网络服务的BGP/ASN数据而分析处理而得来的IP库。

IP是不断变化的,很多IP都是基于运营商随机动态分配的,所以同一个IP会在同一个运营商范围内不断变化,不会有固定的街道或者坐标,但因为运营商是固定的,所以变化范围也可以确定是在一个范围内。所以当你拿到一个属于北京联通的IP时,你就可以确定这个IP是属于北京地区的。根据其分布规律,还可以进一步缩小范围,比如海淀、昌平。

能根据IP获取到用户真实且具体地址的,只有电信运营商,其通过IP查到分配给的用户账户,再通过用户账户查询宽带报装时的街道地址。

GPS定位

这个技术就很好理解了,GPS本身就是定位技术,不需要运营商资料,只需要GPS模块就行了。

但我不觉得你的电脑上会装有GPS模块。没有 GPS 模块,百度地图又是根据什么确定你的精确位置的?

 

做一个实验

如果你是一级运营商的 宽带拨号上网 用户,请做一个实验:

  1. 打开网站http://www.ip138.com/https://www.ipip.net/,这个网站会告诉你你现在的IP,记录下来。
  2. 把你的路由器的 WiFi 功能关掉,或者把所有连接到这个WiFi热点的手机、平板电脑等设备关机,注意是关机,不是关 WiFi 或者 GPS定位。暂时没有必要像《窃听风云》那样连手机电池都抠下来。
  3. 重启你的路由器,或者重启你的光猫。(因为很多人连 WiFi 和 宽带是什么都分不清,对于蠢到这种程度的人,我建议你把你家的电闸都拉下来,不是你屋里的电闸,是楼道里的电闸,让屋里彻底断电)
  4. 再次打开网站http://www.ip138.com/https://www.ipip.net/,看看你的IP是否变化了。
  5. 如果IP变化了,使用电脑打开百度地图,看看你的定位信息,是否跑偏了。如果IP没有变化,请重复2-4步,或者放弃。
  6. 重复2-5步,看看是否每次都会出现定位信息不准,或干脆没有定位信息的情况。
  7. 打开你的 WiFi,打开你的手机,连接WiFi。保持你的IP不变(即不要重启光猫和路由,不要重新拨号),随便干点别的事情,玩玩手机,打打游戏,尤其是使用一下百度旗下的APP,比如百度外卖订个餐啥的。
  8. 一段时间后(可能是1分钟,也可能是几小时),再次使用电脑打开百度地图,看看定位信息,是否已经 非常准确 了?
  9. (可选)如果你了解安卓手机的模拟地理位置,那么,也就不用我多讲了,你知道该怎么做。

 

实验结论

上面这个实验,相信你会成功的。

那么如果真的成功了,意味着什么呢?在宽带账号和物理线路不变的情况下,更换上网IP时,百度定位地址也就会随之变化,可以做出推论,百度地图是根据用户上网IP来定位用户地址的。

 

 

首先说明一下,运营商登记的地址,属于运营商运营资料,虽然还没达到涉密的级别,但这个资料并不公开,也绝对不会在内部随意查阅,只有极少的人有权利获取 IP-物理地址 的权限,一般有权限的的运营人员的权限也最多只能到 账号-物理地址 的权限。唯一会涉及到这种查询的,就只有公安部门要根据IP上门走访的情况了。

珍藏多年的宝贝:

这是我在2011年时在某运营商工作时偷拍的照片。

百度再大又能大到哪里去,所以绝对不会使用这个方式,那么只剩下另一种途径了,GPS。但是你的PC有GPS模块吗?没有,你的什么设备上有GPS模块?导航仪?手机?平板?

 

通过用户已连接WiFi的手机偷偷获取GPS信息,并结合出口IP,获取IP对应GPS信息

这是某些大厂以不道德手段,通过用户已连接WiFi的手机偷偷获取GPS信息,并结合出口IP,获取IP对应GPS信息的,可以通过IP定位到精度与手机GPS精度相同的坐标。

这是一种流氓行为。

这个方法,只要用户更换IP(比如重启路由器),那么在其下次偷偷获取用户GPS信息之前,他的坐标就都是错的,会是上一次使用这个IP上网并且被定位的地址。

阿里的高德地图,以及搜狗地图,也会使用同样的方式偷偷收集用户地理位置。只不过他们的定位收集很慢,没有百度那么暴力。

 

高德地图:

 

搜狗地图:

 

你甚至可以使用一些国内的收费VPN实现全国漫游。

 

有什么危险

可以说目前看来,中国人对隐私和安全这两个词是毫无概念的。我在这里怎么解释大概都没用。

说一个我面临的问题

一般公司,都在网络出口部署了审计设备。原本这些设备是用于在工作时间段内,防止员工上班期间刷淘宝看视频或打游戏,并禁止访问非法网站或发表非法言论,这本身没什么问题。然而很多公司的这种审计设备问题很多,最明显的一点就是严重拖慢正常上网速度。

对于IT研发行业来讲,随时能连上网同步一些资料搜索一些有用资料是必要的,所以我在家里布置了一台私有云,并且启用了某个方法,让我可以通过家里的宽带搜索资料。因为是私有云,根本没必要对自己以外的人开放端口,所以不做端口映射,而是用方法让自己钻进家里的局域网中。某工具其实比想象中的更强大。

中国美术学院的学生用南山路的落叶装饰的艺术作品:纸飞机

照片来自tualatrix的INS,中国美术学院的学生用南山路的落叶装饰的艺术作品:纸飞机

 

按照理论上做一次中转会有双倍的上网延迟,然而实际上由于流量加密导致出口审计设备不得不放行这种流量,公司网速反而翻倍了,开网页再也不用等半天。而且我不做违法的事情,即使做了,也是有关部门上门到我家找我,不会连累公司。至于看视频打游戏,就公司这破网速?

审计服务的主动探测攻击我家中的服务器。我抓包分析过了,这个探测工具蠢得要死,除了HTTP什么都探不出来。

 

然而只要是我的流量传到家里,那么即使再强加密,点对点的传输流量记录还是会有的,公司仍然会记录到公司电脑的网卡MAC地址,以及家中宽带的IP。本来只是个IP,没什么大不了的,即使定位到北京市昌平区,公司也至少有十多个人住在这个区里面。但是由于百度会搜集你的信息,在某种意义上泄露你的真实地址。只要购买百度的高精度IP定位API服务,那么就可以根据IP,查到家在哪,按照百度自己的说法,精度在几十米到几百米不等,然而我说,他的这个精度刚好是WiFi信号的覆盖能力范围,而对于家庭用户,WiFi覆盖范围也就是那几十平米的房间,精度绝对在10米范围内。

老总拿到你的家庭住址,又拿到你的电脑网卡MAC,看着你每天的无法分析的加密流量,请你喝个茶讨论一下不是问题。

再举一个例子

作为有独立网站的人,服务器被攻击乃是家常便饭。前一阵子我的服务器被攻击,于是我查了一下攻击来源:

国外。看样子无能为力了?当然一看就知道这是一台跳板机,只不过攻击者实在是太不专业了,貌似是在攻击期间,把自己的手机也连入了跳板,泄露了自己的地理位置。虽然免费接口只能精确到街道,不过如果是有关部门的话,至少会大范围缩小搜索范围,再根据此区域内上行流量目的地址,轻轻松松定位到个人。

当然再次搜索这个IP时,发现物理位置变化了。这也有可能是个公用VPN,你知道国内VPN服务都是需要国家审核的吗?抓你更轻松。

 

2016年12月13日补充:

免费接口其实可以获得GPS等许多信息,如果有兴趣与地图API结合使用的话,精度会变得非常高。这里就有一个已经完成的例子,用某个垃圾评论的IP测试一下,效果拔群:

 

我都有点想把大家评论时留下的IP都试一遍的变态冲动了……

放弃争论

关于网页版百度地图是如何定位这个问题,在知乎上是有很多人讨论过的。知乎也不亏被称谓逼乎,很多对事情,尤其在技术和实现方式完全不了解的情况下,强答

 

长点心吧。

14 comments

Skip to comment form

  1. 荔枝

    1.据说电商也会根据收货地址精准定位到楼层;2.Google 地图也是采用手机定位实现网页版定位的;3.代理工具只要按照 PAC 分流,应该不会出现服务器被百度定位的情况;4.终极方案:https://breakwa11.blogspot.com/2016/12/baidu.html。

    1. 石樱灯笼

      BreakWa11那个上周一我就看过了,有点因噎废食。电商那个我忘记写了,我有那次的新闻稿和图片,但是我感觉没什么用,因为收货地址无法定位成物理坐标。谷歌定位那个我实现不了,因为我这里没法直接访问谷歌。目前也没有发现谷歌有卖IP-地址的服务。

  2. 灰狼

    使用他们的服务,就会被收集这些信息。但是有其他代替方案吗?如不用百度地图,可以使用什么地图呢?什么导航呢?
    国内大多数人对安全和隐私,概念确实模糊,甚至没有。然而国内的公司又那么流氓,你用我的“免费”服务,就间接的帮我赚钱。

  3. 大致

    看来有必要跟老秦学刷一下路由器了。
    虽然我很少用地图服务,但是会收集信息的又不止百度一家。每个周末都要跟闺女用外卖软件订一顿中午饭,每次都感觉是把自己卖了。

  4. 胡杨

    神乎其神的解答

  5. 不亦乐乎

    整篇看下来有看美国科幻片的感觉,很神奇。

  6. 萃香西瓜

    关键还是使用者对于各种权限的认识太浅薄

    同意APP获取GPS地理位置的同时没有意识到隐私已经被暴露了

    话说其实我认为还有另一种定位方式,利用地图的采集车来扫描各个沿街wifi的mac地址及位置
    这样只要手机连上wifi,也能立刻拿到用户的地址。只是mac地址只存活一跳,不像公网ip那样容易识别

    1. 石樱灯笼

      对于安卓手机,其实不需要用户同意权限。不然只要关掉WiFi和GPS就行了。我没有iPhone,所以没有结论。

  7. 坠入银河

    吓的我都不敢评论了,#滑稽

  8. 洛城东华

    国产面前无隐私,虽然我也知道『只要我不做错事就不会有人找我』是一句骗人的话,但我也只能用这个来安慰自己了。
    话说,在安卓手机上,就算不直接用百度自家的产品,但各种App中嵌入的的百度SDK恐怕也是帮凶,当然这个是我自己猜的,没有调研过。
    何况我家的情况更特殊,365×7×24的固定IP出口,并且问过ISP,因为登记地址没有线路(扯淡,有两幢楼就是自己扯线,唯一的区别是被登记到了其他地址)所以不能自己装宽带,只能忍受集团借用别人线路的垃圾局域网,每到晚上延迟高达300~1000ms,并且网络中心(因为我家的级别不够)拒绝帮忙管理。
    是应该在自欺欺人下生活,还是为了所谓的自由撞个粉身碎骨,在个人能力有限的现实下,我想我只能做无奈的妥协。

    1. 石樱灯笼

      只要和百度有合作,那么就会上传地理位置,你猜的没错。

      ISP只有一家吗?能换的话最好换一下,共享网络还是太操心。

  9. 小雨嗝嗝
    Google Chrome 68.0.3440.106 Google Chrome 68.0.3440.106 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

    博主,可以问一下你查询ip攻击来源的那个网站是什么吗

    1. 石樱灯笼
      Google Chrome 68.0.3440.106 Google Chrome 68.0.3440.106 Windows 7 x64 Edition Windows 7 x64 Edition
      Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/68.0.3440.106 Safari/537.36

      如果你是问文章中用IP通过百度定位的网站,是http://www.opengps.cn。百度已经不对公众开放查询接口了,所以这个网站现在只有历史数据。
      现在 IPIP.net 对部分 IP 也能查到相似的地理位置,用的到底是谁家的数据暂不清楚。

  10. 雪夜
    Google Chrome 63.0.3239.132 Google Chrome 63.0.3239.132 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36

    楼主厉害,亲测,是通过连接到同一网络的手机来定位的。我是手机root后把手机定位在了其他地方,上百度地图的时候发现的。。。想想没有我任何授权,手机是高德地图软件,更改位置后手机也没浏览其他网页,位置信息就被共享到了电脑版的百度地图。。。可怕可怕

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据