APP下载

基于Android智能手机的防实时远程监听设计研究

2018-09-26徐文斌吴亚铭

网络空间安全 2018年3期

徐文斌 吴亚铭

摘 要:分析研究Android智能手机电话业务工作机制下的安全隐患,提出了一种基于Android智能手机的防实时远程监听设计方法。该方法在通用智能手机基础上,通过对硬件的改造和通信基带处理器软件的改造实现了防实时远程监听。该方法为处理防实时远程监听提供了一种有效的解决方案,为Android智能手机使用者提供了个人隐私信息等安全保障。

关键词:实时远程监听;电话业务;RIL;物理确认键;通信基带处理器

中图分类号:TN92 文献标识码:B

1 引言

随着现代信息系统技术的快速发展,无线通信信息的安全越来越引起人们的注意。手机的电話业务作为最普通最常用的的无线通讯手段,最容易受到病毒的侵蚀,从而通过电话业务实现对手机使用者及周边的实时远程监听。鉴于某些特殊场合和某些用户特殊的工作性质,对手机的防实时远程监听保护成为一种必然需求。当前市面上的手机应用处理绝大部分基于智能操作系统(如Android、iOS等)实现,这一特点使得其即使具有防病毒软件等保护措施,依然存在各种业务被病毒或恶意软件控制的风险,在实时远程监听方面,攻击者通过病毒驻扎到系统中,即使手机处于待机状态依然可在系统后台发起电话拨打和接听业务,使用户在完全不知情的情况下,自己及周边的谈话被窃取和监听。本文旨在研究针对采用Android操作系统的智能手机,如何实现防止手机被病毒侵入后手机使用者被实时远程监听的风险,切断破环者通过电话拨打和接听方式实现实时远程监听的不法目的。

防通过电话业务实现实时远程监听设计通常包括物理防护和逻辑防护两种方式。本设计提供了一种基于两种方式的结合处理方式:一方面Android智能系统所在的应用处理器将电话业务数据送至通信基带处理器,通信基带处理器对数据进行合法验证后发送至无线网络端;另一方面采用物理确认键进行电话业务确认,确保当前拨打的电话是用户所所为,确认状态无误。

通常Android智能手机的通信基带处理器软件采用封闭式系统,完全自主可控,很难被病毒侵蚀的风险。因此,本设计基于通信基带处理器软件安全可靠的基础上进行研究。

2 硬件设计

防远程监听硬件设计是在通用手机方案基础上进行改造设计,主要新增物理确认键改造。新增物理确认键采用IO接口接入方式,其高低电平作为电话业务唯一的状态确认值,它直接连接至通信基带处理器,而不通过Android系统进行驱动取值,避免了Android系统可能引入的状态值错误信息,该确认键值呈现的状态为用户真实操作状态,不会被病毒或恶意软件仿制。因此,该确认键作为电话业务状态的唯一确认标识是可信的。改造后的加密手机硬件设计整体框图如图1所示。

3 软件设计

防实时远程监听软件设计只需对通信基带处理器的软件进行极少的改造。

3.1 通信基带处理器软件改造

通信基带处理器软件改造新增物理确认键状态判断功能。通信基带处理器根据确认键状态进行电话业务识别,不受Android智能操作系统所在的应用处理器的影响,当电话业务发起时,通信基带处理器会根据物理确认键判断本次通话是否为用户真实所为,只有是用户操作行为方可发送至网络端,如果为病毒或恶意软件发起的电话业务,将会被拒绝。

3.2 电话业务流程逻辑分析

3.2.1 电话呼叫逻辑

电话呼叫业务逻辑如图2所示,正常流程它由应用处理器Android智能操作系统中的电话APP发起,通过框架层到电路域处理RIL库端,RIL库端将相应发起的业务通过AT指令发送至通信基带处理器;通信基带处理器收到AT指令后,第一时间对物理确认键信号进行采集确认其状态,当本次业务为使用者操作拨打电话时,通信基带处理器会在确认物理确认键信号后将AT指令的数据放行,进入电话拨打业务流程处理,最后发送到网络端,并将拨打结果返回到应用处理器进入下一步流程。

