分享

谈谈“能监听电话”的骗子短信 | 开发者天地

 ForrestNo.1 2012-03-19

谈谈“能监听电话”的骗子短信

以前有很多人都收到过骗子们的短信,号称可以监听指定号码的电话和短信,甚至有的更神奇的连SIM卡都不要,告诉他对方号码,只要把钱给足了他,他就能做到监听,那么到底是怎么回事呢?以前我曾经写过一个短文批判,现在我重新整理一个来龙去脉和大家说说,然后大家自己判断好了。

实际上目前说到监听的一般都是GSM网络的,没人说CDMA或者3G网络等,如果有人宣称可以监听的话,你大可直接挂断电话,然后撇撇嘴不屑的说:“不入流的骗子”。

一、先说说GSM的几个关键概念吧:

老规矩先来张图:

这里面几个关键的东西:

MT或者MS就是我们通常说的手机或者移动终端;

SIM是Subscriber Identity Module,用户个人号码数据存放在这,用户登录网络需要时需要计算的算法(什么算法在后面讲到)也在这上面。

BTS/BSC  基站系统,这玩意是实现对用户手机监控的关键,当然如果你是国安局的话,直接去交换机上做好了,不用这个费尽。

MSC交换中心,帮你牵线搭桥找到你要的号码,并且完成呼叫联络建立等控制的核心枢纽。

VLR访问位置寄存器,你每次登入GSM网络都是先去VLR过一下的,他负责和HLR联络校验你的身份是否能入网。

HLR注册位置寄存器,买号码的时候你的用户号码数据所在的位置,一般一个大的省市都会有多个HLR,一方面是性能容量的问题,一方面是灾备的需要。

IMSI/Ki可以理解为登录GSM网络的用户名、密码,它存在SIM卡里,Ki是老保密的东西了,运营商的命根子;它英文全称International Mobile Subscriber Identity,它是GSM世界通信的用户唯一标识,有了它你国际漫游才能成立,139010这样的号码是国内使用,主要还是为了用户记忆的。15位数字表示,分为三部分:MCC(3位)+MNC(2位)+MSIN(11位)

国家代码(中国) 运营商
460 00,02中国移动
460 01中国联通

RAND/SRES/Kc:RAND随机挑战码,计算后的应答码(signed response),会话密钥(session key)就是大家在正式说话前先确定了暗语规则,然后大家说的话按照这个规则解读才能明白,其他人听可能就是火星语了。

A3/A5/A8:算法名称了,GSM中分别用于不同的环节。

GSM要用到的校验算法是A3,大多数运营商使用的都是一个版本的COMP128作为A3算法的,A3的任务是计算32bit的应答码,使用的数据包括HLR发来的128bit的RAND随机挑战码,来自SIM卡或者HLR的128bit的Ki。本来A3算法输出128bit数据,但是只取头32bit的数据作为应答码。A3运算都是在SIM卡内或者网络侧系统完成的。

GSM要到的密钥产生算法就是A8,大多数运营商使用的都是一个版本的COMP128作为A8算法的,A8的任务是产生64bit的Kc,它是将从MSC获得的128bit的RAND和从SIM卡或者HLR获得的Ki运算得出的。本来A8算法输出128bit数据,但是只取后54bit数据用于Kc,而且在输入A5算法计算时直接补了10bit0。A8运算都是在SIM卡内或者网络侧系统完成的。一个Kc可以一直用到MSC要求再次认证手机用户为止,这可能会是几天时间之内有效的。

最后要说到A5了,它用于GSM系统中流加密。有不同版本的A5存在:

A5/0没加密

A5/1欧洲用的版本

A5/2弱加密算法,用于美国

A5/3用于3GPP的强加密算法

一张网络上来的图,详细说明了这几个算法如何使用的,忘了在哪找的,如果本人看见请联系我,找具体过程文字的可以参考

http://www./faq/gsm-authentication-key-generation.shtml

实际上现在GSM的运营商很可能没使用A5进行通信数据的加密,如果使用了的话还是会麻烦些的,那样即使监听了还需要密钥解密才能知道通信内容的。

二、上述基本知识都有了,下面就要看看监听GSM的几种可能方案:

第一张图从BTS向右都可以看作运营商私有的网络环境,一般都是有线方式的,顶多从BTS到BSC是微波的(但是微波的定向性非常好,如果你想从那个做手脚的话除非在直线传播路径上加一个微波中继站,恐怕不好干),从运营商私有网络着手进行监听冒着坐牢的危险,一般没人敢,当然了国安局要监听的话直接去MSC设备了,机房条件好,设备齐全。于是能想办法的就是从手机和手机到BTS间无线传输了。

手机如果是智能的,如果你能想办法把你的监听程序装到用户的手机上,监听是完全有可能实现的,这个是木马方式,不是我们要讨论的重点。

