欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種軟件程序檢測方法、裝置及系統(tǒng)的制作方法

文檔序號:6551698閱讀:121來源:國知局
一種軟件程序檢測方法、裝置及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了一種軟件程序檢測方法、裝置及系統(tǒng),本發(fā)明中將第三方檢測中心的檢測得到的檢測結(jié)果集成至軟件程序中,并對軟件程序進行數(shù)字簽名,防止軟件程序在傳輸?shù)倪^程中被篡改,從而使檢測結(jié)果能夠準(zhǔn)確表示軟件程序是否有惡意行為,保證了檢測結(jié)果的準(zhǔn)確性。由于現(xiàn)有技術(shù)中的檢測結(jié)果以報告形式通知送檢方,軟件程序中不存在檢測結(jié)果,本發(fā)明將檢測結(jié)果集成至軟件程序中,當(dāng)智能終端從第三方市場上下載軟件程序時,安裝過程中能夠顯示檢測結(jié)果至用戶,以提示用戶使用中存在的風(fēng)險,從而能夠減少甚至避免用戶安裝惡意軟件,減少甚至避免惡意軟件帶來的惡意行為,提高系統(tǒng)的安全性。
【專利說明】一種軟件程序檢測方法、裝置及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及軟件安全領(lǐng)域,尤其涉及一種軟件程序檢測方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]現(xiàn)在智能終端越來越多,應(yīng)用軟件也越來越多,用戶需要下載應(yīng)用軟件時,會在智能終端的第三方市場下載,在基于Android系統(tǒng)的終端設(shè)備上,都會內(nèi)置官方市場GoogleMarket,但現(xiàn)在幾乎所有國行智能終端都默認刪除Google Market,而是將安智市場,木螞蟻等第三方市場安裝在智能終端中,這些第三方市場中應(yīng)用程序的安全性檢測存在漏洞,導(dǎo)致用戶安裝的應(yīng)用程序存在惡意行為或安全風(fēng)險。例如:在用戶不知情的情況下,未經(jīng)授權(quán)對外傳送客戶的隱私信息,消耗用戶流量,自動鏈接廣告等。
[0003]因此現(xiàn)在需要一種方法能夠有效地避免用戶安裝惡意軟件,減少惡意軟件帶來的惡意行為或安全風(fēng)險,提高系統(tǒng)的安全性。

【發(fā)明內(nèi)容】

