亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法

文檔序號:6654029閱讀:404來源:國知局
專利名稱:一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法
技術(shù)領(lǐng)域
本發(fā)明涉及系統(tǒng)安全技術(shù),具體涉及基于公開密鑰體制(PublicKey Infrastructure,PKI)的數(shù)字證書在計(jì)算機(jī)應(yīng)用系統(tǒng)中的應(yīng)用,更具體地說,涉及一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)代碼被攻擊或篡改的方法。
隨著計(jì)算機(jī)的普及,互聯(lián)網(wǎng)的廣泛應(yīng)用,各種病毒、非法入侵程序?qū)τ?jì)算機(jī)應(yīng)用系統(tǒng)安全造成極大威脅。這些非法代碼往往通過修改應(yīng)用系統(tǒng)代碼或入口達(dá)到破壞目的。目前,解決問題主要是通過系統(tǒng)級安全進(jìn)行防范,如防火墻、各種殺毒軟件,并且它們只能針對現(xiàn)有的系統(tǒng)漏洞或已知的病毒特征碼掃描。對于預(yù)防新的病毒和其它非法入侵程序具有滯后性,往往在已遭受攻擊后才找出解決辦法進(jìn)行補(bǔ)救。而現(xiàn)行的在計(jì)算機(jī)上運(yùn)行的應(yīng)用系統(tǒng),特別是大型的和復(fù)雜的應(yīng)用系統(tǒng),都采用了模塊化設(shè)計(jì),經(jīng)常需要調(diào)用多個軟件模塊或其它應(yīng)用程序,并且根據(jù)需要會隨時從環(huán)境中添加和移走這些模塊。為了防止惡意攻擊者的攻擊或篡改,建立一個安全可信任的計(jì)算環(huán)境,特別是在動態(tài)計(jì)算環(huán)境中,對應(yīng)用系統(tǒng)、各加載模塊和調(diào)用程序之間的驗(yàn)證處理和安全檢查顯得格外重要。
本發(fā)明的目的在于,提供一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法,可以克服現(xiàn)有技術(shù)存在的上述缺點(diǎn),特別是可以有效地防止來自應(yīng)用系統(tǒng)外部的非法代碼的入侵,保證在動態(tài)環(huán)境下應(yīng)用系統(tǒng)、各加載模塊和其它調(diào)用程序的安全性,使得運(yùn)行在計(jì)算機(jī)中的應(yīng)用系統(tǒng)的功能不被破壞和影響,從而建立一個安全可信任的計(jì)算環(huán)境。
本發(fā)明的目的是基于以下認(rèn)識實(shí)現(xiàn)的,由于基于公開密鑰框架(PKI)的數(shù)字簽名是實(shí)現(xiàn)上述驗(yàn)證處理和安全檢查的比較完善的算法。本發(fā)明提出并利用認(rèn)證系統(tǒng)的分層認(rèn)證結(jié)構(gòu)(證書鏈)和數(shù)字證書的簽名驗(yàn)證技術(shù)。一方面,利用證書鏈驗(yàn)證了驗(yàn)證者本身(開發(fā)模塊開發(fā)商)的真實(shí)性;另一方面,利用數(shù)字證書的簽名驗(yàn)證技術(shù),采用自我完整性檢查、應(yīng)用系統(tǒng)和各模塊相互之間進(jìn)行雙向認(rèn)證以及安全鏈接檢查,從代碼級去保證動態(tài)計(jì)算環(huán)境的安全。
本發(fā)明的目的是這樣實(shí)現(xiàn)的,構(gòu)造一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法,所述應(yīng)用系統(tǒng)包括第一子系統(tǒng)和第二子系統(tǒng),其特征在于,包括以下步驟根據(jù)第一子系統(tǒng)中的可加載模塊A1、加載應(yīng)用程序A2和第二子系統(tǒng)中的可加載模塊B1和加載應(yīng)用程序B2設(shè)置信任書文件;啟動所述第一子系統(tǒng)時,通過查找所述信任書文件,獲得證書鏈和模塊信息,由證書鏈驗(yàn)證開發(fā)商的真實(shí)性驗(yàn)證對欲裝載模塊A1、A2進(jìn)行完整性檢查(即簽名驗(yàn)證),如果簽名驗(yàn)證成功則裝載所述模塊A1、A2;將所述第一子系統(tǒng)中模塊A1、A2裝入可執(zhí)行環(huán)境中,在運(yùn)行環(huán)境中,驗(yàn)證所述模塊A1、A2在執(zhí)行環(huán)境中的內(nèi)存映象代碼的雜湊值,將之與事先計(jì)算好的雜湊值進(jìn)行比較,如果比較兩者相同,驗(yàn)證裝載后的完整性,其后可隨時相互在線驗(yàn)證,防止惡意攻擊者的在線攻擊。啟動第二子系統(tǒng)時,裝載模塊B1、B2的驗(yàn)證方法與上述相同。
對應(yīng)用系統(tǒng)和模塊、模塊和模塊之間的函數(shù)調(diào)用進(jìn)行安全鏈接檢查,檢查被調(diào)用的函數(shù)地址是否在所屬模塊的內(nèi)存映象地址空間內(nèi)。
按照本發(fā)明提供的方法,所述應(yīng)用系統(tǒng)和第一子系統(tǒng)由第一開發(fā)商提供,所述第二子系統(tǒng)由第二開發(fā)商提供,第一子系統(tǒng)調(diào)用第二子系統(tǒng),其特征在于,所述在包含第一子系統(tǒng)和第二子系統(tǒng)的應(yīng)用系統(tǒng)中設(shè)置信任書文件的步驟包括以下步驟由所述第一開發(fā)商生成根證書,使第一子系統(tǒng)中的動態(tài)可裝載模塊A1、A2實(shí)現(xiàn)自我簽名;所述第一開發(fā)商用根證書為第二開發(fā)商擁有的數(shù)字證書簽名,形成第二級數(shù)字證書,所述第二開發(fā)商利用自己的數(shù)字證書為所述第二子系統(tǒng)動態(tài)可加載模塊B1、可加載應(yīng)用程序B2簽名;將所述根證書、所述數(shù)字證書形成的證書鏈以及模塊信息、被簽名的模塊代碼的雜湊值(信息摘要)、簽名驗(yàn)證的具體算法以文件方式保存作為信任書文件,按照本發(fā)明提供的方法,其特征在于,所述完整性驗(yàn)證包括以下步驟從信任書文件中根據(jù)證書鏈讀取簽名驗(yàn)證用的模塊證書和模塊信息,驗(yàn)證驗(yàn)證者本身的真實(shí)性;從磁盤和內(nèi)存映象空間兩方面計(jì)算模塊代碼的雜湊值,將之與證書中事先計(jì)算好的雜湊值進(jìn)行比較,如果一致,則驗(yàn)證了模塊在裝載前和裝載后沒有被他人篡改;相互驗(yàn)證能在線進(jìn)行,防止在線攻擊;對加載模塊的函數(shù)調(diào)用實(shí)行安全鏈接檢查,檢查函數(shù)地址是否在模塊內(nèi)存映性地址空間內(nèi)。
按照本發(fā)明提供的方法,其特征在于,所述第一、第二子系統(tǒng)運(yùn)行時,所述信任書文件存儲在外部存儲介質(zhì)中。
實(shí)施本發(fā)明提供的防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法,具有以下顯著優(yōu)點(diǎn)應(yīng)用了基于公開密鑰框架(PKI)的數(shù)字簽名技術(shù),通過利用數(shù)字證書的簽名驗(yàn)證技術(shù),采用自我完整性檢查、應(yīng)用系統(tǒng)、各加載模塊和其它被調(diào)用程序之間的雙向認(rèn)證,從磁盤和內(nèi)存映象空間兩方面分別對已簽名的代碼進(jìn)行驗(yàn)證,確定代碼在裝載前或裝載后沒有被惡意攻擊者篡改;在動態(tài)計(jì)算環(huán)境中,加載模塊會不斷地從環(huán)境中添加和移走,本方法能保證相互驗(yàn)證處理在線進(jìn)行,即在應(yīng)用系統(tǒng)運(yùn)行中能隨時進(jìn)行相互驗(yàn)證處理,有效地防止了惡意攻擊者的在線攻擊;對加載模塊的函數(shù)調(diào)用實(shí)行安全鏈接檢查,檢查函數(shù)地址是否在模塊內(nèi)存代碼空間內(nèi)。從這三個方面,實(shí)現(xiàn)在代碼級上保證動態(tài)計(jì)算環(huán)境的安全性。
結(jié)合附圖和實(shí)施例,進(jìn)一步說明本發(fā)明的特點(diǎn),附圖中

