本發(fā)明涉及計(jì)算機(jī)領(lǐng)域,特別是涉及一種在集中環(huán)境中安全管理桌面應(yīng)用的方法及系統(tǒng)。
背景技術(shù):
在集中的信息系統(tǒng)中(包括生產(chǎn)型信息系統(tǒng)和辦公型信息系統(tǒng)),信息系統(tǒng)本身的安全問題一直是系統(tǒng)的建設(shè)、使用過程中需要考慮的的關(guān)鍵因素之一。而系統(tǒng)的安全性遭到破壞很大因素上是因?yàn)樾畔⑾到y(tǒng)中存在不安全的桌面應(yīng)用程序,或是病毒、木馬,或是被惡意代碼感染了的應(yīng)用程序。信息系統(tǒng)的安全性遭到破壞,產(chǎn)生的影響包括重則信息泄漏,輕則信息系統(tǒng)遭到破壞進(jìn)而影響生產(chǎn)效率等。因此為了保障信息系統(tǒng)中的安全,對系統(tǒng)中的桌面應(yīng)用進(jìn)行行之有效的安全管理,是重中之重。
在傳統(tǒng)的方式中,為了避免惡意代碼的攻擊,使用殺毒軟件是一個常見的技術(shù)手段。在集中信息環(huán)境中的每臺計(jì)算終端上部署殺毒軟件,定期對終端進(jìn)行掃描,可以及時發(fā)現(xiàn)并清除終端中存在的惡意代碼,確保終端環(huán)境的安全,從而達(dá)到整個集中信息系統(tǒng)的安全。另一種用于保證桌面應(yīng)用安全的方式是對可信計(jì)算技術(shù)的應(yīng)用。使用可信計(jì)算中信任傳遞的概念,在終端上從一個物理可信芯片(tpm)出發(fā),構(gòu)造一條從可信芯片到osloader,到os,最后到桌面應(yīng)用的完整的信任鏈,這一信任鏈能夠確保終端系統(tǒng)中運(yùn)行的桌面應(yīng)用都是可信的,從根本上杜絕了惡意代碼的加載。
但是這兩種方式都存在天然的缺陷:在采用殺毒軟件的方式中,一是殺毒軟件具有滯后性,對于新出現(xiàn)的惡意代碼無能為力,盡管可以在殺毒軟件的病 毒庫升級后“亡羊補(bǔ)牢”,但是可能惡意代碼已經(jīng)對信息系統(tǒng)造成了破壞,帶來了損失;二是殺毒軟件需要進(jìn)行定時的維護(hù)更新,例如病毒庫的升級,殺毒軟件引擎的更新等,同時需要定期使用殺毒軟件對終端進(jìn)行全盤掃描,以確保終端環(huán)境的安全,然而這些維護(hù)工作在集中的信息系統(tǒng)中會為運(yùn)維工作帶來很大的額外開銷,降低了使用殺毒軟件的靈活性。在應(yīng)用可信計(jì)算技術(shù)的方式中,這一技術(shù)方法依賴于可信芯片,而當(dāng)信息系統(tǒng)中的終端不具有可信芯片時,就無法構(gòu)造出完整的信任鏈,因此無法完成對需要啟動的桌面應(yīng)用的認(rèn)證;同時,由于每臺終端都需要構(gòu)造獨(dú)立的信任鏈,因此難以適用于集中的信息系統(tǒng)。
技術(shù)實(shí)現(xiàn)要素:
鑒于現(xiàn)有技術(shù)的缺陷,本發(fā)明目的在于提供一種在集中環(huán)境中安全管理桌面應(yīng)用的方法及系統(tǒng)。
本發(fā)明目的主要是通過以下技術(shù)方案實(shí)現(xiàn)的:
根據(jù)本發(fā)明的一個方面,本發(fā)明提供一種在集中環(huán)境中安全管理桌面應(yīng)用的方法,應(yīng)用于管理中心,其特征在于,包括:
生成信任桌面應(yīng)用列表;
將所述信任桌面應(yīng)用列表發(fā)送給終端。
根據(jù)本發(fā)明的另一個方面,本發(fā)明還提供一種在集中環(huán)境中安全管理桌面應(yīng)用的方法,應(yīng)用于終端側(cè),其特征在于,包括:
從管理中心獲取信任桌面應(yīng)用列表;
在加載一桌面應(yīng)用時,根據(jù)所述信任桌面應(yīng)用列表,判斷加載的所述桌面應(yīng)用是否屬于可信任的桌面應(yīng)用;
若判定為屬于時,加載并運(yùn)行所述桌面應(yīng)用;
若判定為不屬于時,拒絕加載所述桌面應(yīng)用。
根據(jù)本發(fā)明的另一個方面,本發(fā)明還提供一種在集中環(huán)境中安全管理桌面應(yīng)用的主系統(tǒng),其特征在于,包括:
列表生成模塊,用于生成信任桌面應(yīng)用列表;
列表發(fā)送模塊,用于將所述信任桌面應(yīng)用列表發(fā)送給終端。
根據(jù)本發(fā)明的另一個方面,本發(fā)明還提供一種列表接收模塊,用于從管理中心獲取的信任桌面應(yīng)用列表;
判斷模塊,用于在加載一桌面應(yīng)用時,根據(jù)所述信任桌面應(yīng)用列表,判斷加載的所述桌面應(yīng)用是否屬于可信任的桌面應(yīng)用;
執(zhí)行模塊,用于若判定為屬于時,加載并運(yùn)行所述桌面應(yīng)用;若判定為不屬于時,拒絕加載所述桌面應(yīng)用。
本發(fā)明有益效果如下:
本發(fā)明的方法和系統(tǒng)能夠彌補(bǔ)殺毒軟件滯后性的缺陷,對未知和新出現(xiàn)的惡意代碼也具有防御能力;同時采用運(yùn)行時驗(yàn)證的方法,毋須進(jìn)行定期的全盤掃描,也毋須定期逐個終端更新病毒庫,降低了維護(hù)的工作量;與可信計(jì)算技術(shù)相比,本發(fā)明所述的方法不要求所有的終端都擁有物理可信芯片,不用增加額外的成本,并且能夠采用統(tǒng)一管理維護(hù)的方法,更能適應(yīng)集中的信息環(huán)境。
附圖說明
圖1是本發(fā)明實(shí)施例中集中信息系統(tǒng)的總體架構(gòu)示意圖;
圖2是本發(fā)明實(shí)施例中一種在集中環(huán)境中應(yīng)用于終端側(cè)的安全管理桌面應(yīng)用的方法流程圖。
具體實(shí)施方式
本發(fā)明提供了一種在集中環(huán)境中安全管理桌面應(yīng)用的方法及系統(tǒng),以下結(jié)合附圖以及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅用以解釋本發(fā)明,并不限定本發(fā)明。
實(shí)施例一
本發(fā)明實(shí)施例提供一種在集中環(huán)境中安全管理桌面應(yīng)用的方法,應(yīng)用于管 理中心,包括:
s101,生成信任桌面應(yīng)用列表;
s102,將所述信任桌面應(yīng)用列表發(fā)送給終端。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述方法進(jìn)行了優(yōu)化,具體來說,所述生成信任桌面應(yīng)用列表的步驟,包括:
收集已驗(yàn)證的每個可信任的桌面應(yīng)用的可執(zhí)行文件和運(yùn)行庫文件;
針對每個可信任的桌面應(yīng)用,分別計(jì)算所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值,并按照一文件名和一散列值對應(yīng)關(guān)系生成一鍵值對;將所述鍵值對作為一列表項(xiàng);所述文件名為所述可執(zhí)行文件的文件名或所述運(yùn)行庫文件的文件名中一種;
將所有列表項(xiàng)生成所述信任桌面應(yīng)用列表。
其中,在所述信任桌面應(yīng)用列表中每一所述鍵值對的鍵唯一;
所述鍵可以為序號和編碼中任一種;所述值為散列值。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述方法進(jìn)行了優(yōu)化,具體來說,所述方法還包括更新所述信任桌面應(yīng)用列表。
實(shí)施例二
本發(fā)明實(shí)施例提供一種在集中環(huán)境中安全管理桌面應(yīng)用的方法,應(yīng)用于終端側(cè),包括:
s201,從管理中心獲取信任桌面應(yīng)用列表;
s202,在加載一桌面應(yīng)用時,根據(jù)所述信任桌面應(yīng)用列表,判斷加載的所述桌面應(yīng)用是否屬于可信任的桌面應(yīng)用;
若判定為屬于時,加載并運(yùn)行所述桌面應(yīng)用;
若判定為不屬于時,拒絕加載所述桌面應(yīng)用。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述方法進(jìn)行了優(yōu)化,具體來說,判斷加載的所述桌面應(yīng)用是否屬于可信任的桌面應(yīng)用的方式,包括:
確定所述桌面應(yīng)用的可執(zhí)行文件和運(yùn)行庫文件;
分別計(jì)算所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值;
查找所述信任桌面應(yīng)用列表中是否存儲有所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值;
若有,則判定所述桌面應(yīng)用屬于可信任的桌面應(yīng)用;
若沒有,則判定所述桌面應(yīng)用不屬于可信任的桌面應(yīng)用。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述方法進(jìn)行了優(yōu)化,具體來說,所述方法還包括:
根據(jù)需增加的桌面應(yīng)用生成更新桌面應(yīng)用列表;
向管理中心發(fā)送帶有更新桌面應(yīng)用列表的添加請求。
以下以一具體應(yīng)用例詳細(xì)描述本發(fā)明實(shí)例一和實(shí)施例二。
如圖1所示,在一個集中的信息系統(tǒng)中,存在有多個終端,這些終端又可以根據(jù)職能進(jìn)行分組,包括財(cái)務(wù)分組、人事分組和生產(chǎn)分組等。同時在該集中信息系統(tǒng)中,又有一個管理中心,來對這些終端進(jìn)行管理。
本發(fā)明的技術(shù)方法包含兩個階段,信任的桌面應(yīng)用列表生成下發(fā)階段和終端的應(yīng)用控制階段。
在管理中心生成信任桌面應(yīng)用列表,并下發(fā),包含了如下幾個步驟:
(1).生成信任桌面應(yīng)用列表。管理中心針對不同分組所需要運(yùn)行的桌面應(yīng)用,生成一個對應(yīng)該分組或終端的初始列表。
具體地說,收集已驗(yàn)證的每個可信任的桌面應(yīng)用的可執(zhí)行文件和運(yùn)行庫文件;
針對每個可信任的桌面應(yīng)用,分別計(jì)算所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值,并按照一文件名和一散列值對應(yīng)關(guān)系生成一鍵值對;將所述鍵值對作為一列表項(xiàng);所述文件名為所述可執(zhí)行文件的文件名或所述運(yùn)行庫文件的文件名中一種;
將所有列表項(xiàng)生成所述信任桌面應(yīng)用列表。
其中,在所述信任桌面應(yīng)用列表中每一所述鍵值對的鍵唯一;
所述鍵可以為序號和編碼中任一種;所述值為散列值。
也就是說,管理中心首先收集這些桌面應(yīng)用(.exe文件)以及這些桌面應(yīng)用所需要的運(yùn)行庫(.dll文件),計(jì)算這些文件的md5散列值,然后按<文件名,散列值>生成一系列的<key,value>對,作為一系列表項(xiàng),寫入一個空白的列表文件,作為初始的信任桌面應(yīng)用列表。
(2).將所述信任桌面應(yīng)用列表發(fā)送給終端。其中,在本步驟中,信任桌面應(yīng)用列表生成后,管理中心使用其擁有的私鑰對列表文件簽名,然后通過網(wǎng)絡(luò)發(fā)送到相應(yīng)的分組中的終端。終端收到由管理中心下發(fā)的列表后,首先使用管理中心的公鑰對其簽名進(jìn)行驗(yàn)證,以判斷其來源。
(3).更新所述信任桌面應(yīng)用列表。具體地說:接收終端發(fā)送的添加請求;
獲取所述添加請求中攜帶的更新桌面應(yīng)用列表;
對所述更新桌面應(yīng)用列表中的每一列表項(xiàng)對應(yīng)的桌面應(yīng)用進(jìn)行驗(yàn)證;
在驗(yàn)證該桌面應(yīng)用為可信任的桌面應(yīng)用時,將所述更新桌面應(yīng)用列表中的桌面應(yīng)用的列表項(xiàng)添加入所述信任桌面應(yīng)用列表中。
也就是說,當(dāng)某個或某組終端需要使用新增的桌面應(yīng)用時,會在終端本地生成一個與(1)中結(jié)構(gòu)相同的<key,value>對表項(xiàng),并通過網(wǎng)絡(luò)將其上報(bào)給管理中心,形成一次列表更新的申請;管理中心對該表項(xiàng)的內(nèi)容進(jìn)行分析驗(yàn)證后,將其加入信任的桌面應(yīng)用列表中,然后使用(2)中的類似步驟,下發(fā)給提出申請的終端,完成了一次列表更新過程。
如圖2所示,終端的應(yīng)用控制階段包括如下幾個步驟:
(1).從管理中心獲取信任桌面應(yīng)用列表;當(dāng)終端中需要加載并運(yùn)行一個桌面應(yīng)用時,會出發(fā)createprocess()和loadlibrary()的系統(tǒng)調(diào)用,其中前者為.exe文件(可執(zhí)行文件)建立新的進(jìn)程,而后者則將.dll文件(運(yùn)行庫文件)加載;也就是說首先確定所述桌面應(yīng)用的可執(zhí)行文件和運(yùn)行庫文件;
(2).然后分別計(jì)算所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值;
計(jì)算的方式包括:本發(fā)明所述方法對終端中的createprocess()和 loadlibrary()系統(tǒng)調(diào)用進(jìn)行了鉤子處理,當(dāng)觸發(fā)這兩個系統(tǒng)調(diào)用時,會在建立進(jìn)程和加載.dll文件之前進(jìn)行對.exe文件和.dll文件的預(yù)處理;
當(dāng)觸發(fā)了createprocess()系統(tǒng)調(diào)用時,系統(tǒng)會首先根據(jù)文件路徑找到所對應(yīng)的.exe文件,然后計(jì)算該.exe文件的md5散列值;
當(dāng)loadlibrary()系統(tǒng)調(diào)用時,系統(tǒng)也會計(jì)算對應(yīng)的.dll文件的散列值;
(3).得到兩個文件的散列值后,系統(tǒng)會在信任的桌面應(yīng)用列表中以該散列值為關(guān)鍵字進(jìn)行搜索,查找列表中是否有相應(yīng)的表項(xiàng);也就是說,根據(jù)所述信任桌面應(yīng)用列表,判斷加載的所述桌面應(yīng)用是否屬于可信任的桌面應(yīng)用;
(4).若判定為屬于時,加載并運(yùn)行所述桌面應(yīng)用;也就是說,如果有相應(yīng)的表項(xiàng),則返回createprocess()系統(tǒng)調(diào)用,為該.exe文件創(chuàng)建相應(yīng)進(jìn)程;并返回loadlibrary()系統(tǒng)調(diào)用,將該.dll文件加載入內(nèi)存;
若判定為不屬于時,拒絕加載所述桌面應(yīng)用。也就是說,如果沒有相應(yīng)的表項(xiàng),則失敗此次創(chuàng)建進(jìn)程的請求和拒絕此次加載請求。
在終端的應(yīng)用控制階段,控制操作發(fā)生在進(jìn)程建立和庫文件加載的過程中,因此對時間消耗比較敏感。為了降低搜索過程的時間開銷,提高這一階段的效率,本發(fā)明在生成和更新信任的桌面應(yīng)用列表時,會對整個列表進(jìn)行去重處理,避免存在重復(fù)的表項(xiàng),避免重復(fù)查找。另外,本發(fā)明采取了更高效的搜索算法,以加快搜索速度。
本發(fā)明的方法確保只有通過認(rèn)證的桌面應(yīng)用才能得到執(zhí)行和加載,規(guī)避了傳統(tǒng)殺毒軟件滯后性的缺陷,對未知和新出現(xiàn)的惡意代碼也具有防御能力;同時采用運(yùn)行時驗(yàn)證的方法,毋須進(jìn)行定期的全盤掃描,也毋須定期逐個終端更新病毒庫,降低了維護(hù)的工作量;其次,在管理中心采用主動下發(fā)和被動更新相結(jié)合的對信任桌面應(yīng)用列表進(jìn)行統(tǒng)一管理的方法,使信任桌面應(yīng)用列表的完整性得到了保證的同時,也降低了在集中的信息環(huán)境中維護(hù)這一列表的工作量;第三,使用分組統(tǒng)一管理和獨(dú)立管理相結(jié)合的方法,增強(qiáng)了列表維護(hù)的靈活性。
實(shí)例三
本發(fā)明實(shí)施例提供一種在集中環(huán)境中安全管理桌面應(yīng)用的主系統(tǒng),應(yīng)用于管理中心,包括:
列表生成模塊,用于生成信任桌面應(yīng)用列表;
列表發(fā)送模塊,用于將所述信任桌面應(yīng)用列表發(fā)送給終端。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述系統(tǒng)進(jìn)行了優(yōu)化,具體來說,其中,列表生成模塊具體用于收集已驗(yàn)證的每個可信任的桌面應(yīng)用的可執(zhí)行文件和運(yùn)行庫文件;
針對每個可信任的桌面應(yīng)用,分別計(jì)算所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值,并按照一文件名和一散列值對應(yīng)關(guān)系生成一鍵值對;將所述鍵值對作為一列表項(xiàng);所述文件名為所述可執(zhí)行文件的文件名或所述運(yùn)行庫文件的文件名中一種;
將所有列表項(xiàng)生成所述信任桌面應(yīng)用列表。
在所述信任桌面應(yīng)用列表中每一所述鍵值對的鍵唯一;
所述鍵可以為序號和編碼中任一種;所述值為散列值;
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述系統(tǒng)進(jìn)行了優(yōu)化,具體來說,列表發(fā)送模塊具體用于將所述信任桌面應(yīng)用列表采用私鑰加密后發(fā)送給終端。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述系統(tǒng)進(jìn)行了優(yōu)化,具體來說,所述主系統(tǒng)還包括列表更新模塊,用于接收終端發(fā)送的添加請求;
獲取所述添加請求中攜帶的增加桌面應(yīng)用列表;
對所述增加桌面應(yīng)用列表中的桌面應(yīng)用的列表項(xiàng)進(jìn)行分析驗(yàn)證;
在分析驗(yàn)證所述增加桌面應(yīng)用列表中的桌面應(yīng)用為可信任的桌面應(yīng)用時,將所述增加桌面應(yīng)用列表中的桌面應(yīng)用的列表項(xiàng)添加入所述信任桌面應(yīng)用列表。
實(shí)施例四
本發(fā)明實(shí)施例提供一種在集中環(huán)境中安全管理桌面應(yīng)用的分系統(tǒng),應(yīng)用于終端側(cè),包括:
列表接收模塊,用于從管理中心獲取的信任桌面應(yīng)用列表;
判斷模塊,用于在加載一桌面應(yīng)用時,根據(jù)所述信任桌面應(yīng)用列表,判斷加載的所述桌面應(yīng)用是否屬于可信任的桌面應(yīng)用;
執(zhí)行模塊,用于若判定為屬于時,加載并運(yùn)行所述桌面應(yīng)用;若判定為不屬于時,拒絕加載所述桌面應(yīng)用。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述系統(tǒng)進(jìn)行了優(yōu)化,具體來說,
判斷模塊判斷加載的所述桌面應(yīng)用是否屬于可信任的桌面應(yīng)用的方式,包括:
確定所述桌面應(yīng)用的可執(zhí)行文件和運(yùn)行庫文件;
分別計(jì)算所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值;
查找所述信任桌面應(yīng)用列表中是否存儲有所述可執(zhí)行文件的散列值和所述運(yùn)行庫文件的散列值;
若有,則判定所述桌面應(yīng)用屬于可信任的桌面應(yīng)用;
若沒有,則判定所述桌面應(yīng)用不屬于可信任的桌面應(yīng)用。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述系統(tǒng)進(jìn)行了優(yōu)化,具體來說,判斷模塊包括確定模塊,用于采用鉤子處理方式,確定所述桌面應(yīng)用的可執(zhí)行文件和運(yùn)行庫文件;
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述系統(tǒng)進(jìn)行了優(yōu)化,具體來說,執(zhí)行模塊包括加載模塊,用于為所述可執(zhí)行文件創(chuàng)建相應(yīng)進(jìn)程;將所述運(yùn)行庫文件加載入內(nèi)存。
在本發(fā)明的一個優(yōu)選的實(shí)施方式中,還對上述系統(tǒng)進(jìn)行了優(yōu)化,具體來說,所述系統(tǒng)還包括列表更新請求模塊,用于根據(jù)需增加的桌面應(yīng)用生成更新桌面應(yīng)用列表;
向管理中心發(fā)送帶有更新桌面應(yīng)用列表的添加請求。
也就是說,當(dāng)某個或某組終端需要使用新增的桌面應(yīng)用時,會在終端本地生成一個與(1)中結(jié)構(gòu)相同的<key,value>對表項(xiàng),并通過網(wǎng)絡(luò)將其上報(bào)給管理 中心,形成一次列表更新的申請;管理中心對該表項(xiàng)的內(nèi)容進(jìn)行分析驗(yàn)證后,將其加入信任桌面應(yīng)用列表中,然后使用(2)中的類似步驟,下發(fā)給提出申請的終端,完成了一次列表更新過程。
實(shí)施例三和實(shí)施例四分別為實(shí)施例一和實(shí)施例二的裝置實(shí)施例,其具體實(shí)現(xiàn)原理和技術(shù)效果與實(shí)施例一和實(shí)施例二相同,在此不再贅述。
盡管為示例目的,以上已經(jīng)公開了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域的技術(shù)人員將意識到各種改進(jìn)、增加和取代也是可能的,因此,本發(fā)明的范圍應(yīng)當(dāng)不限于上述實(shí)施例。