SS7 七号信令:跨国定位手机の奥义

微信号: 全频带阻塞干扰
原作者: Longas_杨叔
印象: 七号信令:跨国定位手机の奥义

篇首语

很多年前,杨叔还带着ZerOne无线安全研究团队的兄弟们申请过关于七号信令的研究课题,想想时间还是挺快的。上个月在北京,和朋友们夜宵吃小龙虾,又有人提起七号信令,也罢,看在连吃三晚小龙虾的份上,写点东西吧。
上个月在北京,和朋友们夜宵吃小龙虾,又有人提起七号信令,也罢,看在连吃三晚小龙虾的份上,写点东西吧。

0x01 谁需要跨国定位

需求方太多了,嘿嘿,谁需要谁知道。

举个偏一点的例子,记得杨叔有次参加朋友聚会,偶然认识了一位从事高利贷的行业人士(以下简称“步步高”),双方就某些技术问题和业务层面的风险做了互动和探讨,内容类似于

1
2
3
4
5
6
7
8
杨叔:放高利贷的时候遇到过人跑路找不到的事么?
步步高:有啊,肯定有啊。
杨叔:像你们这样的高风险行业,手机定位能力肯定是必需的,但问题是若定位失败,还有什么办法挽回损失?
步步高:一般会安排专人监控对方,当然主要靠定位。不过真要损失了不好说,就看抵押物的价值了......
杨叔:上次跑路的人是不是到国外了?
步步高:是啊,没注意跑出去就不见了。
杨叔:不能国外定位么?
步步高:......靠,做不到啊!

然后这位步步高兄就向杨叔哭诉了一番关于曾损失过近百万,还得养活一大群员工,每月开销几十万的心酸创业史以及对社会上那些不良诚信道德败坏人渣的控诉……此处省略1万字。

0x02 先说说什么是IMSI

哈哈,让我们言归正传。

先说下什么是IMSI,简单来说,就是SIM卡的串码,也就是所谓的“全球唯一标识码”。IMSI由MCC、MNC和MSIN三部分组成,其中MCC就是国家编码,中国就是460;而MNC是运营商编码,比如移动会使用00、01、02,电信是03等等(这个不一定,尤其是新号码的规律已经打乱)。由于SIM卡的全球唯一性,所以正常情况下,IMSI串码常用于标识插有该SIM卡的手机。

放一张杨叔所在ZerOne无线安全研究团队的内部测试平台抓图,下方靠右以460开头的一排排数字就是IMSI串码。

这样的平台不是什么新东西,对,就是常说的电子围栏,这些年早已被各地公安部署在很多重要区域。主要用于识别该区域出现的手机,由于IMSI能够直接反向解析出手机前7位号码,所以也就获知该手机号码的注册地。如下图显示该区域内活跃着很多澳门、香港地区以及意大利、韩国的手机(猜猜这是哪儿?)。

0x03 七号信令又是什么鬼

Signaling System 7,即七号信令,简称SS7。尽管现在SS7已经在通信安全圈声名显赫,但SS7实际上只是“世界各地大多数电信运营商使用的一系列网络协议”而已。简单来说,当用户发送消息或拨打电话时,SS7将处理后台发生的所有路由和数据业务连接事宜。当用户在不同基站之间漫游时,SS7也会重新连接到当地不同运营商的网络,并在用户出国旅行时提供话音、短信和数据漫游。

这个就是7号信令系统,这个系统的脆弱性并不是由安全研究人员发现,而是一个名为Tobias Engel的德国工程师,率先在2008年的Chaos Computer Club Conference(即鼎鼎有名的混沌计算机俱乐部会议)上宣布了存在滥用SS7,进行位置跟踪的潜在隐患,比如通过MAP交互短信实现。

很多年过去了,现在的商业服务已经可以提供对在世界上任何地方的手机位置的查询服务 。

0x04 谁在定位我?

引用下『Level-2高级别商业安全课程』的一页PPT,从商业安全角度说,能够用到定位技术的商业调查,主要就是婚外遇调查,及高利贷、赌场、抵押、房地产等特定行业的个人行踪调查。当然,这里面很多定位实现和七号信令没有关系,比如会大量使用到车载定位跟踪器、远程布防、物理盯梢等方式。