[0004]本發(fā)明提供了一種軟件程序檢測方法、裝置及系統(tǒng),本發(fā)明能夠有效地避免安裝惡意軟件,減少惡意軟件帶來的惡意行為或安全風(fēng)險,提高系統(tǒng)的安全性。
[0005]為了實現(xiàn)上述目的,本發(fā)明提供了以下技術(shù)手段:
[0006]一種軟件程序檢測方法,應(yīng)用于第三方檢測中心包括:
[0007]接收送檢方發(fā)送的軟件程序;
[0008]對所述軟件程序進行檢測獲得檢測結(jié)果;
[0009]將所述檢測結(jié)果集成至所述軟件程序中;
[0010]對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息;
[0011]將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方。
[0012]優(yōu)選的,對包含檢測結(jié)果的軟件程序進行數(shù)字簽名包括:
[0013]將包含檢測結(jié)果的軟件程序利用摘要算法獲得摘要信息;
[0014]利用私鑰對所述摘要信息進行加密,獲得#PKCS7格式的數(shù)字簽名信息,所述私鑰由第三方檢測中心生成并安全保存。
[0015]優(yōu)選的,在對所述軟件程序進行檢測獲得檢測結(jié)果之后還包括:
[0016]對所述檢測結(jié)果進行加密處理,獲得加密后的檢測結(jié)果。
[0017]優(yōu)選的,將所述檢測結(jié)果集成至所述軟件程序包括:
[0018]將所述檢測結(jié)果寫入所述軟件程序安裝包的結(jié)束標(biāo)記內(nèi)。
[0019]一種軟件程序檢測方法,應(yīng)用于第三方市場,包括:
[0020]接收應(yīng)用開發(fā)者發(fā)送的軟件程序;
[0021]當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu)信息;
[0022]當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信;[0023]當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果;
[0024]當(dāng)所述檢測結(jié)果表明存在惡意行為或安全風(fēng)險時,則向所述應(yīng)用開發(fā)者發(fā)送修改指令。
[0025]優(yōu)選的,還包括:
[0026]當(dāng)所述軟件程序中不包含檢測結(jié)果,則將所述軟件程序發(fā)送給至少一個第三方檢測中心,按軟件程序檢測方法進行檢測,所述第三方檢測中心為預(yù)先存儲的可信檢測機構(gòu)。
[0027]優(yōu)選的,對所述數(shù)字簽名信息進行驗證包括:
[0028]在數(shù)字簽名信息中獲取公鑰、簽名信息以及摘要算法;
[0029]利用公鑰解密簽名信息,獲得第一摘要信息;
[0030]將所述軟件程序,利用同樣的摘要算法獲得第二摘要信息;
[0031]將所述第一摘要信息和所述第二摘要信息進行對比,若一致則表明數(shù)字簽名信息驗證通過,若不一致則表明數(shù)字簽名信息驗證失敗。
[0032]優(yōu)選的,還包括:
[0033]當(dāng)數(shù)字簽名信息驗證失敗,則刪除所述檢測結(jié)果和數(shù)字簽名信息,重新軟件程序檢測方法進行檢測;
[0034]當(dāng)所述軟件程序中不包含檢測結(jié)果,則軟件程序檢測方法進行檢測。
[0035]優(yōu)選的,判斷所述檢測機構(gòu)是否可信包括:
[0036]判斷預(yù)先存儲的可信檢測機構(gòu)中是否包含所述檢測機構(gòu);
[0037]當(dāng)包含所述檢測機構(gòu),則提取公鑰與預(yù)先存儲的可信檢測機構(gòu)公鑰進行對比,若一致表明所述檢測機構(gòu)可信,否則檢測機構(gòu)不可信。
[0038]優(yōu)選的,還包括:
[0039]當(dāng)所述檢測結(jié)構(gòu)不可信,則將所述軟件程序發(fā)送給至少一個第三方檢測中心;
[0040]接收第三方檢測中心反饋的包括至少一個檢測結(jié)果當(dāng)前的軟件程序;所述當(dāng)前的軟件程序由至少一個第三方檢測中心依次進行檢測,并將各自的檢測結(jié)果集成至軟件程序后形成的,所述第三方檢測中心為預(yù)先存儲的可信檢測機構(gòu)。
[0041]優(yōu)選的,還包括:
[0042]當(dāng)所述檢測結(jié)果表明未存在惡意行為或安全風(fēng)險,則將所述應(yīng)用程序上架供用戶下載。
[0043]優(yōu)選的,還包括:
[0044]將包括至少一個檢測結(jié)果當(dāng)前的軟件程序上架,供用戶下載。
[0045]一種軟件程序檢測方法,應(yīng)用于智能終端,包括:
[0046]從第三方市場獲得軟件程序;
[0047]判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息;
[0048]當(dāng)所述軟件程序中包括檢測結(jié)果;
[0049]對所述數(shù)字簽名信息進行驗證,當(dāng)所述數(shù)字簽名信息通過,顯示所述檢測結(jié)果。
[0050]優(yōu)選的,還包括:
[0051]當(dāng)所述軟件程序未包括檢測結(jié)果時,則提示用戶該軟件程序未經(jīng)檢測存在風(fēng)險;
[0052]當(dāng)所述數(shù)字簽名信息驗證失敗,則提示用戶檢測結(jié)果不可信。
[0053]優(yōu)選的,還包括:[0054]當(dāng)所述軟件程序中包括多個檢測結(jié)果時,則對所述多個檢測結(jié)果進行整合,將整合后的結(jié)果進行顯示。
[0055]一種軟件程序檢測裝置,應(yīng)用于第三方檢測中心,包括:
[0056]接收單元,用于接收送檢方發(fā)送的軟件程序;
[0057]檢測單元,用于對所述軟件程序進行檢測獲得檢測結(jié)果;
[0058]集成單元,用于將所述檢測結(jié)果集成至所述軟件程序中;
[0059]驗證單元,用于對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息;
[0060]發(fā)送單元,用于將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方。
[0061]一種軟件程序檢測裝置,應(yīng)用于第三方市場,包括:
[0062]第二接收單元,用于接收應(yīng)用開發(fā)者發(fā)送的軟件程序;
[0063]第二驗證單元,用于當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu);
[0064]判斷單元,當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信;
[0065]分析單元,用于當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果;
[0066]通知單元,用于當(dāng)所述檢測結(jié)果表明存在惡意行為或安全風(fēng)險,則向所述應(yīng)用開發(fā)者發(fā)送修改指令。
[0067]一種軟件程序檢測裝置,應(yīng)用于智能終端,包括:
[0068]獲取單元,用于從第三方市場獲得軟件程序;
[0069]第二判斷單元,用于判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息;
[0070]第三驗證單元,用于對所述數(shù)字簽名信息進行驗證;
[0071]顯示單元,用于當(dāng)所述數(shù)字簽名信息通過,顯示所述檢測結(jié)果。
[0072]一種軟件程序檢測系統(tǒng),包括:
[0073]第三方檢測中心,第三方市場和智能終端;
[0074]所述第三方檢測中心,用于接收送檢方發(fā)送的軟件程序;對所述軟件程序進行檢測獲得檢測結(jié)果;將所述檢測結(jié)果集成至所述軟件程序中;對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息;將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方;
[0075]所述第三方市場,用于接收應(yīng)用開發(fā)者發(fā)送的軟件程序;當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu);當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信;當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果;當(dāng)所述檢測結(jié)果表明存在惡意行為或安全風(fēng)險,則向所述應(yīng)用開發(fā)者發(fā)送修改指令;
[0076]所述智能終端,用于從第三方市場獲得軟件程序;判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息;當(dāng)所述軟件程序中包括檢測結(jié)果;對所述數(shù)字簽名信息進行驗證,當(dāng)所述數(shù)字簽名信息通過,顯示所述檢測結(jié)果。
[0077]一種軟件程序檢測方法,應(yīng)用于第三方市場,包括:[0078]接收送檢方發(fā)送的軟件程序;
[0079]判斷所述軟件程序中是否有檢測結(jié)果;
[0080]當(dāng)所述軟件程序中包含檢測結(jié)果且數(shù)字簽名信息完整,獲得已有的第一檢測結(jié)果;
[0081]對所述軟件程序進行檢測獲得第二檢測結(jié)果;
[0082]將第二檢測結(jié)果組成檢測報告集成至所述軟件程序中,獲得當(dāng)前的軟件程序;
[0083]對所述當(dāng)前的軟件程序進行數(shù)字簽名,獲得#PKCS7格式數(shù)字簽名信息;
[0084]將集成檢測結(jié)果和#PKCS7格式數(shù)字簽名信息的軟件程序反饋至送檢方;
[0085]當(dāng)軟件程序中未包括檢測結(jié)果,則按權(quán)利要求1所述的方法獲得第二檢測結(jié)果,并將包括第二檢測結(jié)果當(dāng)前的軟件程序反饋至送檢方。
[0086]本發(fā)明提供了一種軟件程序檢測方法,本發(fā)明中將第三方檢測中心的檢測得到的檢測結(jié)果集成至軟件程序中,并對軟件程序進行數(shù)字簽名,防止軟件程序在傳輸?shù)倪^程中被篡改,從而使檢測結(jié)果能夠準(zhǔn)確表示軟件程序是否有惡意行為或安全風(fēng)險,保證了檢測結(jié)果的準(zhǔn)確性。
[0087]由于現(xiàn)有技術(shù)中的檢測結(jié)果以報告形式通知送檢方,軟件程序中不存在檢測結(jié)果,本發(fā)明將檢測結(jié)果集成至軟件程序中,當(dāng)智能終端從第三方市場上下載軟件程序后,安裝過程中能夠顯示所述檢測結(jié)果至用戶,以提示用戶使用中存在的風(fēng)險,從而能夠有效地避免用戶安裝惡意軟件,減少惡意軟件帶來的惡意行為或安全風(fēng)險,提高系統(tǒng)的安全性。
【專利附圖】

