徐文斌 吳亞銘
摘 要:分析研究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.