• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Netfilter的Android防火墻實(shí)現(xiàn)

      2015-12-25 00:57:36付影平
      科技視界 2015年18期
      關(guān)鍵詞:優(yōu)缺點(diǎn)內(nèi)核進(jìn)程

      付影平 馬 龍

      (1.西安郵電大學(xué)信息中心,陜西 西安 710061;2.西安郵電大學(xué)計(jì)算機(jī)學(xué)院,陜西 西安 710061)

      0 引言

      隨著移動(dòng)通信網(wǎng)絡(luò)技術(shù)的高速發(fā)展及移動(dòng)互聯(lián)網(wǎng)的普及,智能手機(jī)做為一種便捷的上網(wǎng)設(shè)備已被廣泛接受。據(jù)IDC2014年1月份數(shù)據(jù)報(bào)告,在過(guò)去的一年里,智能手機(jī)的全球出貨量突破10 億,Android 智能手機(jī)的份額更是占到了78.6%[1]。目前,針對(duì)的手機(jī)的騷擾電話、短信,病毒的侵襲等問(wèn)題,國(guó)內(nèi)外有一些解決的辦法[2]。但對(duì)于手機(jī)廠商或者運(yùn)營(yíng)商等的定制軟件的無(wú)端啟動(dòng)連接則沒(méi)有很好的辦法解決。本文分析了手機(jī)防火墻的主要工作模式,基于開(kāi)源軟件Netfilter 框架提出了一種能綜合解決問(wèn)題的方案。

      1 手機(jī)防火墻主要功能

      1.1 主要功能

      手機(jī)防火墻的主要功能包括:通信攔截(騷擾電話短信),聯(lián)網(wǎng)過(guò)濾、權(quán)限管理三個(gè)方面。

      與系統(tǒng)的交互主要包括:設(shè)置通訊黑名單,設(shè)置攔截關(guān)鍵字,在軟件權(quán)限分級(jí)結(jié)果上進(jìn)行添加信任操作,在風(fēng)險(xiǎn)應(yīng)用啟動(dòng)是彈框提示時(shí)進(jìn)行確認(rèn)操作和設(shè)置禁用聯(lián)網(wǎng)程序列表。

      1.2 安卓手機(jī)防火墻的主要實(shí)現(xiàn)技術(shù)比較

      目前,Android 網(wǎng)絡(luò)防火墻是存在其他多種實(shí)現(xiàn)方式的,包括了應(yīng)用層的敏感函數(shù)hook、框架層的INTERNET 權(quán)限,以及基于Netfilter框架的Android 防火墻。他們的主要工作模式和優(yōu)缺點(diǎn),序號(hào)1:工作位置:Android 應(yīng)用層:敏感函數(shù)hook;工作原理:通過(guò)調(diào)用Android Framework 來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)通訊的,所以遍歷對(duì)這些類(lèi)中的所有函數(shù)然后把它們一個(gè)一個(gè)的全部鉤起來(lái),這樣就可以起到防火墻所需的作用;主要方式:使用對(duì)每一個(gè)應(yīng)用本身進(jìn)行修改的方式加入Hook 代碼,之后再通過(guò)進(jìn)程注入的方式將Client 代碼再一次寫(xiě)進(jìn)每個(gè)應(yīng)用的進(jìn)程中。當(dāng)進(jìn)程存在網(wǎng)絡(luò)活動(dòng)時(shí),應(yīng)用進(jìn)程會(huì)發(fā)起IPC 請(qǐng)求到Server 進(jìn)程并由Server 進(jìn)程決定是否對(duì)其放行;優(yōu)缺點(diǎn):優(yōu)勢(shì)就體現(xiàn)在無(wú)需root也可實(shí)現(xiàn)控制不能做到對(duì)所有的網(wǎng)絡(luò)訪問(wèn)入口的攔截對(duì)騷擾短信電話攔截需另外開(kāi)發(fā)。序號(hào)2:工作位置:Android 框架層:android.permission.INTERNET 權(quán)限;工作原理:在Android 操作系統(tǒng)中,任何應(yīng)用都必須申請(qǐng)android.permission.INTERNET 權(quán)限后才能訪問(wèn)網(wǎng)絡(luò)。當(dāng)Zygote 服務(wù)fork()到一個(gè)AndroidManifest.xml 中存在該權(quán)限的應(yīng)用時(shí),會(huì)將其加入到inet 組中;主要方式:其一是變更應(yīng)用的AndroidManifest.xml 文件來(lái)去除對(duì)應(yīng)的權(quán)限,其二就是重寫(xiě)Zygote 進(jìn)程阻止其在對(duì)說(shuō)明文件偵測(cè)后將inet 加入應(yīng)用的gid 組中;優(yōu)缺點(diǎn):實(shí)現(xiàn)起來(lái)不算復(fù)雜。

      對(duì)于一個(gè)被設(shè)置過(guò)的gid 組,程序不再擁有修改的權(quán)限,雖然能從根本上實(shí)現(xiàn)對(duì)應(yīng)用的上網(wǎng)權(quán)限禁止,但想再次獲得上網(wǎng)權(quán)限就必須使用Zygote 服務(wù)再一次生成對(duì)短信電話的攔截需另外開(kāi)發(fā)。序號(hào)3:工作位置:Linux 內(nèi)核層:Netfilter/iptables:工作原理:Android 操作系統(tǒng)采用的是Linux 內(nèi)核,而在Linux 內(nèi)核中,Netfilter 在TCP/IP 的協(xié)議棧中加入了相應(yīng)的Hook,我們使用這些鏈鉤子來(lái)過(guò)濾或者丟棄指定的數(shù)據(jù)包:主要方式:要利用Linux 為我們提供的另一個(gè)工具iptables 來(lái)簡(jiǎn)化這一步驟:優(yōu)缺點(diǎn):不需要進(jìn)程注入,又能對(duì)Wifi 和3G 網(wǎng)絡(luò)區(qū)分控制。

      但需要取得root 權(quán)限。

      2 Netfilter 防火墻的關(guān)鍵技術(shù)

      安卓智能手機(jī)系統(tǒng)是基于Linux 操作系統(tǒng)的實(shí)現(xiàn)。Netfilter 是由Rusty Russell 提出的內(nèi)核防火墻框架,該框架分為用戶層和內(nèi)核層部分,在用戶層的iptables 的作用就是創(chuàng)建出鏈表規(guī)則,完成這些包過(guò)濾任務(wù)的還是位于內(nèi)核底層的Netfilter 以及相關(guān)的一些其它模塊。這個(gè)機(jī)構(gòu)既簡(jiǎn)潔又靈活,可實(shí)現(xiàn)安全策略應(yīng)用中的許多功能。

      對(duì)于一個(gè)Linux 自帶的防火墻來(lái)說(shuō),Netfilter 模塊中存放著各種表,每個(gè)表中又存在著不同的鏈,每個(gè)鏈中定義著各式的規(guī)則,而iptables 需要做的就是控制這些規(guī)則的增加、刪除、修改等操作,從而達(dá)成對(duì)網(wǎng)絡(luò)數(shù)據(jù)包的控制。

      3 手機(jī)防火墻的Netfilter 的實(shí)現(xiàn)

      3.1 網(wǎng)絡(luò)防火墻實(shí)現(xiàn)

      利用Netfilter 實(shí)現(xiàn)網(wǎng)絡(luò)防火墻比較簡(jiǎn)單,只需要簡(jiǎn)單的配置好安卓的開(kāi)發(fā)環(huán)境,安裝好Netfilter 代碼,建立項(xiàng)目結(jié)構(gòu),然后以面向?qū)ο蟮姆绞秸{(diào)用Netfilter 所帶iptable 命令并進(jìn)行防火墻的搭建就行了。

      圖1 項(xiàng)目結(jié)構(gòu)

      在Broadcast.java 中重寫(xiě)了onReceive 方法,這樣做可以在啟動(dòng)時(shí)就直接調(diào)用已經(jīng)定義好的iptables 規(guī)則。

      圖2 重寫(xiě)onReceive 方法

      MainActivity.java 的作用就是定義程序的界面,它繼承Activity類(lèi),所有的交互都在這個(gè)類(lèi)中實(shí)現(xiàn)。

      圖3 MainActivity.java

      圖4 ScriptThread

      Interface.java 在這個(gè)項(xiàng)目中承擔(dān)著對(duì)常量數(shù)據(jù)進(jìn)行定義,配置生成iptables 腳本文件,生成App 信息等非常重要的工作,同時(shí)需要指出的是,SharePreference 是Android 中提供的一種用來(lái)存放簡(jiǎn)單配置信息的數(shù)據(jù)類(lèi)型,在這里正是使用的這種機(jī)制解決的iptables 規(guī)則存放問(wèn)題。

      3.2 電話短信防火墻

      Android 上的廣播存在著兩種不同的類(lèi)型,一般情況下的廣播是異步的,這樣會(huì)被每一個(gè)接收者同時(shí)得到,這樣做是沒(méi)辦法實(shí)現(xiàn)攔截的,所以我們需要使用有序廣播的方式,提高優(yōu)先級(jí)獲得廣播。此時(shí)對(duì)于需要攔截的情況,只要終止廣播就可以實(shí)現(xiàn)黑名單攔截。

      圖5 類(lèi)PhoneReceiver

      4 結(jié)論

      自Android 正式進(jìn)入4.0 時(shí)代以來(lái),整個(gè)系統(tǒng)的長(zhǎng)足進(jìn)步是每個(gè)人都看在眼里的,但是作為一把雙刃劍的開(kāi)源政策在為Android 拉攏來(lái)眾多人氣的同時(shí),也必須為現(xiàn)在這種“碎片化”的狀況買(mǎi)單。

      Netfilter 框架作為一種很好的開(kāi)源防火墻的軟件實(shí)現(xiàn),因?yàn)橛辛薸ptable 命令規(guī)則的配置使用而變得比較簡(jiǎn)單了,是的我們可以按照自己的意愿來(lái)進(jìn)行手機(jī)的防護(hù),對(duì)手機(jī)安全不失為一種好的辦法。

      [1]李剛.瘋狂Android 講義[M].2 版.電子工業(yè)出版社,2014,02,01.

      [2]徐娟娟,李玲玲.基于Netfilter 的防火墻原理分析[J].安徽淮南:信息產(chǎn)業(yè),2011.

      [3]康海燕,陳然,苑曉姣,李清華.基于Android 防火墻日志系統(tǒng)的研究與實(shí)現(xiàn)[J].北京:北京信息科技大學(xué)學(xué)報(bào),2012,8.

      [4]張磊.基于系統(tǒng)的手機(jī)防火墻的設(shè)計(jì)與實(shí)現(xiàn)[J].應(yīng)用研發(fā),2013.

      [5]張?zhí)K穎.基于Android 系統(tǒng)的手機(jī)防火墻的設(shè)計(jì)及實(shí)現(xiàn)研究[J].信息與電腦,2012,12.

      猜你喜歡
      優(yōu)缺點(diǎn)內(nèi)核進(jìn)程
      萬(wàn)物皆可IP的時(shí)代,我們當(dāng)夯實(shí)的IP內(nèi)核是什么?
      紫外消毒在給水處理中的優(yōu)缺點(diǎn)分析
      云南化工(2021年6期)2021-12-21 07:31:14
      淺談減隔震技術(shù)原理及優(yōu)缺點(diǎn)
      強(qiáng)化『高新』內(nèi)核 打造農(nóng)業(yè)『硅谷』
      債券市場(chǎng)對(duì)外開(kāi)放的進(jìn)程與展望
      基于嵌入式Linux內(nèi)核的自恢復(fù)設(shè)計(jì)
      Linux內(nèi)核mmap保護(hù)機(jī)制研究
      深度學(xué)習(xí)優(yōu)缺點(diǎn)的剖析
      電子制作(2018年18期)2018-11-14 01:48:22
      ICP-MS與AAS、AFS測(cè)定土壤中汞、鉛、鎘、銅的優(yōu)缺點(diǎn)
      社會(huì)進(jìn)程中的新聞學(xué)探尋
      金平| 游戏| 潜山县| 黔南| 乐平市| 清流县| 台南县| 婺源县| 台北县| 微山县| 柏乡县| 石城县| 汉中市| 孟州市| 施秉县| 北京市| 耒阳市| 绿春县| 安义县| 育儿| 繁峙县| 葫芦岛市| 永定县| 监利县| 得荣县| 旬阳县| 治多县| 新民市| 清水河县| 乐亭县| 黄陵县| 乌拉特中旗| 普陀区| 横峰县| 张家川| 双城市| 泰州市| 循化| 和田市| 公主岭市| 横峰县|