新聞中心

        EEPW首頁 > 設計應用 > 基于Android的通信安防設計

        基于Android的通信安防設計

        作者: 時間:2016-10-10 來源:網絡 收藏

        摘要:針對當前手機用戶通過手機訪問網絡的需求日益增加的情況,提出了增強基于手機網絡通信的安全性的目標,研究并采用在系統上實現攔截和過濾騷擾電話及短信的關鍵技術,繼而給出一種實現Android系統過濾電話和短信的防騷擾的方法。通過測試Android系統手機的實時短信以及來電,達到攔截白名單以外所有電話以及短信,或者攔截黑名單內所有的電話以及短信的效果,從而驗證Android通信安防系統的方法性和可實現性。
        關鍵詞:Android;;

        手機已經成為當今人們日常生活中不可或缺的一部分。普通手機很難滿足人們的要求,隨著科技的進步和人們生活質量的提高,手機不斷更新換代,變得更加智能化,產生了智能手機。智能手機在越來越被大眾所接受的同時,智能手機也伴生新的安全隱患。目前,手機上的應用因為手機的發展日漸豐富,移動互聯網領域出現越來越多的信息安全問題,甚至已經成為新的安全威脅。由此,可以看一下現有智能手機安全軟件的情況,目前針對智能手機的安全軟件大概分兩種,一種是硬安全用以殺毒;另一種軟安全用以惡意通信攔截和隱私保護,還有就是兩者的功能結合體。手機的安全問題現在成為被社會各界普遍關注的熱點。
        Google在2007年11月5日公布了Android手機系統平臺之后,Android很快進入人們的視線。因為作為移動設備綜合平臺它達到了真正意義上的開放性,擁有移動電話工作所需的全部軟件?;贏ndroid平臺的可開發性和免費等特點,既能在Android平臺上開發第三方軟件,從而促進技術創新;有助于降低開發成本,方便創造特色化產品。這無疑使之成為智能手機操作系統的首選。
        目前手機應用中還是以電話通信和短信通信應用最為廣泛,而電話騷擾與短信廣告騷擾日益嚴重,針對此現象,人們紛紛采取了應用措施,其中,一些手機平臺相繼開發出了電話防火墻和短信防火墻。比如,塞班手機平臺的信安易衛士,Android手機平臺下的SecrityGuarder等。文中針對上述問題,設計和實現了一種基于Android手機平臺的通信安防應用,基本實現了攔截騷擾電話和短信。

        1 Android簡介
        Android是一種以Linux為基礎的開放源碼操作系統,主要使用于便攜設備。目前尚未有統一中文名稱,中國大陸地區較多人使用“安卓”或“安致”。Android操作系統最初由Andy Rubin開發,最初主要支持手機。2005年由Google收購注資,并組建開放手機聯盟開發改良,逐漸擴展到平板電腦及其他領域上。
        1.1 Android系統具有5個優點
        1)開放性。
        2)掙脫運營商束縛。
        3)豐富的硬件選擇。
        4)不受任何限制的開發商。
        5)無縫結合的Coogle應用。
        1.2 Android系統具有5個不足
        1)安全和隱私。
        2)首先開賣Android手機的不是最大運營商。
        3)運營商任能夠影響Android手機。
        4)同類機型用戶減少。
        5)過分依賴開發商缺少標準配置。
        1.3 Android的系統構架
        1.3.1 應用程序
        Android會同一系列核心應用程序包一起發布,應用程序包包括Email客戶端、SMS短消息程序、日歷、地圖、瀏覽器、聯系人管理程序等。所有的應用程序都是使用JAVA語言編寫的。
        1.3.2 應用程序框架
        開發人員直接調用的API。該應用程序的架構設計簡化了組件的重用;任何一個應用程序都可以發布它的功能塊并且任何其它的應用程序都可以使用其所發布的功能塊(不過得遵循框架的安全性限制)。同樣,該應用程序重用機制也使用戶可以方便的替換程序組件。
        1.3.3 程序庫
        Android包含一些C/C++庫,這些庫是底層的,能被Android系統中應用程序框架的組件使用。
        1.3.4 Android運行庫
        Android包括了一個核心庫,該核心庫提供了JAVA編程語言核心庫的大多數功能。每個Android程序都在Dalvik虛擬機中運行,擁有獨立的實例。Dalvik是基于寄存器的,可以高效運行的虛擬系統。Dalvik虛擬機執行(.dex)的Dalvik可執行文件,該格式文件針對小內存使用做了優化。同時虛擬機是基于寄存器的,所有的類都經由JAVA編譯器編譯,然后通過SDK中的“dx”工具轉化成.dex格式由虛擬機執行。Dalv ik虛擬機依賴于linux內核的一些功能,比如線程機制和底層內存管理機制。
        1.3.5 Linux Kernel
        Android的核心系統服務依賴于Linux 2.6內核,如安全性,內存管理,進程管理,網絡協議棧和驅動模型。Linux內核也同時作為硬件和軟件棧之間的抽象層。

        2 Android通信安防系統的結構設計
        2.1 功能
        2.1.1 白名單
        用戶如果只想接收特定號碼的短信則點擊白名單選框后,進入白名單設置界面,在白名單里添加號碼,則除了輸入白名單的號碼能夠接入本機,其他號碼用戶被自動默認為黑名單被屏蔽,同時被保存在查看短信歷史記錄里面,手機不會觸發短信接收的反映,在手機短信箱里也不會出現該短信。用戶可以通過查看短信歷史記錄,對接入的被屏蔽了的短信進行查看。
        2.1.2 黑名單
        用戶如果想屏蔽特定號碼電話的短信則點擊黑名單選框后,進入黑名單設置界面,在黑名單里添加號碼,當其短信進入時則被屏蔽,同時被保存在短信歷史記錄里面,手機不會觸發短信接收的反映,在手機短信箱里也不會出現該短信。用戶可以通過查看攔截歷史記錄,對接入的被屏蔽了的短信進行查看。
        2.2 功能
        2.2.1 白名單
        用戶如果只想接聽特定號碼的電話則點擊白名單選框后,進入白名單設置界面,在白名單里添加號碼,則除了輸入白名單的號碼能夠接入本機,其他號碼用戶被自動默認為黑名單被屏蔽,同時被保存在攔截歷史記錄里面,同時被屏蔽的號碼用戶聽到電話提示對方呼叫繁忙的效果,從而無法接通。用戶可以通過查看攔截歷史記錄,對接入的被屏蔽了的電話進行查看。
        2.2.2 黑名單
        用戶如果想屏蔽特定號碼電話的接入則點擊黑名單選框后,進入黑名單設置界面,在黑名單里添加號碼,當其接入時則被屏蔽,同時被保存在攔截歷史記錄里面,同時被屏蔽的號碼用戶聽到電話提示對方呼叫繁忙的效果,從而無法接通。用戶可以通過查看攔截歷史記錄,對接入的被屏蔽了的電話進行查看。
        2.3 設定時間功能
        通過設置開始時間和停止時間從析讓應用自動在此時間斷內開啟,超過時間后自動關閉。
        2.4 功能流程圖
        如圖1所示為通信攔截系統的功能流程。

        本文引用地址:http://www.104case.com/article/201610/306515.htm

        f.JPG



        3 Android通信安防系統原理及實現
        由于Android中本身沒有關于攔截來電和過濾短信的API,因此,在技術實現上需要采用了一些非常規的做法,難度相對較大。以下將介紹關于技術。
        3.1 Android-telephy整體框架原理
        主要分為C/C++與Java兩層:
        1)C/C++層:Rild,守護進程,電話底層驅動管理,GSM/GPRS modem,AI命令接口管理。
        2)JAVA層:RIL.Java文件進行電話短信服務線程通過Socket與Rild進程通信;在java的服務線程池里面有telephy的服務接口;提供處理電話的功能接口。
        3.2 短信攔截原理
        固有短信的收取是通過底層框架的rild,解析之后,通過發送有序的廣播,對有序的廣播進行中斷,通過設置廣播獲取的最高級別的權限屬性掛載程序,達到短信攔截的目的。BroadcastReceiver廣播類接收系統發出的短信廣播,獲取短信內容過濾,使用abortBroadcast()方法中斷廣播避免短信到達SMS的應用。
        關鍵代碼:
        g.JPG
        3.3 電話攔截原理
        基于Android框架的電話服務,通過該服務可以獲取到電話的大體功能,通過內部源碼,提供的隱藏電話服務功能的API()函數,獲取到對電話處理的內部方法調用AIDL接口ITelephy.aidl提供了endcall()方法,以此調用來攔截電話。電話來電信號從底層回調會發送一個無序的來電廣播和回調PhoneStateListener的接口,通過獲取廣播中的信息或者接口中的信息攔截電話。
        關鍵代碼:
        h.JPG
        i.JPG
        3.4 工作原理流程
        通信安防系統工作原理流程如圖2所示。

        j.JPG



        4 實際測試
        4.1 測試環境
        1)本應用開發后的.app應用程序。
        2)用于運行此程序的基于android2.36系統的三星S5830手機。
        3)用于對測試手機進行電話通信和短信發送的兩部手機,號碼為15883673262,18202866062。
        4.2 測試過程
        4.2.1 白名單測試
        首先打開通信安防軟件,點擊打開攔截開關。然后進入白名單,輸入電話號碼15883673262,表示除了此號外,其他電話的通話和短信都會被攔截。

        a.JPG


        接著用號碼為18202866062的電話接入本機,并且發送內容為“你好”的短信,在本機通信安防軟件里面分別點擊查看來電歷史和查看短信歷史看到如下圖效果。

        b.JPG


        測試成功,號碼為18202866062的電話對本機進行的來電和短信都被成功攔截。
        4.2.2 黑名單測試
        在刪除上例中白名單中輸入的15883673262號碼后,進入黑名單中輸入電話號碼15883673262,表示此號碼對本機進行的通話和短信都會被攔截。

        c.JPG


        接著用號碼為15883673262的電話接入本機,并且發送內容為“你好啊”的短信,在本機通信安防軟件里面分別點擊查看來電歷史和查看短信歷史看到如圖10、圖11所示效果。

        d.JPG

        e.JPG



        5 結束語
        文中詳細介紹了基于Android平臺的來電攔截和短信攔截的實現原理以及測試效果,可看出它能較好的實現來電攔截和短信攔截的功能。但由于研究時間有限,設計還不盡完善,來電攔截技術上還有待改進。如來電攔截,經過多次試驗,其效果并沒達到所期望的那么好,當有來電接入時,如果是在原號碼前面加上86或者17951的前號則應用程序視為不同的電話號碼處理。還有因為Android是一個開放的平臺,會給許多居心不良者提供方面,利用此技術來做一些惡意攔截電話短信的軟件,從而會給廣大用戶代碼不必要的麻煩。后面還應該需要在節能方面進行改進,不使用service來維護后臺工作,而使用broadcastRecever來維護后臺,可以節省Android大量的電量。
        同時對于日新月異發展的Android技術,希望在不久的將來google公司完善源碼中電話和短信安全控制,能脫離對Android通信安防應用軟件的需求。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新乡市| 日照市| 漾濞| 宜宾县| 大安市| 英吉沙县| 当涂县| 亚东县| 通辽市| 松阳县| 滨州市| 昭通市| 酉阳| 清水县| 新竹县| 府谷县| 白朗县| 炉霍县| 桂平市| 九江市| 北宁市| 宝坻区| 五家渠市| 潮州市| 开化县| 崇礼县| 新田县| 醴陵市| 洮南市| 巴东县| 五台县| 宁明县| 石楼县| 商水县| 香港| 京山县| 山阳县| 芷江| 隆尧县| 定襄县| 鄂尔多斯市|