圖1是按照本發(fā)明的方法形成簽名及驗(yàn)證證書鏈的示意圖;圖2是按照本發(fā)明的方法,對可裝載模塊進(jìn)行驗(yàn)證的過程示意圖;在圖1示出的本發(fā)明的方法原理性結(jié)構(gòu)圖中,設(shè)應(yīng)用系統(tǒng)A本身有可加載模塊A1和可加載應(yīng)用程序A2,該A1、A2需要調(diào)用由開發(fā)商B開發(fā)的可加載模塊B1和可加載應(yīng)用程序B2,具體地說,即在一個應(yīng)用系統(tǒng)中,有一個被調(diào)用的子系統(tǒng)SA,以及一個被調(diào)用的子系統(tǒng)SB,子系統(tǒng)SA包括可加載模塊A1和可加載應(yīng)用程序A2,子系統(tǒng)SB包括可加載模塊B1和可加載應(yīng)用程序B2,其中應(yīng)用系統(tǒng)A和子系統(tǒng)SA、由開發(fā)商A開發(fā),子系統(tǒng)SB由開發(fā)商B開發(fā),子系統(tǒng)SA調(diào)用子系統(tǒng)SB。圖1中,方框102、104表示數(shù)字證書,箭頭線101、103表示私鑰的對象。
為檢測和防止在靜態(tài)和動態(tài)條件下應(yīng)用系統(tǒng)被攻擊或篡改,由應(yīng)用系統(tǒng)提供者預(yù)先為應(yīng)用系統(tǒng)準(zhǔn)備信任書文件,該文件可以隨應(yīng)用系統(tǒng)一起銷售或分發(fā),該信任書文件是這樣形成的1)開發(fā)商A生成自我簽名的根證書CA,給系統(tǒng)A的可裝載模塊A1、A2實(shí)現(xiàn)自我簽名,包括計(jì)算模塊A1、A2代碼的雜湊值(即信息摘要),并簽名雜湊值。
2)開發(fā)商A用根證書為開發(fā)商B擁有的數(shù)字證書簽名,形成第二級數(shù)字證書CB,開發(fā)商B用數(shù)字證書CB對自己開發(fā)的模塊B1、B2簽名,即用證書CB對應(yīng)的算法和私鑰計(jì)算模塊B1、B2代碼的雜湊值,并簽名雜湊值。開發(fā)商B也可為提供模塊的其他開發(fā)商生成自己簽名的數(shù)字證書,如此類推。
3)將1、2形成證書鏈作為信任書以文件方式保存。信任書還記錄了模塊的信息,被簽名的模塊代碼的雜湊值,簽名日期,簽名驗(yàn)證的具體算法等等。
當(dāng)應(yīng)用系統(tǒng)分發(fā)到用戶,在啟動應(yīng)用系統(tǒng)之前,首先,找出該應(yīng)用系統(tǒng)的信任書文件,從中讀取簽名驗(yàn)證用的證書鏈和模塊信息,在模塊裝載前,按以下步驟驗(yàn)證其完整性1)根據(jù)證書鏈驗(yàn)證驗(yàn)證者本身(即開發(fā)商提供的各級數(shù)字證書)的真實(shí)性;2)計(jì)算模塊代碼的雜湊值(即信息摘要),由證書獲得事先計(jì)算好的雜湊值,與當(dāng)前計(jì)算得到的雜湊值比較,如果一致,則驗(yàn)證了模塊沒有被他人篡改。
如果上述驗(yàn)證了靜態(tài)模塊沒有被他人篡改,則準(zhǔn)備裝載模塊A1、A2。將模塊A1、A2裝入可執(zhí)行環(huán)境中,在運(yùn)行環(huán)境中,驗(yàn)證模塊在執(zhí)行環(huán)境中的內(nèi)存映象,即計(jì)算內(nèi)存映象代碼的雜湊值,與事先計(jì)算好的雜湊值比較,實(shí)現(xiàn)裝載后的簽名驗(yàn)證,其后可隨時相互驗(yàn)證模塊在執(zhí)行環(huán)境中的內(nèi)存映象,達(dá)到相互在線驗(yàn)證,防止了惡意攻擊者的在線攻擊。應(yīng)用系統(tǒng)和模塊、模塊和模塊之間的函數(shù)調(diào)用都采用了安全鏈接檢查,檢查被調(diào)用的函數(shù)地址是否在所屬模塊的內(nèi)存映象地址空間內(nèi)。
為防止計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)遭到惡意攻擊者的攻擊或篡改,保證動態(tài)計(jì)算環(huán)境的安全,上述技術(shù)方案還可以按照以下方式表述和實(shí)現(xiàn)1、使用基于公開密鑰框架(Public Key Infrastructure,PKI)的數(shù)字簽名這一比較成熟的算法。即利用數(shù)字證書的簽名驗(yàn)證技術(shù),采用自我完整性檢查,系統(tǒng)與模塊之間、模塊與模塊之間雙向認(rèn)證,對可加載模塊內(nèi)的函數(shù)調(diào)用采用安全鏈接檢查,從代碼級保證了動態(tài)計(jì)算環(huán)境的安全。
2、數(shù)字證書在應(yīng)用系統(tǒng)和模塊的對象代碼之外被公開,以便他們能被任何伙伴驗(yàn)證。它使得所有模塊被簽名以及簽名驗(yàn)證被執(zhí)行。
3、為確定由誰檢查這個驗(yàn)證者,也就是確定該證書是可信任的。為在計(jì)算環(huán)境中建立信任,從一個單個可信任的模塊開始是很重要的。在應(yīng)用系統(tǒng)級建立根證書,其它證書(被調(diào)用者)由上一級證書(調(diào)用者)簽名,形成簽名驗(yàn)證證書鏈(如圖1所示),以此作為信任書以文件的方式保存。
可裝載模塊在添加到可執(zhí)行環(huán)境中前必須被檢查,調(diào)用者能根據(jù)信任書文件找到驗(yàn)證可裝載模塊的證書鏈和相關(guān)信息。從磁盤讀入它的代碼在裝載前驗(yàn)證其完整性。在它們在系統(tǒng)中運(yùn)行后,從內(nèi)存映象中檢查裝入模塊的代碼,在線檢查這些模塊。通過使每一個模塊去檢查其他模塊的完整性和信任書,這些應(yīng)用程序的安全性能被進(jìn)一步加強(qiáng)。檢查步驟如圖2所示,在框201中,調(diào)用者準(zhǔn)備動態(tài)裝載程序模塊;在框202中,從磁盤讀區(qū)讀取模塊的信任書,獲取證書鏈、讀入模塊代碼,驗(yàn)證簽名;在框203中,如果驗(yàn)證成功,將裝載模塊到可執(zhí)行環(huán)境;在框204中,在運(yùn)行中讀取模塊的內(nèi)存印象,相互的內(nèi)存中讀取,相互在線驗(yàn)證簽名,同時,對模塊的函數(shù)調(diào)用進(jìn)行安全性檢查本發(fā)明涉及基于公開密鑰體制(PKI)的數(shù)字證書在計(jì)算機(jī)應(yīng)用系統(tǒng)中的應(yīng)用,它利用數(shù)字證書的數(shù)字簽名和驗(yàn)證功能,檢查應(yīng)用系統(tǒng)的完整性,使用各種不同規(guī)模的應(yīng)用系統(tǒng)的安全性保障,對所有調(diào)用的應(yīng)用程序子系統(tǒng)或裝載的模塊進(jìn)行完整性檢查和認(rèn)證,從而確保計(jì)算環(huán)境的安全。
權(quán)利要求
1.一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法,所述應(yīng)用系統(tǒng)包括第一子系統(tǒng)和第二子系統(tǒng),其特征在于,包括以下步驟設(shè)置信任書文件;啟動所述第一子系統(tǒng)時,通過查找所述信任書文件對所述第一子系統(tǒng)欲裝載模塊A1、A2進(jìn)行完整性驗(yàn)證,如果檢驗(yàn)完整則裝載所述模塊A1、A2;將所述第一子系統(tǒng)的模塊A1、A2裝入可執(zhí)行環(huán)境中,在運(yùn)行環(huán)境中,隨時或定時驗(yàn)證所述模塊A1、A2在執(zhí)行環(huán)境中的內(nèi)存映象代碼的雜湊值,將之與事先計(jì)算好的雜湊值進(jìn)行比較,如果比較兩者相同,則驗(yàn)證沒有出現(xiàn)惡意攻擊者的攻擊。
2.根據(jù)權(quán)利要求1所述方法,其特征在于,還包括以下步驟由所述第一子系統(tǒng)加載所述第二子系統(tǒng),通過查找所述信任書文件驗(yàn)證對欲裝載模塊B1、B2進(jìn)行完整性驗(yàn)證,如果檢驗(yàn)完整則裝載之,并在運(yùn)行環(huán)境中,隨時或定時驗(yàn)證所述模塊B1、B2在執(zhí)行環(huán)境中的內(nèi)存映象代碼的雜湊值,將之與事先計(jì)算好的雜湊值進(jìn)行比較,如果比較兩者相同,則驗(yàn)證沒有出現(xiàn)惡意攻擊者的攻擊。
3.根據(jù)權(quán)利要求1或2所述方法,其特征在于,對加載模塊中的函數(shù)調(diào)用采用安全鏈接檢查,檢查函數(shù)地址是否在模塊內(nèi)存映象地址空間內(nèi)。
4.根據(jù)權(quán)利要求3所述方法,所述第一子系統(tǒng)由第一開發(fā)商提供,所述第二子系統(tǒng)由第二開發(fā)商提供,所述第一子系統(tǒng)調(diào)用所述第二子系統(tǒng),其特征在于,所述設(shè)置信任書文件包括以下步驟由所述第一開發(fā)商生成根證書,使第一子系統(tǒng)中的動態(tài)可裝載模塊A1、A2實(shí)現(xiàn)自我簽名;所述第二開發(fā)商的數(shù)字證書由第一開發(fā)商的數(shù)字證書簽名,形成第二級數(shù)字證書,給第二子系統(tǒng)動態(tài)可裝載模塊B1、可加載應(yīng)用程序B2簽名;將所述根證書、所述數(shù)字證書形成的證書鏈以及模塊信息、被簽名的模塊代碼的雜湊值,簽名驗(yàn)證的具體算法以文件方式保存作為信任書文件。
5.根據(jù)權(quán)利要求3所述方法,其特征在于,所述完整性驗(yàn)證包括以下步驟從信任書文件中根據(jù)證書鏈讀取簽名驗(yàn)證用的模塊證書和模塊信息,驗(yàn)證其真實(shí)性;計(jì)算模塊代碼的雜湊值,將之與證書中事先計(jì)算好的雜湊值進(jìn)行比較,如果一致,則驗(yàn)證了模塊沒有被他人篡改。
6.根據(jù)權(quán)利要求1-5任一項(xiàng)所述方法,其特征在于,所述第一、第二子系統(tǒng)運(yùn)行時,所述信任書文件存儲在外部存儲介質(zhì)中。
7.一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法,其特征在于,包括以下步驟由應(yīng)用系統(tǒng)及可加載模塊的開發(fā)商生成自我簽名的根證書,被加載的其它模塊由根證書或作為調(diào)用者的上一級證書簽名,將上述數(shù)字簽名鏈接成簽名驗(yàn)證證書鏈,以此作為信任書以文件的方式保存;應(yīng)用系統(tǒng)的每一個可裝載模塊在添加到可執(zhí)行環(huán)境中前必須被簽名驗(yàn)證,調(diào)用者根據(jù)所述信任書文件找到驗(yàn)證可裝載模塊的證書鏈和它的對象代碼,驗(yàn)證簽名,如果沒有被篡改則加載到運(yùn)行環(huán)境中。
8.根據(jù)權(quán)利要求7所述方法,其特征在于,還包括以下步驟,在將模塊加載到可執(zhí)行環(huán)境中后,還包括以下步驟,計(jì)算被加載模塊在執(zhí)行環(huán)境中的內(nèi)存映象代碼的雜湊值,將之與事先計(jì)算好的雜湊值進(jìn)行比較,如果比較兩者相同,驗(yàn)證模塊加載后沒有遭到惡意攻擊者的攻擊。
9.根據(jù)權(quán)利要求7所述方法,其特征在于,在應(yīng)用系統(tǒng)運(yùn)行過程中,還包括以下步驟,隨時在線檢查模塊代碼的內(nèi)存映象,使每一個模塊去檢查其他模塊內(nèi)存映象代碼的完整性和信任書,使得所有模塊簽名驗(yàn)證被在線執(zhí)行,防止惡意攻擊者的在線攻擊。
10.根據(jù)權(quán)利要求7所述方法,其特征在于,在應(yīng)用系統(tǒng)運(yùn)行過程中,還包括以下步驟對加載模塊中的函數(shù)調(diào)用進(jìn)行安全鏈接檢查,檢查函數(shù)地址是否在模塊內(nèi)存映象地址空間內(nèi)。
全文摘要
一種防止在計(jì)算機(jī)中運(yùn)行的應(yīng)用系統(tǒng)被攻擊或篡改的方法,先將各可加載模塊被開發(fā)商各自擁有的數(shù)字證書簽名,產(chǎn)生證書鏈和可加載模塊簽名信息作為信任書文件保存。從該文件獲取證書鏈確認(rèn)驗(yàn)證者本身;調(diào)用者根據(jù)該文件可找到模塊簽名信息,并從磁盤和內(nèi)存映象空間對被加載模塊驗(yàn)證來確定在裝載前、后沒有被惡意攻擊者篡改,而且簽名驗(yàn)證可隨時在線進(jìn)行,同時可對加載模塊中的函數(shù)調(diào)用進(jìn)行安全鏈接檢查,從代碼級保證動態(tài)計(jì)算環(huán)境的安全。
文檔編號G06F12/16GK1365053SQ01107429
公開日2002年8月21日 申請日期2001年1月9日 優(yōu)先權(quán)日2001年1月9日
發(fā)明者劉華芳 申請人:深圳市中興集成電路設(shè)計(jì)有限責(zé)任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1