当然,具备合法定位能力的司法机关有很多,不过一般都是有案件或事件推动才能申请定位调查权限。这几年运营商内部也在大力整顿,以前那种“随便找个内部人搞定”的情况现在已经不太可能。通常情况下,除非要案,否则不会动用公a部门的jszc力量去实时定位。

海外的情况比较复杂,不能用国内的思路简单解读和判断。 (核心还是需要运营商的配合)

至于那些发垃圾短信小广告说什么只要知道号码就能获取别人短信电话的,唾沫横飞说得基站跟自己家建得似的,作为给运营商做过超10年安全评估、加固、培训、演练、应急等服务项目的杨叔建议:这种话听着玩就行了。

0x05 算了,还是说点海外的情况

根据“华盛顿邮报”的报道,美国NSA(国家安全局)和英国GCHQ(政府通信总部,即英国秘密通讯电子监听中心,相当于美国国家安全局)长期使用的手机位置跟踪技术,正在越来越多地被世界各国政府采购。

同时,一些私人安保承包商,也在不断开发和销售新的手机位置数据跟踪系统,并负载一系列相关的情报搜集能力。这些技术和平台使政府和私营实体能够跟踪各国手机用户的移动状态,在很多情况下,甚至可以精确定位到数米的范围。而这些前沿监控系统的部署,正是在各大电信公司的帮助下进行的。

其中最有名的一个平台就是 Infiltrator Global Real-Time Tracking System ,即Infiltrator全球实时跟踪系统,声称可以“定位和跟踪全球任何电话号码”。该平台背后有Verint公司的影子,Verint是一家结构复杂的以色列-美国私人安全和情报承包商,其雇员包括前政府特工、特种部队士兵等。Verint在其网页上宣称,该公司的系统被“超过180个国家的10,000多个组织”使用。

而根据Verint自己说的,他们已经在全球主要电信运营商的合作下,在许多国家的移动蜂窝网络上安装了位置数据捕获软件(杨叔猜应该主要就是IMSI Capture)。

这就是为什么Verint的“全新解决方案组合”里能够提供“手机数据拦截和监控、移动卫星数据拦截、全球蜂窝网定位和IP拦截及篡改”能力。Verint甚至嚣张地在各国宣传该公司销售“可对全国范围实现监控的监控中心”, 而目前斯洛伐克、象牙海岸、印度和越南都已购买该解决方案。

偷偷说下,该全新解决方案是名为 “SkyLock” 的系列产品

0x06 如何知道谁在定位我?

这个就是我们说的溯源技术。溯源技术的实现并不容易,基本上仅掌握在 运营商和强势部门 手里,本篇杨叔就不再讨论。

不过,你以为7号信令只能用于定位么?针对移动网络SS7的脆弱性,使得攻击者能够通过攻击导致直接的财务损失、数据泄漏和通信服务中断。通过SS7,攻击者还能够实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
■ Location identification,位置识别
■ Disruption of calls,中断电话
Sms interception,短信拦截
■ Call redirections,呼叫重定向
■ USSD forgery requests,USSD伪造请求(以及由此类攻击造成的资金转移)
■ Conversation tapping,会话窃听
■ Disabling of a mobile switch,禁用移动交换机。

0x07 如何防定位?

美国政府已经注意到七号信令带来的诸多安全性问题,所以已经在升级电信网络的同时,开始逐步削弱SS7的应用场景和功能,计划逐步禁用掉该协议,以防止外部势力利用该协议跟踪政府官员(哈,以子之矛攻子之盾)。但目前国内似乎没有看到发布任何关于SS7的官方通告,好像运营商的某些业务系统对其依赖性还挺高。

至于如何防定位,这个嘛,国外有些公司在提供防定位解决方案,还有些提供安全手机的厂商,也在号称可以有效防跟踪,虽然杨叔也不知道有没有用,但确实价格不菲。

至于国内某些声称能够反跟踪保护用户隐私的第三方APP,呵呵,从原理上讲上层APP能做的很少,所以就不评价了。还有些开源项目支持高通芯片的手机识别基于SS7的跟踪请求,下次找个手机给大家演示下。

其实吧,还是有一些方法可以对定位进行干扰的,简单来说,不回复IMSI,就无法获知准确位置,所以,使用小型短信网关会是一个办法,再比如2013年在xKungfoo黑客大会上,杨叔就分享了一个技巧,可以进行多城市跳转来规避针对SIM卡的定位……有些东西,即使时间有点久了,但依然有用。

哈,企业商业安全课程里再细说。