当本次拨打电话业务为病毒或恶意软件所为,在界面无任何显示的情况下(及用户不知情的情况下)向通信基带处理器发起了电话拨打业务,通信基带处理器接收到AT电话业务指令后,第一时间对物理确认键信号进行判断,却不是手机使用者发起的本次电话拨打业务。因此,通信基带处理器将会将本次拨打电话请求挂断,从而有效地防止病毒启动的拨打电话业务,防止了通过拨打电话业务进行实时监听的风险。

3.2.2 电话接听逻辑

电话接听业务与呼叫为逆向过程,当通信基带处理器接收到网络端接听请求时,它会将请求信息发送到应用处理器,应用处理器会以界面形式展现给手机使用者,只有当手机使用者操作了物理确认键后,通信基带处理器才会将本次接听请求进行正确响应。当应用处理器被病毒侵入后,在界面无显示的情况下回复AT接听指令给通信基带处理器,及在用户不知情的情况下,应用处理器端接通了电话请求。但此时,通信基带处理器并未接收到物理确认键信息,因此将不会接通本次接听电话业务,从未防止了病毒通过接听电话进行监听的风险。

4 结构设计

结构设计上本着遵循用于体验性好的原则,在通用手机结构的基础上尽量少改动,因此,该物理确认键可借用Power开关键、音量键等。本设计实例采用对Power开关键稍作改动方式来满足要求。改造后的Power开关键通过向上下或左右波动方式确认电话拨打和接听状态,当状态确认完成后,它能自动还原到原位置,增强用户体验性,该按键依然保持原有Power键功能。改造后的Power开关键示意图如图3所示。

5 防远程监听验证分析

采用本文设计的防通过电话业务进行实时远程监听的方法,通过电话业务流程逻辑分析可知是可行的。为了验证该方法的正确性,可设计测试平台进行验证,测试平台搭载Android系统,确保测试平台间能正常进行电话业务互通。

呼叫时,为了达到防实时远程监听的验证目的,人为可通过修改Android操作系统的RIL层代码,达到病毒发起拨打电话的效果,不通过拨打电话界面和不操作物理确认键直接将AT指令发送至通信基带处理器,通信基带处理器收到AT指令数据,将无法读取物理确认键信息,通信基带处理器终止将本次呼叫,结果表明无法拨通电话,从而验证了呼叫时防实时远程监听设计的正确性。

被叫时,为了达到防实时远程监听的验证目的,将通信基带处理器推送至Android操作系统的电话接听业务人为修改,使其直接在RIL层发送AT指令,通信基带处理器接收到接听AT指令数据,但无法读取物理确认键信息,通信基带处理器将终止将本次接听请求,结果表明无法接听电话,从而验证了接听来电时防实时远程监听设计的正确性。

6 结束语

本设计基于Android系统手机,在通用手机的基础上进行研究,新增少量硬件,成本低,改造原有软件编程控制逻辑设计,做到真正意义上的防通过电话拨打和接听业务实现实时远程监听的风险。本设计不足之处增加了硬件开销,会降低一定的用户体验效果,因此。本设计主要提供一种解决防远程监听的设计思路,该思路不局限于电话业务,对于通过短信方式等实时远程获取信息的处理同样适用,具有较强的应用性和扩展性。

参考文献

[1] 薇薇笑.Android中RIL层详细分析 https://wenku.baidu.com/view/e48539c99b89680203d8254f.html?pn=1 ,2013年11月12日发布.

[2] 董句.基于Linux系统网络安全策略的分析与研究[J].网络空间安全,2016,v.7;NO.78(08)46-49.

[3] 李洋.安全架构及权限控制机制剖析.https://www.ibm.com/developerworks/cn/opensource/os-cn-android-sec/index.html,2012年8月14日發布.

[4] (美)Abhushek Dubey;王秋爽,译.Android系统安全与攻防[M].北京:机械工业出版社,2014年,第20页至30页.

[5] 李宁. Android开发权威指南(第三版)[M].北京:人民邮电出版社,2017年,第5页至第6页.

[6] 张玲玲.浅谈嵌入式Linux系统设备驱动的开发与设计[M].信息安全与技术,2012,(02)52-54.