【附圖說明】
[0088]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0089]圖1為本發(fā)明實施例公開的一種軟件程序檢測方法的流程圖;
[0090]圖2為本發(fā)明實施例公開的又一種軟件程序檢測方法的流程圖;
[0091]圖3為本發(fā)明實施例公開的又一種軟件程序檢測方法的流程圖;
[0092]圖4為本發(fā)明實施例公開的又一種軟件程序檢測方法的流程圖;
[0093]圖5為本發(fā)明實施例公開的又一種軟件程序檢測方法的流程圖;
[0094]圖6為本發(fā)明實施例公開的又一種軟件程序檢測方法的流程圖;
[0095]圖7為本發(fā)明實施例公開的一種軟件程序檢測裝置的結(jié)構(gòu)示意圖;
[0096]圖8為本發(fā)明實施例公開的又一種軟件程序檢測裝置的結(jié)構(gòu)示意圖;
[0097]圖9為本發(fā)明實施例公開的又一種軟件程序檢測裝置的結(jié)構(gòu)示意圖;
[0098]圖10為本發(fā)明實施例公開的一種軟件程序檢測系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0099]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0100]本發(fā)明提供了一種軟件程序檢測方法,該方法涉及基于Android系統(tǒng)的第三方檢測中心,基于Android系統(tǒng)的第三方市場和基于Android系統(tǒng)的智能終端,下面針對各個部分的內(nèi)容進行詳細介紹:
[0101]首先介紹第三方檢測中心,如圖1所示,本發(fā)明提供了一種軟件程序檢測方法,應(yīng)用于第三方檢測中心包括:
[0102]第三方檢測中心是指具有一定資質(zhì)且口碑較高,具有一定行業(yè)信服力的檢測機構(gòu),以便經(jīng)過其檢測后得到的檢測結(jié)果能夠被大部分用戶接受。
[0103]步驟SlOl:接收送檢方發(fā)送的軟件程序,即接收應(yīng)用開發(fā)者或第三方市場發(fā)送的軟件程序;
[0104]應(yīng)用開發(fā)者將軟件程序編程完畢,在發(fā)送至第三方市場之前,可以在第三方檢測中心進行檢測,因此應(yīng)用開發(fā)者可以先向第三方檢測中心發(fā)送軟件程序。
[0105]第三方市場接受應(yīng)用開發(fā)者發(fā)布的應(yīng)用程序,判斷該應(yīng)用程序沒有包含任何檢測機構(gòu)的檢測結(jié)果,或檢測結(jié)果被篡改,或檢測機構(gòu)不被第三方市場信任,第三方市場可以向第三方檢測中心發(fā)送軟件程序。
[0106]步驟S102:對所述軟件程序進行檢測獲得檢測結(jié)果;
[0107]第三方檢測中心獲取軟件程序后,便檢測軟件程序按已有的檢測步驟對軟件程序進行檢測,進而獲得檢測結(jié)果,通過檢測結(jié)果便可得知該軟件程序是否為惡意軟件。
[0108]步驟S103:將所述檢測結(jié)果集成至所述軟件程序中;
[0109]現(xiàn)有技術(shù)中僅僅為檢測中心自己以及送檢方得知檢測結(jié)果,用戶并不知曉檢測結(jié)果,因此會造成用戶下載惡意軟件,因此本發(fā)明將檢測結(jié)果集成至軟件程序中,由于Android應(yīng)用程序(.apk)文件的格式實際上為標(biāo)準(zhǔn)的zip格式,zip文件格式為二進制文件,按照zip文件格式規(guī)范,在文件結(jié)尾處有4個字節(jié)目錄結(jié)束標(biāo)記,這4個字節(jié)處可以添加任意內(nèi)容標(biāo)記作為文件注釋,添加的內(nèi)容并不影響文件的解壓,同時也不會改變原文件系統(tǒng)的任何內(nèi)容。
[0110]因此本發(fā)明將所述檢測結(jié)果寫入所述軟件程序安裝包的結(jié)束標(biāo)記內(nèi),既不影響軟件程序的內(nèi)容,還能夠?qū)z測結(jié)果集成至軟件程序中,一舉兩得。
[0111]步驟S104:對所述當(dāng)前的軟件程序進行數(shù)字簽名,獲得#PKCS7格式數(shù)字簽名信息;
[0112]#PKCS7數(shù)字簽名信息是一個固定的格式,其中包含公鑰,摘要算法,簽名信息等內(nèi)容。為了防止軟件程序或檢測結(jié)果在傳輸過程中被篡改,本發(fā)明對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式數(shù)字簽名信息,具體的如圖2所示,包括:
[0113]步驟S201:將包含檢測結(jié)果的軟件程序利用摘要算法獲得摘要信息;
[0114]將包含檢測結(jié)果的軟件程序利用摘要算法,進行計算獲得摘要信息,摘要算法有多種,本發(fā)明并不限定采用哪一種算法。
[0115]步驟S202:利用私鑰對所述摘要信息進行加密,獲得#PKCS7格式的數(shù)字簽名信息,所述私鑰由第三方檢測中心生成并安全保存。
[0116]第三方檢測中心生成私鑰和公鑰,利用私鑰對摘要信息進行加密,從而獲得數(shù)字簽名信息,采用數(shù)字簽名的方式,能夠保證在只要改動軟件程序中的任意一位,重新計算出的摘要信息就會與原先摘要信息不相等,保證了軟件程序的不可更改性。
[0117]步驟S105:將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方。
[0118]將包括檢測結(jié)果和#PKCS7格式的數(shù)字簽名信息的軟件程序發(fā)送至應(yīng)用開發(fā)者或第三方市場,以便第三方市場解析#PKCS7格式數(shù)字簽名信息獲得數(shù)字證書,進而獲取數(shù)字證書的公鑰,通過公鑰即可解密#PKCS7格式數(shù)字簽名中簽名信息,進而獲得摘要信息,以便后續(xù)對數(shù)字簽名信息進行驗證,即驗證數(shù)字簽名信息是否完整,驗證摘要信息是否改變。
[0119]為了防止檢測結(jié)果被篡改,優(yōu)選的在步驟S102與步驟S103之間還包括:對所述檢測結(jié)果進行加密處理,獲得加密后的檢測結(jié)果。這樣便能夠保證檢測結(jié)果不會被輕易篡改。
[0120]本發(fā)明提供了 一種軟件程序檢測方法,本發(fā)明中將第三方檢測中心的檢測得到的檢測結(jié)果集成至軟件程序中,并對軟件程序進行數(shù)字簽名,防止軟件程序在傳輸?shù)倪^程中被篡改,從而使檢測結(jié)果能夠準(zhǔn)確表示軟件程序是否有惡意行為或安全風(fēng)險,保證了檢測結(jié)果的準(zhǔn)確性。
[0121]由于現(xiàn)有技術(shù)中的檢測結(jié)果以報告形式通知送檢方,軟件程序中不存在檢測結(jié)果,本發(fā)明將檢測結(jié)果集成至軟件程序中,當(dāng)智能終端從第三方市場上下載軟件程序時,安裝過程中能夠顯示所述檢測結(jié)果至用戶,以提示用戶使用中存在的風(fēng)險,從而能夠有效地避免用戶安裝惡意軟件,減少惡意軟件帶來的惡意行為,提高系統(tǒng)的安全性。
[0122]下面介紹第三方市場是如何應(yīng)用檢測結(jié)果的,如圖3所示,本發(fā)明還提供了一種軟件程序檢測方法,包括以下步驟:
[0123]步驟S301:接收應(yīng)用開發(fā)者發(fā)送的軟件程序;
[0124]第三方市場為了保證進駐至自身的軟件程序的質(zhì)量,即不上架具有惡意行為的惡意軟件,需要檢測應(yīng)用程序的檢測結(jié)果,進而分析檢測結(jié)果。
[0125]步驟S302:判斷所述軟件程序中是否有檢測結(jié)果,當(dāng)含有檢測結(jié)果則進入步驟S303 ;當(dāng)不含有檢測結(jié)果則進入步驟S308。
[0126]為了分析檢測結(jié)果需要先判斷軟件程序是否有檢測結(jié)果,即在軟件程序安裝包的結(jié)束標(biāo)記內(nèi)查找是否檢測結(jié)果,當(dāng)軟件程序中不包含檢測結(jié)果,則將軟件程序發(fā)送給至少一個第三方檢測中心按圖1所示的步驟進行重新檢測,從而獲得檢測結(jié)果,然后再進入步驟 S301。
[0127]由于一個檢測中心的檢測結(jié)果具有片面性,所以可發(fā)送至多個檢測中心,綜合多個檢測中心的檢測結(jié)果,從而得出一個可靠檢測結(jié)果。
[0128]步驟S303:當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu)信息;當(dāng)驗證通過則進入步驟S304,當(dāng)驗證失敗則進入步驟S308。
[0129]在獲取檢測結(jié)果之前,需要驗證數(shù)字簽名的完整性,以防軟件程序被惡意篡改,驗證數(shù)字簽名的完整性,即驗證摘要信息的是否正確。如圖4所示,具體包括:
[0130]步驟S401:在數(shù)字簽名信息中獲取公鑰、簽名信息以及摘要算法;
[0131]步驟S402:利用公鑰解密簽名信息,獲得第一摘要信息;
[0132]步驟S403:將所述軟件程序,利用同樣的摘要算法獲得第二摘要信息;
[0133]步驟S404:將所述第一摘要信息和所述第二摘要信息進行對比,若一致則進入步驟S405,若不一致則進入步驟S406。
[0134]步驟S405:若一致,則若一致則表明數(shù)字簽名信息驗證通過;[0135]步驟S406:若不一致,則若不一致則表明數(shù)字簽名信息驗證失敗。
[0136]因為只要軟件程序發(fā)生變化,摘要信息則不一致,所以利用驗證數(shù)字簽名是否完整來判斷軟件程序是否被篡改,當(dāng)數(shù)字簽名完整才可進行后續(xù)過程。當(dāng)數(shù)字簽名信息驗證失敗,則刪除所述檢測結(jié)果和數(shù)字簽名信息,重新按圖1所述的方法進行檢測;
[0137]當(dāng)數(shù)字簽名不完整,說明軟件程序被篡改,此時的檢測結(jié)果已經(jīng)不能表示篡改后的軟件程序是否為惡意軟件,所以需要刪除原有的檢測結(jié)果和數(shù)字簽名信息,重新發(fā)送至第三方檢測中心,按圖1所示的步驟重新進行檢測獲得檢測結(jié)果,然后再進入步驟S301。
[0138]步驟S304:當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信;當(dāng)檢測機構(gòu)可信進入步驟S305,否則進入步驟S308 ;
[0139]檢測數(shù)字簽名之后,還需要判斷對軟件程序進行檢測的檢測結(jié)構(gòu)是否可信,由于一些檢測機構(gòu)不具備檢測資質(zhì),因此其檢測結(jié)果也是不可信的,為了保證檢測結(jié)果的可信度,所以預(yù)先在第三方市場中預(yù)先存儲有大眾認可的、可信的檢測機構(gòu)信息。
[0140]第三方市場判斷預(yù)先存儲的可信檢測機構(gòu)中是否包含所述檢測機構(gòu);當(dāng)包含所述檢測機構(gòu),則提取步驟S402的公鑰與預(yù)先存儲的可信檢測機構(gòu)公鑰進行對比,若一致表明所述檢測機構(gòu)可信,否則檢測機構(gòu)不可信。即當(dāng)公鑰不一致、或可信檢測機構(gòu)中未包含所述檢測機構(gòu),則表明所述檢測機構(gòu)不可信。
[0141]當(dāng)所述檢測機構(gòu)不可信,則將所述軟件程序發(fā)送給至少一個第三方檢測中心;接收第三方檢測中心反饋的包括至少一個檢測結(jié)果當(dāng)前的軟件程序;所述當(dāng)前的軟件程序由至少一個第三方檢測中心依次進行檢測,并將各自的檢測結(jié)果集成至軟件程序后形成的,所述第三方檢測中心為預(yù)先存儲的可信檢測機構(gòu)。
[0142]當(dāng)有多個第三方中心檢測后,軟件程序中包括至少一個檢測結(jié)果,將包括至少一個檢測結(jié)果當(dāng)前的軟件程序上架,供用戶下載。
[0143]步驟S305:當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果,即依據(jù)檢測結(jié)果判斷軟件程序是否為惡意軟件,當(dāng)所述檢測結(jié)果表明存在惡意行為,進入步驟S306,當(dāng)所述檢測結(jié)果表明未存在惡意行為,則進入步驟S307 ;
[0144]步驟S306:通知所述應(yīng)用開發(fā)者進行修改。
[0145]步驟S307:將所述應(yīng)用程序上架供用戶下載。當(dāng)所述檢測結(jié)果表明未存在惡意行為,則將所述應(yīng)用程序上架供用戶下載。
[0146]步驟S308:發(fā)送至第三方檢測中心重新檢測。
[0147]第三方市場能夠檢測軟件程序中是否有檢測結(jié)果、檢測結(jié)果是否可信、軟件程序是否完整,然后僅僅將具有檢測結(jié)果,且檢測結(jié)果可信、檢測結(jié)果中表明不為惡意軟件的軟件程序進行上架,從而保證軟件程序的上架質(zhì)量。
[0148]下面介紹智能終端是如何應(yīng)用檢測結(jié)果的,如圖5所示,本發(fā)明還提供了一種軟件程序檢測方法,應(yīng)用于Andro i d終端,Andro i d終端包括應(yīng)用于Andro i d系統(tǒng)的智能終端,機頂盒,平板電腦等終端等,本方法包括:
[0149]步驟S501:從第三方市場獲得軟件程序;
[0150]步驟S502:判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息;當(dāng)所述軟件程序中包括檢測結(jié)果和#PKCS7格式數(shù)字簽名信息,進入步驟S503,否則進入步驟S506 ;[0151]步驟S503:對所述數(shù)字簽名信息進行驗證;驗證通過則進入步驟S504,當(dāng)驗證失敗則進入步驟S505 ;
[0152]步驟S504:顯示檢測結(jié)果,并提示用戶檢測結(jié)果可信。
[0153]步驟S505:當(dāng)所述數(shù)字簽名信息驗證失敗,則提示用戶檢測結(jié)果不可信。
[0154]步驟S506:當(dāng)所述軟件程序未包括檢測結(jié)果時,則提示用戶該軟件程序未經(jīng)檢測存在風(fēng)險;
[0155]在Android終端在安裝軟件程序時,會提醒用戶該軟件程序的檢測結(jié)果,避免用戶安裝惡意軟件或提示用戶存在的風(fēng)險,提高系統(tǒng)的安全性。
[0156]當(dāng)軟件程序中包括多個檢測結(jié)果時,則對所述多個檢測結(jié)果進行整合,將整合后的結(jié)果進行顯示。當(dāng)有多個檢測結(jié)果時,一般情況下會逐個提醒用戶檢測結(jié)果的內(nèi)容,但是這樣較為繁瑣,因此將多個檢測結(jié)果整合在一個頁面上,讓用戶一并觀看,提升了用戶體驗,避免了用戶逐個關(guān)閉檢測結(jié)果的界面的繁瑣操作過程。
[0157]以上為本發(fā)明提供的軟件檢測方法的整體流程。
[0158]下面還提供了一種軟件程序檢測方法,應(yīng)用于第三方檢測中心,如圖6所示,包括:
[0159]步驟S601:接收送檢方發(fā)送的軟件程序;
[0160]步驟S602:判斷所述軟件程序中是否有檢測結(jié)果;
[0161]步驟S603:當(dāng)所述軟件程序中包含檢測結(jié)果且數(shù)字簽名信息完整,獲得已有的第一檢測結(jié)果;
[0162]步驟S604:對所述軟件程序進行檢測獲得第二檢測結(jié)果;
[0163]步驟S605:將第二檢測結(jié)果組成檢測報告集成至所述軟件程序中,獲得當(dāng)前的軟件程序;
[0164]步驟S606:對所述當(dāng)前的軟件程序進行數(shù)字簽名,獲得#PKCS7格式數(shù)字簽名信息;
[0165]步驟S607:將集成檢測結(jié)果和#PKCS7格式數(shù)字簽名信息的軟件程序反饋至送檢方。
[0166]步驟S608:當(dāng)軟件程序中未包括檢測結(jié)果,則圖1所述的方法獲得第二檢測結(jié)果,并將包括第二檢測結(jié)果當(dāng)前的軟件程序反饋至送檢方。
[0167]如圖7所示,本發(fā)明還提供了一種軟件程序檢測裝置,應(yīng)用于第三方檢測中心,包括:
[0168]接收單元701,用于接收送檢方發(fā)送的軟件程序;
[0169]檢測單元702,用于對所述軟件程序進行檢測獲得檢測結(jié)果;
[0170]集成單元703,用于將所述檢測結(jié)果集成至所述軟件程序中;
[0171]驗證單元704,用于對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息;
[0172]發(fā)送單元705,用于將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方。
[0173]如圖8所示,本發(fā)明還提供了一種軟件程序檢測裝置,應(yīng)用于第三方市場包括:
[0174]第二接收單元801,用于接收應(yīng)用開發(fā)者發(fā)送的軟件程序;[0175]第二驗證單元802,用于當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu);
[0176]判斷單元803,當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信;
[0177]分析單元804,用于當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果;
[0178]通知單元805,用于當(dāng)所述檢測結(jié)果表明存在惡意行為,則向所述應(yīng)用開發(fā)者發(fā)送修改指令。
[0179]如圖9所示,本發(fā)明還提供了一種軟件程序檢測裝置,應(yīng)用于智能終端包括:
[0180]獲取單元901,用于從第三方市場獲得軟件程序;
[0181]第二判斷單元902,用于判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息;
[0182]第三驗證單元903,用于當(dāng)所述軟件程序中包括檢測結(jié)果,對所述數(shù)字簽名信息進行驗證;
[0183]顯示單元904,用于顯示所述檢測結(jié)果。
[0184]如圖10所示,本發(fā)明還提供了一種軟件程序檢測系統(tǒng),包括:
[0185]第三方檢測中心100,第三方市場200和智能終端300 ;三者之間采用無線網(wǎng)絡(luò)A相連。
[0186]所述第三方檢測中心100,用于接收送檢方發(fā)送的軟件程序;對所述軟件程序進行檢測獲得檢測結(jié)果;將所述檢測結(jié)果集成至所述軟件程序中;對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息;將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方;
[0187]所述第三方市場200,用于接收應(yīng)用開發(fā)者發(fā)送的軟件程序;當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu);當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信;當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果;當(dāng)所述檢測結(jié)果表明存在惡意行為,則向所述應(yīng)用開發(fā)者發(fā)送修改指令;
[0188]所述智能終端300,用于從第三方市場獲得軟件程序;判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息;當(dāng)所述軟件程序中包括檢測結(jié)果;對所述數(shù)字簽名信息進行驗證,當(dāng)所述數(shù)字簽名信息通過,顯示所述檢測結(jié)果。
[0189]本實施例方法所述的功能如果以軟件功能單元的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算設(shè)備可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明實施例對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算設(shè)備(可以是個人計算機,服務(wù)器,移動計算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:U盤、移動硬盤、只讀存儲器(ROM, Read-Only Memory)、隨機存取存儲器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
[0190]本說明書中各個實施例采用遞進的方式描述,每個實施例重點說明的都是與其它實施例的不同之處,各個實施例之間相同或相似部分互相參見即可。[0191]對所公開的實施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對這些實施例的多種修改對本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實施例中實現(xiàn)。因此,本發(fā)明將不會被限制于本文所示的這些實施例,而是要符合與本文所公開的原理和新穎特點相一致的最寬的范圍。
【權(quán)利要求】
1.一種軟件程序檢測方法,其特征在于,應(yīng)用于第三方檢測中心包括: 接收送檢方發(fā)送的軟件程序; 對所述軟件程序進行檢測獲得檢測結(jié)果; 將所述檢測結(jié)果集成至所述軟件程序中; 對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息; 將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方。
2.如權(quán)利要求1所述的方法,其特征在于,對包含檢測結(jié)果的軟件程序進行數(shù)字簽名包括: 將包含檢測結(jié)果的軟件程序利用摘要算法獲得摘要信息; 利用私鑰對所述摘要信息進行加密,獲得#PKCS7格式的數(shù)字簽名信息,所述私鑰由第三方檢測中心生成并安全保存。
3.如權(quán)利要求1所述的方法,其特征在于,在對所述軟件程序進行檢測獲得檢測結(jié)果之后還包括: 對所述檢測結(jié)果 進行加密處理,獲得加密后的檢測結(jié)果。
4.如權(quán)利要求1所述的方法,其特征在于,將所述檢測結(jié)果集成至所述軟件程序包括: 將所述檢測結(jié)果寫入所述軟件程序安裝包的結(jié)束標(biāo)記內(nèi)。
5.一種軟件程序檢測方法,其特征在于,應(yīng)用于第三方市場,包括: 接收應(yīng)用開發(fā)者發(fā)送的軟件程序; 當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu)信息; 當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信; 當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果; 當(dāng)所述檢測結(jié)果表明存在惡意行為或安全風(fēng)險時,則向所述應(yīng)用開發(fā)者發(fā)送修改指令。
6.如權(quán)利要求5所述的方法,其特征在于,還包括: 當(dāng)所述軟件程序中不包含檢測結(jié)果,則將所述軟件程序發(fā)送給至少一個第三方檢測中心,按權(quán)利要求1所述的方法進行檢測,所述第三方檢測中心為預(yù)先存儲的可信檢測機構(gòu)。
7.如權(quán)利要求5所述的方法,其特征在于,對所述數(shù)字簽名信息進行驗證包括: 在數(shù)字簽名信息中獲取公鑰、簽名信息以及摘要算法; 利用公鑰解密簽名信息,獲得第一摘要信息; 將所述軟件程序,利用同樣的摘要算法獲得第二摘要信息; 將所述第一摘要信息和所述第二摘要信息進行對比,若一致則表明數(shù)字簽名信息驗證通過,若不一致則表明數(shù)字簽名信息驗證失敗。
8.如權(quán)利要求7所述的方法,其特征在于,還包括: 當(dāng)數(shù)字簽名信息驗證失敗,則刪除所述檢測結(jié)果和數(shù)字簽名信息,重新按權(quán)利要求1所述的方法進行檢測; 當(dāng)所述軟件程序中不包含檢測結(jié)果,則按權(quán)利要求1所述的方法進行檢測。
9.如權(quán)利要求5所述的方法,其特征在于,判斷所述檢測機構(gòu)是否可信包括: 判斷預(yù)先存儲的可信檢測機構(gòu)中是否包含所述檢測機構(gòu);當(dāng)包含所述檢測機構(gòu),則提取權(quán)利要求7的公鑰與預(yù)先存儲的可信檢測機構(gòu)公鑰進行對比,若一致表明所述檢測機構(gòu)可信,否則檢測機構(gòu)不可信。
10.如權(quán)利要求9所述的方法,其特征在于,還包括: 當(dāng)所述檢測結(jié)構(gòu)不可信,則將所述軟件程序發(fā)送給至少一個第三方檢測中心; 接收第三方檢測中心反饋的包括至少一個檢測結(jié)果當(dāng)前的軟件程序;所述當(dāng)前的軟件程序由至少一個第三方檢測中心依次進行檢測,并將各自的檢測結(jié)果集成至軟件程序后形成的,所述第三方檢測中心為預(yù)先存儲的可信檢測機構(gòu)。
11.如權(quán)利要求5所述的方法,其特征在于,還包括: 當(dāng)所述檢測結(jié)果表明未存在惡意行為或安全風(fēng)險,則將所述應(yīng)用程序上架供用戶下載。
12.如權(quán)利要求10所述的方法,其特征在于,還包括: 將包括至少一個檢測結(jié)果當(dāng)前的軟件程序上架,供用戶下載。
13.一種軟件程序檢測方法,其特征在于,應(yīng)用于智能終端,包括: 從第三方市場獲得軟件程序; 判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息; 當(dāng)所述軟件程序中包括檢測結(jié)果; 對所述數(shù)字簽名信息進行驗證,當(dāng)所述數(shù)字簽名信息通過,顯示所述檢測結(jié)果。
14.如權(quán)利要求13所述的方法,其特征在于,還包括: 當(dāng)所述軟件程序未包括檢測結(jié)果時,則提示用戶該軟件程序未經(jīng)檢測存在風(fēng)險; 當(dāng)所述數(shù)字簽名信息驗證失敗,則提示用戶檢測結(jié)果不可信。
15.如權(quán)利要求13所述的方法,其特征在于,還包括: 當(dāng)所述軟件程序中包括多個檢測結(jié)果時,則對所述多個檢測結(jié)果進行整合,將整合后的結(jié)果進行顯示。
16.一種軟件程序檢測裝置,其特征在于,應(yīng)用于第三方檢測中心,包括: 接收單元,用于接收送檢方發(fā)送的軟件程序; 檢測單元,用于對所述軟件程序進行檢測獲得檢測結(jié)果; 集成單元,用于將所述檢測結(jié)果集成至所述軟件程序中; 驗證單元,用于對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息; 發(fā)送單元,用于將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方。
17.一種軟件程序檢測裝置,其特征在于,應(yīng)用于第三方市場,包括: 第二接收單元,用于接收應(yīng)用開發(fā)者發(fā)送的軟件程序; 第二驗證單元,用于當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu); 判斷單元,當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信; 分析單元,用于當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果; 通知單元,用于當(dāng)所述檢測結(jié)果表明存在惡意行為或安全風(fēng)險,則向所述應(yīng)用開發(fā)者發(fā)送修改指令。
18.一種軟件程序檢測裝置,其特征在于,應(yīng)用于智能終端,包括:獲取單元,用于從第三方市場獲得軟件程序; 第二判斷單元,用于判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息; 第三驗證單元,用于對所述數(shù)字簽名信息進行驗證; 顯示單元,用于當(dāng)所述數(shù)字簽名信息通過,顯示所述檢測結(jié)果。
19.一種軟件程序檢測系統(tǒng),其特征在于,包括: 第三方檢測中心,第三方市場和智能終端; 所述第三方檢測中心,用于接收送檢方發(fā)送的軟件程序;對所述軟件程序進行檢測獲得檢測結(jié)果;將所述檢測結(jié)果集成至所述軟件程序中;對包含檢測結(jié)果的軟件程序進行數(shù)字簽名,獲得#PKCS7格式的數(shù)字簽名信息;將數(shù)字簽名信息集成至軟件程序中,將該軟件程序反饋至送檢方; 所述第三方市場,用于接收應(yīng)用開發(fā)者發(fā)送的軟件程序;當(dāng)所述軟件程序中包含檢測結(jié)果,則對所述數(shù)字簽名信息進行驗證,同時獲得檢測機構(gòu);當(dāng)所述數(shù)字簽名信息驗證通過,則判斷所述檢測機構(gòu)是否可信;當(dāng)數(shù)字簽名信息驗證通過且所述檢測結(jié)構(gòu)可信,則分析檢測結(jié)果;當(dāng)所述檢測結(jié)果表明存在惡意行為或安全風(fēng)險,則向所述應(yīng)用開發(fā)者發(fā)送修改指令; 所述智能終端,用于從第三方市場獲得軟件程序;判斷所述軟件程序中是否有檢測結(jié)果和#PKCS7格式數(shù)字簽名信息;當(dāng)所述軟件程序中包括檢測結(jié)果;對所述數(shù)字簽名信息進行驗證,當(dāng)所述數(shù)字簽名信息通過,顯示所述檢測結(jié)果。
20.一種軟件程序檢測方法,其特征在于,應(yīng)用于第三方市場,包括: 接收送檢方發(fā)送的軟件程序; 判斷所述軟件程序中是否有檢測結(jié)果; 當(dāng)所述軟件程序中包含檢測結(jié)果且數(shù)字簽名信息完整,獲得已有的第一檢測結(jié)果; 對所述軟件程序進行檢測獲得第二檢測結(jié)果; 將第二檢測結(jié)果組成檢測報告集成至所述軟件程序中,獲得當(dāng)前的軟件程序; 對所述當(dāng)前的軟件程序進行數(shù)字簽名,獲得#PKCS7格式數(shù)字簽名信息; 將集成檢測結(jié)果和#PKCS7格式數(shù)字簽名信息的軟件程序反饋至送檢方; 當(dāng)軟件程序中未包括檢測結(jié)果,則按權(quán)利要求1所述的方法獲得第二檢測結(jié)果,并將包括第二檢測結(jié)果當(dāng)前的軟件程序反饋至送檢方。
【文檔編號】G06F11/36GK104035874SQ201410306485
【公開日】2014年9月10日 申請日期:2014年6月30日 優(yōu)先權(quán)日:2014年6月30日
【發(fā)明者】肖文濤, 余小龍, 孫卓, 李新國, 宮俊, 趙寶龍, 黃華松 申請人:深圳數(shù)字電視國家工程實驗室股份有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
镇平县| 临江市| 勐海县| 依兰县| 集安市| 文水县| 磐石市| 鹤庆县| 河西区| 荥阳市| 大新县| 商洛市| 朝阳县| 朝阳市| 天台县| 安福县| 来安县| 阿尔山市| 甘德县| 孟村| 邛崃市| 舟曲县| 安远县| 五家渠市| 库尔勒市| 泗阳县| 南充市| 开江县| 鹿邑县| 广州市| 永登县| 金坛市| 泸水县| 彭阳县| 崇阳县| 台东市| 文登市| 安丘市| 高安市| 揭东县| 康平县|