用于更新經(jīng)授權(quán)軟件的系統(tǒng)和方法
【專利摘要】本發(fā)明公開了用于在計(jì)算機(jī)上更新軟件程序的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。系統(tǒng)檢測更新進(jìn)程要在計(jì)算機(jī)上執(zhí)行的嘗試并且檢索關(guān)于軟件程序的經(jīng)授權(quán)類別的信息來確定所檢測的更新進(jìn)程是否被授權(quán)。當(dāng)更新進(jìn)程被授權(quán)時(shí),系統(tǒng)(i)將更新進(jìn)程指定為受信任的進(jìn)程,(ii)允許更新進(jìn)程在計(jì)算機(jī)上下載更新對象,(iii)以及將更新對象指定為受信任的對象。系統(tǒng)隨后檢測安裝進(jìn)程要安裝更新對象的嘗試,并且根據(jù)策略確定所檢測的安裝進(jìn)程是否與經(jīng)授權(quán)類別相關(guān)聯(lián)并且與受信任的更新進(jìn)程相關(guān)。當(dāng)安裝進(jìn)程被授權(quán)并且與受信任的更新進(jìn)程相關(guān)時(shí),系統(tǒng)允許受信任的安裝進(jìn)程安裝受信任的更新對象。
【專利說明】用于更新經(jīng)授權(quán)軟件的系統(tǒng)和方法
[0001]相關(guān)申請的交叉引用
[0002]根據(jù)美國法典第35篇119條(a)_ (d)項(xiàng),本申請要求于2012年8月10日提交的申請?zhí)枮?012134242的俄羅斯申請的優(yōu)先權(quán),其通過援引的方式在此并入。
【技術(shù)領(lǐng)域】
[0003]本公開總地涉及計(jì)算機(jī)安全領(lǐng)域,并且更具體地,涉及用于更新軟件的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。
【背景技術(shù)】
[0004]無法想象現(xiàn)代的辦公室,無論其大小,會(huì)沒有計(jì)算機(jī)網(wǎng)絡(luò)。網(wǎng)絡(luò)允許在可位于一座建筑物中或位于相遠(yuǎn)離地理區(qū)域的多個(gè)辦公室中的企業(yè)計(jì)算機(jī)、筆記本電腦、智能電話、平板電腦、打印機(jī)、掃描儀和其他聯(lián)網(wǎng)電子設(shè)備之間進(jìn)行迅速而安全的信息交換。因此,企業(yè)的信息技術(shù)(IT)基礎(chǔ)結(jié)構(gòu)可能變得相當(dāng)復(fù)雜并且要求經(jīng)常的管理和支持以維持其操作和解決各種問題。例如,企業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)易受惡意軟件諸如病毒、蠕蟲、特洛伊木馬和其他類型惡意軟件的攻擊的影響。惡意軟件通常利用在計(jì)算機(jī)上運(yùn)行的程序和應(yīng)用程序的漏洞來滲透企業(yè)的安全基礎(chǔ)結(jié)構(gòu)。在大型更新過程期間,惡意軟件經(jīng)常可隱藏在軟件更新中并感染一系列計(jì)算機(jī)。感染一臺(tái)企業(yè)計(jì)算機(jī)的惡意軟件可隨后迅速地通過網(wǎng)絡(luò)傳播并感染其他計(jì)算機(jī)。由于需要識(shí)別受感染的計(jì)算機(jī)和修復(fù)由惡意軟件所造成的損害,以及花費(fèi)在補(bǔ)救受影響的計(jì)算機(jī)的工時(shí)損失,這些事件不利地影響公司的運(yùn)作。而且,這些事件可引起機(jī)密信息、商業(yè)秘密、專有數(shù)據(jù)的泄漏或損失以及甚至盜竊金錢。那就是為什么對諸如內(nèi)聯(lián)網(wǎng)的企業(yè)網(wǎng)絡(luò)的控制是非常重要的原因,特別是當(dāng)部署在其上的各種應(yīng)用程序執(zhí)行和更新時(shí)。
[0005]對企業(yè)網(wǎng)絡(luò)上的程序和應(yīng)用程序的執(zhí)行和更新的控制通常由軟件安全系統(tǒng)所實(shí)施。這些系統(tǒng)使用不同的方法用于控制軟件的執(zhí)行和更新。例如,一些安全系統(tǒng)允許未被明確禁止的所有軟件的執(zhí)行。在這種情況下,管理員可規(guī)定被禁止的應(yīng)用程序的列表,以便允許所有其他應(yīng)用程序在計(jì)算機(jī)上執(zhí)行或更新。其他安全系統(tǒng)禁止未經(jīng)明確允許的所有軟件的執(zhí)行。在這種情況下,管理員可規(guī)定經(jīng)允許的應(yīng)用程序的列表,以便禁止所有其他應(yīng)用程序執(zhí)行或更新。就所關(guān)心的管理的安全性和有效性而言,使用拒絕執(zhí)行和更新所有被禁止的應(yīng)用程序的方法的安全系統(tǒng)被認(rèn)為是更有效的。這些類型的系統(tǒng)有時(shí)被稱為“默認(rèn)拒絕”系統(tǒng)。
[0006]在操作中,進(jìn)行應(yīng)用程序控制的“默認(rèn)拒絕”安全系統(tǒng)經(jīng)常維持經(jīng)授權(quán)對象列表(例如,用于網(wǎng)絡(luò)中的一臺(tái)或多臺(tái)計(jì)算機(jī)的經(jīng)允許的應(yīng)用程序或程序的列表)。系統(tǒng)將允許執(zhí)行在經(jīng)授權(quán)對象列表上的應(yīng)用程序,并且阻止所有其他應(yīng)用程序和程序。這些列表可基于諸如唯一對象標(biāo)識(shí)符、數(shù)字簽名、制造商數(shù)據(jù)或其他類型信息的關(guān)于應(yīng)用程序和程序的特定信息來創(chuàng)建。此外,針對不同的用戶可維持不同的經(jīng)授權(quán)對象列表。例如,針對圖形設(shè)計(jì)者的經(jīng)授權(quán)應(yīng)用程序列表可包括圖形設(shè)計(jì)軟件;而針對會(huì)計(jì)師的經(jīng)授權(quán)應(yīng)用程序列表將包括會(huì)計(jì)軟件。這樣,“默認(rèn)拒絕”安全系統(tǒng)針對不同的用戶維持單獨(dú)的經(jīng)授權(quán)軟件列表,由此防止未經(jīng)授權(quán)用戶訪問未經(jīng)授權(quán)軟件。
[0007]通常,“默認(rèn)拒絕”安全系統(tǒng)在保護(hù)企業(yè)計(jì)算機(jī)免受惡意軟件之害方面是有效的。然而,在軟件更新期間,這些類型的安全系統(tǒng)具有錯(cuò)誤地禁止執(zhí)行經(jīng)授權(quán)軟件或者甚至完全阻止一些軟件更新的風(fēng)險(xiǎn)。這可在當(dāng)在軟件更新期間由經(jīng)更新的軟件創(chuàng)建附加文件或?qū)⒏郊游募虞d到計(jì)算機(jī)且所述經(jīng)更新的軟件在經(jīng)授權(quán)對象列表中未被識(shí)別時(shí),或當(dāng)修改現(xiàn)有文件時(shí)發(fā)生。盡管這些新創(chuàng)建的、所加載和/或經(jīng)修改的文件與經(jīng)授權(quán)應(yīng)用程序相關(guān)聯(lián)并且因此應(yīng)被允許在計(jì)算機(jī)上執(zhí)行,但是“默認(rèn)拒絕”安全系統(tǒng)通常將阻止這些文件因?yàn)樗鼈兾闯霈F(xiàn)在經(jīng)授權(quán)對象列表中,這導(dǎo)致對惡意軟件的誤報(bào)檢測。因此,對于安全系統(tǒng)而言,需要用于控制和管理軟件在企業(yè)計(jì)算機(jī)上的部署和更新的、最小化惡意軟件的傳播并且同時(shí)防止對惡意軟件的誤報(bào)檢測。
【發(fā)明內(nèi)容】
[0008]公開了用于在計(jì)算機(jī)上更新軟件程序的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品。在一個(gè)示范性實(shí)施例中,安全系統(tǒng)檢測更新進(jìn)程要在計(jì)算機(jī)上執(zhí)行的嘗試。系統(tǒng)檢索至少包含用于計(jì)算機(jī)的軟件程序的經(jīng)授權(quán)類別的策略。允許來自軟件程序的經(jīng)授權(quán)類別的軟件程序在計(jì)算機(jī)上執(zhí)行。系統(tǒng)由策略來確定所檢測的更新進(jìn)程是否與軟件程序的經(jīng)授權(quán)類別相關(guān)聯(lián)。當(dāng)更新進(jìn)程與軟件程序的經(jīng)授權(quán)類別相關(guān)聯(lián)時(shí),系統(tǒng)(i)指定更新進(jìn)程為受信任的進(jìn)程,(?)允許受信任的更新進(jìn)程在計(jì)算機(jī)上下載用于軟件程序的更新對象,(iii)以及指定軟件程序的更新對象為受信任的對象。
[0009]受信任的更新進(jìn)程可隨后在計(jì)算機(jī)上下載受信任的更新對象。受信任的更新對象包含軟件程序更新。系統(tǒng)隨后檢測 安裝進(jìn)程要在計(jì)算機(jī)上執(zhí)行的嘗試。在執(zhí)行期間,安裝進(jìn)程安裝受信任的更新對象。系統(tǒng)由策略來確定所檢測的安裝進(jìn)程是否與受信任的更新進(jìn)程有關(guān)并且是否與軟件程序的經(jīng)授權(quán)類別相關(guān)聯(lián)。當(dāng)安裝進(jìn)程與受信任的更新進(jìn)程有關(guān)并且與軟件程序的經(jīng)授權(quán)類別相關(guān)聯(lián)時(shí),系統(tǒng)指定安裝進(jìn)程為受信任的并且允許受信任的安裝進(jìn)程在計(jì)算機(jī)上安裝受信任的更新對象。
[0010]上述示范性實(shí)施例的簡化概括用來提供對本發(fā)明的基本理解。該概括不是本發(fā)明所有預(yù)期方面的廣泛綜述,并且既不意圖識(shí)別所有實(shí)施例的關(guān)鍵或者重要元素也不意圖劃定任何或者所有實(shí)施例的范圍。其唯一目的是以簡化形式呈現(xiàn)一個(gè)或多個(gè)實(shí)施例作為以下本發(fā)明的更詳細(xì)說明的前序。為了完成前述內(nèi)容,一個(gè)或多個(gè)實(shí)施例包括權(quán)利要求中所描述和所特別指出的特征。
【專利附圖】
【附圖說明】
[0011]附圖合并到本說明書中并且構(gòu)成本說明書的一部分,示出了本發(fā)明的一個(gè)或多個(gè)示范性實(shí)施例,并且與詳細(xì)描述一起,用來解釋實(shí)施例的原理和實(shí)現(xiàn)方案。
[0012]在附圖中:
[0013]圖1示出了企業(yè)的計(jì)算機(jī)網(wǎng)絡(luò)的示范性實(shí)施例。
[0014]圖2示出了程序更新進(jìn)程的示范性實(shí)現(xiàn)方案。
[0015]圖3示出了用于在客戶端計(jì)算機(jī)上更新經(jīng)授權(quán)程序的客戶端-服務(wù)器基礎(chǔ)結(jié)構(gòu)的示范性實(shí)施例。
[0016]圖4示出了用于更新經(jīng)授權(quán)程序的系統(tǒng)的示范性實(shí)施例。
[0017]圖5示出了用于在企業(yè)的計(jì)算機(jī)上更新經(jīng)授權(quán)程序的方法的示范性實(shí)現(xiàn)方案。
[0018]圖6示出了所公開的用于更新經(jīng)授權(quán)程序的系統(tǒng)和方法可在其上實(shí)現(xiàn)的通用計(jì)算機(jī)的示范性實(shí)施例。
【具體實(shí)施方式】
[0019]本文圍繞用于在企業(yè)或家庭網(wǎng)絡(luò)中的計(jì)算機(jī)上更新經(jīng)授權(quán)軟件程序的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品描述了本發(fā)明的示范性實(shí)施例、實(shí)現(xiàn)方案以及各方面。本領(lǐng)域普通技術(shù)人員將了解的是,以下描述僅是說明性的并且不意圖以任何方式進(jìn)行限制。受益于本公開的本領(lǐng)域技術(shù)人員將易于獲得其他實(shí)施例或?qū)嵤┓桨傅膯⑹尽,F(xiàn)在將詳細(xì)參考如附圖中所示出的示范性實(shí)施例的實(shí)現(xiàn)方案。在貫穿于附圖和以下描述中將盡可能使用同樣的參考標(biāo)記來指代相同或類似項(xiàng)。
[0020]圖1示出了由管理服務(wù)器所控制的示范性計(jì)算機(jī)網(wǎng)絡(luò)(企業(yè)或家庭辦公室)。網(wǎng)絡(luò)101,其可以是包括一個(gè)或多個(gè)有線或無線局域網(wǎng)的企業(yè)內(nèi)聯(lián)網(wǎng),可包含許多不同的聯(lián)網(wǎng)電子通信設(shè)備,諸如臺(tái)式計(jì)算機(jī)、筆記本電腦、平板電腦、智能電話、打印機(jī)等等,其在本文中被共同稱為計(jì)算機(jī)103。連接到網(wǎng)絡(luò)101的管理服務(wù)器102在計(jì)算機(jī)103上實(shí)施各種管理任務(wù)。管理服務(wù)器102可對于網(wǎng)絡(luò)101是本地的??商娲?,管理服務(wù)器102可自網(wǎng)絡(luò)101是遠(yuǎn)程的。在一個(gè)實(shí)現(xiàn)方案中,管理服務(wù)器102可在個(gè)體計(jì)算機(jī)103上部署本地管理代理端(agent)以實(shí)施網(wǎng)絡(luò)101中的計(jì)算機(jī)103的各種遠(yuǎn)程管理任務(wù)。
[0021]在各種實(shí)現(xiàn)方案中,管理服務(wù)器102可直接或者通過其部署在計(jì)算機(jī)103上的管理代理端來實(shí)施不同的管理任務(wù)。這些管理任務(wù)可包括但不限于在計(jì)算機(jī)103上更新反病毒數(shù)據(jù)庫和應(yīng)用程序、安裝和更新軟件、在計(jì)算機(jī)103上搜索安全漏洞、管理安全策略和組任務(wù)、實(shí)施計(jì)算機(jī)103的軟件和硬件清點(diǎn)(inventory)、在管理服務(wù)器102上保存所收集的信息、以及其他類型的遠(yuǎn)程管理任務(wù)。
[0022]在一個(gè)實(shí)現(xiàn)方案中,遠(yuǎn)程管理服務(wù)器102可經(jīng)由因特網(wǎng)與計(jì)算機(jī)103通信,并且,由于該網(wǎng)絡(luò)的不可靠性,可能與一個(gè)或多個(gè)計(jì)算機(jī)103失去連接。在這種情況下,管理服務(wù)器102可指定網(wǎng)絡(luò)101中的任何其上部署管理代理端且與其維持連接的計(jì)算機(jī)103以作為服務(wù)器102的臨時(shí)代理(proxy)發(fā)揮作用,來與至少已經(jīng)與其臨時(shí)失去連接的計(jì)算機(jī)103進(jìn)行通信,直到在服務(wù)器102和該計(jì)算機(jī)之間的連接得到重新建立。因此,所指定的代理計(jì)算機(jī)103的管理代理端將從服務(wù)器102臨時(shí)接收管理任務(wù)請求并且將其轉(zhuǎn)發(fā)給網(wǎng)絡(luò)101中的所指定的計(jì)算機(jī)103。
[0023]圖2示出了程序更新進(jìn)程的示例。每次程序更新變?yōu)榭捎脮r(shí),必須更新安裝在網(wǎng)絡(luò)101中的計(jì)算機(jī)103上的軟件程序。這類更新由于數(shù)個(gè)原因而是必需的。例如,軟件可能在其原始代碼中具有錯(cuò)誤(bug),其在軟件的初始測試期間被遺漏,因此其可能保留在賣給用戶的軟件的最終版本中。這些錯(cuò)誤可造成軟件不正確地工作、造成軟件消耗過度的系統(tǒng)資源(例如,存儲(chǔ)器、處理器時(shí)間)、或者創(chuàng)建可被惡意軟件所利用的安全漏洞。因此,軟件更新提供改正各種已知缺點(diǎn)、去除安全漏洞、和/或擴(kuò)展或改進(jìn)軟件的功能性的必需的補(bǔ)救。
[0024]在一個(gè)示范性實(shí)現(xiàn)方案中,可由更新模塊201發(fā)起和實(shí)施在計(jì)算機(jī)103上所安裝的程序的更新。在一個(gè)實(shí)現(xiàn)方案中,模塊201可以是正被更新的軟件程序的組件(例如,代碼、腳本和子例程)。在另一個(gè)實(shí)現(xiàn)方案中,模塊201可以是實(shí)施一個(gè)或多個(gè)相關(guān)程序的更新的專用程序(例如,諸如Kaspersky One?的軟件套件)。而在另一個(gè)實(shí)現(xiàn)方案中,模塊201可以是部署在計(jì)算機(jī)103上的管理代理端的軟件組件。無論哪一種情況,更新模塊201均可配置為從遠(yuǎn)程更新服務(wù)器來獲得用于安裝在計(jì)算機(jī)103上的一個(gè)或多個(gè)程序的更新,所述遠(yuǎn)程更新服務(wù)器例如管理服務(wù)器102,可由例如制造正被更新的程序的公司或第三方更新服務(wù)供應(yīng)商所托管。
[0025]在一個(gè)實(shí)現(xiàn)方案中,更新模塊201可周期性地或以預(yù)定日期/時(shí)間來在將消息發(fā)送到遠(yuǎn)程更新服務(wù)器以檢查新的更新的計(jì)算機(jī)103上啟動(dòng)更新進(jìn)程205。如果服務(wù)器有新的程序更新,那么更新模塊201將更新下載到計(jì)算機(jī)103。在另一個(gè)實(shí)現(xiàn)方案中,當(dāng)更新服務(wù)器有新的程序更新時(shí),服務(wù)器可發(fā)起程序更新數(shù)據(jù)的傳輸或到更新模塊201的傳輸。
[0026]可提供程序更新作為具有以下文件類型:*.bat、*.cmd、*.js、*.vbs、*.pif中的一個(gè)的安裝包202或者作為二進(jìn)制文件。用于基于Windows的程序的典型安裝包202可以是*.msi或*.msp文件類型。安裝包202典型地包含用于在計(jì)算機(jī)103上正確更新軟件程序所必需的代碼和數(shù)據(jù)。這類數(shù)據(jù)可包括經(jīng)更新的程序文件、關(guān)于目錄結(jié)構(gòu)的信息、OS注冊表信息以及其他類型的數(shù)據(jù)。
[0027]在一個(gè)示范性實(shí)施例中,安裝模塊203通過在計(jì)算機(jī)103上啟動(dòng)安裝進(jìn)程206來實(shí)施程序更新即安裝包202的安裝。在一個(gè)實(shí)現(xiàn)方案中,安裝模塊203的功能性可包括在更新模塊201中。在Windows OS中,安裝模塊203可以是程序msiexec.exe。模塊203通過跟隨在安裝包202中所包含的指令以及通過使用在該包202中的數(shù)據(jù)來更新程序。在一個(gè)實(shí)現(xiàn)方案中,在程序更新期間可使用數(shù)個(gè)安裝模塊203,與此同時(shí)對安裝進(jìn)程206的控制連續(xù)地從一個(gè)安裝模塊203轉(zhuǎn)移到另一個(gè)。還有其他實(shí)現(xiàn)方案,此時(shí)參與模塊203之間的控制的轉(zhuǎn)移可以使用例如進(jìn)程間通信(IPC)機(jī)制而以更不明顯的方式完成。應(yīng)該注意,在一個(gè)示范性實(shí)現(xiàn)方案中,安裝模塊203中的任何一個(gè)均可加載用于正確更新所必需的新安裝包202。而在另一個(gè)實(shí)現(xiàn)方案中,安裝模塊203可將安裝包202變成臨時(shí)文件,并且隨后使用組件對象模型(COM)-服務(wù)器機(jī)制從該臨時(shí)文件初始化包202的安裝。
[0028]應(yīng)該進(jìn)一步注意,在程序更新期間,即包202的安裝期間,可從安裝包202和/或舊的程序文件204創(chuàng)建新的程序文件204或者可修改他們的元數(shù)據(jù)(例如,名稱、大小、位置)。在這些情況下,在經(jīng)授權(quán)程序即根據(jù)管理策略被允許更新的程序的更新期間,在創(chuàng)建新的或經(jīng)修改的程序文件204期間可能會(huì)發(fā)生錯(cuò)誤,因?yàn)殛P(guān)于這些文件或其元數(shù)據(jù)以將這些文件正確地分類為經(jīng)授權(quán)或未經(jīng)授權(quán)的信息不足。而且,元數(shù)據(jù)可在程序更新期間改變并且可不再與經(jīng)授權(quán)元數(shù)據(jù)的類別相對應(yīng)。在這些情況下,由于未經(jīng)授權(quán),程序的更新可能受到阻止。
[0029]圖3示出了用于在企業(yè)計(jì)算機(jī)上更新經(jīng)授權(quán)程序的客戶端-服務(wù)器基礎(chǔ)結(jié)構(gòu)的示范性實(shí)施例。系統(tǒng)300包括管理服務(wù)器102和多個(gè)計(jì)算機(jī)103。管理服務(wù)器102包括控制模塊301、多個(gè)管理模塊302以及數(shù)據(jù)存儲(chǔ)303。管理模塊302可包括但不限于清查(inventorization)模塊304、分類模塊305、策略模塊306和網(wǎng)絡(luò)拓?fù)浣⒛K(未示出)、用于在計(jì)算機(jī)上搜索和移除漏洞的模塊(未示出)以及其他模塊。數(shù)據(jù)存儲(chǔ)303包含用于不同程序的更新、網(wǎng)絡(luò)101的拓?fù)渖系男畔ⅰ踩a(bǔ)丁、已知漏洞列表、用于網(wǎng)絡(luò)101中的每一個(gè)計(jì)算機(jī)103的軟件和硬件信息、程序分類規(guī)則、程序控制的策略以及其他數(shù)據(jù)。數(shù)據(jù)存儲(chǔ)303可利用由反病毒公司所提供的信息來不斷地更新。
[0030]在一個(gè)示范性實(shí)施例中,管理服務(wù)器102在計(jì)算機(jī)103上部署管理代理端307。服務(wù)器102使用管理代理端307以遠(yuǎn)程地管理計(jì)算機(jī)103上的程序。管理服務(wù)器102使用控制模塊301以與計(jì)算機(jī)103上的代理端307通信以及實(shí)施各種遠(yuǎn)程任務(wù),諸如清查和分類計(jì)算機(jī)103上的應(yīng)用程序和程序、應(yīng)用安全策略和程序更新和。在一個(gè)實(shí)現(xiàn)方案中,管理服務(wù)器102可使用用于微軟交換服務(wù)器的Kaspersky Administration Kit (卡巴斯基管理工具包)、Kaspersky Endpoint Security (卡巴斯基終端安全軟件)、Kaspersky Security (卡巴斯基安全軟件)和/或用于微軟工作站的Kaspersky Ant1-Virus (卡巴斯基反病毒軟件)來實(shí)施各種管理任務(wù)。
[0031]為了實(shí)施計(jì)算機(jī)103的管理,管理服務(wù)器102使用控制模塊301來連接到在計(jì)算機(jī)103上所部署的管理代理端307。然后,管理服務(wù)器102激活清查模塊304來制定管理代理端307要在計(jì)算機(jī)103上所實(shí)施的清查任務(wù)。在清查期間,管理代理端307收集關(guān)于在計(jì)算機(jī)103上所安裝的軟件應(yīng)用程序的信息。所收集的信息可包括但不限于應(yīng)用程序的版本、由應(yīng)用程序所使用的數(shù)字簽名、唯一程序標(biāo)識(shí)符(例如,哈?;蛐r?yàn)和)、制造商信息、應(yīng)用程序安裝路徑等等。為每一個(gè)計(jì)算機(jī)103所收集的信息均由唯一標(biāo)識(shí)符所指定,所述唯一標(biāo)識(shí)符諸如計(jì)算機(jī)103的序列號(hào)、MAC地址、IP地址等等。為每一個(gè)計(jì)算機(jī)103所收集的清點(diǎn)數(shù)據(jù)儲(chǔ)存在數(shù)據(jù)存儲(chǔ)303中,并且可使用與計(jì)算機(jī)103相關(guān)聯(lián)的唯一標(biāo)識(shí)符在存儲(chǔ)303中對其進(jìn)行搜索。
[0032]可由控制模塊301周期性地實(shí)施清查進(jìn)程,其使得能夠在計(jì)算機(jī)103上找到由用戶所安裝的新應(yīng)用程序和程序。這樣,網(wǎng)絡(luò)101中的所有已知應(yīng)用程序的列表總是當(dāng)前的。而且,在一個(gè)實(shí)現(xiàn)方案中,當(dāng)用戶在計(jì)算機(jī)103上安裝新程序時(shí),管理代理端307可收集關(guān)于該程序的信息并且將其發(fā)送到管理服務(wù)器102以在存儲(chǔ)303中更新軟件清點(diǎn)數(shù)據(jù)。
[0033]在一個(gè)實(shí)現(xiàn)方案中,管理模塊302使用分類模塊305來將安裝在計(jì)算機(jī)103上的應(yīng)用程序分類為不同的類別。在一個(gè)實(shí)現(xiàn)方案中,數(shù)據(jù)存儲(chǔ)303儲(chǔ)存軟件分類規(guī)則。這些規(guī)則可基于應(yīng)用程序的不同的元數(shù)據(jù),比如文件的名稱或唯一標(biāo)識(shí)符、或制造商的名稱等等。例如,用于制造商名稱“Opera Software"的規(guī)則可將該制造商分類為“瀏覽器”。而且,可以有將用于OS的操作所必需的所有應(yīng)用程序和文件分組為類別“操作系統(tǒng)的文件”的規(guī)貝U。而且,例如,可以有將需要更新的所有應(yīng)用程序分組為類別“用于更新的應(yīng)用程序”的規(guī)則。而且,可以有將受信任的、非惡意的應(yīng)用程序分類為被授權(quán)以在計(jì)算機(jī)103上安裝和執(zhí)行的應(yīng)用程序的規(guī)則。分類模塊305可將這類經(jīng)授權(quán)的應(yīng)用程序放置到經(jīng)授權(quán)類別“經(jīng)授權(quán)應(yīng)用程序”中。
[0034]在一個(gè)實(shí)現(xiàn)方案中,分類模塊305通過對存儲(chǔ)在存儲(chǔ)303中的數(shù)據(jù)運(yùn)用分類規(guī)則來對安裝在計(jì)算機(jī)103上的所有應(yīng)用程序進(jìn)行分類。一旦程序分類為一個(gè)或多個(gè)類別,則分類模塊305在數(shù)據(jù)存儲(chǔ)303中將用于每個(gè)程序的分類信息添加到用于該程序的軟件清點(diǎn)數(shù)據(jù)。在一個(gè)示范性實(shí)現(xiàn)方案中,可從由提供反病毒服務(wù)的公司所維持的遠(yuǎn)程數(shù)據(jù)庫接收分類規(guī)則,該提供反病毒服務(wù)的公司諸如Kaspersky Lab (卡巴斯基實(shí)驗(yàn)室)。在這種情況下,分類模塊305可連接到遠(yuǎn)程數(shù)據(jù)庫以對尚未由來自存儲(chǔ)303的規(guī)則所分類的應(yīng)用程序加以分類,或者以接收新分類規(guī)則。分類模塊305還可通過類別來過濾安裝在計(jì)算機(jī)103上的程序以識(shí)別哪些計(jì)算機(jī)103具有屬于特定類別的程序。在另一個(gè)示范性實(shí)現(xiàn)方案中,系統(tǒng)管理員可創(chuàng)建由不同計(jì)算機(jī)用戶所授權(quán)使用的程序的自定義類別,在該類別中包括例如特定的軟件包、圖形設(shè)計(jì)軟件、任務(wù)計(jì)劃器以及由用戶所使用的瀏覽器。
[0035]在一個(gè)示范性實(shí)施例中,管理模塊302和分類模塊305有權(quán)訪問遠(yuǎn)程的干凈對象數(shù)據(jù)庫。該數(shù)據(jù)庫可由反病毒公司提供(圖3未示出)。干凈對象數(shù)據(jù)庫可包含關(guān)于諸如經(jīng)授權(quán)(或受信任的)對象的信息,諸如各種文件、參考資料等。這類數(shù)據(jù)庫包含關(guān)于所有“干凈”的即其不承載惡意功能并且可在計(jì)算機(jī)103上安全地安裝和執(zhí)行的應(yīng)用程序的非常大量的信息。分類模塊305可與前述數(shù)據(jù)庫連接以確定計(jì)算機(jī)103上存在哪些未經(jīng)授權(quán)的(或不受信任的)程序。為此目的,分類模塊305可將其在計(jì)算機(jī)103的軟件清查期間所收集的信息與來自干凈對象數(shù)據(jù)庫的信息加以比較。在一個(gè)實(shí)現(xiàn)方案中,數(shù)據(jù)存儲(chǔ)303包含用于分類未知(或不受信任的)對象的規(guī)則。這樣的規(guī)則將允許對其數(shù)據(jù)在清查期間被收集,并且其數(shù)據(jù)在遠(yuǎn)程的干凈對象數(shù)據(jù)庫處不存在的應(yīng)用程序加以分類。分類模塊305通過對在清查的進(jìn)程期間所收集的數(shù)據(jù)運(yùn)用規(guī)則來確定這類應(yīng)用程序的分類。
[0036]在一個(gè)示范性實(shí)現(xiàn)方案中,系統(tǒng)還支持反向操作。知悉已經(jīng)被分類為不受信任的應(yīng)用程序?qū)嶋H上并非惡意的管理員可改變該應(yīng)用程序的類別。同時(shí),分類模塊305可將經(jīng)更新的分類信息發(fā)送給反病毒公司。例如,分類模塊305可將經(jīng)重新分類的應(yīng)用程序的元數(shù)據(jù)發(fā)送給反病毒公司,諸如文件名稱、唯一標(biāo)識(shí)符、制造商名稱和其他將應(yīng)用程序分類為干凈的信息。反病毒公司可檢查應(yīng)用程序的新分類的準(zhǔn)確度并且通過將主題應(yīng)用程序包括在干凈對象數(shù)據(jù)庫中來更新干凈對象數(shù)據(jù)庫。而且,可由反病毒公司來自動(dòng)完成類似動(dòng)作。例如,可將該特定應(yīng)用程序不是惡意的信息發(fā)送給反病毒公司的服務(wù)器,其將在一定數(shù)目的用戶已經(jīng)發(fā)送類似信息之后更新干凈對象數(shù)據(jù)庫。
[0037]在另一個(gè)實(shí)現(xiàn)方案中,知悉特定應(yīng)用程序被分類模塊305放置在錯(cuò)誤類別中的管理員可在數(shù)據(jù)存儲(chǔ)303中改變該應(yīng)用程序的類別。同時(shí),分類模塊305可將關(guān)于應(yīng)用程序的重新分類的信息發(fā)送給反病毒公司。在另一個(gè)實(shí)現(xiàn)方案中,當(dāng)管理員無法確鑿地確定是否應(yīng)將某一應(yīng)用程序分類為經(jīng)授權(quán)(或受信任)時(shí),其請求反病毒公司的服務(wù)器以實(shí)施應(yīng)用程序的遠(yuǎn)程分類。這類動(dòng)作幫助反病毒公司創(chuàng)建新的分類規(guī)則并且改正舊規(guī)則。然后,新的或所改正的分類規(guī)則用來更新數(shù)據(jù)存儲(chǔ)303。
[0038]在一個(gè)示范性實(shí)施例中,管理模塊302還可包括策略模塊306,所述策略模塊306生成和運(yùn)用對在計(jì)算機(jī)103上安裝和執(zhí)行應(yīng)用程序和程序進(jìn)行控制的策略。在一個(gè)實(shí)現(xiàn)方案中,策略是規(guī)定哪些用戶可在計(jì)算機(jī)103上使用哪些應(yīng)用程序的規(guī)則的集合。該規(guī)則的集合起碼包括幫助基于程序的元數(shù)據(jù)來確定計(jì)算機(jī)103上的每個(gè)應(yīng)用程序?qū)儆谀膫€(gè)類別的規(guī)則,以及幫助確定哪個(gè)應(yīng)用程序可由哪些用戶執(zhí)行的規(guī)則。還有對強(qiáng)加給特定用戶的各種限制加以規(guī)定的規(guī)則,其禁止某些應(yīng)用程序的某些功能。對程序功能性進(jìn)行限制的規(guī)則的示例是這樣一個(gè)規(guī)則,當(dāng)某些用戶執(zhí)行應(yīng)用程序時(shí),其拒絕應(yīng)用程序訪問某些網(wǎng)絡(luò)端口。而且,其他規(guī)則可對某些用戶完全禁止某些程序的使用。
[0039]在一個(gè)示范性實(shí)現(xiàn)方案中,可以為計(jì)算機(jī)103的每個(gè)用戶生成不同的策略。換句話說,對一個(gè)用戶所允許的動(dòng)作可以對另一個(gè)用戶不允許,無論在同一臺(tái)計(jì)算機(jī)103上或在不同的計(jì)算機(jī)103上。不允許使用由策略所禁止的應(yīng)用程序類別。這樣,為了禁止來自類別“Games”的所有應(yīng)用程序的使用,不在來自一系列的管理模塊302的策略模塊306的幫助下創(chuàng)建策略是足夠的。因此,如果應(yīng)用程序未列在某個(gè)用戶的策略中的應(yīng)用程序的經(jīng)授權(quán)類別中,則禁止該用戶在計(jì)算機(jī)103上使用該應(yīng)用程序。
[0040]如上文所解釋的,用于每個(gè)計(jì)算機(jī)103的策略包含用來確定在計(jì)算機(jī)103上由用戶所安裝/執(zhí)行的應(yīng)用程序是否屬于應(yīng)用程序的經(jīng)授權(quán)類別的規(guī)則的集合,利用該規(guī)則允許用戶進(jìn)行工作。在一個(gè)實(shí)現(xiàn)方案中,該規(guī)則的集合用來在計(jì)算機(jī)103上生成/更新經(jīng)授權(quán)對象的數(shù)據(jù)庫308。例如,策略可包含用于計(jì)算機(jī)103的特定用戶的所有經(jīng)授權(quán)應(yīng)用程序的列表。該列表不但可包含經(jīng)授權(quán)應(yīng)用程序的名稱,而且可包含經(jīng)授權(quán)應(yīng)用程序的其他元數(shù)據(jù)諸如唯一標(biāo)識(shí)符,諸如哈希表或校驗(yàn)和、數(shù)字簽名等等。策略模塊306配置為將這類策略轉(zhuǎn)移到網(wǎng)絡(luò)101中的計(jì)算機(jī)103以允許計(jì)算機(jī)用戶僅利用經(jīng)授權(quán)的應(yīng)用程序和程序進(jìn)行工作。在一個(gè)實(shí)現(xiàn)方案中,策略模塊306可生成轉(zhuǎn)移策略到某些計(jì)算機(jī)103的任務(wù)并且將其發(fā)送到控制模塊301??刂颇K301在所規(guī)定的計(jì)算機(jī)103上與管理代理端307建立連接并且將適當(dāng)?shù)目刂撇呗园l(fā)送到每個(gè)計(jì)算機(jī)103。計(jì)算機(jī)103上的管理代理端307在計(jì)算機(jī)103上執(zhí)行這些策略。同時(shí),對經(jīng)授權(quán)應(yīng)用程序加以規(guī)定的規(guī)則的集合存儲(chǔ)在經(jīng)授權(quán)對象的數(shù)據(jù)庫308中。
[0041]在一個(gè)示范性實(shí)現(xiàn)方案中,管理代理端307配置為不斷地監(jiān)控計(jì)算機(jī)103的操作以識(shí)別用戶在計(jì)算機(jī)上啟動(dòng)應(yīng)用程序的嘗試。如果做出了這樣的嘗試,那么代理端307可根據(jù)適當(dāng)?shù)目刂撇呗詠泶_定是否允許由該特定用戶在該特定計(jì)算機(jī)103上啟動(dòng)該應(yīng)用程序。代理端307通過將應(yīng)用程序的元數(shù)據(jù)與存儲(chǔ)在經(jīng)授權(quán)對象的數(shù)據(jù)庫308中的規(guī)則相比較來完成該過程。如果比較顯示應(yīng)用程序與應(yīng)用程序的經(jīng)授權(quán)類別相對應(yīng),那么將允許在計(jì)算機(jī)103上啟動(dòng)該應(yīng)用程序。特別地,管理代理端307可使用規(guī)則的第一集合來確定該應(yīng)用程序所屬類別。然后,代理端307可使用規(guī)則的第二集合來確定在計(jì)算機(jī)103上是否可由該用戶啟動(dòng)來自該類別的應(yīng)用程序。因此,當(dāng)策略包括針對計(jì)算機(jī)103的特定用戶的在應(yīng)用程序的某些類別內(nèi)的經(jīng)授權(quán)應(yīng)用程序的列表,以及對用戶在計(jì)算機(jī)103上嘗試啟動(dòng)的應(yīng)用程序的元數(shù)據(jù)與經(jīng)授權(quán)應(yīng)用程序的列表的比較指示該應(yīng)用程序落入應(yīng)用程序的經(jīng)授權(quán)類別時(shí),管理代理端307允許在計(jì)算機(jī)103上啟動(dòng)應(yīng)用程序。
[0042]在一個(gè)示范性實(shí)施例中,策略可能并不被發(fā)送到每個(gè)計(jì)算機(jī)103 ;反而,用于所有計(jì)算機(jī)103的策略可存儲(chǔ)在中央數(shù)據(jù)庫中,諸如管理服務(wù)器102的數(shù)據(jù)存儲(chǔ)303。在該實(shí)現(xiàn)方案中,計(jì)算機(jī)103上的管理代理端307將例如基于應(yīng)用程序的元數(shù)據(jù)來確定正嘗試在計(jì)算機(jī)103上啟動(dòng)什么應(yīng)用程序,并且將向管理服務(wù)器102發(fā)送詢問以解決該應(yīng)用程序是否被授權(quán)在計(jì)算機(jī)103上執(zhí)行。服務(wù)器將檢查存儲(chǔ)在數(shù)據(jù)存儲(chǔ)303中的控制策略和并應(yīng)答指示是否允許或者不允許應(yīng)用程序在計(jì)算機(jī)103上由用戶執(zhí)行。
[0043]總之,為了在企業(yè)網(wǎng)絡(luò)101中的計(jì)算機(jī)上實(shí)施應(yīng)用程序的有效管理,有必要在計(jì)算機(jī)103上實(shí)施軟件的清查、對所有應(yīng)用程序和程序分類、并且生成和運(yùn)用用于計(jì)算機(jī)103的每個(gè)用戶的控制策略,以便在計(jì)算機(jī)103上僅可啟動(dòng)經(jīng)授權(quán)的應(yīng)用程序。
[0044]圖4顯示了用于在計(jì)算機(jī)103上更新經(jīng)授權(quán)程序的系統(tǒng)的示范性實(shí)施例。系統(tǒng)400包括更新模塊201 (其可以是發(fā)起程序更新的應(yīng)用程序)、安裝模塊203 (其可以是用于安裝程序更新的應(yīng)用程序)、管理代理端307和經(jīng)授權(quán)對象的數(shù)據(jù)庫308。在更新進(jìn)程期間,系統(tǒng)使用安裝包202 (未示出)和新的以及經(jīng)更新的程序文件204 (未示出)。為了該系統(tǒng)400工作,應(yīng)提前定義經(jīng)授權(quán)應(yīng)用程序的類別。而且,應(yīng)為計(jì)算機(jī)103的所有用戶生成策略以識(shí)別允許哪些用戶在計(jì)算機(jī)103上利用哪些程序來工作。因此,根據(jù)分類,安裝在計(jì)算機(jī)103上的需要更新或者實(shí)施更新服務(wù)的所有軟件都可放進(jìn)經(jīng)授權(quán)類別“用于更新的應(yīng)用程序”中??蔀樵擃悇e生成用于計(jì)算機(jī)103的所有用戶的策略,其將允許用戶僅使用經(jīng)授權(quán)的程序。此外,策略中可提供的是,由經(jīng)授權(quán)的程序或應(yīng)用程序所創(chuàng)建的新的和經(jīng)更新的程序文件204可被自動(dòng)指定為“受信任的”以便該系統(tǒng)有效地發(fā)揮作用。因此,在一個(gè)實(shí)現(xiàn)方案中,系統(tǒng)將創(chuàng)建這樣的規(guī)則,其將由經(jīng)授權(quán)程序在更新進(jìn)程期間所創(chuàng)建的新的或經(jīng)更新的程序文件指定為受信任的。例如,在一個(gè)實(shí)現(xiàn)方案中,如果在更新進(jìn)程的操作或者程序的操作期間創(chuàng)建這些文件,那么可將新參數(shù)“可信賴性(trustworthiness)”作為元數(shù)據(jù)添加到新的或者經(jīng)更新的程序文件204。用于新的或經(jīng)更新的程序文件204的這些以及其他的元數(shù)據(jù)參數(shù),諸如這些文件的標(biāo)識(shí)符,可存儲(chǔ)在經(jīng)授權(quán)對象的數(shù)據(jù)庫308中用于繼續(xù)更新進(jìn)程。
[0045]在另一個(gè)實(shí)現(xiàn)方案中,用于安裝更新的計(jì)算機(jī)103上的所有軟件可放置在單獨(dú)的經(jīng)授權(quán)類別“用于安裝的應(yīng)用程序”下。可為該類別生成用于所有計(jì)算機(jī)103的策略。該策略將允許那些應(yīng)用程序?qū)嵤┌惭b功能。此外,為了該系統(tǒng)發(fā)揮作用,可以安裝模塊203也將成為受信任的方式生成用于該類別的策略,以給予模塊203對其他受信任的、在來自經(jīng)授權(quán)類別“用于更新的應(yīng)用程序”的經(jīng)授權(quán)應(yīng)用程序的工作期間所生成的對象的訪問權(quán)限。因此,在用于類別“用于安裝的應(yīng)用程序”的該策略內(nèi),可以存在假如提供到受信任的對象的訪問權(quán)限則將指示安裝模塊203受信任的規(guī)則。于是,這些規(guī)則可允許創(chuàng)建用于安裝模塊203的新的程序文件204。在由模塊201所發(fā)起的更新進(jìn)程的生命期期間,那些文件也將被指定為受信任的。
[0046]應(yīng)該注意,上述類別可存儲(chǔ)在計(jì)算機(jī)103上的經(jīng)授權(quán)對象的數(shù)據(jù)庫308中。這些類別可由分類模塊305自動(dòng)生成或由管理員生成。它們還可基于外部的專家知識(shí),諸如由反病毒公司所給定的信息。
[0047]圖5示出了可由系統(tǒng)400 (圖4)所實(shí)施的、用于更新經(jīng)授權(quán)程序的方法的示范性實(shí)現(xiàn)方案。在步驟501處,方法確定在計(jì)算機(jī)103上發(fā)起程序更新的更新模塊201是否被允許在計(jì)算機(jī)103上執(zhí)行。如上文所解釋的,為了確定用戶在何時(shí)嘗試在計(jì)算機(jī)上啟動(dòng)軟件程序,管理代理端307配置為監(jiān)控它安裝于其上的計(jì)算機(jī)103的資源。一旦管理代理端307檢測到在計(jì)算機(jī)103上啟動(dòng)更新模塊201的嘗試,則代理端307還確定該更新模塊201是否被授權(quán)以在計(jì)算機(jī)103上執(zhí)行。為此,管理代理端307配置為識(shí)別更新模塊201的元數(shù)據(jù)。管理代理端307可隨后將該元數(shù)據(jù)中的至少一類(例如,更新模塊201的名稱)與存儲(chǔ)在經(jīng)授權(quán)對象的數(shù)據(jù)庫308中的信息諸如經(jīng)授權(quán)程序的類別以及相關(guān)聯(lián)的策略相比較?;诒容^的結(jié)果,管理代理端307確定更新模塊201是否屬于程序的經(jīng)授權(quán)類別。在一個(gè)實(shí)現(xiàn)方案中,管理代理端307還可使用確定來自程序的經(jīng)授權(quán)類別的該更新模塊201是否可自動(dòng)啟動(dòng)或者由計(jì)算機(jī)103的用戶所啟動(dòng)。
[0048]在步驟502處,如果管理代理端307基于關(guān)于經(jīng)授權(quán)對象的信息而確定更新模塊201未被授權(quán)在計(jì)算機(jī)103上執(zhí)行,那么在步驟503處,管理代理端307阻止更新模塊201的執(zhí)行。如果有明確禁止在計(jì)算機(jī)103上執(zhí)行特定更新模塊201的策略,或者如果沒有允許執(zhí)行該更新模塊201的策略,則可阻止該更新模塊201。然而,在步驟502處,如果管理代理端307基于關(guān)于經(jīng)授權(quán)對象的信息而確定更新模塊201被授權(quán)在計(jì)算機(jī)103上執(zhí)行,則在步驟504處,代理端307允許執(zhí)行更新模塊201。當(dāng)模塊201的元數(shù)據(jù)列在經(jīng)授權(quán)類別“用于更新的應(yīng)用程序”中或者列于在計(jì)算機(jī)103上的經(jīng)授權(quán)對象的數(shù)據(jù)庫308中所存儲(chǔ)的相關(guān)聯(lián)的策略中時(shí),可允許更新模塊201在計(jì)算機(jī)103上執(zhí)行。
[0049]在更新模塊201的執(zhí)行期間,模塊啟動(dòng)更新進(jìn)程205,該更新進(jìn)程205在計(jì)算機(jī)103上下載與更新模塊201相關(guān)聯(lián)的安裝包202。由于更新模塊201屬于程序的經(jīng)授權(quán)類別,因此用于計(jì)算機(jī)103的策略可將由更新模塊201所啟動(dòng)的所有進(jìn)程(例如,更新進(jìn)程205)和作為更新模塊的執(zhí)行的結(jié)果而所創(chuàng)建/所下載的所有對象(例如,安裝包202)指定為受信任的進(jìn)程和對象。在一個(gè)示范性實(shí)現(xiàn)方案中,管理代理端307可在經(jīng)授權(quán)對象的數(shù)據(jù)庫308中對更新進(jìn)程205的元數(shù)據(jù)和安裝包202的元數(shù)據(jù)進(jìn)行更新以包括“受信任的”的屬性。然后,更新模塊201將所下載的安裝包202轉(zhuǎn)移到安裝模塊203。
[0050]在步驟505處,管理代理端307確定是否允許在計(jì)算機(jī)103上執(zhí)行安裝模塊203。如上文所解釋的,安裝模塊201啟動(dòng)在計(jì)算機(jī)103上安裝安裝包202的安裝進(jìn)程206。例如,Windows OS中的程序msiexec.exe可以是用于*.msi文件類型的安裝包202的安裝模塊203。在一個(gè)實(shí)現(xiàn)方案中,管理代理端307配置為確定安裝模塊203的元數(shù)據(jù)以及將該元數(shù)據(jù)的至少一類(例如,安裝模塊203的名稱)與來自經(jīng)授權(quán)對象的數(shù)據(jù)庫308的信息相比較,來自經(jīng)授權(quán)對象的數(shù)據(jù)庫308的信息諸如程序的經(jīng)授權(quán)類別和相關(guān)聯(lián)的策略。基于比較的結(jié)果,管理代理端307確定安裝模塊203是否屬于程序的經(jīng)授權(quán)類別,諸如類別“用于更新的應(yīng)用程序”。在步驟507處,如果安裝模塊203被確定為被授權(quán),則在步驟508處,管理代理端307將允許在計(jì)算機(jī)103上執(zhí)行安裝模塊203。然而,在步驟506處,如果安裝模塊203被確定為未被授權(quán),則在步驟507處,管理代理端307將阻止在計(jì)算機(jī)103上執(zhí)行安裝模塊203。
[0051]此外,管理代理端307可基于更新模塊201和安裝模塊203之間的關(guān)系來確定是否允許或不允許在計(jì)算機(jī)103上執(zhí)行安裝模塊203。例如,經(jīng)授權(quán)對象的數(shù)據(jù)庫308中的策略可包括這樣的規(guī)則,該規(guī)則指示只有對象(或進(jìn)程)列在程序的經(jīng)授權(quán)類別中(或具有“受信任的”屬性)才允許該對象(或進(jìn)程)執(zhí)行,并且該對象(或進(jìn)程)由經(jīng)授權(quán)的對象所創(chuàng)建,那么該子對象(或進(jìn)程)就應(yīng)被認(rèn)為是受信任的。在這種情況下,如果管理代理端307確定安裝模塊203 (或安裝進(jìn)程206)是更新模塊201 (或更新進(jìn)程205)的子并且安裝模塊203(或安裝進(jìn)程206)與程序的經(jīng)授權(quán)類別列在一起時(shí),那么在步驟508處,管理代理端307將允許安裝模塊203的執(zhí)行。然而,如果安裝模塊203并非由經(jīng)授權(quán)的更新模塊201所創(chuàng)建或者未與程序的經(jīng)授權(quán)類別列在一起,那么在步驟507處,管理代理端307可阻止在計(jì)算機(jī)103上安裝模塊203的執(zhí)行。
[0052]在步驟508處,在執(zhí)行期間,安裝模塊203啟動(dòng)安裝進(jìn)程506,其在計(jì)算機(jī)103上安裝安裝包202。由于安裝包202屬于受信任的程序類別(例如,具有“受信任的”屬性的元數(shù)據(jù))和/或安裝模塊203被認(rèn)為是經(jīng)授權(quán)的程序,因此用于計(jì)算機(jī)103的策略可將自受信任的、由經(jīng)授權(quán)的安裝模塊203所執(zhí)行的安裝包202所創(chuàng)建的或由該安裝包202所修改的所有更新程序文件204指定為受信任的進(jìn)程和對象。在一個(gè)實(shí)現(xiàn)方案中,管理代理端307可在經(jīng)授權(quán)對象的數(shù)據(jù)庫308中更新新創(chuàng)建的或新修改的程序更新文件204的元數(shù)據(jù)以包括“受信任的”屬性。該信任的轉(zhuǎn)移允許更新系統(tǒng)400的平穩(wěn)操作。
[0053]在一個(gè)示范性實(shí)現(xiàn)方案中,當(dāng)完成經(jīng)授權(quán)應(yīng)用程序計(jì)算機(jī)103的更新時(shí),管理代理端307可連接到管理服務(wù)器102以將新的或經(jīng)修改的程序文件轉(zhuǎn)發(fā)到服務(wù)器,使得關(guān)于該應(yīng)用程序的信息存儲(chǔ)在數(shù)據(jù)存儲(chǔ)303中用于將來使用。如上文所解釋的,在一個(gè)示范性實(shí)現(xiàn)方案中,管理服務(wù)器102的控制模塊301有權(quán)訪問由反病毒公司所提供的遠(yuǎn)程的干凈對象數(shù)據(jù)庫。因此,一旦控制模塊102接收用于數(shù)據(jù)存儲(chǔ)303的更新諸如新的或經(jīng)修改的程序文件的元數(shù)據(jù),就可將該信息轉(zhuǎn)發(fā)到遠(yuǎn)程的干凈對象數(shù)據(jù)庫,如果后者缺少該信息的話。在另一個(gè)實(shí)現(xiàn)方案中,計(jì)算機(jī)103上的管理代理端307可直接連接到遠(yuǎn)程的干凈對象數(shù)據(jù)庫并且將關(guān)于新的或經(jīng)修改的程序文件的信息發(fā)送到數(shù)據(jù)庫。
[0054]圖6描繪了計(jì)算機(jī)系統(tǒng)5的一個(gè)示范性實(shí)施例,其可用于實(shí)現(xiàn)本文所述的用于更新經(jīng)授權(quán)軟件的系統(tǒng)和方法。如所示的,計(jì)算機(jī)系統(tǒng)5可包括由系統(tǒng)總線10所連接的一個(gè)或多個(gè)硬件處理器15、存儲(chǔ)器20、一個(gè)或多個(gè)硬盤驅(qū)動(dòng)器30、光學(xué)驅(qū)動(dòng)器35、串行端口 40、圖形卡45、聲卡50和網(wǎng)卡55。系統(tǒng)總線10可以是數(shù)個(gè)類型的總線結(jié)構(gòu)中的任何一種,包括使用各種已知的總線架構(gòu)中的任何一種的存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線和局部總線。處理器15可包括一個(gè)或多個(gè)Imel? Core2Quad2.33GHz處理器或其他類型的微處理器。
[0055]系統(tǒng)存儲(chǔ)器20可包括只讀存儲(chǔ)器(ROM) 21和隨機(jī)存取存儲(chǔ)器(RAM) 23??稍谌鏒RAM(動(dòng)態(tài)RAM)、EPR0M、EEPR0M、閃存或其他類型的存儲(chǔ)器架構(gòu)中實(shí)現(xiàn)存儲(chǔ)器20。R0M21存儲(chǔ)基本輸入/輸出系統(tǒng)22 (BIOS),該BIOS包含有助于在計(jì)算機(jī)系統(tǒng)5的組件之間轉(zhuǎn)移信息的基本例程,諸如在啟動(dòng)期間。RAM23存儲(chǔ)諸如Windows? XP Professional或其他類型操作系統(tǒng)的操作系統(tǒng)24 (OS),該操作系統(tǒng)24在計(jì)算機(jī)系統(tǒng)5中負(fù)責(zé)程序的管理和協(xié)調(diào)以及硬件資源的分配和共享。存儲(chǔ)器20也存儲(chǔ)應(yīng)用程序和程序25。存儲(chǔ)器20還存儲(chǔ)由程序25所使用的各種運(yùn)行時(shí)數(shù)據(jù)26。
[0056]計(jì)算機(jī)系統(tǒng)5可進(jìn)一步包括諸如SATA磁性硬盤驅(qū)動(dòng)器(HDD)的硬盤驅(qū)動(dòng)器30,以及用于讀取自或?qū)懭氲街T如CD-ROM、DVD-ROM或其他光學(xué)媒介的可移動(dòng)光盤的光盤驅(qū)動(dòng)器35。驅(qū)動(dòng)器30和35及其相關(guān)聯(lián)的計(jì)算機(jī)可讀媒介提供了實(shí)現(xiàn)本文所公開的算法和方法的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、應(yīng)用程序以及程序模塊/子例程的非易失性存儲(chǔ)。盡管示例性計(jì)算機(jī)系統(tǒng)5采用磁盤和光盤,但是本領(lǐng)域技術(shù)人員應(yīng)該理解,可存儲(chǔ)由計(jì)算機(jī)系統(tǒng)5可訪問的數(shù)據(jù)的其他類型的計(jì)算機(jī)可讀媒介,諸如磁帶盒、閃存卡、數(shù)字視頻盤、RAM、ROM、EPROM以及其他類型的存儲(chǔ)器,也可在計(jì)算機(jī)系統(tǒng)5的替代實(shí)施例中使用。
[0057]計(jì)算機(jī)系統(tǒng)5進(jìn)一步包括諸如通用串行總線(USB)的多個(gè)串行端口 40,其用于連接數(shù)據(jù)輸入設(shè)備75,諸如鍵盤、鼠標(biāo)、觸摸板以及其他設(shè)備。串行端口 40還可用來連接數(shù)據(jù)輸出設(shè)備80以及其他外圍設(shè)備85,數(shù)據(jù)輸出設(shè)備80諸如打印機(jī)、掃描儀和其他設(shè)備,其他外圍設(shè)備85諸如外部數(shù)據(jù)存儲(chǔ)設(shè)備等等。系統(tǒng)5還可包括聲卡50,用于經(jīng)由內(nèi)部或外部揚(yáng)聲器65重現(xiàn)聲音。此外,系統(tǒng)5可包括諸如以太網(wǎng)、WiF1、GSM、藍(lán)牙或其他有線的、無線的或蜂窩網(wǎng)絡(luò)接口的網(wǎng)卡55,用于將計(jì)算機(jī)系統(tǒng)5連接到諸如因特網(wǎng)的網(wǎng)絡(luò)70。
[0058]在各種實(shí)施例中,本文所述的系統(tǒng)和方法可在硬件、軟件、固件或其任何組合中實(shí)現(xiàn)。如果在軟件中實(shí)現(xiàn),則方法可在非暫時(shí)性計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)為一個(gè)或多個(gè)指令或代碼。計(jì)算機(jī)可讀介質(zhì)包括數(shù)據(jù)存儲(chǔ)。以示例的方式但并非限制,這類計(jì)算機(jī)可讀介質(zhì)可包括RAM、ROM、EEPR0M、CD-ROM、閃速存儲(chǔ)器或其他類型的電、磁或光存儲(chǔ)介質(zhì)、或任何其他可用來以指令或數(shù)據(jù)結(jié)構(gòu)的形式承載或存儲(chǔ)所期望的程序代碼并可由計(jì)算機(jī)所訪問的介質(zhì)。
[0059]為了清晰起見,本文沒有公開系統(tǒng)和方法的所有常規(guī)特征。應(yīng)該理解,在任何實(shí)際的實(shí)現(xiàn)方案的開發(fā)中,為了達(dá)到開發(fā)者的特定目標(biāo),必需制定大量特定于實(shí)現(xiàn)方案的決策,并且這些特定目標(biāo)將針對不同的實(shí)現(xiàn)方案和不同的開發(fā)者而變化。應(yīng)該理解,這類開發(fā)工作可能是復(fù)雜并且耗時(shí)的,但是其對于從本公開中受益的本領(lǐng)域普通技術(shù)人員而言仍然會(huì)是常規(guī)的工程任務(wù)。
[0060]此外,應(yīng)理解的是,本文所使用的措辭或術(shù)語是為了描述而不是限制,使得本領(lǐng)域技術(shù)人員根據(jù)本文所呈現(xiàn)的教導(dǎo)和指導(dǎo)并結(jié)合相關(guān)領(lǐng)域技術(shù)人員的知識(shí)來解釋本說明書的術(shù)語或措辭。此外,除非如此明確地予以闡述,否則對于說明書或權(quán)利要求中的任何術(shù)語都并非旨在將其歸結(jié)為不常見的或特殊的意義。
[0061]本文所公開的各種實(shí)施例包括本文以例示方式所指的已知組件現(xiàn)在的和將來的已知等同物。此外,雖然已示出并描述了實(shí)施例和應(yīng)用,但對于從本公開中受益的本領(lǐng)域技術(shù)人員顯而易見的是,比以上所提到內(nèi)容更多的修改是可能的,而不脫離本文所公開的發(fā)明構(gòu)思。
【權(quán)利要求】
1.一種用于在計(jì)算機(jī)上更新軟件程序的方法,所述方法包括: 檢測更新進(jìn)程要在所述計(jì)算機(jī)上執(zhí)行的嘗試,其中在執(zhí)行期間,所述更新進(jìn)程下載用于軟件程序的更新對象; 檢索至少包含用于所述計(jì)算機(jī)的軟件程序的經(jīng)授權(quán)類別的策略,其中所述經(jīng)授權(quán)類別包括經(jīng)允許在所述計(jì)算機(jī)上執(zhí)行和更新的軟件程序; 從所述策略確定所檢測的更新進(jìn)程是否與軟件程序的所述經(jīng)授權(quán)類別相關(guān)聯(lián); 當(dāng)所述更新進(jìn)程與軟件程序的所述經(jīng)授權(quán)類別相關(guān)聯(lián)時(shí),(i)將所述更新進(jìn)程指定為受信任的進(jìn)程,(ii)允許所述受信任的更新進(jìn)程在所述計(jì)算機(jī)上下載用于軟件程序的更新對象,(iii)以及將所述軟件程序的所述更新對象指定為受信任的對象; 由所述受信任的更新進(jìn)程在所述計(jì)算機(jī)上下載所述受信任的更新對象,其中所述受信任的更新對象包含軟件程序更新; 檢測安裝進(jìn)程要在所述計(jì)算機(jī)上執(zhí)行的嘗試,其中在執(zhí)行期間,所述安裝進(jìn)程安裝所述受信任的更新對象; 從所述策略確定所檢測的安裝進(jìn)程是否與所述受信任的更新進(jìn)程相關(guān)并且與軟件程序的所述經(jīng)授權(quán)類別相關(guān)聯(lián);以及 當(dāng)所述安裝進(jìn)程與所述受信任的更新進(jìn)程相關(guān)并且與軟件程序的所述經(jīng)授權(quán)類別相關(guān)聯(lián)時(shí),將所述安裝進(jìn)程指定為受信任的并且允許所述受信任的安裝進(jìn)程在所述計(jì)算機(jī)上安裝所述受信任的更新對象。
2.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 當(dāng)所述更新進(jìn)程不與軟件程序的所述經(jīng)授權(quán)類別相關(guān)聯(lián)時(shí),阻止所述更新進(jìn)程要在所述計(jì)算機(jī)上執(zhí)行的所述嘗試; 當(dāng)所述安裝進(jìn)程不與所述受信任的更新進(jìn)程相關(guān)時(shí),從所述策略確定所述安裝進(jìn)程是否與經(jīng)授權(quán)類別相關(guān)聯(lián);以及 當(dāng)所述安裝進(jìn)程不與所述經(jīng)授權(quán)類別相關(guān)聯(lián)時(shí),阻止所述安裝進(jìn)程要在所述計(jì)算機(jī)上安裝所述更新對象的所述嘗試。
3.根據(jù)權(quán)利要求1所述的方法,其中確定所述安裝進(jìn)程是否與所述受信任的更新進(jìn)程相關(guān)進(jìn)一步包括,確定所述安裝進(jìn)程是否是所述受信任的更新進(jìn)程的子進(jìn)程。
4.根據(jù)權(quán)利要求1所述的方法,進(jìn)一步包括: 在所述計(jì)算機(jī)上部署遠(yuǎn)程管理服務(wù)器的管理代理端; 由所述管理代理端收集關(guān)于安裝在所述計(jì)算機(jī)上的軟件程序的信息;以及 將所收集的信息發(fā)送到所述遠(yuǎn)程管理服務(wù)器。
5.根據(jù)權(quán)利要求4所述的方法,進(jìn)一步包括; 基于所述所收集的信息對所述軟件程序進(jìn)行分類;以及 生成包含軟件程序的經(jīng)授權(quán)類別的策略,其中允許來自所述經(jīng)授權(quán)類別的軟件程序在所述計(jì)算機(jī)上執(zhí)行和更新。
6.根據(jù)權(quán)利要求5所述的方法,其中從所述策略確定所述更新進(jìn)程是否與軟件程序的所述經(jīng)授權(quán)類別相關(guān)聯(lián)進(jìn)一步包括: 確定是否允許所述計(jì)算機(jī)的給定用戶啟動(dòng)所述更新進(jìn)程。
【文檔編號(hào)】G06F21/57GK103530563SQ201310349574
【公開日】2014年1月22日 申請日期:2013年8月12日 優(yōu)先權(quán)日:2012年8月10日
【發(fā)明者】安德烈·Y·索洛多思尼克夫, 基里爾·N·克魯格洛夫 申請人:卡巴斯基實(shí)驗(yàn)室封閉式股份公司