按:本文作者何楚,开源软硬件爱好者,Linux重度用户,工程师、分析师。本文是《麒麟950的芯片级防伪基站黑科技,到底多有料?》的兄弟篇。
基本上采用高通公司芯片的所有手机,都可以通过数据线连接到电脑,用这个PC软件检测手机所连接到的空中信号质量。QXDM的文档中有提到:All over-the-air signaling messages are logged,即所有的无线信号信息都可以被记录——当然也包括手机与伪基站通讯的信息。
Max手机估计就是走的这条路。
5月10日,在一番前期预热和微博通报之后,小米科技如约发布了新品小米Max手机和MIUI8系统。Max的参数看起来很不错,不过在当前硬件性能普遍过剩的情况下,好像不再有以往那么高的吸引力,反而是MIUI8各种眼花缭乱的功能让人很感兴趣。就笔者而言,最期待防“葫芦娃”的链式启动管理功能。
在本次发布会上,有一项特色是Max手机和MIUI8具备的“芯片级伪基站诈骗短信识别”功能:
图:小米Max手机具备芯片级伪基站诈骗短信识别
图:MIUI8的芯片级伪基站识别和三重保护
仔细解读一下这个宣传图上的功能点,可得到如下信息:
使用MIUI8的小米Max手机能在芯片级识别出伪基站。
除了芯片级识别之外,MIUI8还在软件上有三重保护,分别是:短信程序识别伪基站短信、识别钓鱼网址、浏览器检测恶意网址。
有点奇怪,为什么芯片级识别出伪基站后不直接避开伪基站,还要结合应用级的三重保护防止伪基站短信诈骗呢?应用级别的诈骗短信防范,那不都是各大安全管家玩剩下的么,这MIUI8的芯片级识别伪基站,会有什么秘密?
带着这些问题,笔者开始大开脑洞,尝试扒一扒小米的“芯片级伪基站识别”黑科技。
在文章《麒麟950的芯片级防伪基站黑科技,到底多有料?》的末尾,笔者曾开玩笑说高通、三星、联发科的芯片也都有接口,只要愿意,各手机厂商都可以玩“芯片级”支持。
是这样么?
笔者后来还真的去查了资料,回答是:是的!
这次小米Max手机采用的高通骁龙650/652处理器,估计正是用了这样的技术。
接下来的内容有点偏技术,当然也带点猜测,如果您看了觉得不太满意,就当笔者瞎说好了。
(雷锋网注:此处是作者自谦,虽是“瞎说”,却也是基于技术基础上的合理推测)
高通公司有一个PC上运行的无线信号质量诊断工具,叫做QXDM(全名:Qualcomm eXtensible Diagnostic Monitor)。基本上采用高通公司芯片的所有手机,都可以通过数据线连接到电脑,用这个PC软件检测手机所连接到的空中信号质量。QXDM的文档中有提到:All over-the-air signaling messages are logged,即所有的无线信号信息都可以被记录——当然也包括手机与伪基站通讯的信息。
Max手机估计就是走的这条路。
图:QXDM软件界面
已知:伪基站的位置区LAC值、发射功率、C1/C2小区选择和重选参数等,与运营商真实基站的数据会有不同。通过分析诊断信息,是能够识别出伪基站的。
所以:在Max手机上开发一套程序分析QXDM接口输出的诊断信息,这个事情就基本完成了(可能还需要适配下驱动)。
这个接口在哪儿呢,其实它是安卓系统的一个Linux设备文件,路径为/dev/diag。网上一番搜索后发现,高通这个设备的驱动源码已经开源有一段时间了,相关的伪基站识别程序也有国外一个安全实验室做的安卓版开源实现(仅适用于高通芯片root过的手机),包括识别算法模型,也开源了…… 华为估计也借鉴了他们……
图:开源的伪基站检测程序,“芯片级”的黑科技哦!
高通的这个诊断接口(Diag Support模块),真的就只是个诊断接口而已,也就能输出信号用于分析。快速扫一眼它的源码后,貌似没看到接受指令切换基站的功能。所以,这也是为什么小米宣传上只讲“识别”伪基站,却只字不提“拒绝连接”伪基站的原因(因为做不到),也是为啥还需要软件上三重保护的原因。
所以,笔者不负责任地再次猜测:目前小米的芯片级识别伪基站科技,主要还是靠队友出力。要问这次Max手机上高通有没有特别支持,笔者猜测:木有……(因为改动芯片很麻烦啊!现成的诊断接口先顶上用吧!)至于Max手机上手最终具体效果如何,还有待各位拿到真机后的测评结果。
呃…… 写到这里不禁想:做手机没有自己的处理器,真的是那个啥啊!
但是且慢,小米也不是真的没有自己的处理器。记得红米2A不,它采用的是一款叫联芯LC1860C处理器。据坊间的测评,这款处理器性能不弱,兼容性也不错,只是耗电量略高。这LC1860C,正是小米旗下松果科技从大唐电信旗下联芯科技获取技术转让后的自家处理器。
图:小米和联芯的芯片合作
所以小米还是有自己的芯片的。
那么小米自己的芯片级识别会悲剧了么?笔者的分析是:不会。小米应该是在憋大招。
虽然LC1860C主打中低端,但它的技术水平其实不弱。LC1860的卖点之一,号称全球首款商用的SDR 4G SoC智能芯片——可别小看三个字母SDR,它可是芯片级支持的关键。
所谓SDR,即软件无线电技术(Software Defined Radio)。普通手机芯片的信号调制解调功能,都是由专用硬件电路完成,电路做好就不能再改动也无法加减功能。具备SDR能力的通讯芯片,其所有无线信号的调制解调工作,全都是在通用处理器用软件完成的。而软件,是可以升级的!LC1860自称5模芯片,却不提多少频点,坊间对频点的描述也有十频、十五频甚至十七频的版本。至于到底多少频点,其实随便啦,因为软件可以改嘛,天线支持多少、客户要多少就改多少啊。以此可以证明SDR多方便。
——这样的话,在芯片通讯相关软件上做少量的升级和改造,输出诊断信息用于识别伪基站甚至主动防御伪基站,不是什么难事。小米后续的自研处理器,应该都会继承这个特点!
具体效果怎样,等MIUI8发布后刷到红米2A上,也许就有个小结论啦?
所以,讲到这里,大家应该都能看出来:
华为也好、高通也好、小米也罢,芯片级识别伪基站已经没有秘密,你有我有大家有。
高通的诊断接口早就存在,只是华为在国内更接地气,率先想到并推出适用中国特色的功能。
其实手机所有的功能都依赖芯片去完成,是不是“芯片级”其实不太重要,谁动作快谁厉害。
现阶段,小米还是依靠高通等芯片厂商给自己提供解决方案。小米Max的芯片级防无法做到拒连伪基站,与华为相比还是有一定差距。
从联芯那里得到技术转让以及团队等资源后,小米一定是要走自研芯片的路。
小米的自研芯片可能还在憋大招。
等到小米自己的中高端自研芯片上市的时候,也许雷军再碰到董明珠姐姐时,也能自豪的大声说出:“小米,掌握核芯科技!”——只是市场的窗口啊,不要说关就关。小米加油,希望那一天能早点来到,我们消费者又能用上便宜好用的新手机。
笔者注:本文仅代表笔者个人观点。笔者非通讯行业专业人士,文中内容多有猜测,如有错误敬请指正。