手机到BTS之间是无线方式的,搞堆无线设备来个旁路监听,不知道是否可行,设备成本可能也非普通人可接受的,最重要的就是你需要恰好在被监听人手机和为他服务的BTS所在地搞这个,这恐怕累死了吧。用户随时可能移入、移出某个BTS,即使你开着一个这样的设备车跟着他,也一时很难判断他接入了附近那个BTS的。

那咋办呢?我复制了他的SIM卡,这样能监听么?

首先你如何才能复制别人的SIM卡呢?拿走几小时复制出来,这完全没问题。网上存在大量的一卡多号,备份卡的玩意,是可以做到的。但是几年前国内的GSM卡应该都行,但是这几年新发行的卡,恐怕就要看运气了,有的半小时算出来,有的一晚上还是算不出来,据不可靠消息是国内的运营商针对复制卡的问题出了个招,在SIM卡端完成SRES运算的时候,一定次数后主动出错,即使用户遇到了,重新入一下网就可以了,但是对于复制卡软件就比较麻烦了,有可能前面计算的数据会要推倒重来。

那么复制卡的原理是什么呢?是不是SIM卡被人家攻破了?还是上面的算法出了问题?

首先SIM卡目前还没有任何公开宣称攻破的信息,算法本身问题也不大,问题出在使用算法的时候人为的弱化了相关数据,明显的就是上面看到本来是128bit的输出,为了适配GSM网络的需求,搞成64bit,可是只取了128bit中的后54bit,然后加了个10bit0,对于加密来讲算法本身和密钥都承担着很重要的工作,人为的破坏了密钥的强壮度,势必导致了穷举方式的攻击成为可能。实际上破解软件正是通过模拟BTS向SIM卡发送RAND,叫SIM卡用Ki计算出来SRES,然后破解软件穷举式的碰撞出了Ki的数据,而绝对不是直接从SIM卡内读出来Ki的数据的。

那么假设你复制了你想监听人的卡,插上手机开机后是否就可以监听对方了呢?我们用红旗、红旗小弟、花花公子和彩旗来分角色描述一下吧。

红旗怀疑花花公子在外面插彩旗,于是趁他睡的像死猪的时候,拿走SIM卡(如果花花公子不太警觉的话),找红旗小弟复制了一张SIM卡(好顺利呀,老卡,半小时搞定),然后神不知鬼不觉的把卡放回花花公子的手机,带着得意的微笑入睡。第二天花花公子美滋滋的走了,红旗坐立不安,找出复制的SIM卡,放到手机里然后开机,呵呵,结果。。。一会儿有个电话进来,一会有个短信进来,一会有好长时间没有动静,偶尔收到了彩旗发来的暧昧短信,总算抓住把柄了,但是这可不是红旗想要的通话监听啥的呀,老弟也太不靠谱了。

为什么无法实现监听呢,你复制了卡,只是把这个用户的用户名和密码得到了,这个时候你用这个用户名密码登录了,在运营商网络就会更新你的位置信息了,这时候再打来的电话或者短信就会转接到你这个复制卡上来了,花花公子是收不到的,同样的花花公司收得到的你收不到,那叫什么监听呀,那这条路不行,咋办呢?

没办法了么?不是,人类很早就迫于食物结构的完整需求和生存的压力,学会了钓鱼,就是蝇头小利诱惑你上当了,当然后面发展到更高级的就是直接通吃,断子绝孙网一下,什么也跑不了。

三、钓鱼法

钓鱼就是等着人上钩,但你要先设好局放好饵才行,最近炒得沸沸扬扬的中行口令牌事件,实际上就是典型的钓鱼法。先通过短信群发用户,说口令牌更新,需要登录,然后配上一个伪中行网站(从域名到内容和布局惟妙惟肖,不注意的就上当了),等你一输入他就去真正的中行网银转你的帐去了。这里面一个最大的问题就是你去了错误的网站,那个网站是骗子的,同样的问题也在GSM存在,就是他们都是单向验证,就是网络或者服务方验证用户合法性(这个是钓鱼法的关键),而用户没有验证网络或者服务方的合法性,所以你就着了道了。

那我们实现监听也就是要利用GSM的这个问题,用户手机登录的时候是不认证这个BTS是否是合法的,只有BTS等网络侧系统认证这个GSM用户是不是我运营商合法的,那么我伪装成一个运营商,你一登录就是通过我的BTS设备接入的,我在后面通过IP电话接入电话网络,你可能也不大会发现问题的。一个问题就是想要监听指定人的话,你要开着车带着这个设备跟紧了那个用户,而且还要保证你的设备功率足够强(不要被真正的运营商的BTS抢了你接入),始终使他在你的网络中,通过你打电话、发短信。

还有一个问题就是只能实现他主动方式的呼叫,要想实现别人呼叫他的话,恐怕没戏。

所以如果你想监听的话,在他身上装个啥最靠谱。

此条目发表在 Wireless 分类目录。将固定链接加入收藏夹。

发表评论

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多