專利名稱:一種實現補丁自動分析的方法及裝置的制作方法
技術領域:
本申請涉及計算機技術領域,特別是涉及一種實現補丁自動分析的方法及裝置。
背景技術:
在計算機的各種應用過程中,常常會發現各種操作系統、應用軟件等存在問題或漏洞,也可稱為BUG,而這些漏洞會使用戶在使用操作系統或軟件時出現干擾,或者導致軟件的安全性能降低,因此可以通過寫出一些可插入源程序的程序語言,對這些漏洞進行修復,上述用于修復漏洞的程序語言就稱為補丁。目前,隨著操作系統和應用軟件的產品越來越多,產品線也越來越長,進而其出現漏洞的幾率也大大的增加了,從而導致補丁也越來越多;例如,微軟在2009年針對其操作系統發布了 74個補丁,到了 2010年增長到106個補丁。由于用戶通常并不會關注各種操作系統或應用軟件的補丁公告,現有傳統的方式是第三方通過實時監測一些操作系統或應用軟件發布補丁公告的專門網站,從中下載補丁并提供給用戶選擇安裝;但是,此種傳統的方式往往單純靠人工分析或錄入,而隨著補丁數量的增長,這種方式越來越不能滿足不斷增長的補丁數,進而無法保證補丁及時提供給用戶,則很有可能對計算機系統或應用程序構成嚴重的威脅。
發明內容
本申請實施例提供了一種實現補丁自動分析的方法及裝置,以解決現有人工分析補丁效率低下、進而無法保證補丁及時提供給用戶的問題。為了解決上述技術問題,本申請實施例公開了如下技術方案一種實現補丁自動分析的方法,包括獲取補丁包;對所述補丁包進行解包處理,提取出補丁的描述信息和檢測信息;將所述補丁的描述信息和檢測信息錄入系統漏洞庫。優選的,該方法還包括利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,如果是,則將所述補丁的描述信息和檢測信息以及補丁文件組成新補丁包,并將所述新補丁包錄入系統漏洞庫。優選的,該方法還包括利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,如果是,則將所述補丁的描述信息、檢測信息以及補丁包的下載URL組成新補丁信息包,并將所述新補丁信息包錄入系統漏洞庫。優選的,采用如下方式獲取補丁包刷新補丁發布頁面;當所述補丁發布頁面存在更新信息時,獲取所述更新信息中的補丁信息,并根據該補丁信息判斷所述補丁是否符合第一過濾條件,如果不符合,則獲取并鏈接訪問補丁下載頁面,下載補丁包。優選的,所述更新信息中的補丁信息至少包括下述信息中的任意一種補丁名稱信息和補丁下載URL信息。優選的,采用以下方式判斷所述補丁是否符合第一過濾條件所述第一過濾條件中包含了補丁名稱或補丁描述信息;如果當前補丁信息中包含的補丁名稱或補丁描述信息與所述第一過濾條件中包含的補丁名稱或補丁描述信息一致,則表明當前補丁符合過濾條件。優選的,所述描述信息至少包括以下參數中的一種補丁的文件類型、文件版本號、組件環境、運行平臺、注冊表信息。優選的,所述文件類型包括.exe文件、.msn文件、.msp文件、.cab文件、.msi文件。優選的,所述檢測信息至少包括以下參數中的一種客戶端根據所述文件版本號確定當前補丁是否需要安裝運行的判斷信息;檢測所述客戶端當前的操作系統、組件環境、運行平臺是否符合所述補丁安裝和運行的要求的判斷信息。優選的,所述檢測信息指示的檢測操作包括利用注冊表信息判斷當前補丁是否已安裝;和/或利用文件版本號判斷所述補丁是否需要安裝。優選的,該方法還包括新補丁信息包或新補丁包中還包含第二補丁信息或第二補丁文件;所述第二補丁信息用于在當所述原有補丁安裝運行失敗后,指示用戶選擇執行第二補丁進行安裝運行。一種實現補丁自動分析的裝置,包括獲取單元,用于獲取補丁包;提取單元,用于對所述補丁包進行解包處理,提取出補丁的描述信息和檢測信息;錄入單元,用于將所述補丁的描述信息和檢測信息錄入系統漏洞庫。優選的,所述錄入單元包括第一判斷模塊,用于利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,并將判斷結果通知第一組包模塊;第一組包模塊,用于接收所述第一判斷模塊的通知,將需要錄入系統漏洞庫的補丁的描述信息和檢測信息以及補丁文件組成新補丁包,并錄入系統漏洞庫。優選的,所述錄入單元包括第二判斷模塊,用于利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,并將判斷結果通知第二組包模塊;第二組包模塊,用于接收所述第二判斷模塊的通知,將需要錄入系統漏洞庫的補丁的描述信息和檢測信息以及補丁包的下載URL組成新補丁包,并錄入系統漏洞庫。優選的,所述獲取單元包括刷新模塊,用于刷新補丁發布頁面;
第三判斷模塊,當所述補丁發布頁面存在更新信息時,獲取所述更新信息中的補丁信息,并根據該補丁信息判斷所述補丁是否符合第一過濾條件,并將判斷結果通知下載模塊;下載模塊,用于獲取并鏈接訪問補丁下載頁面,并下載補丁包。優選的,所述更新信息中的補丁信息至少包括下述信息中的任意一種補丁名稱信息和補丁下載URL信息。優選的,所述第三判斷模塊包括比較模塊,用于比較更新信息中的補丁名稱或補丁描述信息與第一過濾條件中包含的補丁名稱或補丁描述信息是否相同,并將比較結果通知指示模塊;指示模塊,用于接收所述比較模塊的通知,當所述更新信息中的補丁名稱或補丁描述信息與第一過濾條件中包含的補丁名稱或補丁描述信息相同時,指示所述刷新單元執行刷新操作。優選的,所述提取單元提取出描述信息至少包括以下參數中的一種補丁的文件類型、文件版本號、組件環境、運行平臺、注冊表信息;所述檢測信息至少包括以下參數中的一種客戶端根據所述文件版本號確定當前補丁是否需要安裝運行的判斷信息;檢測所述客戶端當前的操作系統、組件環境、運行平臺是否符合所述補丁安裝和運行的要求的判斷信息。由上述實施例可以看出,本申請實施例中,當專門補丁發布網站出現了補丁頁面后,通過獲取補丁包,進而解包并提取所述補丁的相關信息,經過濾后將符合條件的補丁信息組成新補丁包或新補丁信息包,錄入系統漏洞庫以便后續提供給用戶選擇安裝補丁,從而提高了補丁分析錄入的效率,進而保證了補丁提供用戶的及時性,有效的保證了用戶的系統安全和穩定。
為了更清楚地說明本申請實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,對于本領域普通技術人員而言,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本申請實實現補丁自動分析的方法的第一實施例流程示意圖;圖2為本申請第一實施例中獲取補丁文件的流程示意圖;圖3為本申請實現補丁自動分析的裝置的實施例框圖。
具體實施例方式本發明的基本思想在于當專門補丁發布網站出現了補丁頁面后,自動獲取補丁包,然后通過解包獲取所述補丁的相關信息,經過濾后將符合條件的補丁信息組成新的補丁包或新補丁信息包,錄入系統漏洞庫以便后續提供給用戶選擇安裝補丁,從而提高了補丁分析錄入的效率,進而保證了補丁提供用戶的及時性,有效的保證了用戶的系統安全和穩定。本發明如下實施例提供了一種實現補丁自動分析的方法及裝置。為了使本技術領域的人員更好地理解本發明實施例中的技術方案,并使本發明實施例的上述目的、特征和優點能夠更加明顯易懂,下面結合附圖對本發明實施例中技術方案作進一步詳細的說明。參見圖1,為本申請實現補丁自動分析方法的第一實施例流程圖步驟110:獲取補丁包;其中,本實施例中提及的獲取補丁包為非人工方式獲取,但人工方式收集補丁包或第三方收集補丁包也可實現本發明,本實施例具體可采用如下步驟實現,如圖2所示,但并不局限于此Slll 刷新補丁發布頁面;現有技術中采用第三方軟件/工具來刷新固定的網頁頁面的技術已經比較成熟,而本實施例中此步驟也可采用現有技術來實現,例如,采用刷屏軟件程序定期刷新微軟等公司網站的補丁發布頁面;具體本文不再贅述;S112:當所述補丁發布頁面存在更新信息時,獲取所述更新信息中的補丁信息,并根據該補丁信息判斷所述補丁是否符合第一過濾條件,如果符合,則返回執行步驟Slll ; 否則,執行步驟S113;具體的,所述各種操作系統或應用軟件的補丁發布頁面通常情況下會顯示多個補丁發布信息,其中往往只是給出了每個補丁的名稱、補丁下載URUUniversal Resource Locator,統一資源定位符)等簡單內容,而由于目前存在部分補丁對于絕大多數用戶來說是不適應、或者是不需要的,因此利用所述補丁名稱等簡單信息預先設置第一過濾條件,使得當所述補丁符合所述第一過濾條件時,即無需下載該補丁而是繼續刷新補丁發布頁面; 例如,由于WindOWS2008操作系統或瀏覽器IE64對于絕大多數用戶來說是不采用或不需要的,因此預設第一過濾條件為“針對WindoWS2008操作系統或瀏覽器IE64”,如果當前補丁發布頁面更新的消息顯示當前發布的正是針對WindoWS2008操作系統或針對瀏覽器IE64 的補丁時,則其符合所述第一過濾條件,因此并不下載這些補丁,而是繼續執行步驟Slll 刷新補丁發布頁面;S113 獲取并鏈接訪問補丁下載頁面,并下載補丁包;具體的,當所述補丁發布頁面中存在更新消息后,所述更新消息中包含了補丁的下載URL,如果所述補丁不符合第一過濾條件,則鏈接訪問該URL對應的頁面,從中下載所述補丁包。步驟120 對所述補丁包進行解包處理,提取出補丁的描述信息和檢測信息;具體的,所述描述信息包括但不限于補丁的文件類型、文件版本號、組件環境、運行平臺、注冊表信息等;其中,所述文件類型包括但不限于:.■文件、.msn文件、.msp文件、.cab文件、.msi文件等;而本實施例中提及的所述檢測信息包括但不限于客戶端根據所述文件版本號確定當前補丁是否需要安裝運行的判斷信息,以及檢測所述客戶端當前的操作系統、組件環境、運行平臺是否符合所述補丁安裝和運行的要求的判斷信息等;具體的利用所述檢測信息執行檢測操作包括但不限于以下幾種方式A 利用注冊表信息判斷當前補丁是否已安裝;例如若要判斷補丁 KB979099是否已安裝,首先在注冊表的以下項目中查詢是否有包含KB979099的鍵值HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ffindows\CurrentVersion\Component Based Servicing\Packages\如果已安裝了所述補丁,則上述注冊表的項目中必然存在類似I^aCkage_f or_ KB979099_RTM 31bf3856ad364e;35 x86 6. 1. 1. 0的注冊鍵存在,此鍵中為所述補丁的安裝信息;以此即可判斷當前補丁是否已安裝;B 利用文件版本號判斷所述補丁是否需要安裝;例如,所述描述信息中包含了當前補丁對應的文件版本號為1.0. 0003,則所述檢測信息的作用時為檢測客戶端當前文件的版本是否小于1.0. 0003,即msores. dll < 1.0. 0003,如果是,則表明所述補丁需要在當前客戶端安裝運行;步驟130 將所述補丁的描述信息和檢測信息錄入系統漏洞庫。其中,本實施例還包括在錄入補丁的描述信息和檢測信息前執行判斷操作,具體可通過以下方式實現,但并不局限于此A、利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫, 如果是,則將所述補丁的描述信息和檢測信息以及補丁文件組成新的補丁包,并將所述新補丁包錄入系統漏洞庫;B、利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫, 如果是,則將所述補丁的描述信息、檢測信息以及補丁包的下載URL組成新補丁信息包,并將所述新補丁信息包錄入系統漏洞庫。在本實施例中,可采用如下方式判斷當前補丁是否需要錄入系統漏洞庫,但并不局限于此如果所述描述信息中包含了當前補丁的組件環境為IE或OFFICE或.net環境下,則表明當前補丁并不是大多數用戶所需求的,因此即可舍棄當前信息而并不將其錄入系統漏洞庫;當然,也可以采用其他的補丁描述信息和檢測信息判斷,或者不進行篩選判斷,而是直接將補丁的描述信息和檢測信息錄入系統漏洞庫,本文對此并不作具體限定;值得注意的是,本實施例中利用所述補丁的描述信息和檢測信息、以及補丁文件或補丁下載URL組成新的補丁包或新補丁信息包并錄入系統漏洞庫的目的是當將所述系統漏洞庫中的新補丁包或新補丁信息包提供給用戶后,在補丁安裝運行之前會在客戶端首先利用所述描述信息和檢測信息檢測當前客戶端是否符合檢測條件,也即當前客戶端是否需要安裝運行該補丁文件,如果是,則然后運行補丁文件;當然,也可以在檢測到當前客戶端符合檢測條件后,利用所述補丁文件中的下載地址鏈接訪問該補丁的下載頁面,下載補丁后再安裝,本實施例并不對此方式做具體限定。基于上述修改實施例的方法,本發明第二實施例也提出了一種實現補丁自動分析的方法,其基本步驟與上述方法相同,不同之處在于在步驟130中,組成的新補丁包中不但包含所述補丁的描述信息和檢測信息、以及所述補丁文件或補丁包,還包含第二補丁信息;所述第二補丁信息用于在當所述原有補丁安裝運行失敗后,指示用戶選擇執行第二補丁進行安裝運行;具體第二補丁如何針對當前補丁對應的漏洞進行修復本文在此不再贅述。可以看出,采用本發明上述實施例的方法,當專門補丁發布網站出現了補丁頁面后,通過自動獲取補丁包,然后通過解包獲取所述補丁的相關信息,經過濾后將符合條件的補丁信息組成新的補丁包或補丁信息包,并錄入系統漏洞庫以便后續提供給用戶選擇安裝,從而提高了補丁分析錄入的效率,進而保證了補丁提供用戶的及時性,有效的保證了用戶的系統安全和穩定。與本申請實現補丁自動分析的方法的實施例相對應,本申請還提供了實現該方法的裝置的實施例。參見圖3、為本申請實現補丁自動分析的裝置的實施例框圖該實現補丁自動分析的裝置包括獲取單元310,用于獲取補丁包;提取單元320,用于對所述補丁包進行解包處理,提取出補丁的描述信息和檢測信息;錄入單元330,用于將所述補丁的描述信息和檢測信息錄入系統漏洞庫。其中,所述錄入單元包括第一判斷模塊,用于利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,并將判斷結果通知第一組包模塊;第一組包模塊,用于接收所述第一判斷模塊的通知,將需要錄入系統漏洞庫的補丁的描述信息和檢測信息以及補丁文件組成新補丁包,并錄入系統漏洞庫。此外,所述錄入單元還可包括第二判斷模塊,用于利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,并將判斷結果通知第二組包模塊;第二組包模塊,用于接收所述第二判斷模塊的通知,將需要錄入系統漏洞庫的補丁的描述信息和檢測信息以及補丁包的下載URL組成新補丁包,并錄入系統漏洞庫。指的注意的是,所述獲取單元包括刷新模塊,用于刷新補丁發布頁面;第三判斷模塊,當所述補丁發布頁面存在更新信息時,獲取所述更新信息中的補丁信息,并根據該補丁信息判斷所述補丁是否符合第一過濾條件,并將判斷結果通知下載模塊;下載模塊,用于獲取并鏈接訪問補丁下載頁面,并下載補丁包。其中,所述更新信息中的補丁信息至少包括下述信息中的任意一種補丁名稱信息和補丁下載URL信息。此外,所述第三判斷模塊包括比較模塊,用于比較更新信息中的補丁名稱或補丁描述信息與第一過濾條件中包含的補丁名稱或補丁描述信息是否相同,并將比較結果通知指示模塊;指示模塊,用于接收所述比較模塊的通知,當所述更新信息中的補丁名稱或補丁描述信息與第一過濾條件中包含的補丁名稱或補丁描述信息相同時,指示所述刷新單元執行刷新操作。除此之外,所述提取單元提取出描述信息至少包括以下參數中的一種補丁的文件類型、文件版本號、組件環境、運行平臺、注冊表信息;所述檢測信息至少包括以下參數中的一種客戶端根據所述文件版本號確定當前補丁是否需要安裝運行的判斷信息;檢測所述客戶端當前的操作系統、組件環境、運行平臺是否符合所述補丁安裝和運行的要求的判斷信息。本領域的技術人員可以清楚地了解到本發明實施例中的技術可借助軟件加必需的通用硬件平臺的方式來實現。基于這樣的理解,本發明實施例中的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品可以存儲在存儲介質中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例或者實施例的某些部分所述的方法。
本說明書中的各個實施例均采用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對于系統實施例而言,由于其基本相似于方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。以上所述的本發明實施方式,并不構成對本發明保護范圍的限定。任何在本發明的精神和原則之內所作的修改、等同替換和改進等,均應包含在本發明的保護范圍之內。
權利要求
1.一種實現補丁自動分析的方法,其特征在于,包括獲取補丁包;對所述補丁包進行解包處理,提取出補丁的描述信息和檢測信息;將所述補丁的描述信息和檢測信息錄入系統漏洞庫。
2.根據權利要求1所述的方法,其特征在于,該方法還包括利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,如果是,則將所述補丁的描述信息和檢測信息以及補丁文件組成新補丁包,并將所述新補丁包錄入系統漏洞庫。
3.根據權利要求1所述的方法,其特征在于,該方法還包括利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,如果是,則將所述補丁的描述信息、檢測信息以及補丁包的下載URL組成新補丁信息包,并將所述新補丁信息包錄入系統漏洞庫。
4.根據權利要求1所述的方法,其特征在于,采用如下方式獲取補丁包刷新補丁發布頁面;當所述補丁發布頁面存在更新信息時,獲取所述更新信息中的補丁信息,并根據該補丁信息判斷所述補丁是否符合第一過濾條件,如果不符合,則獲取并鏈接訪問補丁下載頁面,下載補丁包。
5.根據權利要求4所述的方法,其特征在于,所述更新信息中的補丁信息至少包括下述信息中的任意一種補丁名稱信息和補丁下載URL信息。
6.根據權利要求4所述的方法,其特征在于,采用以下方式判斷所述補丁是否符合第一過濾條件所述第一過濾條件中包含了補丁名稱或補丁描述信息;如果當前補丁信息中包含的補丁名稱或補丁描述信息與所述第一過濾條件中包含的補丁名稱或補丁描述信息一致,則表明當前補丁符合過濾條件。
7.根據權利要求1所述的方法,其特征在于,所述描述信息至少包括以下參數中的一種補丁的文件類型、文件版本號、組件環境、運行平臺、注冊表信息。
8.根據權利要求7所述的方法,其特征在于,所述文件類型包括.exe文件、.msn文件、.msp文件、.cab文件、.msi文件。
9.根據權利要求1所述的方法,其特征在于,所述檢測信息至少包括以下參數中的一種客戶端根據所述文件版本號確定當前補丁是否需要安裝運行的判斷信息;檢測所述客戶端當前的操作系統、組件環境、運行平臺是否符合所述補丁安裝和運行的要求的判斷信息。
10.根據權利要求9所述的方法,其特征在于,所述檢測信息指示的檢測操作包括利用注冊表信息判斷當前補丁是否已安裝;和/或利用文件版本號判斷所述補丁是否需要安裝。
11.根據權利要求1所述的方法,其特征在于,該方法還包括新補丁信息包或新補丁包中還包含第二補丁信息或第二補丁文件;所述第二補丁信息用于在當所述原有補丁安裝運行失敗后,指示用戶選擇執行第二補丁進行安裝運行。
12.—種實現補丁自動分析的裝置,其特征在于,包括 獲取單元,用于獲取補丁包;提取單元,用于對所述補丁包進行解包處理,提取出補丁的描述信息和檢測信息; 錄入單元,用于將所述補丁的描述信息和檢測信息錄入系統漏洞庫。
13.根據權利要求12所述的裝置,其特征在于,所述錄入單元包括第一判斷模塊,用于利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,并將判斷結果通知第一組包模塊;第一組包模塊,用于接收所述第一判斷模塊的通知,將需要錄入系統漏洞庫的補丁的描述信息和檢測信息以及補丁文件組成新補丁包,并錄入系統漏洞庫。
14.根據權利要求12所述的裝置,其特征在于,所述錄入單元包括第二判斷模塊,用于利用所述補丁的描述信息和檢測信息判斷當前補丁是否需要錄入系統漏洞庫,并將判斷結果通知第二組包模塊;第二組包模塊,用于接收所述第二判斷模塊的通知,將需要錄入系統漏洞庫的補丁的描述信息和檢測信息以及補丁包的下載URL組成新補丁包,并錄入系統漏洞庫。
15.根據權利要求12所述的裝置,其特征在于,所述獲取單元包括 刷新模塊,用于刷新補丁發布頁面;第三判斷模塊,當所述補丁發布頁面存在更新信息時,獲取所述更新信息中的補丁信息,并根據該補丁信息判斷所述補丁是否符合第一過濾條件,并將判斷結果通知下載模塊;下載模塊,用于獲取并鏈接訪問補丁下載頁面,并下載補丁包。
16.根據權利要求15所述的裝置,其特征在于,所述更新信息中的補丁信息至少包括下述信息中的任意一種補丁名稱信息和補丁下載URL信息。
17.根據權利要求15所述的裝置,其特征在于,所述第三判斷模塊包括比較模塊,用于比較更新信息中的補丁名稱或補丁描述信息與第一過濾條件中包含的補丁名稱或補丁描述信息是否相同,并將比較結果通知指示模塊;指示模塊,用于接收所述比較模塊的通知,當所述更新信息中的補丁名稱或補丁描述信息與第一過濾條件中包含的補丁名稱或補丁描述信息相同時,指示所述刷新單元執行刷新操作。
18.根據權利要求12所述的裝置,其特征在于所述提取單元提取出描述信息至少包括以下參數中的一種補丁的文件類型、文件版本號、組件環境、運行平臺、注冊表信息;所述檢測信息至少包括以下參數中的一種客戶端根據所述文件版本號確定當前補丁是否需要安裝運行的判斷信息;檢測所述客戶端當前的操作系統、組件環境、運行平臺是否符合所述補丁安裝和運行的要求的判斷信息。
全文摘要
本申請實施例公開了一種實現補丁自動分析的方法和裝置;其中,所述方法包括獲取補丁包;對所述補丁包進行解包處理,提取出補丁的描述信息和檢測信息;將所述補丁的描述信息和檢測信息錄入系統漏洞庫。采用本發明實施例提供的方法和裝置,提高了補丁分析錄入的效率,進而保證了補丁提供用戶的及時性,有效的保證了用戶的系統安全和穩定。
文檔編號G06F9/445GK102156650SQ20111005009
公開日2011年8月17日 申請日期2011年3月2日 優先權日2011年3月2日
發明者李煜, 趙建鋒 申請人:奇智軟件(北京)有限公司