徐文斌 吳亞銘
摘 要:分析研究Android智能手機電話業(yè)務工作機制下的安全隱患,提出了一種基于Android智能手機的防實時遠程監(jiān)聽設計方法。該方法在通用智能手機基礎上,通過對硬件的改造和通信基帶處理器軟件的改造實現(xiàn)了防實時遠程監(jiān)聽。該方法為處理防實時遠程監(jiān)聽提供了一種有效的解決方案,為Android智能手機使用者提供了個人隱私信息等安全保障。
關鍵詞:實時遠程監(jiān)聽;電話業(yè)務;RIL;物理確認鍵;通信基帶處理器
中圖分類號:TN92 文獻標識碼:B
1 引言
隨著現(xiàn)代信息系統(tǒng)技術的快速發(fā)展,無線通信信息的安全越來越引起人們的注意。手機的電話業(yè)務作為最普通最常用的的無線通訊手段,最容易受到病毒的侵蝕,從而通過電話業(yè)務實現(xiàn)對手機使用者及周邊的實時遠程監(jiān)聽。鑒于某些特殊場合和某些用戶特殊的工作性質,對手機的防實時遠程監(jiān)聽保護成為一種必然需求。當前市面上的手機應用處理絕大部分基于智能操作系統(tǒng)(如Android、iOS等)實現(xiàn),這一特點使得其即使具有防病毒軟件等保護措施,依然存在各種業(yè)務被病毒或惡意軟件控制的風險,在實時遠程監(jiān)聽方面,攻擊者通過病毒駐扎到系統(tǒng)中,即使手機處于待機狀態(tài)依然可在系統(tǒng)后臺發(fā)起電話撥打和接聽業(yè)務,使用戶在完全不知情的情況下,自己及周邊的談話被竊取和監(jiān)聽。本文旨在研究針對采用Android操作系統(tǒng)的智能手機,如何實現(xiàn)防止手機被病毒侵入后手機使用者被實時遠程監(jiān)聽的風險,切斷破環(huán)者通過電話撥打和接聽方式實現(xiàn)實時遠程監(jiān)聽的不法目的。
防通過電話業(yè)務實現(xiàn)實時遠程監(jiān)聽設計通常包括物理防護和邏輯防護兩種方式。本設計提供了一種基于兩種方式的結合處理方式:一方面Android智能系統(tǒng)所在的應用處理器將電話業(yè)務數(shù)據(jù)送至通信基帶處理器,通信基帶處理器對數(shù)據(jù)進行合法驗證后發(fā)送至無線網(wǎng)絡端;另一方面采用物理確認鍵進行電話業(yè)務確認,確保當前撥打的電話是用戶所所為,確認狀態(tài)無誤。
通常Android智能手機的通信基帶處理器軟件采用封閉式系統(tǒng),完全自主可控,很難被病毒侵蝕的風險。因此,本設計基于通信基帶處理器軟件安全可靠的基礎上進行研究。
2 硬件設計
防遠程監(jiān)聽硬件設計是在通用手機方案基礎上進行改造設計,主要新增物理確認鍵改造。新增物理確認鍵采用IO接口接入方式,其高低電平作為電話業(yè)務唯一的狀態(tài)確認值,它直接連接至通信基帶處理器,而不通過Android系統(tǒng)進行驅動取值,避免了Android系統(tǒng)可能引入的狀態(tài)值錯誤信息,該確認鍵值呈現(xiàn)的狀態(tài)為用戶真實操作狀態(tài),不會被病毒或惡意軟件仿制。因此,該確認鍵作為電話業(yè)務狀態(tài)的唯一確認標識是可信的。改造后的加密手機硬件設計整體框圖如圖1所示。
3 軟件設計
防實時遠程監(jiān)聽軟件設計只需對通信基帶處理器的軟件進行極少的改造。
3.1 通信基帶處理器軟件改造
通信基帶處理器軟件改造新增物理確認鍵狀態(tài)判斷功能。通信基帶處理器根據(jù)確認鍵狀態(tài)進行電話業(yè)務識別,不受Android智能操作系統(tǒng)所在的應用處理器的影響,當電話業(yè)務發(fā)起時,通信基帶處理器會根據(jù)物理確認鍵判斷本次通話是否為用戶真實所為,只有是用戶操作行為方可發(fā)送至網(wǎng)絡端,如果為病毒或惡意軟件發(fā)起的電話業(yè)務,將會被拒絕。
3.2 電話業(yè)務流程邏輯分析
3.2.1 電話呼叫邏輯
電話呼叫業(yè)務邏輯如圖2所示,正常流程它由應用處理器Android智能操作系統(tǒng)中的電話APP發(fā)起,通過框架層到電路域處理RIL庫端,RIL庫端將相應發(fā)起的業(yè)務通過AT指令發(fā)送至通信基帶處理器;通信基帶處理器收到AT指令后,第一時間對物理確認鍵信號進行采集確認其狀態(tài),當本次業(yè)務為使用者操作撥打電話時,通信基帶處理器會在確認物理確認鍵信號后將AT指令的數(shù)據(jù)放行,進入電話撥打業(yè)務流程處理,最后發(fā)送到網(wǎng)絡端,并將撥打結果返回到應用處理器進入下一步流程。
當本次撥打電話業(yè)務為病毒或惡意軟件所為,在界面無任何顯示的情況下(及用戶不知情的情況下)向通信基帶處理器發(fā)起了電話撥打業(yè)務,通信基帶處理器接收到AT電話業(yè)務指令后,第一時間對物理確認鍵信號進行判斷,卻不是手機使用者發(fā)起的本次電話撥打業(yè)務。因此,通信基帶處理器將會將本次撥打電話請求掛斷,從而有效地防止病毒啟動的撥打電話業(yè)務,防止了通過撥打電話業(yè)務進行實時監(jiān)聽的風險。
3.2.2 電話接聽邏輯
電話接聽業(yè)務與呼叫為逆向過程,當通信基帶處理器接收到網(wǎng)絡端接聽請求時,它會將請求信息發(fā)送到應用處理器,應用處理器會以界面形式展現(xiàn)給手機使用者,只有當手機使用者操作了物理確認鍵后,通信基帶處理器才會將本次接聽請求進行正確響應。當應用處理器被病毒侵入后,在界面無顯示的情況下回復AT接聽指令給通信基帶處理器,及在用戶不知情的情況下,應用處理器端接通了電話請求。但此時,通信基帶處理器并未接收到物理確認鍵信息,因此將不會接通本次接聽電話業(yè)務,從未防止了病毒通過接聽電話進行監(jiān)聽的風險。
4 結構設計
結構設計上本著遵循用于體驗性好的原則,在通用手機結構的基礎上盡量少改動,因此,該物理確認鍵可借用Power開關鍵、音量鍵等。本設計實例采用對Power開關鍵稍作改動方式來滿足要求。改造后的Power開關鍵通過向上下或左右波動方式確認電話撥打和接聽狀態(tài),當狀態(tài)確認完成后,它能自動還原到原位置,增強用戶體驗性,該按鍵依然保持原有Power鍵功能。改造后的Power開關鍵示意圖如圖3所示。
5 防遠程監(jiān)聽驗證分析
采用本文設計的防通過電話業(yè)務進行實時遠程監(jiān)聽的方法,通過電話業(yè)務流程邏輯分析可知是可行的。為了驗證該方法的正確性,可設計測試平臺進行驗證,測試平臺搭載Android系統(tǒng),確保測試平臺間能正常進行電話業(yè)務互通。
呼叫時,為了達到防實時遠程監(jiān)聽的驗證目的,人為可通過修改Android操作系統(tǒng)的RIL層代碼,達到病毒發(fā)起撥打電話的效果,不通過撥打電話界面和不操作物理確認鍵直接將AT指令發(fā)送至通信基帶處理器,通信基帶處理器收到AT指令數(shù)據(jù),將無法讀取物理確認鍵信息,通信基帶處理器終止將本次呼叫,結果表明無法撥通電話,從而驗證了呼叫時防實時遠程監(jiān)聽設計的正確性。
被叫時,為了達到防實時遠程監(jiān)聽的驗證目的,將通信基帶處理器推送至Android操作系統(tǒng)的電話接聽業(yè)務人為修改,使其直接在RIL層發(fā)送AT指令,通信基帶處理器接收到接聽AT指令數(shù)據(jù),但無法讀取物理確認鍵信息,通信基帶處理器將終止將本次接聽請求,結果表明無法接聽電話,從而驗證了接聽來電時防實時遠程監(jiān)聽設計的正確性。
6 結束語
本設計基于Android系統(tǒng)手機,在通用手機的基礎上進行研究,新增少量硬件,成本低,改造原有軟件編程控制邏輯設計,做到真正意義上的防通過電話撥打和接聽業(yè)務實現(xiàn)實時遠程監(jiān)聽的風險。本設計不足之處增加了硬件開銷,會降低一定的用戶體驗效果,因此。本設計主要提供一種解決防遠程監(jiān)聽的設計思路,該思路不局限于電話業(yè)務,對于通過短信方式等實時遠程獲取信息的處理同樣適用,具有較強的應用性和擴展性。
參考文獻
[1] 薇薇笑.Android中RIL層詳細分析 https://wenku.baidu.com/view/e48539c99b89680203d8254f.html?pn=1 ,2013年11月12日發(fā)布.
[2] 董句.基于Linux系統(tǒng)網(wǎng)絡安全策略的分析與研究[J].網(wǎng)絡空間安全,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日發(fā)布.
[4] (美)Abhushek Dubey;王秋爽,譯.Android系統(tǒng)安全與攻防[M].北京:機械工業(yè)出版社,2014年,第20頁至30頁.
[5] 李寧. Android開發(fā)權威指南(第三版)[M].北京:人民郵電出版社,2017年,第5頁至第6頁.
[6] 張玲玲.淺談嵌入式Linux系統(tǒng)設備驅動的開發(fā)與設計[M].信息安全與技術,2012,(02)52-54.