軟體安裝包的安全檢測方法、客戶端、伺服器以及系統的製作方法
2023-08-06 21:54:21
軟體安裝包的安全檢測方法、客戶端、伺服器以及系統的製作方法
【專利摘要】本發明提供了一種軟體安裝包的安全檢測方法、客戶端、伺服器以及系統。其中軟體安裝包的安全檢測方法包括:獲取由用戶上傳的軟體安裝包;使用預置的特徵庫對軟體安裝包進行特徵匹配,其中特徵庫中預先保存有多項特徵信息,每項特徵信息標識了軟體安裝包執行一種安全加固方法後的至少一種特徵;按照特徵匹配的結果生成軟體安裝包的檢測結果。使用本發明的方案,通過對軟體安裝包的分析,得到該軟體安裝包是否已經進行過安全加固以及進行安全加固的類型,從而提醒用戶根據安全加固的分析結果提高軟體安裝包的安全性。
【專利說明】軟體安裝包的安全檢測方法、客戶端、伺服器以及系統
【技術領域】
[0001] 本發明涉及信息安全領域,特別是涉及一種軟體安裝包的安全檢測方法、客戶端、 伺服器以及系統。
【背景技術】
[0002] 安卓(Android)平臺發展迅速,已經逐漸成為了移動終端的最普及的作業系統, 同時基於其中的軟體應用數目也十分巨大,與其他移動終端作業系統相比,安卓系統為應 用開發者提供了更多的功能接口,其中很多系統底層接口,提高了系統的可擴展性,但同時 也為惡意軟體提供了便利,針對安卓系統的木馬等惡意軟體也更容易被實現,目前已有的 針對安卓系統的惡意軟體可以通過偽裝的方式,騙取用戶安裝並授予一定的權限,之後濫 用這些權限在後臺執行一些特定行為,包括竊取用戶隱私騙取資費等行為。然而與之並生 的安全問題卻始終沒有得到良好的解決,安全威脅越來越多,且威脅程度也在逐步加深,無 論對開發者還是用戶都帶來了不良的影響。
[0003] 而且對於一些正常的安卓系統應用,也存在通過非法拷貝、逆向工程、反編譯、調 試、破解、二次打包、內存截取等手段來威脅安卓系統的安全,不僅危害了使用用戶,也給正 常應用開發者造成嚴重的損害。
[0004] 基於以上問題,現有技術中出現了多種安卓應用的安全加固方法,通過對安卓應 用進行加密、防反編譯、防代碼混淆等加固措施,然而由於加固方法所採用的方案不同,力口 固的效果也不同,有些加固後並不能達到防止暴力破解的效果,而且由於安卓系統版本和 硬體處理器不同,也會導致加固後的應用兼容性不高的問題。但是現有技術中缺乏對安卓 軟體安裝包加固前後的安全檢測方法。
【發明內容】
[0005] 鑑於上述問題,提出了本發明以便提供一種克服上述問題或者至少部分地解決上 述問題的軟體安裝包的安全檢測客戶端、伺服器以及系統和相應的軟體安裝包的安全檢測 方法。
[0006] 本發明一個進一步的目的是要加強安卓軟體安裝包被逆向工程破解,保護開發者 的利益。
[0007] 本發明另一個進一步的目的是要提高軟體安裝包安全性。
[0008] 依據本發明的一個方面,提供了一種軟體安裝包的安全檢測方法。該軟體安裝包 的安全檢測方法包括:獲取由用戶上傳的軟體安裝包;使用預置的特徵庫對軟體安裝包進 行特徵匹配,其中特徵庫中預先保存有多項特徵信息,每項特徵信息標識了軟體安裝包執 行一類安全加固方法後的至少一種特徵;按照特徵匹配的結果生成軟體安裝包的檢測結 果。
[0009] 可選地,獲取由用戶上傳的軟體安裝包包括:接收由用戶通過指定網址的網頁上 傳的軟體安裝包和軟體安裝包的開發信息;匹配保存軟體安裝包和開發信息,開發信息包 括以下任一種或多種:軟體安裝包的名稱、版本、應用功能描述、開發者信息。
[0010] 可選地,使用預置的特徵庫對軟體安裝包進行特徵匹配包括:對軟體安裝包進行 解包;對解包出的文件進行掃描,以確定與解包出文件匹配的特徵庫中的特徵信息。
[0011] 可選地,每項特徵信息包括:安全加固過程中加入的函數的信息和/或動態連結 庫的信息。
[0012] 可選地,按照特徵匹配的結果生成軟體安裝包的檢測結果包括:根據匹配出的特 徵信息確定軟體安裝包所進行的安全加固的類型;按照確定出的安全加固的類型生成檢測 結果,檢測結果包括以下至少一項內容:加固建議、文件保護檢測結果、代碼混淆檢測結果、 防二次打包檢測結果、原始碼加密檢測結果。
[0013] 可選地,預置的特徵庫的生成步驟包括:分析安全加固方法執行過程中對軟體安 裝包的代碼的修改,以及該安全加固方法對軟體安裝包的加固項目;提取修改代碼的特徵, 與加固項目匹配進行保存為特徵庫的特徵信息。
[0014] 根據本發明的另一方面,提供了一種軟體安裝包的安全檢測伺服器。該安全檢測 伺服器包括:安裝包獲取模塊,配置為獲取由用戶上傳的軟體安裝包;特徵匹配模塊,配置 為使用預置的特徵庫對軟體安裝包進行特徵匹配,其中特徵庫中預先保存有多項特徵信 息,每項特徵信息標識了軟體安裝包執行一類安全加固方法後的至少一種特徵;結果生成 模塊,配置為按照特徵匹配的結果生成軟體安裝包的檢測結果,並下發給安全檢測客戶端。
[0015] 可選地,安裝包獲取模塊還配置為:接收由用戶通過指定網址的網頁上傳的軟體 安裝包和軟體安裝包的開發信息;匹配保存軟體安裝包和開發信息,開發信息包括以下任 一種或多種:軟體安裝包的名稱、版本、應用功能描述、開發者信息。
[0016] 可選地,特徵匹配模塊還配置為:對軟體安裝包進行解包;對解包出的文件進行 掃描,以確定與文件匹配的特徵庫中的特徵信息,每項特徵信息包括:安全加固過程中加入 的函數的信息和/或動態連結庫的信息。
[0017] 可選地,結果生成模塊還配置為:根據匹配出的特徵信息確定軟體安裝包所進行 的安全加固的類型;按照確定出的安全加固的類型生成檢測結果,檢測結果包括以下至少 一項內容:加固建議、文件保護檢測結果、代碼混淆檢測結果、防二次打包檢測結果、原始碼 加密檢測結果。
[0018] 可選地,以上軟體安裝包的安全檢測伺服器還包括特徵庫生成模塊,配置為:分析 安全加固方法執行過程中對軟體安裝包的代碼的修改,以及該安全加固方法對軟體安裝包 的加固項目;提取修改代碼的特徵,與加固項目匹配進行保存為所述特徵庫的特徵信息。
[0019] 特別地,本發明又提供了一種軟體安裝包的安全檢測方法。該軟體安裝包的安全 檢測方法包括:向安全檢測伺服器上傳軟體安裝包以及軟體安裝包的開發信息;接收安全 檢測伺服器下發的軟體安裝包的檢測結果,檢測結果由安全檢測伺服器使用預置的特徵庫 對軟體安裝包進行特徵匹配得出;根據檢測結果生成安全分析報告。
[0020] 可選地,向安全檢測伺服器上傳軟體安裝包以及軟體安裝包的開發信息包括:通 過指定網址的網頁上傳的軟體安裝包,並提交軟體安裝包的開發信息,開發信息包括以下 任一種或多種:軟體安裝包的名稱、版本、應用功能描述、開發者信息。
[0021] 可選地,根據檢測結果生成安全分析報告包括:解析檢測結果,以確定軟體安裝包 的安全加固的類型;按照安全加固的類型對軟體安裝包進行安全評分;生成包含安全加固 的類型以及安全評分的安全分析報告。
[0022] 可選地,在確定軟體安裝包的安全加固的類型之後還包括:按照安全加固的類型 生成對軟體安裝包的安全建議;將安全建議添加至安全分析報告中,並提供進行安全加固 的操作選項。
[0023] 根據本發明的一方面,又提供了一種軟體安裝包的安全檢測客戶端。該安全檢測 客戶端包括:安裝包上傳模塊,配置為向安全檢測伺服器上傳軟體安裝包以及軟體安裝包 的開發信息;接收模塊,配置為接收安全檢測伺服器下發的軟體安裝包的檢測結果,檢測結 果由安全檢測伺服器使用預置的特徵庫對軟體安裝包進行特徵匹配得出;報告生成模塊, 配置為根據檢測結果生成安全分析報告。
[0024] 可選地,安裝包上傳模塊還配置為:通過指定網址的網頁上傳的軟體安裝包,並提 交軟體安裝包的開發信息,開發信息包括以下任一種或多種:軟體安裝包的名稱、版本、應 用功能描述、開發者信息。
[0025] 可選地,報告生成模塊包括:解析子模塊,配置為解析檢測結果,以確定軟體安裝 包的安全加固的類型;評分子模塊,配置為按照安全加固的類型對軟體安裝包進行安全評 分;報告輸出子模塊,配置為生成包含安全加固的類型以及安全評分的安全分析報告。
[0026] 可選地,報告生成模塊還包括:安全建議子模塊,配置為按照安全加固的類型生成 對軟體安裝包的安全建議,將安全建議添加至安全分析報告中,並提供進行安全加固的操 作選項。
[0027] 根據本發明的另一方面,又提供了一種軟體安裝包的安全檢測系統。該安全檢測 系統包括以上介紹的任一種安全檢測伺服器和以上介紹的任一種的安全檢測客戶端,安全 檢測伺服器與安全檢測客戶端網絡連接。
[0028] 本發明的技術方案,可以通過對軟體安裝包的分析,得到該軟體安裝包是否已經 進行過安全加固以及進行安全加固的類型,從而提醒用戶根據安全加固的分析結果提高軟 件安裝包的安全性。
[0029] 進一步地,本發明的方案利用客戶端上傳待評價的軟體安裝包,由伺服器完成軟 件安裝包的安全加固分析,生成檢測結果,以便軟體開發者採取下一步措施,無需軟體開發 者進行過多的操作,用戶體驗高。
[0030] 上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段, 而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠 更明顯易懂,以下特舉本發明的【具體實施方式】。
[0031] 根據下文結合附圖對本發明具體實施例的詳細描述,本領域技術人員將會更加明 了本發明的上述以及其他目的、優點和特徵。
【專利附圖】
【附圖說明】
[0032] 通過閱讀下文優選實施方式的詳細描述,各種其他的優點和益處對於本領域普通 技術人員將變得清楚明了。附圖僅用於示出優選實施方式的目的,而並不認為是對本發明 的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0033] 圖1是根據本發明一個實施例的軟體安裝包的安全檢測系統的示意圖;
[0034] 圖2是根據本發明一個實施例的軟體安裝包的安全檢測伺服器100的示意圖;
[0035] 圖3是根據本發明一個實施例的軟體安裝包的安全檢測客戶端200的示意圖;
[0036] 圖4是根據本發明一個實施例的軟體安裝包的安全檢測方法的示意圖;
[0037] 圖5是根據本發明一個實施例的另一種軟體安裝包的安全檢測方法的示意圖;
[0038] 圖6是根據本發明一個實施例的軟體安裝包的安全檢測方法中上傳安裝包的效 果圖;
[0039] 圖7是根據本發明一個實施例的軟體安裝包的安全檢測方法中安全分析報告的 第一效果圖;
[0040] 圖8是根據本發明一個實施例的軟體安裝包的安全檢測方法中安全分析報告的 第二效果圖;以及
[0041] 圖9是根據本發明一個實施例的軟體安裝包的安全檢測方法中安全分析報告的 第三效果圖。
【具體實施方式】
[0042] 在此提供的算法和顯示不與任何特定計算機、虛擬系統或者其它設備固有相關。 各種通用系統也可以與基於在此的示教一起使用。根據上面的描述,構造這類系統所要求 的結構是顯而易見的。此外,本發明也不針對任何特定程式語言。應當明白,可以利用各種 程式語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發 明的最佳實施方式。
[0043]圖1是根據本發明一個實施例的軟體安裝包的安全檢測系統的示意圖。軟體安裝 包的安全檢測系統一般性地可包括:通過網絡連接的安全檢測伺服器100和安全檢測客戶 端 200。
[0044] 用戶通過安全檢測客戶端200將待檢測的軟體安裝包上傳至安全檢測伺服器 100,由安全檢測伺服器100對上傳的軟體安裝包進行檢測後,將檢測結果返回給安全檢測 客戶端200,從而生成分析報告,並可以進一步提供加固建議,以便用戶採用相應措施。
[0045] 圖2是根據本發明一個實施例的軟體安裝包的安全檢測伺服器100的示意圖。該 安全檢測伺服器100 -般性地可以包括:安裝包獲取模塊110、特徵匹配模塊120、結果生成 模塊130、特徵庫生成模塊140,以上模塊可以根據本實施例的安全檢測伺服器100的功能 靈活進行配置。
[0046] 在以上模塊中,安裝包獲取模塊110獲取由用戶上傳的軟體安裝包。例如,安裝 包獲取模塊110可以收由用戶通過指定網址的網頁上傳的軟體安裝包和軟體安裝包的開 發信息;匹配保存軟體安裝包和開發信息,開發信息包括以下任一種或多種:軟體安裝包 的名稱、版本、應用功能描述、開發者信息。為便於用戶操作,可以採用瀏覽器/伺服器模 式(Browser/Server,瀏覽器/伺服器模式),從而統一了客戶端,將核心部分集中到伺服器 上,簡化了系統的開發、維護和使用。因此,在一種可選實施例中,安裝包獲取模塊110可以 利用web (網頁)方式接收待評價的軟體安裝包以及該軟體安裝包的開發信息。
[0047] 另外安裝包獲取模塊110獲取軟體包並不局限於web方式,也可以在用戶側安裝 專門的客戶端,用於上傳待檢測的軟體安裝包。本實施例可以根據具體使用環境領過或選 擇獲取模塊110的工作模式。
[0048] 特徵匹配模塊120使用預置的特徵庫對軟體安裝包進行特徵匹配,其中特徵庫中 預先保存有多項特徵信息,每項特徵信息標識了軟體安裝包執行一類安全加固方法後的至 少一種特徵。以上特徵信息可以包括安全加固過程中加入的函數的信息和/或動態連結庫 的信息,這些信息可以通過對應用常見的加固方法後的安裝包進行分析得出並保存。
[0049] 特徵匹配模塊120的一種可選流程為對軟體安裝包進行解包;對解包出的文件進 行掃描,以確定與文件匹配的特徵庫中的特徵信息。特徵庫中包括多類加固方法遺留的特 徵信息。例如軟體安裝包在應用不同種類的加固方法,可能會在代碼中添加相應的函數,或 者在軟體安裝包添加相應的文件,這些函數和文件就構成了軟體加固的特徵信息,從而可 以通過這些特徵信息對應得出進行的加固方法的種類。
[0050] 結果生成模塊130按照特徵匹配的結果生成軟體安裝包的檢測結果,並下發給安 全檢測客戶端200。一種可選的方式為結果生成模塊130根據匹配出的特徵信息確定軟體 安裝包所進行的安全加固的類型;按照確定出的安全加固的類型生成檢測結果,檢測結果 包括以下至少一項內容:加固建議、文件保護檢測結果、代碼混淆檢測結果、防二次打包檢 測結果、原始碼加密檢測結果。
[0051] 特徵庫生成模塊140可以分析安全加固方法執行過程中對軟體安裝包的代碼的 修改,以及該安全加固方法對軟體安裝包的加固項目;提取修改代碼的特徵,與所述加固項 目匹配進行保存為所述特徵庫的特徵信息。
[0052] 安全加固方法的種類是有限的,有些安全加固方法採用的技術也有相似之處,因 此,為實現本實施例的軟體安裝包的檢測方法,可以預先搜集已有的所有的安全加固方法, 並進行分析,提取出不同加固方法對代碼的修改內容,包括添加的函數、變量、文件,形成特 徵信息。相應地,每種安全加固方法對軟體安裝包的的加固項目也是確定的,例如有些加固 方法可能對軟體安裝包的資源進行了保護,防止對資源進行篡改和竊取,而另一些則沒有 進行資源保護,僅僅對原始碼進行防反編譯包括,此時可以將不同方法執行後的特徵與其 進行加固的項目匹配保存如特徵庫。在分析軟體安裝包時,可以通過對軟體安裝包查詢是 否存在對應的特徵,確定其所使用的加固方案和所加固的項目,從而給出相應的加固建議。
[0053] 本實施例的安全檢測客戶端200與上述安全檢測伺服器100網絡連接,以上傳待 檢測軟體安裝包,並向用戶輸出安裝包的檢測結果。圖3是根據本發明一個實施例的軟體 安裝包的安全檢測客戶端200的示意圖。該安全檢測客戶端200 -般性地可以包括:安裝 包上傳模塊210、接收模塊220、報告生成模塊230,其中報告生成模塊230可以進一步設置 有解析子模塊231、評分子模塊232、報告輸出子模塊233、安全建議子模塊234中的一個或 多個。
[0054] 安裝包上傳模塊210向安全檢測伺服器100上傳待檢測的軟體安裝包以及軟體安 裝包的開發信息,上傳的方式可以通過指定網址的網頁上傳,通過網頁填寫並提交軟體安 裝包的開發信息。開發信息包括以下任一種或多種:軟體安裝包的名稱、版本、應用功能描 述、開發者信息。
[0055] 安全檢測伺服器100對安裝包上傳模塊210上傳的軟體安裝包使用預置的特徵庫 對軟體安裝包進行特徵匹配後,得出檢測結果並下發,接收模塊220接收安全檢測伺服器 100下發的軟體安裝包的檢測結果。
[0056] 報告生成模塊230根據檢測結果生成安全分析報告,以供軟體安裝包的開發者根 據該安全分析報告了解加固風險和破解隱患,從而可以採取進一步措施。報告生成模塊230 的一種結構為包括解析子模塊231、評分子模塊232、報告輸出子模塊233、安全建議子模塊 234中的一個或多個。
[0057] 解析子模塊231解析接收到的檢測結果,以確定軟體安裝包的安全加固的類型, 評分子模塊232按照安全加固的類型對軟體安裝包進行安全評分;報告輸出子模塊233生 成包含安全加固的類型以及安全評分的安全分析報告。例如可以安全分析報告中可以將可 執行文件的保護檢測結果、代碼混淆檢測結果、防二次打包檢測結果、原始碼加密檢測結果 分類進行評分。
[0058] 另外,安全建議子模塊234還可以按照安全加固的類型生成對軟體安裝包的安全 建議,將安全建議添加至安全分析報告中,並提供進行安全加固的操作選項。例如對安全檢 測得分較低的軟體安裝包,提醒用戶進行加固保護,並提供進行安全加固的操作選項。
[0059] 以上安全檢測客戶端200可以包括個人電腦、平板電腦、智慧型手機等具有上傳和 顯示功能的終端。
[0060] 本發明實施例還提供了軟體安裝包的安全檢測方法,該軟體安裝包的安全檢測方 法可以由以上實施例介紹的任意一種軟體安裝包的安全檢測客戶端200或安全檢測服務 器100來執行,以提高安卓軟體安裝包的安全性,防止被暴力破解。圖4是根據本發明一個 實施例的軟體安裝包的安全檢測方法的示意圖,該軟體安裝包的安全檢測方法可由以上介 紹的安全檢測伺服器100來執行,該軟體安裝包的安全檢測方法包括以下步驟:
[0061] 步驟S402,獲取由用戶上傳的軟體安裝包;
[0062] 步驟S404,使用預置的特徵庫對軟體安裝包進行特徵匹配;
[0063] 步驟S406,按照特徵匹配的結果生成軟體安裝包的檢測結果。
[0064] 以上步驟中特徵庫中預先保存有多項特徵信息,每項特徵信息標識了軟體安裝包 執行一類安全加固方法後的至少一種特徵。這些特徵信息可以對現有的加固方法進行測試 分析得出,可以包括安全加固過程中加入的函數的信息和/或動態連結庫的信息。一般而 言,不同加固方法加入的函數以及動態連結庫(.so文件),有些還會增加其他文件,這些加 入的函數、文件的信息可以構成軟體加固的特徵,由於不同種類的加固方法遺留的特徵不 同,因此可以利用這些加固過程中產生的改變作為特徵信息,並進行採集總結,最終生成特 徵庫。然後利用特徵庫中已有的特徵與待檢的軟體安裝包進行特徵匹配,得出該軟體安裝 包是否經過加固以及所採用的加固方法,從而檢測軟體安裝包的防破解能力。
[0065] 具體地,預置的特徵庫的生成步驟可以包括:分析安全加固方法執行過程中對軟 件安裝包的代碼的修改,以及該安全加固方法對軟體安裝包的加固項目;提取修改代碼的 特徵,與加固項目匹配進行保存為所述特徵庫的特徵信息。特徵庫可以根據最新的安全加 固方法的變化進行更新,以確保特徵庫的準確性。
[0066] 步驟S402可以採用web方式進行數據獲取,例如一種可選流程為:接收由用戶通 過指定網址的網頁上傳的軟體安裝包和軟體安裝包的開發信息;匹配保存軟體安裝包和開 發信息,開發信息包括以下任一種或多種:軟體安裝包的名稱、版本、應用功能描述、開發者 信息。這些開發者信息可以用於對軟體開發包進行驗證。在步驟S402之後,需要對上傳的 軟體安裝包進行安全性掃描,確認軟體安裝包不包括木馬或其他惡意程序,確保不對含有 惡意成分的軟體安裝進行保護。
[0067] 步驟S404的一種可選流程為:對軟體安裝包進行解包;對解包出的文件進行掃 描,以確定與解包出文件匹配的特徵庫中的特徵信息。掃描的過程可以對文件名、代碼進行 掃描,查找代碼中是否包括與特徵庫中特徵信息匹配的加固函數或者是否包括與特徵庫中 特徵信息匹配的加固文件,以得出軟體安裝包中與特徵庫中的特徵信息匹配的特徵。
[0068] 另外,步驟S406還可以根據匹配出的特徵信息確定軟體安裝包所進行的安全加 固的類型;按照確定出的安全加固的類型生成檢測結果,檢測結果包括以下至少一項內容: 加固建議、文件保護檢測結果、代碼混淆檢測結果、防二次打包檢測結果、原始碼加密檢測 結果。
[0069] 本實施例還提供了一種由安全檢測客戶端200執行的軟體安裝包的安全檢測方 法,圖5是根據本發明一個實施例的另一種軟體安裝包的安全檢測方法的示意圖,該安全 檢測方法包括以下步驟:
[0070] 步驟S502,向安全檢測伺服器上傳軟體安裝包以及軟體安裝包的開發信息;
[0071] 步驟S504,接收安全檢測伺服器下發的軟體安裝包的檢測結果;
[0072] 步驟S506,根據檢測結果生成安全分析報告。
[0073] 在以上步驟中,檢測結果由安全檢測伺服器100執行步驟S402至步驟S406的流 程,使用預置的特徵庫對軟體安裝包進行特徵匹配得出。
[0074] 相應地,也可以向安全檢測伺服器上傳軟體安裝包以及軟體安裝包的開發信息包 括:通過指定網址的網頁上傳的軟體安裝包,並提交軟體安裝包的開發信息,開發信息包括 以下任一種或多種:軟體安裝包的名稱、版本、應用功能描述、開發者信息。圖6是根據本發 明一個實施例的軟體安裝包的安全檢測方法中上傳安裝包的效果圖,用戶通過網頁或其他 平臺上傳軟體安裝包時,會展示如圖6所示的界面,在用戶點擊"上傳"按鈕後,會展開本地 目錄供用戶選擇待檢測的軟體安裝包,輸入框中相應顯示上傳的軟體安裝包的包名,"上傳 失敗常見問題及解決辦法"的連結可將用戶的界面引導至常見問題的介紹頁面,用於用戶 自行解決上傳過程中出現的問題,例如網絡不通、上傳停止或者其他有關加固的問題。如果 點擊"立即加固"會彈出新頁面,將用戶引導到加固保加固頁面。此外,還可以進一步增加 上傳進度、檢測進度等狀態信息的展示功能。
[0075] 步驟S504可以首先解析檢測結果,以確定軟體安裝包的安全加固的類型,然後按 照安全加固的類型對軟體安裝包進行安全評分,從而生成包含安全加固的類型以及安全評 分的安全分析報告。安全分析報告可以包括以下內容:加固建議、文件保護檢測結果、代碼 混淆檢測結果、防二次打包檢測結果、原始碼加密檢測結果。其中,加固建議可以按照安全 加固的類型生成對軟體安裝包的安全建議;將安全建議添加至安全分析報告中,並提供進 行安全加固的操作選項。
[0076] 圖7至圖9分別是根據本發明一個實施例的軟體安裝包的安全檢測方法中安全分 析報告的三個效果圖,如圖,在用戶打開安全分析報告的詳情頁後,可以展開具體的評分項 和檢測結果,以供用戶查看具體得分項情況,其中圖7示出了軟體安裝包未進行任何安全 加固措施的安全分析報告,其中,DEX(安卓系統上可執行文件的類型)文件保護檢測、代碼 混淆檢測、防二次打包檢測、原始碼加密檢測各項的結果均為未保護,應用安全評分為〇,因 此給出的安全建議為:安全檢測得分較低,應用極易被反編譯/破解,建議立即進行加固。 如果用戶點擊"立即加固"的按鈕,可以直接加載加固應用列表,對可以加固的應用直接提 交加固。以上檢測結果的項目與軟體安裝包進行過的加固方法對應,一般確定出其使用的 安全加固方法,就可以對應的所保護的項目。
[0077] 圖8示出了對軟體安裝包進行部分加固措施的安全分析報告,例如根據該軟體安 裝包中包含的加固特徵對應得出了其所進行的加固方法,而且該加固方法僅是針對代碼混 淆檢測和防二次打包檢測兩個項目進行了加固處理,但是該類加固方法對DEX文件保護檢 測和原始碼加密檢測兩項未進行加密。在得出以上檢測結果後,可以給出應用總體安全評 分為40分,因此給出的安全建議為:應用核心文件未作保護,原始碼有洩露風險,建議立即 進行加固保護,如果用戶點擊"立即加固"的按鈕,可以將該應用直接提交加固。
[0078] 圖9示出了對軟體安裝包進行完整加固措施的安全分析報告,確定該軟體安裝包 所使用的加固方法對所有檢測項目均已進行了保護,因此應用總體安全評分為1〇〇分,因 此給出的安全建議為:已經完成安全保護。
[0079] 以上圖中示出的保護類型可以根據反編譯和破解的手段進行調整,以確保軟體安 裝包的安全性。
[0080] 使用本實施例的方法,可以通過對軟體安裝包的分析,以得到該軟體安裝包是否 已經進行過安全加固以及進行安全加固的類型,從而提醒用戶根據安全加固的分析結果提 高軟體安裝包的安全性,無需軟體開發者進行過多的操作,用戶體驗高。
[0081] 在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施 例可以在沒有這些具體細節的情況下實踐。在一些實例中,並未詳細示出公知的方法、結構 和技術,以便不模糊對本說明書的理解。
[0082] 類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在 上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施 例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保 護的本發明要求比在每個權利要求中所明確記載的特徵更多的特徵。更確切地說,如下面 的權利要求書所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此, 遵循【具體實施方式】的權利要求書由此明確地併入該【具體實施方式】,其中每個權利要求本身 都作為本發明的單獨實施例。
[0083] 本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地 改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模塊或單 元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或 子組件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任 何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特徵以及如此公開 的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴 隨的權利要求、摘要和附圖)中公開的每個特徵可以由提供相同、等同或相似目的的替代 特徵來代替。
[0084] 此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例 中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的 範圍之內並且形成不同的實施例。例如,在權利要求書中,所要求保護的實施例的任意之一 都可以以任意的組合方式來使用。
[0085] 本發明的各個部件實施例可以以硬體實現,或者以在一個或者多個處理器上運行 的客戶端模塊實現,或者以它們的組合實現。本領域的技術人員應當理解,可以在實踐中使 用微處理器或者數位訊號處理器(DSP)來實現根據本發明實施例的軟體安裝包的安全檢 測伺服器和安全檢測客戶端中的一些或者全部部件的一些或者全部功能。本發明還可以實 現為用於執行這裡所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程 序和電腦程式產品)。這樣的實現本發明的程序可以存儲在計算機可讀介質上,或者可以 具有一個或者多個信號的形式。這樣的信號可以從網際網路網站上下載得到,或者在載體信 號上提供,或者以任何其他形式提供。
[0086] 應該注意的是上述實施例對本發明進行說明而不是對本發明進行限制,並且本領 域技術人員在不脫離所附權利要求的範圍的情況下可設計出替換實施例。在權利要求中, 不應將位於括號之間的任何參考符號構造成對權利要求的限制。單詞"包含"不排除存在 未列在權利要求中的元件或步驟。位於元件之前的單詞"一"或"一個"不排除存在多個這 樣的元件。本發明可以藉助於包括有若干不同元件的硬體以及藉助於適當編程的計算機來 實現。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬體 項來具體體現。單詞第一、第二、以及第三等的使用不表示任何順序。可將這些單詞解釋為 名稱。
[0087] 至此,本領域技術人員應認識到,雖然本文已詳盡示出和描述了本發明的多個示 例性實施例,但是,在不脫離本發明精神和範圍的情況下,仍可根據本發明公開的內容直接 確定或推導出符合本發明原理的許多其他變型或修改。因此,本發明的範圍應被理解和認 定為覆蓋了所有這些其他變型或修改。
[0088] 本發明實施例還提供了 A1. -種軟體安裝包的安全檢測方法,包括:
[0089] 獲取由用戶上傳的軟體安裝包;
[0090] 使用預置的特徵庫對所述軟體安裝包進行特徵匹配,其中所述特徵庫中預先保存 有多項特徵信息,每項所述特徵信息標識了軟體安裝包執行一類安全加固方法後的至少一 種特徵;
[0091] 按照特徵匹配的結果生成所述軟體安裝包的檢測結果。
[0092] A2.根據A1所述的方法,其中,獲取由用戶上傳的軟體安裝包包括:
[0093] 接收由用戶通過指定網址的網頁上傳的軟體安裝包和所述軟體安裝包的開發信 息;
[0094] 匹配保存所述軟體安裝包和所述開發信息,所述開發信息包括以下任一種或多 種:所述軟體安裝包的名稱、版本、應用功能描述、開發者信息。
[0095] A3.根據A1所述的方法,其中,使用預置的特徵庫對所述軟體安裝包進行特徵匹 配包括:
[0096] 對所述軟體安裝包進行解包;
[0097] 對解包出的文件進行掃描,以確定與所述文件匹配的所述特徵庫中的特徵信息。
[0098] A4.根據A1至A3中任一項所述的方法,其中,所述每項特徵信息包括:
[0099] 安全加固過程中加入的函數的信息和/或動態連結庫的信息。
[0100] A5.根據A1至A4中任一項所述的方法,包括:按照特徵匹配的結果生成所述軟體 安裝包的檢測結果包括:
[0101] 根據匹配出的特徵信息確定所述軟體安裝包所進行的安全加固的類型;
[0102] 按照確定出的安全加固的類型生成所述檢測結果,所述檢測結果包括以下至少一 項內容:加固建議、文件保護檢測結果、代碼混淆檢測結果、防二次打包檢測結果、原始碼加 密檢測結果。
[0103] A6.根據A1至A5中任一項所述的方法,其中所述預置的特徵庫的生成步驟包括:
[0104] 分析安全加固方法執行過程中對軟體安裝包的代碼的修改,以及該安全加固方法 對軟體安裝包的加固項目;
[0105] 提取修改代碼的特徵,與所述加固項目匹配進行保存為所述特徵庫的特徵信息。
[0106] 本發明實施例還提供了 B7. -種軟體安裝包的安全檢測伺服器,包括:
[0107] 安裝包獲取模塊,配置為獲取由用戶上傳的軟體安裝包;
[0108] 特徵匹配模塊,配置為使用預置的特徵庫對所述軟體安裝包進行特徵匹配,其中 所述特徵庫中預先保存有多項特徵信息,每項所述特徵信息標識了軟體安裝包執行一類安 全加固方法後的至少一種特徵;
[0109] 結果生成模塊,用於按照特徵匹配的結果生成所述軟體安裝包的檢測結果,並下 發給安全檢測客戶端。
[0110] B8.根據B7所述的伺服器,其中所述安裝包獲取模塊還配置為:
[0111] 接收由用戶通過指定網址的網頁上傳的軟體安裝包和所述軟體安裝包的開發信 息;
[0112] 匹配保存所述軟體安裝包和所述開發信息,所述開發信息包括以下任一種或多 種:所述軟體安裝包的名稱、版本、應用功能描述、開發者信息。
[0113] B9.根據B7所述的伺服器,其中所述特徵匹配模塊還配置為:
[0114] 對所述軟體安裝包進行解包;
[0115] 對解包出的文件進行掃描,以確定與所述文件匹配的所述特徵庫中的特徵信息, 所述每項特徵信息包括:安全加固過程中加入的函數的信息和/或動態連結庫的信息。
[0116] B10.根據權利要求B7至B9中任一項所述的伺服器,其中結果生成模塊還配置 為:
[0117] 根據匹配出的特徵信息確定所述軟體安裝包所進行的安全加固的類型;
[0118] 按照確定出的安全加固的類型生成所述檢測結果,所述檢測結果包括以下至少一 項內容:加固建議、文件保護檢測結果、代碼混淆檢測結果、防二次打包檢測結果、原始碼加 密檢測結果。
[0119] B11.根據B7至B9中任一項所述的伺服器,還包括特徵庫生成模塊,配置為:
[0120] 分析安全加固方法執行過程中對軟體安裝包的代碼的修改,以及該安全加固方法 對軟體安裝包的加固項目;
[0121] 提取修改代碼的特徵,與所述加固項目匹配進行保存為所述特徵庫的特徵信息。
[0122] 本發明實施例還提供了 C12. -種軟體安裝包的安全檢測方法,包括:
[0123] 向安全檢測伺服器上傳軟體安裝包以及所述軟體安裝包的開發信息;
[0124] 接收所述安全檢測伺服器下發的所述軟體安裝包的檢測結果,所述檢測結果由所 述安全檢測伺服器使用預置的特徵庫對所述軟體安裝包進行特徵匹配得出;
[0125] 根據所述檢測結果生成安全分析報告。
[0126] C13.根據C12所述的方法,其中,向安全檢測伺服器上傳軟體安裝包以及所述軟 件安裝包的開發信息包括:
[0127] 通過指定網址的網頁上傳的所述軟體安裝包,並提交所述軟體安裝包的開發信 息,所述開發信息包括以下任一種或多種:所述軟體安裝包的名稱、版本、應用功能描述、開 發者信息。
[0128] C14.根據C12或C13所述的方法,其中,根據所述檢測結果生成安全分析報告包 括:
[0129] 解析檢測結果,以確定所述軟體安裝包的安全加固的類型;
[0130] 按照所述安全加固的類型對所述軟體安裝包進行安全評分;
[0131] 生成包含所述安全加固的類型以及所述安全評分的安全分析報告。
[0132] C15.根據C14所述的方法,其中,在確定所述軟體安裝包的安全加固的類型之後 還包括:
[0133] 按照所述安全加固的類型生成對所述軟體安裝包的安全建議;
[0134] 將所述安全建議添加至所述安全分析報告中,並提供進行安全加固的操作選項。
[0135] 本發明實施例還提供了 D16. -種軟體安裝包的安全檢測客戶端,包括:
[0136] 安裝包上傳模塊,配置為向安全檢測伺服器上傳軟體安裝包以及所述軟體安裝包 的開發信息;
[0137] 接收模塊,配置為接收所述安全檢測伺服器下發的所述軟體安裝包的檢測結果, 所述檢測結果由所述安全檢測伺服器使用預置的特徵庫對所述軟體安裝包進行特徵匹配 得出;
[0138] 報告生成模塊,配置為根據所述檢測結果生成安全分析報告。
[0139] D17.根據D16所述的客戶端,其中,所述安裝包上傳模塊還配置為:
[0140] 通過指定網址的網頁上傳的所述軟體安裝包,並提交所述軟體安裝包的開發信 息,所述開發信息包括以下任一種或多種:所述軟體安裝包的名稱、版本、應用功能描述、開 發者信息。
[0141] D18.根據D16或D17所述的客戶端,其中,所述報告生成模塊包括:
[0142] 解析子模塊,配置為解析檢測結果,以確定所述軟體安裝包的安全加固的類型;
[0143] 評分子模塊,配置為按照所述安全加固的類型對所述軟體安裝包進行安全評分;
[0144] 報告輸出子模塊,配置為生成包含所述安全加固的類型以及所述安全評分的安全 分析報告。
[0145] D19.根據D18所述的客戶端,其中,所述報告生成模塊還包括:
[0146] 安全建議子模塊,配置為按照所述安全加固的類型生成對所述軟體安裝包的安全 建議,將所述安全建議添加至所述安全分析報告中,並提供進行安全加固的操作選項。
[0147] 本發明實施例還提供了 E20. -種軟體安裝包的安全檢測系統,包括:
[0148] 根據B7至B11中任一項所述的安全檢測伺服器;
[0149] 根據D16至D19中任一項所述的安全檢測客戶端,所述安全檢測伺服器與所述安 全檢測客戶端網絡連接。
【權利要求】
1. 一種軟體安裝包的安全檢測方法,包括: 獲取由用戶上傳的軟體安裝包; 使用預置的特徵庫對所述軟體安裝包進行特徵匹配,其中所述特徵庫中預先保存有多 項特徵信息,每項所述特徵信息標識了軟體安裝包執行一類安全加固方法後的至少一種特 徵; 按照特徵匹配的結果生成所述軟體安裝包的檢測結果。
2. 根據權利要求1所述的方法,其中,獲取由用戶上傳的軟體安裝包包括: 接收由用戶通過指定網址的網頁上傳的軟體安裝包和所述軟體安裝包的開發信息; 匹配保存所述軟體安裝包和所述開發信息,所述開發信息包括以下任一種或多種:所 述軟體安裝包的名稱、版本、應用功能描述、開發者信息。
3. 根據權利要求1所述的方法,其中,使用預置的特徵庫對所述軟體安裝包進行特徵 匹配包括: 對所述軟體安裝包進行解包; 對解包出的文件進行掃描,以確定與所述文件匹配的所述特徵庫中的特徵信息。
4. 根據權利要求1至3中任一項所述的方法,其中,所述每項特徵信息包括: 安全加固過程中加入的函數的信息和/或動態連結庫的信息。
5. 根據權利要求1至4中任一項所述的方法,包括:按照特徵匹配的結果生成所述軟 件安裝包的檢測結果包括: 根據匹配出的特徵信息確定所述軟體安裝包所進行的安全加固的類型; 按照確定出的安全加固的類型生成所述檢測結果,所述檢測結果包括以下至少一項內 容:加固建議、文件保護檢測結果、代碼混淆檢測結果、防二次打包檢測結果、原始碼加密檢 測結果。
6. 根據權利要求1至5中任一項所述的方法,其中所述預置的特徵庫的生成步驟包 括: 分析安全加固方法執行過程中對軟體安裝包的代碼的修改,以及該安全加固方法對軟 件安裝包的加固項目; 提取修改代碼的特徵,與所述加固項目匹配進行保存為所述特徵庫的特徵信息。
7. -種軟體安裝包的安全檢測伺服器,包括: 安裝包獲取模塊,配置為獲取由用戶上傳的軟體安裝包; 特徵匹配模塊,配置為使用預置的特徵庫對所述軟體安裝包進行特徵匹配,其中所述 特徵庫中預先保存有多項特徵信息,每項所述特徵信息標識了軟體安裝包執行一類安全加 固方法後的至少一種特徵; 結果生成模塊,用於按照特徵匹配的結果生成所述軟體安裝包的檢測結果,並下發給 安全檢測客戶端。
8. -種軟體安裝包的安全檢測方法,包括: 向安全檢測伺服器上傳軟體安裝包以及所述軟體安裝包的開發信息; 接收所述安全檢測伺服器下發的所述軟體安裝包的檢測結果,所述檢測結果由所述安 全檢測伺服器使用預置的特徵庫對所述軟體安裝包進行特徵匹配得出; 根據所述檢測結果生成安全分析報告。
9. 一種軟體安裝包的安全檢測客戶端,包括: 安裝包上傳模塊,配置為向安全檢測伺服器上傳軟體安裝包以及所述軟體安裝包的開 發信息; 接收模塊,配置為接收所述安全檢測伺服器下發的所述軟體安裝包的檢測結果,所 述檢測結果由所述安全檢測伺服器使用預置的特徵庫對所述軟體安裝包進行特徵匹配得 出; 報告生成模塊,配置為根據所述檢測結果生成安全分析報告。
10. -種軟體安裝包的安全檢測系統,包括: 根據權利要求7所述的安全檢測伺服器; 根據權利要求9所述的安全檢測客戶端,所述安全檢測伺服器與所述安全檢測客戶端 網絡連接。
【文檔編號】G06F21/56GK104063664SQ201410300240
【公開日】2014年9月24日 申請日期:2014年6月26日 優先權日:2014年6月26日
【發明者】馮成蹊, 劉敦俊, 張東誼, 楊新權 申請人:北京奇虎科技有限公司, 奇智軟體(北京)有限公司