一種基於軟體身份認證技術的計算機安全保護方法
2023-07-03 23:13:31 2
專利名稱:一種基於軟體身份認證技術的計算機安全保護方法
技術領域:
本發明涉及計算機應用技術領域,涉及一種計算機安全的保護方法。利用本方法可以建立一種提供計算機安全保護服務的基礎設施。利用本方法也可以設計一種提高計算機安全性的應用軟體。本方法通過限制未經安全認證的軟體在計算機上的執行,提高計算機系統的安全性。
二.
背景技術:
防止計算機病毒的傳播危害,是計算機安全領域的一個重要課題。在《中華人民共和國計算機信息系統安全保護條例》中,計算機病毒的定義是「計算機病毒是指編制或者在電腦程式中插入的破壞計算機功能或者數據,影響計算機使用並且能夠自我複製的一組計算機指令或者程序代碼」。由此可見,計算機病毒可以是一個獨立編制的可執行文件,也可以是插入其它電腦程式中的一組可執行指令或程序代碼。無論病毒以哪種形式存在,傳統的殺毒軟體,都是基於一種稱為「特徵匹配」的工作原理進行病毒檢測。其工作原理是首先在殺毒軟體裡面製作一個關於病毒特徵的資料庫,在殺毒的時候就根據這些病毒特徵對檢查對象逐個掃描,如果發現被檢查對象存在和已知病毒特徵庫中的某種特徵相匹配的特徵段,就定義為發現病毒。傳統殺毒軟體的原則是阻止已知有害軟體的運行。設計思想是基於對已知非安全軟體的發現,只對病毒特徵匹配成功的文件加以阻止或者隔離,因此無法實現對未知非安全文件的監控。相對於以病毒為代表的非安全文件出現時間而言,傳統殺毒軟體的查殺能力是滯後的。只有當這個非安全軟體被發現,被報告,並被公認為有破壞性後,才會納入傳統殺毒軟體的查殺範圍之類。隨著病毒技術的改進,以及網際網路建設的發展,新病毒的出現頻率和傳播速度都得到了很大的提高。固有的滯後性,使傳統殺毒軟體對這些新型的病毒防不勝防,無法徹底避免危害的產生。
另一類方法是基於文件自保護的思想,例如已經公開的發明「微機病毒防治的軟體自保護方法」(公開號CN1068205A)和「計算機軟體保護方法」(公開號CN1155700A)。這種方法都是設法在文件自身添加具有唯一性特徵的信息,在程序開始運行的時候,首先檢查文件當前的特徵信息是否與自身儲存的特徵信息一致,並由此判斷文件是否被非法篡改,進而採取相應的措施。這類方法可以在一定程度上防止軟體被病毒程序修改,但也存在著明顯的缺陷1.顯然不適用於對病毒為獨立可執行文件的情況。換言之,病毒程序自成一體,不修改任何文件,則這類方法無能為力;2.不排除病毒可以在程序被執行前,先行篡改程序,然後根據篡改後的文件狀態,使用同樣的方法重新計算文件的特徵信息,然後替換掉舊有的特徵信息。
除了防範病毒攻擊,防止黑客直接利用軟體的設計漏洞對計算機系統進行攻擊,也是當前計算機安全領域的重要課題。其中最典型的莫過於「緩衝區溢出」漏洞。雖然「緩衝區溢出」攻擊是一種非常「古老」的攻擊技術(甚至1988年11月爆發的「莫裡斯蠕蟲」就利用了「緩衝區溢出」的原理),但它對計算機系統的安全威脅依然很大。殺毒軟體和基於文件自保護的方法可以一定程度上防止病毒的入侵,但對利用軟體漏洞而進行的直接攻擊卻無能為力。目前如何防止這類攻擊,尚無一個統一,有效的方法和工具,基本上依賴於系統管理員對計算機系統安全性的了解程度和改善計算機系統功能的水平,常見的方法就是及時打上最新的系統補丁。
除此以外,隨著網際網路技術的發展,各種「木馬」軟體,廣告軟體,也給計算機安全帶來了威脅,給用戶的計算機操作帶來了不便。對企業而言,如何限制員工在企業內部網絡中運行與工作無關,甚至有潛在安全漏洞的軟體,也是一個亟待解決的問題。
三.
發明內容
本發明的目的是提供一種以軟體身份識別為基礎,採用安全認證資料庫和認證伺服器對軟體進行集中認證的計算機系統安全保護方法,使用這種方法建立一個只允許已知可信的安全軟體運行的計算機系統環境。
本發明預先建立安全認證資料庫以存儲軟體的特徵信息和安全信息,資料庫中存儲的每個軟體都利用可執行文件的唯一特徵碼進行標識;並基於該安全認證資料庫建立具有安全認證功能的伺服器程序。當客戶端計算機中的某個軟體在被執行時,監控程序會計算出該軟體的可執行文件的唯一特徵碼,並提交給認證伺服器。認證伺服器根據唯一特徵碼從安全認證資料庫中搜索出該軟體的安全信息和特徵信息,並把這些信息反饋給監控程序,監控程序根據反饋的結果判斷軟體是否滿足安全的需要,是否可以繼續執行。
本發明克服了當前殺毒軟體和文件自保護這兩類方法的不足,引入新的思路1.「只允許已知可信的安全軟體運行」;2.通過查詢集中存儲的軟體特徵信息和安全信息,對正在運行軟體的安全性進行評估。
「已知可信的安全軟體」是指1.該軟體所包含的所有可執行文件唯一特徵碼存在於認證伺服器資料庫中,2.經可信賴的權威機構認證,該軟體不是病毒或木馬等有害程序,也未被病毒和木馬加以修改,3.該軟體的安全性級別滿足計算機環境對軟體安全性的要求,不符合上述任一特徵的可執行文件,都視為可疑可執行文件,需要經用戶專門確認後才能執行。
本發明既可以有效阻止獨立存在的病毒程序文件運行,也可以有效阻止被病毒感染修改的程序文件運行,由於只有「已知可信的安全文件才可以執行」,不僅已知的病毒文件可以被有效阻止,未知的具有破壞性的程序也被切斷了執行的路徑。本發明還可以在一定程度上降低計算機系統受到因程序漏洞而遭受攻擊的風險。通過查詢認證伺服器上存儲的安全信息,系統管理員可以了解本計算機系統中各種軟體可能存在的漏洞和安全級別,從而在可行的範圍內實施系統的升級維護。
使用本發明可以建立一套計算機系統安全保護基礎設施。例如可以建立基於網際網路的一個安全管理平臺,為網際網路用戶提供軟體信息查詢服務,計算機安全保護服務等功能。
使用本發明也可以開發一套用於計算機系統安全保護的軟體,為企業提供企業軟體運行環境的集中統一保護。企業可以建立自己的安全認證資料庫和認證伺服器,制訂本企業適用的安全策略,規範本企業特定遵守的軟體運行條件。例如建立企業網絡內允許執行的程序列表,禁止用戶在企業網絡內執行與工作性質無關的軟體等。
四.
下面通過附圖和具體實施方式
來進一步闡述本發明的內容圖1是實施本發明所建造的計算機環境的系統結構圖;圖2是在本發明控制下,計算機軟體執行過程的詳細流程圖;圖3是實施本發明後的計算機軟體執行過程簡圖。
五.
具體實施例方式
通過實施本發明,可以建造一個只有已知可信的軟體才能運行的安全環境。為實現這一安全環境所必須建造的基礎設施包括如圖1所示的以下三個部分1.安全認證資料庫;2.認證伺服器程序;3.監控程序。
安全認證資料庫裡存儲各種軟體的特徵信息和安全信息。軟體特徵信息和安全信息的內容和範圍可以根據實際的需要進行調整。一般說來,特徵信息包括軟體的名稱,廠商,版本,軟體可執行文件名稱,軟體的用途等等,而安全信息包括軟體是否認證為安全,是否病毒程序,是否木馬程序,是否存在易受攻擊的漏洞等等。這些信息可以被監控程序用來判定某個即將執行的程序是否病毒,是否已經被惡意篡改,是否存在很容易被攻擊的漏洞,從而進一步決定是否允許該程序執行。而系統管理員可以從這些信息中對目前的計算機系統環境安全性進行準確的評估,從而採取合理,可行的措施來對系統進行維護和升級。
在安全認證資料庫中如何對每個軟體進行標識是一個難題。本發明採用可執行文件的唯一特徵碼來實現這一需求。軟體所對應的可執行文件的唯一特徵碼,可作為軟體的身份特徵。所有的軟體都由文件組成,文件從根本來說是一組有序的二進位序列。通過對可執行文件的二進位序列進行數字摘要計算,就可以獲得相應可執行文件的唯一特徵碼。可以完成這類數字摘要計算的算法包括MD4,MD5,SHA等。如果可執行文件的二進位序列內容發生任何變化,例如只有一個二進位數字從0變成了1,經過數字摘要算法計算出來的唯一特徵碼就會發生變化。由於這種唯一性的存在,可執行文件的唯一特徵碼就可以作為證實軟體身份的充分必要性標誌。這裡所涉及的可執行文件包括.exe文件,.dll文件,.sys文件,特定平臺上解釋執行的腳本文件等。
認證伺服器程序需要提供的基本功能包括1.建立和維護安全認證資料庫,2.根據監控程序發送來的文件唯一特徵碼進行查詢,反饋軟體的特徵信息和安全信息。
認證伺服器程序可以提供安全認證資料庫信息搜集和信息錄入,修改的功能。根據實際情況,搜集信息和錄入,修改信息的接口可以採用不同的手段,可以自動進行,也可以手動進行。認證伺服器程序的功能根據實際的需求具有很強的可擴展性,例如可以增加軟體升級建議,軟體安全性顧問,軟體恢復等功能。
監控程序安裝在需要進行安全認證保護的計算機上。監控程序需要提供的基本功能是監控計算機上軟體的執行過程,在軟體執行之前,計算軟體可執行文件的唯一特徵碼,提交認證伺服器進行認證,並根據認證伺服器的反饋信息對軟體是否繼續執行進行判斷。系統管理員根據實際情況制訂安全策略用於作為判斷軟體是否可以繼續執行的標準,例如病毒程序,木馬程序不許運行,未知或未經認證安全的程序在給出提示前提下由用戶決定是否執行等。安全策略起著調節監控程序對計算機監控力度的作用。監控程序可以以系統服務,驅動程序或普通進程的方式運行。
認證伺服器和監控程序可以共存於同一臺計算機上,也可以分布在不同的計算機上,二者之間可以通過客戶/伺服器,或者瀏覽器/伺服器的形式進行通信。二者之間可以採用包括TCP/IP在內的各種通訊協議進行通信。
監控程序的功能根據實際的需求也具有很強的可擴展性,例如可以幫助系統管理員了解計算機系統環境,了解當前系統安全性等功能。
本發明的實施包括四個環節,分別是1.建立安全認證資料庫2.建立並運行認證伺服器3.設計允許軟體運行的安全策略4.安裝並運行監控程序在實施本發明並受到保護的計算機中,軟體執行流程包括如圖2所示的如下七個步驟,分別是1.某軟體被作業系統調用;
2.監控程序對該軟體的可執行文件進行掃描,生成文件的唯一特徵碼;3.監控程序把文件唯一特徵碼發送給認證伺服器;4.認證伺服器收到唯一特徵碼,查詢安全認證資料庫;5.認證伺服器把查詢到的軟體信息,或者把未查到軟體的消息反饋給監控程序;6.監控程序根據收到的消息,調用安全策略進行比較判斷;7.監控程序根據判斷結果,允許軟體運行或者禁止軟體運行。
以上所述只是本發明可實現功能的框架描述,更多的變化,更多的功能細節都可用以上內容為核心,添加到本發明中來,從而提供給本發明的用戶更實用,更強大的控制能力和服務能力。所以所有與之相關的改動,改進和應用也都包含在本發明的精神和範圍內。
權利要求
1.一種以軟體身份識別為基礎,採用安全認證資料庫和認證伺服器對軟體進行集中認證的計算機系統安全保護方法,使用這種方法建立一個只允許已知可信的安全軟體運行的計算機系統環境。
2.根據權利要求1所述的方法,其特徵在於安全認證資料庫是存儲軟體的特徵信息和安全信息的資料庫,資料庫中存儲的軟體都利用可執行文件的唯一特徵碼進行標識。
3.根據權利要求1所述的方法,其特徵在於軟體的安全由認證伺服器進行認證;認證的根據是可執行文件的唯一特徵碼;認證伺服器根據唯一特徵碼從安全認證資料庫中搜索出該軟體的安全信息和特徵信息,並把這些信息反饋給客戶端監控程序。
4.根據權利要求1所述的方法,其特徵在於實施的過程由四個環節構成(1)建立安全認證資料庫;(2)建立並運行認證伺服器;(3)設計允許軟體運行的安全策略;(4)安裝並運行監控程序。
5.根據權利要求1所述的方法,其特徵在於採用的可執行文件的唯一特徵碼是該文件的統計特徵,是將文件所包含的連續二進位序列作為輸入數據,經過預定的算法計算所獲得的具有唯一確定性的數據形式記錄。
6.根據權利要求1所述的方法,其特徵在於獲得可執行文件唯一特徵碼的算法為散列算法,例如MD4,MD5,SHA。
7.根據權利要求1所述的方法,其特徵在於安全認證資料庫中的軟體特徵信息包括軟體的名稱,廠商,版本,軟體可執行文件名稱,軟體的用途。
8.根據權利要求1所述的方法,其特徵在於安全認證資料庫中的軟體安全信息包括軟體是否認證為安全,是否病毒程序,是否木馬程序,是否存在易受攻擊的漏洞。
9.根據權利要求1所述的方法,其特徵在於用於計算的可執行文件包括.exe文件,.dll文件,.sys文件,特定平臺上解釋執行的腳本文件。
10.根據權利要求1所述的方法,其特徵在於所述的監控程序,其功能包括監控計算機上軟體的執行過程,在軟體執行之前,計算軟體可執行文件的唯一特徵碼,提交認證伺服器進行認證,並根據認證伺服器的反饋信息對軟體是否繼續執行進行判斷。
11.根據權利要求1所述的方法,其特徵在於認證伺服器和監控程序可以共存於同一臺計算機上,也可以分布在不同的計算機上,二者之間可以通過客戶/伺服器,或者瀏覽器/伺服器的形式進行通信,二者之間可以採用包括TCP/IP在內的各種通訊協議進行通信。
全文摘要
本發明涉及計算機安全領域,基於軟體身份認證的思路,建立以認證伺服器為中心的客戶端計算機安全保護機制。本發明的內容包括1.以可執行文件的唯一特徵碼為標識,建立安全認證資料庫;2.以安全認證資料庫為核心,建立提供軟體安全認證功能的認證伺服器;3.制定限制客戶端軟體運行的安全策略;4.監控客戶端計算機,在可執行文件啟動前提取其唯一特徵碼,並提交給認證伺服器;5.認證伺服器查詢安全認證資料庫,將相應的安全信息反饋給客戶端計算機;6.客戶端計算機根據反饋的信息和預定的策略,判斷是否執行該軟體。本發明利用但不唯一依賴於對有害程序特徵碼的識別,相比傳統防病毒方法,具有更廣泛的保護能力,可有效切斷有害程序的執行途徑。
文檔編號G06F21/00GK1900941SQ20061007862
公開日2007年1月24日 申請日期2006年4月28日 優先權日2006年4月28日
發明者傅玉生 申請人:傅玉生