在百度、Google等搜索引擎输入“收不到”三个字,你会发现一个奇怪的现象:排在搜索“收不到”首位的竟然是“收不到10086短信”。
用户孟冬就遇到过这种情况。4月初,他购买了一部HTC智能手机。兴奋之余,小孟安装了大量的APP软件,不过,很快他就发现一个奇怪现象,无法接收到10086的短信。
“因为办了一个移动套餐,对方提示会有短信提示,但是我怎么也收不到”。孟冬说,“开始以为是信号不好,后来到外面测试还是收不到,在电话咨询10086的客服之后,他们建议我查看手机上是否安装了可疑的APP。我逐一卸载后,手机才恢复了正常。”
与孟冬有同样遭遇的用户其实不在少数。这些被删掉的APP软件到底在背后搞什么鬼?业内资深安全专家刘强向安卓中文网透露,如果突然出现无法正常接收10086短信的现象,最大的可能就是你的手机已经“被安装”了扣费程序。
被拦截的10086短信
首先,让我们了解下手机被扣费的模式和流程:
恶意APP扣费的模式有两种:一是本地扣费,直接把代码写在程序里。二是远程控制,把扣费代码放在云端。APP平常不工作,但会发送请求,等云端告诉它往哪个号码发送短信。这样使用户在APP的代码中看不到病毒,也看不到短信号码。通过远程控制,病毒作者可以随时改变号码,随时可控,且很难被发现是哪家SP厂商。
无论何种形式的扣费,都需要经过用户的“二次确认”。根据信产部政策规定,用户申请订制包月类、订阅类移动信息服务业务时,基础电信企业应当事先请求用户确认,未经用户确认反馈的,视为订制不成立,且不得向用户收费。
恶意APP要想在手机上完成扣费,必须经过用户二次确认。一些APP的做法是,拦截10086、10000短信到正常的收件箱,并自动代用户回复确认短信,跳过了用户人工确认这一环节,直接操作了用户的手机。
而为何扣费APP可以做到先于系统接收到10086短信?安卓中文网了解到,这与优先级有关。
开发者Flylion向安卓中文网介绍,在Android平台上病毒软件只要注册了android.provider.Telephony.SMS_RECEIVED事件,都有权限去接收短信。如果手机中多款软件都有权限,就涉及到“谁先谁后”的问题,先后顺序是由优先级决定的,只要病毒软件的短信接收优先级比系统默认的高,就可以优先接收到短信。