国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      保護提供web服務(wù)的計算機免受惡意軟件的影響的制作方法

      文檔序號:6566844閱讀:195來源:國知局
      專利名稱:保護提供web服務(wù)的計算機免受惡意軟件的影響的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及計算機,尤其涉及保護提供.web服務(wù)的計算機免受惡意軟件的影響。
      背景技術(shù)
      與計算機網(wǎng)絡(luò),尤其是與因特網(wǎng)的連接,變革了提供貨物與服務(wù)的方式。在與網(wǎng)絡(luò)和因特網(wǎng)的近乎全球化的連接之前,通常需要人類交互來完成交易,諸如購買軟件或在信息數(shù)據(jù)庫中提供數(shù)據(jù)。而且,某些產(chǎn)品的分發(fā)需要一個系統(tǒng)來打包和分發(fā)產(chǎn)品給購買者。然而,創(chuàng)建一個分發(fā)軟件及類似產(chǎn)品的系統(tǒng)通常對于供應(yīng)者而言是昂貴的。而且,通過非計算機化手段交換大量信息要求至少某種程度的人工干預(yù),并且作為結(jié)果,這是耗時且昂貴的。
      盡管由現(xiàn)代計算機網(wǎng)絡(luò)提供的互連性通常有助于允許計算機交換信息,但互連性也使計算機更易于受到攻擊。如本領(lǐng)域的技術(shù)人員將認識到的,這些攻擊以許多不同的形式出現(xiàn),這些形式包括但肯定不限于計算機病毒、計算機蠕蟲、系統(tǒng)組件替換、服務(wù)拒絕攻擊甚至合法計算機系統(tǒng)特征的誤用/濫用一一所有這些均為非法目的而利用一或多個計算機系統(tǒng)易受攻擊性。盡管本領(lǐng)域的技術(shù)人員將理解,各種計算機攻擊在技術(shù)上是彼此不同的,但為了本發(fā)明的目的及為了描述的簡單性,所有惡意計算機程序?qū)⒃谙挛闹斜唤y(tǒng)稱為計算機惡意軟件,或者簡稱為惡意軟件。當一臺計算機受到攻擊或被計算機惡意軟件"感染"時,不利結(jié)果是各有不同,包括禁用系統(tǒng)設(shè)備;擦除或破壞固件、應(yīng)用程序或數(shù)據(jù)文件;將潛在敏感的數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)上的另一個位置;關(guān)閉計算機;或者使計算機崩潰。眾多盡管不是全部計算機惡意軟件的又一有害方面在于使用受感染計算機來感染其它計算機。
      使用為因特網(wǎng)開發(fā)的協(xié)議促進網(wǎng)絡(luò)計算機之間數(shù)據(jù)通信的一種系統(tǒng)是Web服務(wù)。本領(lǐng)域的技術(shù)人員及其他人將認識到,Web服務(wù)指一種軟件系統(tǒng),它具有網(wǎng)絡(luò)可訪問接口來為其它軟件系統(tǒng)執(zhí)行動作。通常使用標準協(xié)議諸如簡單對象訪問協(xié)議("SOAP")來訪問Web服務(wù)。位于遠程計算機上的軟件系統(tǒng)可按照由定義與一 Web服務(wù)通信的方法的服務(wù)描述中提供的定義所規(guī)定的方式與該Web服務(wù)交互。而且,軟件系統(tǒng)之間的交互通常使用經(jīng)由諸如超文本傳輸協(xié)議("HTTP")等基于因特網(wǎng)的協(xié)議交換的基于可擴展標記語言("XML")的消息進行。例如,與Web服務(wù)通信的一種方法是使用Web服務(wù)描述語言("WSDL"),它使用基于XML的語言用于將Web服務(wù)描述為一組端點。以這種方法, 一個Web服務(wù)可向遠程軟件系統(tǒng)展示進程以便訪問一臺或一組提供該Web服務(wù)的計算機上的數(shù)據(jù)或在該臺或該組計算機上執(zhí)行操作。通常,Web服務(wù)支持與在網(wǎng)絡(luò)上可使用統(tǒng)一資源指示符("URI")標識的指定位置處的其它軟件系統(tǒng)交互。Web服務(wù)允許開發(fā)者使用不同的操作系統(tǒng)和程序設(shè)計語言在軟件系統(tǒng)之間通信。而且,由Web服務(wù)提供的進程可例如通過經(jīng)由一個Web接口交換XML數(shù)據(jù)來訪問。結(jié)果,不同的程序可按松耦合方式組合以完成復(fù)雜的操作。
      不幸的是,對一個Web服務(wù)作出請求的實體(下文稱為"服務(wù)請求者"或者
      "請求者計算機")可能能夠生成一或多個具有惡意效果的消息。換句話說,提供Web服務(wù)的計算機易于受到由服務(wù)請求者生成的惡意軟件的影響。例如,惡意軟件作者可將一個正當形成的請求傳遞給一個Web服務(wù),而,因在服務(wù)器計算機上分析該請求中的XML語法的計算復(fù)雜性導(dǎo)致服務(wù)拒絕攻擊。如前所述,這種類型的對合法計算機系統(tǒng)特征的誤用/濫用——它在接收該傳輸?shù)挠嬎銠C上產(chǎn)生負面效應(yīng),被分類為本申請中的惡意軟件。本領(lǐng)域的技術(shù)人員及其他人將認識到,計算機與網(wǎng)絡(luò)需要某些資源來操作,諸如網(wǎng)絡(luò)帶寬、存儲器、盤空間及對中央處理單元
      ("CPU")的訪問等等。在服務(wù)拒絕攻擊時,對Web服務(wù)作出一個請求,它被設(shè)計為消耗和壓倒提供該Web服務(wù)的計算機上的稀缺資源。結(jié)果,其它服務(wù)請求者被拒絕,或者對正被攻擊的Web服務(wù)的訪問受到限制。本領(lǐng)域的技術(shù)人員及其他人將認識到,服務(wù)拒絕攻擊只是提供Web服務(wù)的計算機可受到在對該Web服務(wù)的請求中所生成的惡意軟件攻擊的方式的一個示例。
      發(fā)明概述
      與現(xiàn)有技術(shù)有關(guān)的上述問題由本發(fā)明的原理來克服,本發(fā)明針對用于保護提供Web服務(wù)的計算機免受惡意軟件的影響的一種系統(tǒng)、方法和計算機可讀介質(zhì)。
      本發(fā)明的一個方面是一種用于在聯(lián)網(wǎng)環(huán)境中保護提供Web服務(wù)的計算機免受由請求者計算機生成的惡意軟件的影響的方法。更具體地,該方法包括在提供該Web服務(wù)的計算機處接收請求,使得與該請求相關(guān)聯(lián)的高級代碼被編譯成可執(zhí)行的二進制代碼,并且在二進制代碼中掃描惡意軟件。如果該方法在該請求中標識了惡意軟件,則不執(zhí)行與該請求相關(guān)聯(lián)的代碼。相反,如果沒有惡意軟件被標識,則滿足該請求。
      本發(fā)明的另一個方面是一種防止惡意軟件在提供Web服務(wù)的計算機上執(zhí)行的軟件系統(tǒng)。在本發(fā)明的一個實施例中,該軟件系統(tǒng)包括能夠接受請求的網(wǎng)絡(luò)可訪問接口。當接收到請求時,按需編譯系統(tǒng)可將與請求相關(guān)聯(lián)的高級代碼編譯成能夠被執(zhí)行的二進制代碼。然而,在執(zhí)行與請求相關(guān)聯(lián)的二進制代碼之前,反病毒軟件在二進制代碼中掃描惡意軟件。在一個實施例中,反病毒軟件包括將二進制代碼與從已知惡意軟件生成的惡意軟件簽名進行比較的掃描引擎。
      在又一個實施例中,提供具有內(nèi)容即使計算機按此所述的方法操作的程序的計算機可讀介質(zhì)。
      附圖簡述
      當結(jié)合附圖參照以下的詳細描述,本發(fā)明的前述方面和眾多附帶許多優(yōu)點將
      更易于領(lǐng)會并被更好地理解,附圖中


      圖1是適于示出現(xiàn)有技術(shù)的各方面的包括請求者計算機和Web服務(wù)供應(yīng)者計算機一個網(wǎng)絡(luò)環(huán)境的圖示,它們;
      圖2是根據(jù)現(xiàn)有技術(shù)示出能夠滿足Web服務(wù)請求的Web服務(wù)供應(yīng)者計算機的各組件的框圖3是根據(jù)本發(fā)明的一個實施例示出能夠滿足Web服務(wù)請求而不受惡意軟件感染的Web服務(wù)供應(yīng)者計算機的各組件的框圖4是根據(jù)本發(fā)明的另一實施例示出能夠滿足Web服務(wù)請求而不受惡意軟件感染的Web服務(wù)供應(yīng)者計算機各組件的框圖;以及
      圖5是根據(jù)本發(fā)明示出用于在對Web服務(wù)所作的請求中標識惡意軟件的軟件實現(xiàn)的方法的一個示例性實施例的流程圖。
      詳細描述
      按照本發(fā)明,提供用于在對Web服務(wù)的請求中標識惡意軟件的系統(tǒng)、方法、和計算機可讀介質(zhì)。本發(fā)明的一個方面是計算機實現(xiàn)的方法,它保護提供Web服務(wù)的計算機免受Web請求中實現(xiàn)的惡意軟件的影響。當接收到請求時,按需編譯系統(tǒng)將與該請求相關(guān)聯(lián)的高級代碼編譯成可執(zhí)行的二進制代碼。然而,在執(zhí)行該代碼之前,被設(shè)計成標識與請求相關(guān)聯(lián)的惡意軟件的反病毒軟件在二進制代碼中掃描惡意軟件。如果標識了惡意軟件,則反病毒軟件防止該二進制代碼被執(zhí)行。
      盡管將主要在標識發(fā)送給Web服務(wù)的惡意軟件的上下文中描述本發(fā)明,但相
      關(guān)領(lǐng)域的技術(shù)人員及他人將理解,本發(fā)明也能應(yīng)用于所描述的之外的其它軟件系統(tǒng)。以下描述首先提供現(xiàn)有技術(shù)各方面以及可在其中實現(xiàn)本發(fā)明的軟件系統(tǒng)的概觀。然后描述實現(xiàn)本發(fā)明的方法。在此提供的說明性示例不旨在是窮盡的或?qū)⒈景l(fā)明限于所公開的精確形式。類似地,在此描述的任何步驟能與其它步驟或步驟組合互換以實現(xiàn)相同的結(jié)果。
      圖1及以下討論旨在提供按照現(xiàn)有技術(shù)形成的聯(lián)網(wǎng)環(huán)境100中實現(xiàn)的Web服務(wù)的簡要一般描述。如圖1所示,聯(lián)網(wǎng)環(huán)境100由請求者計算機102和Web服務(wù)供應(yīng)者計算機104組成。而且,請求者計算機102和Web服務(wù)供應(yīng)者計算機104是通過網(wǎng)絡(luò)106通信連接的。本領(lǐng)域的技術(shù)人員及其他人將認識到,網(wǎng)絡(luò)106可實現(xiàn)為局域網(wǎng)("LAN")、廣域網(wǎng)("WAN")、蜂窩網(wǎng)絡(luò)、IEEE 802.11、藍牙無線網(wǎng)絡(luò)等等。然而,典型地,網(wǎng)絡(luò)106將是通常稱為因特網(wǎng)或萬維網(wǎng)的全球網(wǎng)絡(luò)。
      應(yīng)注意,盡管本發(fā)明通常按照結(jié)合個人計算機一一諸如計算機102和104的操作來描述,但這僅為了說明的目的且不應(yīng)解釋為對本發(fā)明的限制。本領(lǐng)域的技術(shù)人員將容易地認識到,幾乎任何類型的計算機可實現(xiàn)Web服務(wù)或與之交互。從而,可有利地實現(xiàn)本發(fā)明以保護眾多類型的計算機、計算設(shè)備或計算系統(tǒng),包括但不限于個人計算機、圖形輸入板計算機、筆記本計算機、小型和大型計算機、服務(wù)器計算機等等。
      如圖1進一步所示,請求者計算機102維護著一個示例性的程序執(zhí)行流108。在現(xiàn)代網(wǎng)絡(luò)的基礎(chǔ)架構(gòu)出現(xiàn)之前,程序完全是在單個計算機上執(zhí)行的。然而,如圖l所示,Web服務(wù)供應(yīng)者計算機104提供網(wǎng)絡(luò)106可訪問的Web服務(wù)。本領(lǐng)域的技術(shù)人員及其他人將認識到,Web服務(wù)提供可使用標準的網(wǎng)絡(luò)協(xié)議從遠程計算機訪問的"黑箱功能"。例如,在諸如請求者計算機102的一臺計算機上執(zhí)行的應(yīng)用程序可在事件110處通過發(fā)出請求來調(diào)用提供Web服務(wù)的計算機上的功能。結(jié)果,程序執(zhí)行流108從請求者計算機102傳到Web服務(wù)供應(yīng)者計算機104。在本例中,調(diào)用功能通常將使程序代碼在Web服務(wù)供應(yīng)者計算機104上執(zhí)行。本領(lǐng)域的技術(shù)人員及其他人將認識到,可按使惡意軟件在Web服務(wù)供應(yīng)者計算機104上執(zhí)行的方式來構(gòu)造請求。當Web服務(wù)上調(diào)用的功能完成時,在事件112處,程序執(zhí)行流108被傳回請求者計算機102。 一般,Web服務(wù)將使用標準網(wǎng)絡(luò)協(xié)議使數(shù)據(jù)以響應(yīng)形式被發(fā)送到請求者計算機102。如圖1中所示,Web服務(wù)110是使用網(wǎng)絡(luò)106雙 向鏈路軟件組件的一種類型的虛擬應(yīng)用程序。
      現(xiàn)在參考圖2,將簡述在現(xiàn)有技術(shù)中己實現(xiàn)的圖1所示的Web服務(wù)供應(yīng)者計 算機104的組件。如圖2所示,Web服務(wù)供應(yīng)者計算機104包括接口 200、執(zhí)行環(huán) 境202和按需編譯系統(tǒng)204。當從遠程計算機接收到諸如Web服務(wù)請求208的一 個請求時,接口 200執(zhí)行動作,包括但不限于分析該請求并且將與該請求相關(guān)聯(lián)的 數(shù)據(jù)傳遞到執(zhí)行環(huán)境202。 一般,Web服務(wù)請求208是經(jīng)由如HTTP等基于因特網(wǎng) 的協(xié)議交換的基于XML的消息。
      一般而言,執(zhí)行環(huán)境202提供用于在Web服務(wù)接收到請求208時管理程序代 碼執(zhí)行的邏輯和服務(wù)。本領(lǐng)域的技術(shù)人員及其他人將認識到,提供Web服務(wù)并與 之交互的程序代碼可以用許多不同高級程序設(shè)計語言之一來編寫。在現(xiàn)有技術(shù)的一 些系統(tǒng)中,執(zhí)行環(huán)境202將程序代碼轉(zhuǎn)換成中間程序設(shè)計語言,并由此在執(zhí)行環(huán)境 202中產(chǎn)生目標代碼210。
      一般,其中Web服務(wù)滿足請求的單位是頁面。例如,請求208可使一個算法 由Web服務(wù)執(zhí)行,該算法的結(jié)果以Web頁面的形式被發(fā)送回請求者計算機102。 本領(lǐng)域的技術(shù)人員將認識到,為了生成頁面形式的響應(yīng)212,按需編譯系統(tǒng)204在 不同的時間與不同的上下文中將目標代碼210編譯成二進制代碼214。而且,目標 代碼210的編譯一般在首次需要該代碼時進行且隨后被高速緩存供將來使用。在現(xiàn) 有技術(shù)的一些系統(tǒng)中,按需編譯系統(tǒng)204將目標代碼210編譯成動態(tài)鏈接庫 ("DLL"),后者被高速緩存在存儲器中以便滿足后續(xù)的請求。結(jié)果,由按需編 譯系統(tǒng)204執(zhí)行的編譯次數(shù)被最小化,因為僅"按需"編譯二進制DLL。
      應(yīng)清楚地了解,參考圖2提供的Web服務(wù)供應(yīng)者計算機104的描述是高度簡 化的。而且,Web服務(wù)供應(yīng)者計算機104在圖2示出的組件體系結(jié)構(gòu)應(yīng)解釋為示 例性且非限制性的。實際上,Web服務(wù)供應(yīng)者計算機104、接口 200、執(zhí)行環(huán)境202 和按需編譯系統(tǒng)204可具有圖2中未示出或者在附帶文字中未描述的其它組件和功 能。
      現(xiàn)在參考圖3,將描述能夠?qū)崿F(xiàn)本發(fā)明各方面的Web服務(wù)供應(yīng)者計算機104 的組件。如圖3所示,Web服務(wù)供應(yīng)者計算機104包括圖2所示的接口 200、執(zhí)行 環(huán)境202和按需編譯系統(tǒng)204。而且,與參考圖2提供的描述相似,在Web服務(wù) 供應(yīng)者計算機104處從遠程計算機接收Web服務(wù)請求208。結(jié)果,由執(zhí)行環(huán)境202 生成目標代碼210。然而,在本例中,本發(fā)明的各方面使按需編譯系統(tǒng)204在二進制代碼214調(diào)度來執(zhí)行時通知反病毒軟件300。包括掃描引擎302和簽名數(shù)據(jù)庫304 在內(nèi)的反病毒軟件300的各組件,隨后確定由按需編譯系統(tǒng)204生成的二進制代碼 214是否包含惡意軟件。
      按照本發(fā)明的各方面,按需編譯系統(tǒng)204被配置為當二進制代碼214被調(diào)度 執(zhí)行時通知反病毒軟件300。作為響應(yīng),反病毒軟件300對二進制代碼214進行分 析以確定代碼214是否實現(xiàn)惡意軟件的功能。在本發(fā)明的一個實施例中,反病毒軟 件300實現(xiàn)用于檢測惡意軟件的基于簽名的系統(tǒng)。在這種類型的系統(tǒng)中標識惡意軟 件的一種已知的技術(shù)包括獲得"在野(in the wild)"惡意軟件的副本。然后使用 將程序代碼轉(zhuǎn)換成可以用于唯一地識別惡意軟件的"簽名"的功能來處理實現(xiàn)惡意 軟件的程序代碼。圖3所示的掃描引擎302可使用這種已知技術(shù)在二進制代碼214 中掃描惡意軟件簽名。例如,可將存儲在簽名數(shù)據(jù)庫304中的惡意軟件簽名與二進 制代碼214進行比較。然而,掃描引擎302可被配置為執(zhí)行其它類型的分析,以便 確定二進制代碼214是否被惡意軟件感染。因而應(yīng)理解,可在反病毒軟件300中實 現(xiàn)在此未描述的其它類型的惡意軟件檢測系統(tǒng)。
      現(xiàn)在參考圖4,將描述本發(fā)明的替換實施例,其中在Web服務(wù)處理對該Web 服務(wù)的請求之前對其掃描惡意軟件。如圖4所示,Web服務(wù)供應(yīng)者計算機104包 含許多與圖3所示相同的組件。然而,在本發(fā)明的這個實施例中,當在接口 200 處接收到Web服務(wù)請求208時,將請求208及與請求208相關(guān)聯(lián)的數(shù)據(jù)傳遞給反 病毒軟件400。如圖4所示,反病毒軟件400包括掃描引擎402、簽名數(shù)據(jù)庫404 和編譯器406。本領(lǐng)域的技術(shù)人員及其他人將認識到,掃描引擎402和簽名數(shù)據(jù)庫 404通常具有與以上參考圖3描述的相似命名的組件相同的功能。然而,圖4所示 的掃描引擎402可執(zhí)行除上面參考圖3所述的掃描引擎302之外的其它功能。例如, 掃描引擎402可在請求里的XML結(jié)構(gòu)中掃描匹配有效但惡意的XML構(gòu)造的簽名 的模式。換言之,掃描引擎402可在從遠程計算機接收的XML源數(shù)據(jù)中搜索匹配 已知惡意軟件的模式或簽名。例如,本領(lǐng)域的技術(shù)人員及其他人將認識到,XML 請求可包含嵌入式文檔類型定義("DTD")結(jié)構(gòu)。然而,DTD結(jié)構(gòu)可用使得 Web服務(wù)供應(yīng)者計算機104上的XML分析器使用過多的計算機資源來處理DTD 結(jié)構(gòu)的一種方式形成。在本發(fā)明保護使用XML分析器的計算機的一個實施例中, 在對Web服務(wù)的原始輸入中掃描匹配與惡意軟件相關(guān)聯(lián)的可識別模式的XML語 法。結(jié)果,諸如被設(shè)計成壓倒XML分析器的嵌套DTD結(jié)構(gòu)等XML輸入可在由 Web服務(wù)處理前被標識為惡意軟件。為了防止"假肯定"發(fā)生或者不正確地標識惡意軟件的情況,可建立允許正常被標識為"惡意軟件"的XML構(gòu)造由Web服 務(wù)處理的配置參數(shù)。因而,如系統(tǒng)管理員的管理實體可配置反病毒軟件400以滿足 組織的需求。
      在圖4所示的本發(fā)明實施例中,當接收到Web服務(wù)請求208時,將它傳遞給 反病毒軟件400。在XML源數(shù)據(jù)由掃描引擎402分析之后,編譯器406生成二進 制代碼,它將作為請求的結(jié)果而被執(zhí)行。隨后掃描引擎402從簽名數(shù)據(jù)庫404獲得 惡意軟件簽名,并且將簽名與由編譯器406生成的二進制代碼比較。本領(lǐng)域的技術(shù) 人員及其他人將認識到,圖4所示的本發(fā)明實施例可使同一高級代碼被編譯兩次。 例如,編譯器406可為惡意軟件檢測的目的生成二進制代碼。類似地,如果反病毒 軟件400沒有檢測惡意軟件,則按需編譯系統(tǒng)204可使得相同的二進制代碼被生成。 在這個實施例中, 一種優(yōu)化方法,將由編譯器406生成的二進制代碼高速緩存或存 儲在按需編譯系統(tǒng)204可用的存儲區(qū)中。
      用于解釋發(fā)送給Web服務(wù)供應(yīng)者計算機104的請求的技術(shù)可被實現(xiàn)為因特網(wǎng) 服務(wù)器應(yīng)用程序編程接口 ( "ISAPI")過濾器。本領(lǐng)域的技術(shù)人員及其他人將認 識到,ISAPI過濾器允許軟件模塊注冊事件并編輯發(fā)送給Web服務(wù)的數(shù)據(jù)流。關(guān) 于本發(fā)明,對Web服務(wù)所作的請求可在為惡意軟件檢測的目的而執(zhí)行對請求的預(yù) 處理的ISAPI過濾器處截取。在本發(fā)明的一個實施例中,預(yù)處理包括作為請求的結(jié) 果生成將被執(zhí)行的二進制代碼,并確定該二進制代碼是否實現(xiàn)惡意軟件功能。
      如前所述,本發(fā)明在執(zhí)行二進制代碼之前在二進制代碼中掃描惡意軟件。通 過掃描二進制形式而非高級語言的代碼,如源代碼,本發(fā)明可使用傳統(tǒng)技術(shù)如二進 制代碼的基于簽名的技術(shù)來檢測惡意軟件。然而,在本發(fā)明的替換實施例中,可執(zhí) 行對惡意軟件的掃描,而與請求相關(guān)聯(lián)的代碼是高級語言時。例如,如上所述,對 Web服務(wù)所作的請求一般使用XML消息通信協(xié)議。在這種情況下,本發(fā)明提供的 反病毒軟件可在請求中掃描作為惡意軟件特征的基于XML的特定語法。而且,在 有些執(zhí)行環(huán)境中,與請求相關(guān)聯(lián)的代碼在被編譯成二進制代碼之前被轉(zhuǎn)換成中間語 言。在這種情況下,對惡意軟件的掃描可在代碼被轉(zhuǎn)換成中間語言之后對其執(zhí)行。
      現(xiàn)在參考圖5,將描述在對Web服務(wù)的請求中標識惡意軟件的掃描方法500 的示例性實施例。在本發(fā)明的一個示例性實施例中,以一個被設(shè)計為接收Web請 求并執(zhí)行代碼以滿足該請求的現(xiàn)有系統(tǒng)中實現(xiàn)掃描方法500。概言之,掃描方法500 標識需要執(zhí)行對惡意軟件的掃描以防止將提供Web服務(wù)的計算機潛在地暴露給惡 意軟件的情況。當計算機有可能暴露給惡意軟件時,方法500使在執(zhí)行與請求相關(guān)聯(lián)的任何代碼之前執(zhí)行掃描。繼續(xù)參考圖l-4及附帶描述,現(xiàn)在將描述示例性掃描 方法500。
      如圖5所示,掃描方法500開始于框502,此時使Web服務(wù)可訪問的。本領(lǐng) 域的技術(shù)人員及其他人將認識到,Web服務(wù)是其中響應(yīng)于如Web服務(wù)請求等事件 而執(zhí)行動作的事件驅(qū)動系統(tǒng)。因而,為了保護提供Web服務(wù)的計算機免受惡意軟 件的影響,無論何時提供Web服務(wù)的計算機能夠接受請求,掃描方法500即能夠 掃描與請求相關(guān)聯(lián)的代碼。換言之,本發(fā)明的各方面可實現(xiàn)為無論何時計算機被配 置為接受對Web服務(wù)的請求即保護計算機的系統(tǒng)服務(wù)。
      在判定框504,掃描方法500保持空閑直到在實現(xiàn)本發(fā)明的計算機接收到Web 請求為止。如前所述,可使用許多不同軟件系統(tǒng)和通信協(xié)議來生成Web請求。本 領(lǐng)域的技術(shù)人員將認識到,Web服務(wù)通常提供定義包括可訪問Web服務(wù)的方式在 內(nèi)的用于與Web服務(wù)通信的方法的服務(wù)描述或接口。在請求者計算機上的軟件系 統(tǒng)通常使用統(tǒng)一資源指示符("URI")來標識Web服務(wù),并且對由Web服務(wù)定義 的接口作出一或多個功能調(diào)用。在有些系統(tǒng)中,用于作出功能調(diào)用的數(shù)據(jù)通過基于 Web的協(xié)議如HTTP或HTTPS來發(fā)送。然而,本領(lǐng)域的技術(shù)人員及其他人將認識 到,可在不背離本發(fā)明范圍的情況下使用其它網(wǎng)絡(luò)協(xié)議來發(fā)送數(shù)據(jù)。而且,當發(fā)送 時,請求使用便于軟件系統(tǒng)之間數(shù)據(jù)的交換的髙級標記語言,諸如XML。然而, 本領(lǐng)域的技術(shù)人員及其他人將認識到,可使用其它標記語言來作出Web請求,并 且在此提供的示例應(yīng)解釋為示例性且非限制性的。
      如圖5所示,在框506處將要被執(zhí)行以滿足在框504處接收到的Web請求的 高級代碼編譯成二進制代碼。如前所述,在提供Web服務(wù)的計算機中,二進制代 碼可在不同的時間和不同的上下文中生成。例如,以上參考圖2描述的按需編譯系 統(tǒng)204在需要執(zhí)行二進制代碼時將高級代碼編譯成二進制代碼。隨后,將二進制代 碼高速緩存或存儲在存儲器中,以便在接收到后續(xù)Web請求時重用。然而,由于 將高級代碼編譯成二進制代碼可使用現(xiàn)有軟件系統(tǒng)和本領(lǐng)域中公知的方法來執(zhí)行, 因此這里將不再進一步詳細描述方法500這方面的內(nèi)容。
      在判定框508,掃描方法500確定是否調(diào)度執(zhí)行框506處生成的二進制代碼。 由于高級代碼可在不同的時間和不同上下文中編譯成二進制代碼,因此掃描方法 500在執(zhí)行對惡意軟件的掃描之前等待,直到收到程序執(zhí)行被調(diào)度進行的通知為 止。例如,按需編譯系統(tǒng)204 (圖2)可在程序執(zhí)行被調(diào)度進行之前編譯多個二進 制DLL。按照本發(fā)明的一個實施例,當與請求相關(guān)聯(lián)的二進制代碼被調(diào)度執(zhí)行時,按需編譯系統(tǒng)204通知實現(xiàn)本發(fā)明的反病毒軟件。在這種情況下,當與請求相關(guān)聯(lián) 的二進制代碼被調(diào)度執(zhí)行時,方法500進行至將在以下更詳細地描述的框510。如 果與請求相關(guān)聯(lián)的二進制代碼還沒有調(diào)度執(zhí)行,則掃描方法500返回到框506,且 重復(fù)方框506至508,直到與請求相關(guān)聯(lián)的全部二進制代碼可用并被調(diào)度執(zhí)行。
      如圖5所示,在框510處,方法500在被調(diào)度執(zhí)行的二進制代碼中掃描惡意 軟件。如前所述,掃描引擎302 (圖3)中軟件實現(xiàn)的例程可用于在二進制代碼中 掃描惡意軟件。在本發(fā)明的一個實施例中,框510處執(zhí)行的掃描包括將代碼的模式 與惡意軟件"簽名"匹配。例如,可將保存在簽名數(shù)據(jù)庫304中的簽名與作為在方 框504處接收到的請求的結(jié)果而生成的二進制代碼進行比較。然而,框510處執(zhí)行 的掃描可包括附加的惡意軟件標識技術(shù),諸如以下將更詳細地描述的啟發(fā)式 (heuristic)惡意軟件檢測技術(shù)。
      許多現(xiàn)有工具允許開發(fā)者執(zhí)行二進制代碼的分析,而這種分析對于高級語言 的代碼是困難或不可能的。例如,可執(zhí)行標識由二進制代碼對操作系統(tǒng)的API所 作的功能調(diào)用的二進制代碼的分析。而且,在有些操作系統(tǒng)中,各個API各自賦 予指示執(zhí)行API所需的特權(quán)一個許可等級。對Web服務(wù)所作的請求通常不需要對 要求系統(tǒng)或管理特權(quán)的操作系統(tǒng)的調(diào)用。更一般地,期望Web服務(wù)請求訪問有限 的資源"沙箱"。相反,對要求提高的特權(quán)等級的操作系統(tǒng)的API調(diào)用是"可疑 的"并且可能是惡意軟件的特征。因而,框510處執(zhí)行的掃描可包括標識"可疑的" 這些類型的啟發(fā)式因素。在這點上,使用執(zhí)行二進制代碼分析的現(xiàn)有工具來檢測二 進制代碼的特征。
      應(yīng)清楚地理解,掃描惡意軟件的二進制代碼可源自于不同的來源。例如,如 前所述,惡意軟件作者可對Web服務(wù)傳遞引起服務(wù)拒絕攻擊的請求。在這種情況 下,Web服務(wù)供應(yīng)者計算機上的軟件例程接受請求中提供的數(shù)據(jù)并與之交互。然 而,請求是以使Web服務(wù)供應(yīng)者計算機上實現(xiàn)的代碼消耗過多的計算機資源的方 式構(gòu)造的。換言之,操縱由Web服務(wù)供應(yīng)者計算機實現(xiàn)的其它良性代碼以實現(xiàn)惡 意軟件的功能。
      或者,惡意軟件可在對Web服務(wù)的請求中從遠程計算機直接獲得。例如,有 些Web服務(wù)接受使用定義將如何顯示XML格式的數(shù)據(jù)的可擴展樣式表語言 ("XSL")的代碼。而且,由于XSL將格式與數(shù)據(jù)分離,通常用于將XML轉(zhuǎn)換 成其它標記語言如HTML。在任何情況下,當來自如XSL的語言的高級代碼由 Web服務(wù)接受時,該高級代碼被編譯成二進制代碼并最終被執(zhí)行。在這種情況下,惡意軟件完全源自于對Web服務(wù)作出請求的遠程計算機。由于本發(fā)明掃描二進制
      代碼,因此無論惡意軟件源自何處都將被檢測。
      如圖5所示,在判定框512,方法500確定在框510處是否標識了惡意軟件。 如果惡意軟件被標識,則方法500進行至514,在那里處理在提供Web服務(wù)的計 算機處對惡意軟件的接受。本領(lǐng)域的技術(shù)人員及其他人將認識到,在Web服務(wù)處 對惡意軟件的接受可用多種不同方法來處理。例如,生成惡意軟件請求的計算機的 身份可被標識并添加到已知的惡意軟件作者的"黑名單"。在這種情況下,發(fā)起該 請求的計算機在將來可被拒絕訪問該Web服務(wù)。然而,可使用本領(lǐng)域中公知的其 它方法來處理惡意軟件的接受與標識。隨后,方法500進行至框518,在那里它終 止。如果在框510處未標識惡意軟件,則掃描方法500進行至框516,在那里滿足 框504處收到的Web請求所需的二進制代碼被執(zhí)行。由于用于執(zhí)行作為Web請求 的結(jié)果而生成的二進制代碼的系統(tǒng)是本領(lǐng)域中所公知的,因此這里將不提供對這些 系統(tǒng)的進一步描述。
      本發(fā)明的實現(xiàn)不限于圖5所示的示例性方法500。其它方法可包括附加的動作 或排除所示的某些動作。而且,其它方法可按不同于圖5所示的順序執(zhí)行動作。例 如,圖5所示的示例性方法500是在其中由按需編譯系統(tǒng)將高級代碼編譯成二進制 代碼的系統(tǒng)的上下文中描述的。 一旦二進制代碼被調(diào)度執(zhí)行,執(zhí)行由方法500進行 的二進制代碼掃描。然而,如前參考圖4所述,本發(fā)明可實現(xiàn)為過濾器,它截取指 向Web服務(wù)的數(shù)據(jù)流。在這種情況下,在高級代碼由Web服務(wù)接收之前對其編譯 并掃描惡意軟件。因而,圖5所示且在附帶文字中所述的方法500是本發(fā)明的一個 實施例且其它實施例是可能的。
      盡管示出并描述了本發(fā)明的優(yōu)選實施例,但可以理解,可對其作出各種改變 而不背離本發(fā)明的精神與范圍。
      權(quán)利要求
      1.在包括請求者計算機和提供Web服務(wù)的計算機的聯(lián)網(wǎng)環(huán)境中,一種保護所述提供Web服務(wù)的計算機免受由所述請求者計算機生成的惡意軟件的影響的方法,所述方法包括(a)在所述提供Web服務(wù)的計算機處接收請求;(b)在所述請求內(nèi)的高級代碼中掃描惡意軟件;以及(c)如果在所述高級數(shù)據(jù)中標識了惡意軟件,則防止所述請求由所述提供Web服務(wù)的計算機處理。
      2. 如權(quán)利要求l所述的方法,其特征在于,還包括(a) 使與所述請求相關(guān)聯(lián)的高級代碼被編譯成可被執(zhí)行的二進制代碼;(b) 在執(zhí)行所述二進制代碼之前,在所述二進制代碼中掃描惡意軟件;以及(c) 如果在所述二進制代碼中標識了惡意軟件,則防止所述二進制代碼被執(zhí)行。
      3. 如權(quán)利要求2所述的方法,其特征在于,還包括,如果在所述二進制代碼中未標識出惡意軟件,則允許所述二進制代碼被執(zhí)行。
      4. 如權(quán)利要求2所述的方法,其特征在于,在由實現(xiàn)Web服務(wù)的軟件例程 處理之前,在確定所述請求是否為惡意軟件的所述Web服務(wù)計算機上的過濾器中 將所述請求編譯成二進制代碼。
      5. 如權(quán)利要求4所述的方法,其特征在于,所述過濾器是因特網(wǎng)服務(wù)器應(yīng)用程序編程接口過濾器,包括(a) 使得與所述請求相關(guān)聯(lián)的高級代碼被編譯成所述二進制代碼的編譯器;以及(b) 在所述二進制代碼被執(zhí)行之前在所述二進制代碼中掃描惡意軟件的反病 毒軟件。
      6. 如權(quán)利要求2所述的方法,其特征在于,與所述請求相關(guān)聯(lián)的高級代碼由 按需編譯系統(tǒng)編譯成二進制代碼,所述按需編譯系統(tǒng)被配置成在執(zhí)行之前就編譯二 進制代碼。
      7. 如權(quán)利要求6所述的方法,其特征在于,所述按需編譯系統(tǒng)被配置成通知 反病毒軟件所述二進制代碼何時被調(diào)度執(zhí)行。
      8. 如權(quán)利要求2所述的方法,其特征在于,與所述請求相關(guān)聯(lián)、被編譯成二 進制代碼的高級代碼是使用可擴展樣式表程序設(shè)計語言的。
      9. 如權(quán)利要求2所述的方法,其特征在于,在所述二進制代碼中掃描惡意軟件包括使用散列函數(shù)生成所述二進制代碼的簽名并將所述簽名與從已知惡意軟件 生成的簽名進行比較。
      10. 如權(quán)利要求2所述的方法,其特征在于,在所述二進制代碼中掃描惡意軟件包括標識所述二進制代碼中作為惡意軟件的特征的啟發(fā)式因素。
      11. 如權(quán)利要求10所述的方法,其特征在于,所標識的啟發(fā)式因素是一類由所述二進制代碼對安裝在所述提供Web服務(wù)的計算機上的操作系統(tǒng)所作的調(diào)用。
      12. 如權(quán)利要求1所述的方法,其特征在于,所述請求使用超文本傳輸協(xié)議 在所述請求者計算機與所述提供Web服務(wù)的計算機之間傳輸。
      13. 如權(quán)利要求1所述的方法,其特征在于,所述請求被格式化為遵循可擴 展標記語言協(xié)議。
      14. 一種防止惡意軟件在提供Web服務(wù)的計算機上執(zhí)行的軟件系統(tǒng),所述軟 件系統(tǒng)包括(a) 接受Web服務(wù)請求的接口;(b) 將與所述請求相關(guān)聯(lián)的高級代碼編譯成二進制代碼的按需編譯系統(tǒng);(c) 用于執(zhí)行由所述按需編譯系統(tǒng)編譯的二進制代碼的執(zhí)行環(huán)境;以及(d) 用于在所述二進制代碼中標識惡意軟件的反病毒軟件。
      15. 如權(quán)利要求14所述的軟件系統(tǒng),其特征在于,所述反病毒軟件被配置成 在高級XML代碼中標識出被設(shè)計為使用過量的計算機資源的惡意軟件簽名。
      16. 如權(quán)利要求14所述的軟件系統(tǒng),其特征在于,所述反病毒軟件包括存儲 已知惡意軟件的簽名供所述掃描引擎訪問的簽名數(shù)據(jù)庫。
      17. 如權(quán)利要求14所述的軟件系統(tǒng),其特征在于,所述按需編譯系統(tǒng)僅在需 要所述二進制代碼的功能時才將高級代碼編譯成二進制代碼;以及其中所述按需編譯系統(tǒng)還被配置成通知所述反病毒軟件所述二進制代碼何時 被調(diào)度執(zhí)行。
      18. —種承載計算機可執(zhí)行指令的計算機可讀介質(zhì),當所述指令在提供Web 服務(wù)的計算機上執(zhí)行時,使所述計算機(a)接受使用超文本傳輸協(xié)議從遠程計算機發(fā)送的可擴展標記語言格式的請求;(b)使在與所述請求相關(guān)聯(lián)的高級代碼中掃描與惡意軟件相關(guān)聯(lián)的高級構(gòu)造;(C)將所述高級代碼編譯成二進制代碼;以及 (d)使在所述二進制代碼中掃描惡意軟件。
      19. 如權(quán)利要求18所述的計算機可讀介質(zhì),其特征在于,所述計算機可讀介 質(zhì)還用于使所述計算機(a) 如果標識了惡意軟件,則防止所述二進制代碼被執(zhí)行;以及(b) 相反,如果未標識出惡意軟件,則允許所述二進制代碼被執(zhí)行。
      20. 如權(quán)利要求18所述的計算機可讀介質(zhì),其特征在于,執(zhí)行在二進制代碼 中掃描惡意軟件包括在所述二進制代碼中標識作為惡意軟件的特征的啟發(fā)式因素。
      全文摘要
      按照本發(fā)明,提供用于在對Web服務(wù)的請求中標識惡意軟件的系統(tǒng)、方法和計算機可讀介質(zhì)。本發(fā)明的一個方面是一種用于保護提供Web服務(wù)的計算機免受在Web請求中產(chǎn)生的惡意軟件的影響的計算機實現(xiàn)的方法。當接收到請求時,按需編譯系統(tǒng)將與請求相關(guān)聯(lián)的高級代碼編譯成可被執(zhí)行的二進制代碼。然而,在代碼被執(zhí)行之前,設(shè)計成標識惡意軟件的反病毒軟件在該二進制代碼中掃描惡意軟件。如果標識了惡意軟件,則反病毒軟件防止與請求相關(guān)聯(lián)的二進制代碼被執(zhí)行。
      文檔編號G06F12/14GK101542451SQ200680009408
      公開日2009年9月23日 申請日期2006年4月20日 優(yōu)先權(quán)日2005年4月21日
      發(fā)明者A·M·馬里斯庫, C·W·考弗曼, J·M·庫珀斯特恩, M·E·圣菲爾德, M·卡拉莫 申請人:微軟公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1