一種文件處理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及文件處理,特別涉及一種應(yīng)用安裝文件安全處理方法。
【背景技術(shù)】
[0002] 在移動應(yīng)用領(lǐng)域中,開發(fā)者將應(yīng)用程序提交給應(yīng)用市場,用戶通過應(yīng)用市場下載 應(yīng)用。但是官方市場內(nèi)依然無法避免惡意軟件的存在;安全保障機(jī)制不夠完善,導(dǎo)致惡意軟 件的比例居高不下。其中,嵌入已知代碼和偽裝應(yīng)用安裝文件是主要威脅?,F(xiàn)有的技術(shù)方 案采用反編譯工具或者動態(tài)行為分析工具得到應(yīng)用行為序列,對行為序列進(jìn)行預(yù)處理得到 行為序列特征,通過比較行為序列特征的距離得到應(yīng)用是否被偽裝的量化數(shù)據(jù)。該方法可 以識別應(yīng)用代碼的改變,但是行為序列特征的提取容易受到代碼混淆技術(shù)的影響,因而在 針對實(shí)際問題進(jìn)行分析時(shí)具有一定的局限性。
[0003] 因此,針對相關(guān)技術(shù)中所存在的上述問題,目前尚未提出有效的解決方案。
【發(fā)明內(nèi)容】
[0004] 為解決上述現(xiàn)有技術(shù)所存在的問題,本發(fā)明提出了一種文件處理方法,包括:
[0005] 從安裝文件中選擇預(yù)定義類型的特征文件,所述預(yù)定義類型的特征文件包括界面 描述文件、音頻文件和圖像文件,利用特征提取步驟提取上述特征文件的特征,基于所述特 征,通過比較相似度和預(yù)設(shè)閾值的大小識別安裝文件是否被偽裝。
[0006] 優(yōu)選地,將應(yīng)用安裝文件描述為集合app = {exe ;lib ;profile ;image ;audio ; etc},其中exe表示安裝文件中的可執(zhí)行字節(jié)碼,lib表示程序中的原生代碼庫,profile表 示用于程序數(shù)據(jù)存儲和布局描述的XML文檔,image表示程序中的圖像文件,etc表示程序 中的其他文件。
[0007] 優(yōu)選地,在特征提取過程中,當(dāng)提取圖像文件的特征時(shí),
[0008] 首先縮小安裝文件中的圖像尺寸,并將彩色圖像轉(zhuǎn)換為灰度圖像,計(jì)算平均灰度 級,根據(jù)相似度哈希算法提取圖像內(nèi)容特征,根據(jù)圖像的亮度和構(gòu)圖為每張圖像生成一個(gè) 字符串作為圖像的指紋,根據(jù)指紋之間的近似度確定圖像之間的相似度;
[0009] 其中縮小圖像尺寸是將圖像縮小到KXK像素,用于消除圖像分辨率對相似度比 較的干擾、去除圖像尺寸和圖像比例的差異,只保留結(jié)構(gòu)、亮度等基本信息,K值設(shè)為128 ; 并且其中,圖像內(nèi)容相似度比較包括計(jì)算指紋的漢明距離。
[0010] 在特征提取過程中,當(dāng)提取以XML文件格式存儲的界面描述文件的特征時(shí),
[0011] XML文件相似度比較包括結(jié)構(gòu)相似度和內(nèi)容相似度,將XML文件轉(zhuǎn)換為樹結(jié)構(gòu),通 過比較樹的差異得到XML結(jié)構(gòu)差異,通過比較樹的節(jié)點(diǎn)差異得到XML內(nèi)容差異,在應(yīng)用中界 面描述文件是按照預(yù)定規(guī)則存儲,根據(jù)界面描述文件說明,得到結(jié)構(gòu)名列表;然后根據(jù)結(jié)構(gòu) 名列表提取結(jié)構(gòu)特征,過濾界面描述文件內(nèi)的結(jié)構(gòu)特征和符號信息,得到內(nèi)容信息;最終對 結(jié)構(gòu)和內(nèi)容信息計(jì)算哈希值,得到結(jié)構(gòu)特征值和內(nèi)容特征,界面描述文件經(jīng)過處理后得到 一個(gè)哈希數(shù)組,從而將界面描述文件的內(nèi)容相似度轉(zhuǎn)化為比較哈希數(shù)組的相似度。
[0012] 在特征提取過程中,當(dāng)提取音頻文件的特征時(shí),
[0013] 采用文件哈希值作為音頻文件特征,輸入音頻文件流S,并預(yù)設(shè)常量字符串M,計(jì) 算輸入音頻文件流S的MD5哈希值Hl,然后將輸入音頻文件流S與預(yù)設(shè)常量字符串M相加, 并計(jì)算相加結(jié)果的MD5哈希值H2,對Hl和H2進(jìn)行求和,得到最終哈希值,作為音頻文件的 內(nèi)容特征。
[0014] 本發(fā)明相比現(xiàn)有技術(shù),具有以下優(yōu)點(diǎn):
[0015] 本發(fā)明提出了一種文件處理,通過提取應(yīng)用安裝文件內(nèi)容特征進(jìn)行識別,且可以 有效抵抗文件和目錄的偽裝和惡意修改帶來的干擾,利用特征提取過程縮小文件內(nèi)容特征 規(guī)模,提尚運(yùn)算效率。
【附圖說明】
[0016] 圖1是根據(jù)本發(fā)明實(shí)施例的文件處理方法的流程圖。
【具體實(shí)施方式】
[0017] 下文與圖示本發(fā)明原理的附圖一起提供對本發(fā)明一個(gè)或者多個(gè)實(shí)施例的詳細(xì)描 述。結(jié)合這樣的實(shí)施例描述本發(fā)明,但是本發(fā)明不限于任何實(shí)施例。本發(fā)明的范圍僅由權(quán) 利要求書限定,并且本發(fā)明涵蓋諸多替代、修改和等同物。在下文描述中闡述諸多具體細(xì)節(jié) 以便提供對本發(fā)明的透徹理解。出于示例的目的而提供這些細(xì)節(jié),并且無這些具體細(xì)節(jié)中 的一些或者所有細(xì)節(jié)也可以根據(jù)權(quán)利要求書實(shí)現(xiàn)本發(fā)明。
[0018] 圖1是根據(jù)本發(fā)明實(shí)施例的文件處理方法流程圖。提出了一種應(yīng)用程序安裝文件 的偽裝識別方法。通過分析應(yīng)用安裝文件屬性,選擇文件類型,提取內(nèi)容特征,并根據(jù)文件 類型采用不同的內(nèi)容特征提取算法,對其相似度賦予權(quán)值,從而提高應(yīng)用程序偽裝識別的 準(zhǔn)確性和運(yùn)算效率。
[0019] 應(yīng)用安裝文件以壓縮文件的形式存在,內(nèi)部以目錄的形式組織存放可執(zhí)行字節(jié)碼 文件、證書文件和資源文件,其中可執(zhí)行字節(jié)碼存儲在類文件中;證書文件是應(yīng)用的簽名文 件;資源文件包括數(shù)據(jù)庫文件、函數(shù)庫文件、XML文件、圖像文件等。
[0020] 在一個(gè)實(shí)施例中,將應(yīng)用安裝文件描述為集合app = {exe ;lib ;profile ;image ; audio ;etc},其中exe表示安裝文件中的可執(zhí)行字節(jié)碼,lib表示程序中的原生代碼庫, profile表示用于程序數(shù)據(jù)存儲和布局描述的XML文檔,image表示程序中的圖像文件, etc表示程序中的其他文件。根據(jù)集合app的描述可知:本發(fā)明的目標(biāo)是根據(jù)exe,lib, profile,image等相關(guān)文件的內(nèi)容特征,執(zhí)行應(yīng)用程序安裝文件的偽裝識別。
[0021] 為了準(zhǔn)確、有效地通過文件內(nèi)容分析安裝文件是否被偽裝,并符合實(shí)際的識別需 求,本發(fā)明提出的方法著力達(dá)到以下三個(gè)目標(biāo):1)適應(yīng)大數(shù)據(jù)運(yùn)算,應(yīng)用市場內(nèi)的數(shù)量大、 增長快,能快速處理大量數(shù)據(jù)的系統(tǒng)框架是適應(yīng)大數(shù)據(jù)運(yùn)算的基礎(chǔ);2)選擇合適的特征文 件,安裝文件內(nèi)有上千種文件類型,提取哪些文件的內(nèi)容直接影響偽裝識別的效率和準(zhǔn)確 性;3)高效的特征提取和準(zhǔn)確的特征算法,提取文件內(nèi)容特征的速度決定了系統(tǒng)效率,同 時(shí)準(zhǔn)確的特征算法是保證系統(tǒng)能夠正確