秦中元 徐毓青 梁 彪 張群芳 黃 杰
(1東南大學(xué)信息安全研究中心,南京 210096)
(2信息網(wǎng)絡(luò)安全公安部重點(diǎn)實(shí)驗(yàn)室,上海 201204)
(3 南京三寶科技股份有限公司,南京 210049)
(4南京炮兵學(xué)院計(jì)算機(jī)教研室,南京 211132)
智能手機(jī)是移動(dòng)互聯(lián)網(wǎng)的重要載體,隨著移動(dòng)互聯(lián)網(wǎng)的迅速發(fā)展,智能手機(jī)市場(chǎng)規(guī)模也不斷增長(zhǎng).Android系統(tǒng)由于其開源性,任何組織或個(gè)人編寫的軟件都可以上傳到“應(yīng)用商店”中,供用戶下載并安裝使用,因此已經(jīng)占據(jù)全球出貨量75%的智能手機(jī)[1].但是,智能手機(jī)市場(chǎng)的迅速發(fā)展也帶來了與用戶密切相關(guān)的惡意軟件問題.
目前國(guó)際上對(duì)于智能手機(jī)惡意軟件檢測(cè)的研究所使用的方法主要可分為2類:基于規(guī)則的方法和基于異常的檢測(cè)方法.
基于規(guī)則的方法將權(quán)限組合、行為足跡、作者信息等作為判定的規(guī)則.例如Enck等[2]定義了各種潛在的危險(xiǎn)權(quán)限組合作為規(guī)則,通過檢查特定的危險(xiǎn)權(quán)限組合來中止?jié)撛诓话踩珣?yīng)用的安裝.Zhou等[3]提出了一個(gè)基于權(quán)限的行為足跡匹配來檢測(cè)Android惡意軟件已知家族的樣本,并應(yīng)用啟發(fā)式過濾來檢測(cè)未知的Android惡意軟件.Zhou等[4]使用模糊哈希來檢測(cè)第三方Android應(yīng)用商店中的重打包的應(yīng)用程序(潛在的惡意軟件),并利用指令和程序作者信息來進(jìn)行檢測(cè).
基于異常的檢測(cè)方法選取了權(quán)限、系統(tǒng)調(diào)用和功耗等作為學(xué)習(xí)的特征,并利用聚類和分類算法來區(qū)分正常和惡意的應(yīng)用.例如Schmidt等[5]實(shí)現(xiàn)了Android異常檢測(cè)系統(tǒng),該系統(tǒng)從Android系統(tǒng)的各個(gè)層次獲取系統(tǒng)數(shù)據(jù)作為檢測(cè)依據(jù),并使用Ad-Hoc網(wǎng)絡(luò)中的聯(lián)合異常檢測(cè)算法對(duì)數(shù)據(jù)進(jìn)行處理.Shabtai等[6-7]提出了基于行為的Android惡意軟件檢測(cè)系統(tǒng)Andromaly,測(cè)試了CPU消耗、通過Wi-Fi發(fā)送的數(shù)據(jù)包數(shù)目、正在運(yùn)行的進(jìn)程數(shù)目、按鍵以及應(yīng)用程序啟動(dòng)等特征來尋找最典型的特征集合,并應(yīng)用了一些不同的機(jī)器學(xué)習(xí)算法,如Logistic回歸分析(logistic regression)和貝葉斯網(wǎng)絡(luò)(Bayesian networks)來對(duì)應(yīng)用程序分類.Zhao等[8]提出了基于行為的惡意軟件檢測(cè)框架AntiMalDroid,使用支持向量機(jī)算法,動(dòng)態(tài)地記錄行為序列作為特征.
這些檢測(cè)方法涉及了靜態(tài)分析和動(dòng)態(tài)分析.靜態(tài)分析利用程序的靜態(tài)語法或結(jié)構(gòu)屬性來判定其惡意性,而動(dòng)態(tài)分析主要通過監(jiān)視程序的執(zhí)行來檢測(cè)惡意行為.靜態(tài)分析與動(dòng)態(tài)分析相比,具有以下優(yōu)點(diǎn)[5]:
1) 靜態(tài)分析允許進(jìn)行全面分析.靜態(tài)分析不受一個(gè)程序的特定執(zhí)行過程約束,并且適用于程序的所有執(zhí)行過程.相反地,動(dòng)態(tài)分析技術(shù)只允許對(duì)符合選定的測(cè)試案例的行為進(jìn)行檢查.
2) 結(jié)果在執(zhí)行過程之前被給出,惡意行為難以偽裝.
3) 沒有運(yùn)行時(shí)負(fù)擔(dān).靜態(tài)分析方法能夠減少成本并且提高性能.盡管使用動(dòng)態(tài)分析能夠提供惡意軟件的綜合觀察,但檢查中容易受到環(huán)境部署的影響,人工成本也較高.
基于此,本文對(duì)Android平臺(tái)上惡意軟件檢測(cè)進(jìn)行了研究,提出一種靜態(tài)的綜合檢測(cè)方法.對(duì)于已檢測(cè)過的APK文件,提取MD5值作為簽名,在處理過程中利用MD5值進(jìn)行快速匹配和判定.對(duì)于未檢測(cè)過的APK文件,根據(jù)對(duì)權(quán)限和惡意行為總結(jié)的規(guī)則來進(jìn)行分析和判定.實(shí)驗(yàn)中成功地從惡意軟件中檢測(cè)出了隱私竊取與惡意扣費(fèi)行為,證明了本系統(tǒng)的有效性.
本文系統(tǒng)總體結(jié)構(gòu)如圖1所示.該系統(tǒng)主要包括5個(gè)模塊,分別為:
1) 已分析程序判斷模塊.該模塊計(jì)算被檢測(cè)APK包的MD5值,并與已分析程序庫中存儲(chǔ)的MD5值進(jìn)行比較,如果該MD5值已存在,表明該APK包已檢測(cè)過,則跳過檢測(cè)分析過程,直接進(jìn)入結(jié)果輸出模塊.
2) 預(yù)處理模塊.該模塊實(shí)現(xiàn)解壓和反編譯.
3) 權(quán)限分析模塊.對(duì)解壓和反編譯處理后得到的AndroidManifest文件根據(jù)是否存在危險(xiǎn)權(quán)限進(jìn)行分析,如果不存在則直接進(jìn)入結(jié)果輸出模塊.
4) 行為分析模塊.根據(jù)惡意行為規(guī)則庫中定義的惡意行為進(jìn)行分析.
5) 結(jié)果處理模塊.將已分析程序檢測(cè)結(jié)果存入已分析程序庫,如果被檢測(cè)文件具有惡意行為,則提示用戶進(jìn)行刪除或隔離操作.
圖1 系統(tǒng)模塊圖
系統(tǒng)具體處理流程為:
① 用戶計(jì)算待檢測(cè)APK文件的MD5值,并與已分析程序庫比較.如果該MD5值在已分析程序庫中存在,表明已檢測(cè)過,處理結(jié)束.
② 將APK包解壓,得到AndroidManifest.xml文件和classes.dex文件.
③ 使用AXMLPrinter2,dex2jar,jd-gui等工具對(duì)AndroidManifest.xml文件進(jìn)行反編譯,并將classes.dex文件轉(zhuǎn)換成Java文件.
④ 對(duì)反編譯后的AndroidManifest.xml文件進(jìn)行分析.如果不存在危險(xiǎn)權(quán)限,處理結(jié)束.
⑤ 對(duì)反編譯得到的Java文件進(jìn)行行為檢測(cè).如果存在惡意行為,則提示用戶選擇處理操作,執(zhí)行刪除或隔離文件的操作.
⑥ 將檢測(cè)結(jié)果存入已分析程序庫,處理結(jié)束.
2.1.1 Android權(quán)限機(jī)制
Android的權(quán)限機(jī)制限制了一個(gè)應(yīng)用程序能夠執(zhí)行的特定操作.Android有100多個(gè)內(nèi)置的權(quán)限,這些權(quán)限控制從撥打電話、拍照、使用網(wǎng)絡(luò)到監(jiān)聽按鍵,甚至是永久禁用手機(jī)的操作.為了獲取權(quán)限,應(yīng)用程序必須明確地申請(qǐng)這個(gè)權(quán)限.Android應(yīng)用程序需要在AndroidManifest.xml中使用〈uses-permission〉標(biāo)簽來指定所申請(qǐng)的權(quán)限.
2.1.2 危險(xiǎn)權(quán)限
由于每個(gè)Android應(yīng)用程序都在AndroidManifest.xml文件中明確地申請(qǐng)了其所需要的權(quán)限,因此可以利用實(shí)現(xiàn)惡意軟件功能所需要的一些危險(xiǎn)權(quán)限來排除安全的應(yīng)用程序.
系統(tǒng)所考慮的危險(xiǎn)權(quán)限包括讀取隱私信息、收發(fā)短信、撥打電話、網(wǎng)絡(luò)設(shè)置等.限于篇幅,表1列出了與獲取隱私信息、收發(fā)短信和撥打電話相關(guān)的危險(xiǎn)權(quán)限.
表1 危險(xiǎn)權(quán)限
以獲取隱私信息和收發(fā)短信的危險(xiǎn)權(quán)限為例,說明對(duì)這些危險(xiǎn)權(quán)限的選取和劃分依據(jù).
1) ACCESS_COARSE_LOCATION權(quán)限允許應(yīng)用程序訪問大概的位置.
2) ACCESS_FINE_LOCATION權(quán)限用于訪問精確的位置源.
3) READ_CONTACTS權(quán)限允許應(yīng)用程序讀取用戶手機(jī)上存儲(chǔ)的所有聯(lián)系人數(shù)據(jù).
4) READ_OWNER_DATA權(quán)限允許應(yīng)用程序讀取用戶手機(jī)上存儲(chǔ)的手機(jī)所有者數(shù)據(jù).
5) READ_PHONE_STATE權(quán)限允許應(yīng)用程序訪問設(shè)備的手機(jī)功能.
6) READ_SMS權(quán)限允許惡意軟件讀取用戶手機(jī)或SIM卡中存儲(chǔ)的短信.
收發(fā)短信危險(xiǎn)權(quán)限經(jīng)常被Android惡意軟件利用.一種典型的惡意軟件是在用戶不知情的情況下向固定的增值服務(wù)號(hào)碼發(fā)送訂制扣費(fèi)業(yè)務(wù)短信,給用戶帶來額外的費(fèi)用.為了隱藏這一行為,惡意軟件監(jiān)視接收到的短信,并且將話費(fèi)賬單的通知短信自動(dòng)刪除.因此惡意軟件需要分別申請(qǐng)SEND_SMS權(quán)限和RECEIVE_SMS權(quán)限.
權(quán)限分析根據(jù)選取的危險(xiǎn)權(quán)限對(duì)反編譯后的AndroidManifest.xml文件進(jìn)行掃描,不存在這些危險(xiǎn)權(quán)限申請(qǐng)的應(yīng)用程序?qū)o需執(zhí)行后續(xù)的行為分析,被判定為正常.
Android應(yīng)用程序的主要代碼包括在classes.dex文件中,該文件是源碼編譯后生成的Java字節(jié)碼.與AndroidManifest.xml文件相似,本系統(tǒng)對(duì)其進(jìn)行反編譯后再作分析.
中國(guó)互聯(lián)網(wǎng)協(xié)會(huì)反網(wǎng)絡(luò)病毒聯(lián)盟發(fā)布的《移動(dòng)互聯(lián)網(wǎng)惡意代碼描述規(guī)范》[9]中指出,移動(dòng)互聯(lián)網(wǎng)惡意代碼往往被用于竊取用戶個(gè)人隱私信息,非法訂購各類增值業(yè)務(wù),造成用戶直接經(jīng)濟(jì)損失.本文系統(tǒng)的行為分析模塊主要針對(duì)隱私竊取和惡意扣費(fèi)來進(jìn)行分析.
隱私竊取行為竊取的信息包括手機(jī)相關(guān)信息、地理位置信息等,將隱私信息發(fā)送出去的方式主要有短信和網(wǎng)絡(luò);惡意扣費(fèi)行為主要包括自動(dòng)發(fā)送訂制收費(fèi)業(yè)務(wù)短信和攔截服務(wù)號(hào)碼發(fā)送的確認(rèn)、賬單相關(guān)短信.針對(duì)這些惡意行為,本系統(tǒng)采用污點(diǎn)傳播分析和語義分析方法.
2.2.1 污點(diǎn)傳播分析
污點(diǎn)傳播分析方法適用于檢測(cè)程序是否具有隱私竊取行為.本文考慮的隱私竊取行為的信息對(duì)象有2種類別.一種是與手機(jī)相關(guān)的信息,包括本機(jī)電話號(hào)碼、IMEI號(hào)、IMSI號(hào)和ICC-ID.這些內(nèi)容的獲取分別通過TelephonyManager類的getLine1Number()方法、getDeviceID()方法、getSubscriberId()方法和getSimSerialNumber()方法來實(shí)現(xiàn).因此,對(duì)于隱私竊取的惡意行為,將上述方法選取為源函數(shù).隱私竊取惡意行為的另一種信息對(duì)象是地理位置信息,包括經(jīng)度、緯度、基站編號(hào)和本地區(qū)域代碼(考慮接入網(wǎng)為GSM),其相應(yīng)的源函數(shù)選取為L(zhǎng)ocation類的getLatitude()方法和getLongitude()方法以及GsmCellLocation類的getCid()和getLac()方法.Android與外界交互主要有短信、網(wǎng)絡(luò)等途徑.因此,在選取錨點(diǎn)函數(shù)(sink函數(shù))時(shí),將與這些交互方式相關(guān)的函數(shù)設(shè)置為錨點(diǎn)函數(shù).對(duì)于短信發(fā)送隱私信息的方式,選取SmsManager類的發(fā)送短信函數(shù)sendTextMessage()、sendDataMessage()和sendMultipartMessage()作為錨點(diǎn)函數(shù).對(duì)于通過網(wǎng)絡(luò)發(fā)送隱私數(shù)據(jù)的方式,由于Android對(duì)于HTTP網(wǎng)絡(luò)通信提供了httpURLConnection接口和httpclient接口,選取的函數(shù)有DataOutputStream 類的writeBytes()和HttpClient的execute()等函數(shù).
對(duì)源函數(shù)到錨點(diǎn)函數(shù)的數(shù)據(jù)流向的分析判斷,依賴于對(duì)程序結(jié)構(gòu)的分析.源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)之間的路徑可以通過遍歷控制流圖的基本塊得到.路徑生成與污點(diǎn)傳播算法采用孔德光等[10]提出的算法.
路徑生成算法的輸入為源節(jié)點(diǎn)src(源函數(shù))與目標(biāo)節(jié)點(diǎn)tgt(錨點(diǎn)函數(shù)),輸出為src到tgt的路徑.首先識(shí)別源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)所在的基本塊;如果在同一個(gè)基本塊內(nèi),則直接在基本塊內(nèi)尋找從源節(jié)點(diǎn)到目標(biāo)節(jié)點(diǎn)的路徑;如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在同一個(gè)函數(shù)但不在同一個(gè)基本塊中,則尋找該函數(shù)內(nèi)基本塊之間的路徑;如果源節(jié)點(diǎn)和目標(biāo)節(jié)點(diǎn)在不同的函數(shù)體中,則迭代展開函數(shù)調(diào)用,尋找不同函數(shù)調(diào)用間的路徑.
污點(diǎn)傳播過程用于跟蹤污染和未污染數(shù)據(jù)的變化過程.算法的輸入為當(dāng)前語句stmt,輸出為標(biāo)記該條語句中從源數(shù)據(jù)(source)到目的數(shù)據(jù)(target)的污點(diǎn)傳播過程.其標(biāo)記過程如圖2所示,根據(jù)當(dāng)前語句的類型來判定目的數(shù)據(jù)的污染狀態(tài).
圖2 污點(diǎn)傳播算法
2.2.2 語義分析
根據(jù)對(duì)惡意扣費(fèi)應(yīng)用程序的分析發(fā)現(xiàn),其惡意行為的主要表現(xiàn)有:
1) 申請(qǐng)了收發(fā)短信權(quán)限.
2) 向特定號(hào)碼發(fā)送短信.
3) 注冊(cè)監(jiān)聽消息,并屏蔽來自特殊號(hào)碼的短信.
因此,針對(duì)惡意扣費(fèi)行為,采用基于特殊字符串和函數(shù)的語義分析來進(jìn)行檢查.
具體地,針對(duì)惡意發(fā)送訂制服務(wù)短信同時(shí)攔截運(yùn)營(yíng)商回復(fù)短信的行為,對(duì)其進(jìn)行基于語義分析的檢測(cè),算法描述如下:
① 檢查AndroidManifest文件中是否申請(qǐng)了android.permission.RECEIVE_SMS接收短信權(quán)限和android.permission.SEND_SMS發(fā)送短信權(quán)限.
② 在程序中對(duì)發(fā)送短信的API函數(shù)調(diào)用進(jìn)行定位,這些函數(shù)包括sendTextMessage(),sendDataMessage()和sendMultipartMessage().
③ 對(duì)關(guān)鍵函數(shù)調(diào)用的第1個(gè)參數(shù)(發(fā)送信息的目的號(hào)碼)進(jìn)行匹配檢查,看是否為106開頭的數(shù)字.
⑤ 在④中相應(yīng)類的abortBroadcast()函數(shù)的上下文中對(duì)“10086”,“10000”,“10010”和106開頭的特定號(hào)碼進(jìn)行匹配檢查.
本文在處理器為AMD Phenom(tm) Ⅱ X4 970,主頻為3.5 GHz,RAM為4 GB, 操作系統(tǒng)為Windows 7(32位)的計(jì)算機(jī)上進(jìn)行了實(shí)驗(yàn).選取了10個(gè)惡意軟件樣本(編號(hào)1~10),利用本文的檢測(cè)系統(tǒng)對(duì)這些應(yīng)用程序進(jìn)行分析.
利用本文系統(tǒng)對(duì)每個(gè)樣本的AndroidManifest文件進(jìn)行分析,得出每個(gè)樣本所申請(qǐng)的危險(xiǎn)權(quán)限類別,如表2所示.
表2 權(quán)限分析結(jié)果
由表2可看出:
1) 樣本1,3,4,5,6,9都申請(qǐng)了與短信相關(guān)的權(quán)限,而且其中除了樣本3以外都同時(shí)申請(qǐng)了接收短信和發(fā)送短信的權(quán)限,行為分析也進(jìn)一步判定樣本1,4,5,9具有惡意扣費(fèi)行為,表明收、發(fā)短信的權(quán)限與惡意扣費(fèi)行為實(shí)現(xiàn)的相關(guān)性.
2) 所有樣本都申請(qǐng)了與讀取用戶隱私相關(guān)的權(quán)限和與網(wǎng)絡(luò)相關(guān)的權(quán)限,表明這2種權(quán)限是惡意軟件通常需要利用的.
3) 樣本2,7,8,10申請(qǐng)了與自啟動(dòng)相關(guān)的權(quán)限.
對(duì)樣本檢測(cè)出的惡意行為進(jìn)行統(tǒng)計(jì)分析,如表3所示.
表3 行為分析結(jié)果
由表3可看出,在所檢測(cè)的10個(gè)惡意樣本中,樣本1,4,5,9具有惡意扣費(fèi)行為.這個(gè)結(jié)果也與權(quán)限申請(qǐng)情況符合,因?yàn)檫@4個(gè)樣本都同時(shí)申請(qǐng)了接收短信和發(fā)送短信的權(quán)限.
樣本2,3,6,7,8,10檢測(cè)出具有隱私竊取的惡意行為,這6個(gè)樣本都竊取了與手機(jī)信息相關(guān)的隱私,樣本6和8同時(shí)還竊取了地理位置信息.
下面對(duì)檢測(cè)出的一個(gè)樣本zsone.apk進(jìn)行具體分析.
1) 基本信息.名稱為zsone.apk.其MD5值為944cbd53a174dcbb0e1e3d0832cac465.
2) 該軟件申請(qǐng)的危險(xiǎn)權(quán)限.android.permission.INTERNET,android.permission.ACCESS_COARSE_LOCATION,android.permission.RECEIVE_SMS和android.permission.SEND_SMS.
3) 惡意行為信息.檢測(cè)到惡意扣費(fèi)行為.發(fā)送的目標(biāo)號(hào)碼及內(nèi)容為:10621900,“M6307AHD”;10626213,“aAHD”;106691819,“95pAHD”;10665123085,“58#28AHD”.屏蔽的號(hào)碼為:10086,10000,10010,1066133,10655133.
對(duì)其進(jìn)行反編譯得到的代碼中的關(guān)鍵代碼如下所示:
private void sendCM()
{SmsManager.getDefault().sendTextMessage(“10621900”,null,”M6307AHD”,PendingIntent.getBroadcast(this.context,0,new Intext(),0),null);}
private void sendCM()
{SmsManager.getDefault().sendTextMessage(“10626213”,null,”aAHD”,PendingIntent.getBroadcast(this.context,0,new Intext(),0),null);}
…}//以上代碼實(shí)現(xiàn)了向號(hào)碼10621900等發(fā)送惡意扣費(fèi)短信的行為.
try
{String str=ocalSmsMessage.getDisplayOriginatingAddress();
if (("10086".equals(str)) ‖ ("10000".equals(str)) ‖ ("10010".equals(str)) ‖ ("1066133".equals(str)) ‖ ("10655133".equals(str)))
abortBroadcast();
k++;}//以上代碼實(shí)現(xiàn)了攔截來自號(hào)碼10086等的短信的行為.
通過分析上面的反編譯結(jié)果可得出,該樣本可以實(shí)現(xiàn)向特定號(hào)碼發(fā)送訂制扣費(fèi)服務(wù)的短信,并能屏蔽來自特定號(hào)碼的短信,使用戶無法收到服務(wù)提供者的確認(rèn)或通知短信,在用戶不知情的情況下造成惡意扣費(fèi),與檢測(cè)結(jié)果相同.
本文對(duì)現(xiàn)有的智能手機(jī)平臺(tái)惡意軟件檢測(cè)工作進(jìn)行了總結(jié),提出了一種綜合檢測(cè)方法.對(duì)于已檢測(cè)過的APK文件,提取MD5值作為簽名,在處理過程中利用MD5值進(jìn)行快速匹配和判定.對(duì)于未檢測(cè)過的APK文件,根據(jù)對(duì)權(quán)限和惡意行為總結(jié)的規(guī)則來進(jìn)行分析和判定.
本文方法與基于簽名的方法相比,具有可以檢測(cè)出已知惡意軟件變種和未知惡意軟件的優(yōu)勢(shì).與基于異常的檢測(cè)方法相比,更準(zhǔn)確地定義了實(shí)際的惡意行為,而且避免了訓(xùn)練階段的特征選擇問題.
)
[1] IDC. Android marks fourth anniversary since launch with 75.0% market share in third quarter, according to IDC [EB/OL]. (2012-11-01) [2013-01-02]. http://www.idc.com/getdoc.jsp?containerId=prUS23771812.
[2] Enck W, Ongtang M, McDaniel P. On lightweight mobile phone application certification[C]//Proceedingsofthe16thACMConferenceonComputerandCommunicationsSecurity. Chicago, IL, USA, 2009:235-245.
[3] Zhou Yajin, Wang Zhi, Zhou Wu, et al. Hey, you, get off of my market: detecting malicious apps in official and alternative Android markets[C]//Procofthe19thAnnualNetworkandDistributedSystemSecuritySymposium. San Diego, CA, USA: 2012:1-13.
[4] Zhou Wu, Zhou Yajin, Jiang Xuxian, et al. Detecting repackaged smartphone applications in third-party Android marketplaces[C]//ProceedingsoftheSecondACMConferenceonDataandApplicationSecurityandPrivacy. San Antonio, TX, USA, 2012: 317-326.
[5] Schmidt A-D, Bye R, Schmidt H-G, et al. Static analysis of executables for collaborative malware detection on Android[C]//2009IEEEInternationalConferenceonCommunications. Dresden, Germany, 2009:1-5.
[6] Shabtai A, Elovici Y. Applying behavioral detection on Android-based devices[C]//3rdInternationalConferenceonMobileWirelessMiddleware,OperatingSystems,andApplications. Chicago, IL, USA, 2010:235-249.
[7] Shabtai A, Kanonov U, Elovici Y, et al. “Andromaly”: a behavioral malware detection framework for android devices[J].JournalofIntelligentInformationSystems, 2012,38(1):161-190.
[8] Zhao Min, Ge Fangbin, Zhang Tao, et al. AntiMalDroid: an efficient SVM-based malware detection framework for android[C]//2ndInternationalConferenceonInformationComputingandApplications. Qinhuangdao, China, 2011:158-166.
[9] 工業(yè)和信息化部. 移動(dòng)互聯(lián)網(wǎng)惡意代碼描述規(guī)范[EB/OL]. (2011-05-14) [2013-01-02]. http://wenku.baidu.com/view/2978e18ccc22bcd126ff0c90.html.
[10] 孔德光,鄭烇,帥建梅,等.基于污點(diǎn)分析的源代碼脆弱性檢測(cè)技術(shù)[J].小型微型計(jì)算機(jī)系統(tǒng),2009,30(1):78-82.
Kong Deguang, Zheng Quan, Shuai Jianmei, et al. Source code vulnerability detection technology based on taint analysis[J].JournalofChineseComputerSystems, 2009,30(1):78-82. (in Chinese)