亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Android平臺安全防護系統(tǒng)的設計與實現(xiàn)

        2015-05-30 10:48:04張楠滕英巖
        軟件工程 2015年7期
        關鍵詞:定位病毒用戶

        張楠 滕英巖

        摘 要:研究基于Android平臺的安全防護軟件,使用Android SDK和Java Web技術實現(xiàn)了Android平臺安全防護系統(tǒng)的各項功能。系統(tǒng)支持手機防盜找回、騷擾攔截、緩存清理、病毒掃描等功能,實現(xiàn)了對惡意程序和騷擾程序有效地攔截,后臺服務器使用Servlet編寫部署在百度云平臺,擁有快速的響應和穩(wěn)定等特點,給后期的維護工作帶來的極大的便捷。

        關鍵詞:Android平臺安全防護系統(tǒng);惡意程序;百度云平臺

        中圖分類號:TP391 文獻標識碼:A

        1 引言(Introduction)

        近年來,Android平臺安全防護系統(tǒng)是目前市面上安卓平臺廣泛應用的軟件系統(tǒng),然而信息安全領域在移動與嵌入式安全研究開發(fā)上的行動在過去幾年里過于緩慢),以至于移動安全在某種程度上仍然被認為是前沿研究,因為移動設備的消費者與用戶最近才開始察覺并理解日常使用移動設備所面臨的安全威脅。這些威脅也隨之為移動安全研究與安全產(chǎn)品創(chuàng)造了市場前景[1]。本文研究的安全防護系統(tǒng)采用最新的Android SDK開發(fā),本著精簡高效的原則,對市面上流行的安全軟件的功能進行包含和實現(xiàn),由于占用內(nèi)存資源少,本系統(tǒng)兼容安裝Android 2.3.3到目前最新Android 4.2.2的所有智能手機。

        2 關鍵技術介紹(The introduction of key

        technology)

        2.1 Android系統(tǒng)平臺簡介

        Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領導及開發(fā)。尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營運商組建開放手機聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機發(fā)布于2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數(shù)碼相機、游戲機等。2011年第一季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2013年的第四季度,Android平臺手機的全球市場份額已經(jīng)達到78.1%。2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android在迎來了5歲生日,全世界采用這款系統(tǒng)的設備數(shù)量已經(jīng)達到10億臺[2]。

        2.2 手機惡意軟件

        手機惡意軟件,一般是指在用戶不完全知情和認可(它包括未經(jīng)用戶許可、強迫引導用戶許可或隱瞞關鍵信息等)的情況下強行安裝到用戶手機中,或者一旦安裝就無法正常卸載和刪除,但又具備一定正常功能的軟件程序。

        惡意軟件是介于病毒和正常軟件之間的軟件,它與病毒的區(qū)別是:通常還具備一定的正常功能。

        相比于正常軟件,判定是否是惡意軟件的兩個標準:

        (1)是否被安裝到了用戶手機中。

        (2)對于用戶而言,是否具有不可控制性:即用戶不完全知情和認可,或者是安裝后無法讓用戶用正常的手段卸載和刪除。

        符合以下任意即可定義為惡意軟件:

        (1)沒有任何提示,暗地里發(fā)短信、聯(lián)網(wǎng)、扣費,輕微的發(fā)一次,嚴重的重復發(fā)。

        (2)雖然有提示,但提示很不顯眼,很容易讓新手用戶摁錯,誤導新手,導致發(fā)送短信、聯(lián)網(wǎng)、扣費。

        (3)雖然有提示,但提示是虛假的,比如明明是CMNET,卻提示是CMWAP。

        (4)沒有提示或者誤導用戶,暗地里收集用戶個人資料的。

        (5)不經(jīng)用戶同意,捆綁了快捷鍵、書簽等可恢復性內(nèi)容。

        (6)安裝很容易,刪除不簡單。

        2.3 MD5算法簡介

        MD5算法為計算機安全領域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護。MD5的作用是讓大容量信息在用數(shù)字簽名軟件簽署私人密鑰前被“壓縮”成一種保密的格式(就是把一個任意長度的字節(jié)串變換成一定長的十六進制數(shù)字串)。MD5就可以為任何文件(不管其大小、格式、數(shù)量)產(chǎn)生一個同樣獨一無二的MD5“數(shù)字指紋”,如果任何人對文件做了任何改動,其MD5值也就是對應的“數(shù)字指紋”都會發(fā)生變化。加密流程如圖1所示[3]。

        圖1 MD5加密算法流程圖

        Fig.1 Process of MD5 encryption algorithm

        2.4 Android安全權(quán)限機制

        Android本身是一個權(quán)限分立的操作系統(tǒng)。在這類操作系統(tǒng)中,每個應用都以唯一的一個系統(tǒng)識別身份運行(Linux用戶ID與群組ID)。系統(tǒng)的各部分也分別使用各自獨立的識別方式。Linux就是這樣將應用與應用,應用與系統(tǒng)隔離開。

        系統(tǒng)更多的安全功能通過權(quán)限機制提供。權(quán)限可以限制某個特定進程的特定操作,也可以限制每個URI權(quán)限對特定數(shù)據(jù)段的訪問。

        Android安全架構(gòu)的核心設計思想是,在默認設置下,所有應用都沒有權(quán)限對其他應用、系統(tǒng)或用戶進行較大影響的操作。這其中包括讀寫用戶隱私數(shù)據(jù)(聯(lián)系人或電子郵件),讀寫其他應用文件,訪問網(wǎng)絡或阻止設備待機等。

        安裝應用時,在檢查程序簽名提及的權(quán)限,且經(jīng)過用戶確認后,軟件包安裝器會給予應用權(quán)限。從用戶角度看,一款Android應用通常會要求如下的權(quán)限:撥打電話、發(fā)送短信或彩信、修改/刪除SD卡上的內(nèi)容、讀取聯(lián)系人的信息、讀取日程信的息,寫入日程數(shù)據(jù)、讀取電話狀態(tài)或識別碼、精確的(基于GPS)地理位置、模糊的(基于網(wǎng)絡獲?。┑乩砦恢谩?chuàng)建藍牙連接、對互聯(lián)網(wǎng)的完全訪問、查看網(wǎng)絡狀態(tài),查看WiFi狀態(tài)、避免手機待機、修改系統(tǒng)全局設置、讀取同步設定、開機自啟動、重啟其他應用、終止運行中的應用、設定偏好應用、震動控制、拍攝圖片等。

        一款應用應該根據(jù)自身提供的功能,要求合理的權(quán)限。用戶也可以分析一款應用所需權(quán)限,從而簡單判定這款應用是否安全。如一款應用是不帶廣告的單機版,也沒有任何附加的內(nèi)容需要下載,那么它要求訪問網(wǎng)絡的權(quán)限就比較可疑。

        3 系統(tǒng)設計(System design)

        3.1 系統(tǒng)結(jié)構(gòu)

        Android平臺安全防護系統(tǒng)采用Android原生SDK進行開發(fā),客戶端主要由手機防盜、通訊衛(wèi)士、軟件管理、進程管理、流量統(tǒng)計、病毒掃描、緩存清理、高級工具、設置中心這幾大模塊構(gòu)成,系統(tǒng)結(jié)構(gòu)如圖2所示。

        圖2 系統(tǒng)結(jié)構(gòu)圖

        Fig.2 System architecture diagram

        程序中各個模塊都有自己獨立的服務和廣播接收器為之提供支持,客戶端利用JSON數(shù)據(jù)格式和后臺服務器之間做數(shù)據(jù)交換,每個功能模塊之間相互獨立,但是由主頁面切換進入。以手機防盜功能模塊為例,一共有四個頁面對數(shù)據(jù)進行記錄,分別是設置密碼,綁定SIM卡,綁定安全號碼,啟動管理員模式,當數(shù)據(jù)記錄完畢后,后臺會有相應的服務和廣播接收器啟動,來記錄安全號碼發(fā)入目標手機的指令,從而可以啟動相關功能對目標手機執(zhí)行一系列的操作。

        3.2 數(shù)據(jù)庫設計

        數(shù)據(jù)庫密碼列采用MD5加密算法存儲密碼,這樣可以避免明文密碼的泄露。數(shù)據(jù)庫設計表如表1所示。

        表1 數(shù)據(jù)庫表設計

        Tab.1 Design of database table

        表名 類型 約束 備注

        UserID Verchar(30) 唯一 用戶唯一的ID號

        UserPass Varchar(30) 非空 用戶密碼

        4 系統(tǒng)實現(xiàn)(System implementation)

        本文著重對Android平臺安全防護系統(tǒng)子系統(tǒng)進行剖析,闡釋系統(tǒng)的運行原理。安全防護子系統(tǒng)主要包括手機防盜和病毒掃描模塊兩部分。

        4.1 手機防盜模塊

        手機防盜功能中包含手機定位、手機報警、手機鎖屏和手機數(shù)據(jù)清理功能。本模塊利用手機長駐后臺服務監(jiān)聽短信內(nèi)容,根據(jù)短信執(zhí)行相關操作[4]。定位功能是程在序中加入了百度地圖定位功能,當用戶綁定了SIM卡和安全號碼后,如果手機丟失,用安全號碼手機直接編輯短信指令+密碼發(fā)送到丟失手機上,可以讓手機執(zhí)行定位操作并回復短信當前手機所在坐標位置。以下是部分定位功能的實現(xiàn)代碼段。

        public void initOption() {

        LocationClientOption option=new LocationClientOption();

        option.setLocationMode(LocationMode.Hight_Accuracy);//設置定位模式

        option.setCoorType("bd09ll");//返回的定位結(jié)果疊加地圖使用bd09ll模式

        option.setScanSpan(2000);//設置發(fā)起定位請求的間隔時間為5000ms

        option.setIsNeedAddress(true);//返回的定位結(jié)果包含地址信息

        option.setNeedDeviceDirect(true);//返回的定位結(jié)果包含手機機頭的方向

        option.setOpenGps(true);

        locClient.setLocOption(option);

        }

        public void TraceStart() {

        locClient.start();

        }

        public void TraceStop() {

        locClient.stop();

        }

        鎖屏功能是使用安全手機發(fā)送鎖屏指令,然后目標手機會自動執(zhí)行鎖屏指令。

        手機報警功能是收到安全號碼發(fā)來的指令后以最大聲音播放報警音樂。

        手機數(shù)據(jù)清理功能是接收到數(shù)據(jù)清理指令后在后臺執(zhí)行數(shù)據(jù)清理功能。觸發(fā)這些功能都是在后臺讓偷盜者無法察覺的情況下完成的。

        4.2 病毒掃描模塊

        病毒掃描模塊主要利用MD5特征匹配篩選安全程序和病毒程序,進入掃描進程后程序會在后臺將計算出每個程序的MD5值,然后利用云端同步的病毒特征庫進行比對,利用折半查找法加速了程序掃描大樣本數(shù)據(jù)庫的對比算法。當病毒程序被掃描出,程序會提示用戶是否清理,如果用戶點擊清理按鈕程序會強制卸載目標程序,掃描過程結(jié)束。

        病毒掃描過程部分核心代碼段如下:

        private void scanVirus() {

        pm=getPackageManager();

        tv_scan_status.setText("正在初始殺毒引擎......");

        new Thread(){

        @Override

        public void run() {

        Listinfos= pm.getInstalledPackages(0);

        pb.setMax(infos.size());

        int progress=0;

        for(PackageInfo info:infos) {

        //info.applicationInfo.dataDir; //數(shù)據(jù)文件保存地址

        String apkPath=info.applicationInfo.sourceDir; //APK安裝包路徑

        String md5=FileToMD5.GetFileMd5(apkPath);

        //準備保存數(shù)據(jù)傳出讓UI線程更新

        ScanInfo scanInfo=new ScanInfo();

        scanInfo.Name=info.applicationInfo.loadLabel(pm).toString();

        scanInfo.packName=info.packageName;

        if(AntivirusTools.isVirus(md5)) {

        //發(fā)現(xiàn)病毒

        scanInfo.isVirus=true;

        }else{

        //掃描安全

        scanInfo.isVirus=false;

        }

        //定義消息,把消息發(fā)到UI線程更新界面

        Message msg=Message.obtain();

        msg.obj=scanInfo;

        msg.what=520;

        handler.sendMessage(msg);

        progress++;

        pb.setProgress(progress);

        }

        Message msg=Message.obtain();

        msg.what=0;

        handler.sendMessage(msg);

        }

        }.start();

        }

        5 關鍵問題(Core question)

        5.1 實現(xiàn)了病毒庫自動更新

        程序在運行過程中,固定的時間會向服務器拉取一個XML配置文件,里面是用JSON格式記錄的病毒庫版本和病毒庫下載地址。當程序發(fā)現(xiàn)新版本病毒庫發(fā)布后,會自動去更新病毒庫,由于病毒庫只是一個txt格式的文檔,所有占用流量不會太多。當程序下載下新版本病毒庫后會自動將數(shù)據(jù)插入已有的病毒庫。從而完成了病毒庫的更新操作。

        5.2 手機防盜模塊實現(xiàn)了手機自動定位回傳功能

        當手機收到安全號碼發(fā)來的指令的時候,手機會自動啟動定位功能,程序會自動啟動GPS,利用網(wǎng)絡輔助定位確定手機當前坐標,并將坐標點和手機所處位置名稱以短信的形式回傳至安全手機,當用戶收到定位點后利用百度坐標拾取就可以輕松找到手機位置。這一定位和回傳過程都是在后臺完成的,前臺無任何痕跡,這也是為了保證用戶手機落入小偷手中定位過程不被小偷發(fā)現(xiàn)。

        5.3 手機防盜模塊實現(xiàn)了手機數(shù)據(jù)清理功能

        當手機收到安全號碼發(fā)來的指令的時候,手機會開始抹

        去手機當前的數(shù)據(jù),這一功能的開發(fā)主要是當用戶手機無法定位的時候最后可以操作的,這也可以最大限度的保護用戶的隱私不被盜竊。但是由于這一功能需要開啟管理員權(quán)限,同時也讓第三方軟件無法卸載本程序。如果用戶需要卸載只需要關閉管理員權(quán)限然后就可以正常卸載了。

        5.4 安全防護系統(tǒng)自身安全性

        系統(tǒng)自身安全性又是項目的另一個重點。安全性問題主要來自于以下兩方面:

        (1)用戶密碼的安全性。如果用戶密碼被泄露,安全手機用密碼+指令就可以任意操作目標手機,所以在密碼的保存上面,程序使用MD5加密算法加密存儲至數(shù)據(jù)庫,用戶可以自己更改程序密碼。這樣安全手機只有在密碼正確的時候指令才有效。

        (2)服務器端的安全性。為保證服務器安全穩(wěn)定運行,我們將編寫好的Servlet部署在百度云平臺上,在百度提供的高性能的服務器上避免了服務器的故障和惡意入侵的問題,百度云平臺之間的項目獨立運行又不會相互影響。云平臺的智能性也大大減少了服務器端的維護成本和難度。

        6 結(jié)論(Conclusion)

        本Android平臺安全防護系統(tǒng)的開發(fā)解決了目前安全軟件體積龐大弊端,目前360和金山手機助手安裝完畢就已經(jīng)達到20MB左右,小內(nèi)存的手機安裝后會導致手機假死或者死機的癥狀。而Android平臺安全防護系統(tǒng)安裝包只有3.9MB,開啟后運行服務也只有4MB左右,基本對手機的運行不會產(chǎn)生太大的影響。同樣的功能我們的可以占用更少的內(nèi)存解決,這就是我們精簡系統(tǒng)的優(yōu)勢。

        然而系統(tǒng)還是有一些善待解決的問題,比如病毒特征庫的更新,比如程序執(zhí)行效率的優(yōu)化。因為安全類軟件最看重的就是病毒特征庫的數(shù)量,個人沒有辦法去獲取大量病毒特征庫特征值,所以本系統(tǒng)還是借鑒了最新版的金山毒霸的特征病毒庫才可以進行掃描。

        參考文獻(References)

        [1] Joshua J.Drake.Android安全攻防權(quán)威指南[M].北京:人民郵電 出版社,2013.

        [2] 百度百科.android(Google公司開發(fā)的操作系統(tǒng))[EB/OL]. http://dwz.cn/test_android.

        [3] 百度百科.MD5加密[EB/OL].http://baike.baidu.com/view/ 1039631.htm.

        [4] 李興華.Android開發(fā)實戰(zhàn)經(jīng)典[M].北京:清華大學出版社, 2012:562-583.

        作者簡介:

        張 楠(1992-),男,本科生.研究領域:軟件開發(fā)及數(shù)據(jù)庫.滕英巖(1972-),女,碩士,教授.研究領域:嵌入式軟件及

        應用.

        猜你喜歡
        定位病毒用戶
        病毒
        感冒病毒大作戰(zhàn)
        幼兒園(2021年16期)2021-12-06 01:06:36
        《導航定位與授時》征稿簡則
        病毒,快滾開
        Smartrail4.0定位和控制
        感冒病毒
        找準定位 砥礪前行
        關注用戶
        商用汽車(2016年11期)2016-12-19 01:20:16
        關注用戶
        商用汽車(2016年6期)2016-06-29 09:18:54
        關注用戶
        商用汽車(2016年4期)2016-05-09 01:23:12
        国产99久久久国产精品免费看 | 亚洲羞羞视频| 国产亚洲日韩AV在线播放不卡| 成人水蜜桃视频在线观看| 精品福利一区二区三区免费视频| 国产一区二区视频在线免费观看| yw尤物av无码国产在线观看| 国产尤物精品自在拍视频首页| 无码AV无码免费一区二区| 亚洲女同av在线观看| 少女韩国电视剧在线观看完整 | 久久青青草原亚洲av无码麻豆| 国产精品二区在线观看| 亚洲伊人成综合人影院| 日韩女优一区二区在线观看| 亚洲毛片在线观看免费| 亚洲欧美乱综合图片区小说区| 国产在线观看入口| 色婷婷狠狠97成为人免费| 国产韩国一区二区三区| 蜜臀性色av免费| 无码欧亚熟妇人妻AV在线外遇| 日本av一区二区播放| 亚洲国产性夜夜综合另类| 日夜啪啪一区二区三区| jlzzjlzz全部女高潮| 女同在线视频一区二区| 老色鬼在线精品视频| 亚洲av有码在线天堂| 国产青青草视频在线播放| 国产精品久久免费中文字幕| 久久九九国产精品怡红院| 色系免费一区二区三区| 青青草手机视频免费在线播放| 亚洲熟女www一区二区三区 | 国产女主播福利在线观看| 亚洲国产日韩欧美综合a| 精品无码一区在线观看| 一区二区三区福利在线视频| 亚洲综合视频一区二区| 亚洲精品无码久久久|