国产精品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>

      防止網(wǎng)頁(yè)瀏覽器被漏洞利用的方法和裝置的制作方法

      文檔序號(hào):6612782閱讀:213來(lái)源:國(guó)知局
      專利名稱:防止網(wǎng)頁(yè)瀏覽器被漏洞利用的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種計(jì)算機(jī)防護(hù)方法和裝置,本發(fā)明尤其涉及一種防
      止網(wǎng)頁(yè)(Web)瀏覽器被惡意程序利用的方法和裝置。
      背景技術(shù)
      如今,社會(huì)及家庭網(wǎng)絡(luò)應(yīng)用的大量普及使得人們可以充分享受寬 帶網(wǎng)絡(luò)帶來(lái)的便利與快捷。但與此同時(shí),這也為各類嚴(yán)重威脅計(jì)算機(jī) 安全的病毒提供了方便之門,使得經(jīng)由網(wǎng)絡(luò)進(jìn)行攻擊的病毒大量涌 現(xiàn)。
      在眾多利用網(wǎng)絡(luò)進(jìn)行攻擊的病毒當(dāng)中,木馬病毒由于能夠隱蔽地
      隨時(shí)向遠(yuǎn)程計(jì)算機(jī)發(fā)送指定信息,甚至具備遠(yuǎn)程交互能力而成為黑客
      們鐘愛(ài)的后門工具。然而,對(duì)于用戶而言,木馬病毒的危害是巨大的。 木馬病毒可使用戶的計(jì)算機(jī)隨時(shí)暴露于黑客的控制與監(jiān)視之下,黑客
      們可以輕而易舉地遠(yuǎn)程竊取用戶的信息,比如用戶的賬戶信息、密碼 等等。這嚴(yán)重威脅到用戶使用計(jì)算機(jī)的安全性。
      木馬病毒發(fā)展至今,已經(jīng)演化出了各種各樣的木馬嵌入和加載模
      式,使得用戶防不勝防。例如,其中一種稱之為"掛馬"的方式就是 利用漏洞侵入網(wǎng)站,然后在例如網(wǎng)頁(yè)鏈接上嵌入木馬程序代碼。這樣, 用戶在利用瀏覽器瀏覽網(wǎng)頁(yè)時(shí)就很可能點(diǎn)擊掛有木馬程序的鏈接,并 由此自動(dòng)將病毒程序安裝到用戶計(jì)算機(jī)上。而且,這種病毒程序在自 動(dòng)安裝時(shí)沒(méi)有任何提示,因此用戶會(huì)在毫無(wú)察覺(jué)的情況下感染病毒。 對(duì)于,如網(wǎng)絡(luò)"掛馬"的這類漏洞攻擊方式而言,傳統(tǒng)的査毒和 殺毒軟件以及計(jì)算機(jī)防護(hù)軟件都無(wú)法徹底解決。因?yàn)閭鹘y(tǒng)的計(jì)算機(jī)防 護(hù)方法都是通過(guò)病毒特征掃描方式來(lái)實(shí)現(xiàn)的,對(duì)于利用漏洞的網(wǎng)絡(luò)攻 擊無(wú)能為力。
      因此,現(xiàn)今迫切需要一種計(jì)算機(jī)防護(hù)方法來(lái)防止Web瀏覽器被 漏洞利用而執(zhí)行惡意代碼。

      發(fā)明內(nèi)容
      本發(fā)明的一個(gè)目的在于提出一種防止Web瀏覽器被漏洞利用的 方法和裝置。利用本發(fā)明提出的方法和裝置可以識(shí)別出利用瀏覽器自 動(dòng)下載并啟動(dòng)惡意程序的行為,從而防止瀏覽器被漏洞利用而執(zhí)行惡 意代碼侵害用戶計(jì)算機(jī)。
      為了實(shí)現(xiàn)上述目的,本發(fā)明提出的防止網(wǎng)頁(yè)瀏覽器被漏洞利用的 方法包括監(jiān)視瀏覽器進(jìn)程下載的文件;攔截所述瀏覽器進(jìn)程發(fā)起的 進(jìn)程創(chuàng)建動(dòng)作;判斷所攔截的進(jìn)程創(chuàng)建動(dòng)作是否要啟動(dòng)所述瀏覽器進(jìn) 程下載的所述文件;如果判斷結(jié)果為是,則向用戶提示瀏覽器的漏洞 可能被利用。此外,本發(fā)明還提出了與上述方法相對(duì)應(yīng)的計(jì)算機(jī)保護(hù) 裝置。
      根據(jù)本發(fā)明提出的方法,由于在瀏覽器進(jìn)程啟動(dòng)進(jìn)程之前判斷并 提醒用戶"要啟動(dòng)的程序?yàn)樵摓g覽器進(jìn)程下載的文件",因而能夠及 時(shí)防止不可信的程序的運(yùn)行,從而防止經(jīng)由瀏覽器下載的病毒軟件感 染計(jì)算機(jī)。


      圖1示出根據(jù)本發(fā)明一個(gè)實(shí)施例的防止Web瀏覽器被漏洞利用 的方法的總體流程圖2示出根據(jù)本發(fā)明一個(gè)實(shí)施例的監(jiān)視Web瀏覽器下載的文件 的過(guò)程;
      圖3示出根據(jù)本發(fā)明一個(gè)實(shí)施例的攔截Web瀏覽器進(jìn)程創(chuàng)建動(dòng) 作的處理過(guò)程。
      具體實(shí)施例方式
      以下將結(jié)合具體實(shí)施例對(duì)本發(fā)明提出的防止Web瀏覽器被漏洞利用的方法和裝置進(jìn)行詳細(xì)地描述。為了便于理解,在以下實(shí)施例中,
      僅以Windows操作系統(tǒng)為例進(jìn)行描述。但是,本領(lǐng)域技術(shù)人員可以 理解的是本發(fā)明的思想和精神還可應(yīng)用于其它計(jì)算機(jī)操作系統(tǒng)中,并 不局限于Windows操作系統(tǒng)。此外,為了描述方便,以下將"Web 瀏覽器"簡(jiǎn)稱為"瀏覽器",但在本發(fā)明中所述瀏覽器均指用于瀏覽 網(wǎng)頁(yè)的Web瀏覽器。
      如上所述,當(dāng)用戶利用瀏覽器瀏覽例如被"掛馬"的網(wǎng)頁(yè)時(shí),很 有可能無(wú)意間通過(guò)瀏覽器下載并安裝惡意程序或病毒。為了能夠有效 地防止瀏覽器被如此利用,首先需要分析這種漏洞利用程序通常采用 的手段。
      一般而言,黑客在利用漏洞攻擊網(wǎng)絡(luò)時(shí)都會(huì)編寫shdlcode。 shellcode是一段用來(lái)發(fā)送到服務(wù)器以便利用特定漏洞的代碼。 shdlcode可覆蓋內(nèi)存中原有正確的代碼,并獲取執(zhí)行權(quán)限,從而成功 利用漏洞完成自身的功能。
      具體而言,漏洞利用程序通常采用以下三種方式。
      1) 在shellcode中實(shí)現(xiàn)所有功能
      有些漏洞利用者會(huì)在shellcode中實(shí)現(xiàn)所有病毒的功能。但是, 由于shellcode編寫難度比較大,而且環(huán)境比較受限,所以shellcode 通常只能用來(lái)實(shí)現(xiàn)比較簡(jiǎn)單的功能。因此,這種方式并不多見(jiàn)。如果 黑客希望實(shí)現(xiàn)復(fù)雜的功能,則只能通過(guò)以下兩種方式實(shí)現(xiàn)。
      2) 利用shellcode下載病毒程序并直接執(zhí)行 漏洞利用者通常編寫一段簡(jiǎn)單的shellcode代碼來(lái)下載一個(gè)惡意
      程序,然后調(diào)用啟動(dòng)進(jìn)程的函數(shù),如WinExec或CreateProcess等API
      函數(shù)來(lái)激活該惡意程序。這種方法比較通用,漏洞利用者只需要替換 不同的惡意程序來(lái)實(shí)現(xiàn)不同的攻擊需要即可。
      3) 利用shellcode下載病毒程序并間接執(zhí)行 漏洞利用者通常編寫一個(gè)簡(jiǎn)單的shellcode代碼來(lái)下載一個(gè)惡意
      程序并生成一個(gè)腳本文件,通過(guò)調(diào)用其它腳本解釋程序運(yùn)行該腳本文、
      件,從而激活惡意程序。這種方法與第二種方法一樣比較流行,因?yàn)?漏洞利用者只需要替換不同的惡意程序就可以實(shí)現(xiàn)不同的攻擊需要。 通過(guò)對(duì)漏洞利用程序行為的分析不難看出,漏洞利用程序都會(huì)在 漏洞利用功能成功后,即成功下載惡意程序后,通過(guò)創(chuàng)建進(jìn)程來(lái)直接 啟動(dòng)一個(gè)惡意程序,或者通過(guò)創(chuàng)建一個(gè)解釋器來(lái)解釋執(zhí)行一個(gè)腳本, 從而間接啟動(dòng)惡意程序。所以,針對(duì)這幾種類型的漏洞利用,可以通 過(guò)攔截瀏覽器進(jìn)程的進(jìn)程創(chuàng)建動(dòng)作,并判斷欲啟動(dòng)的程序是否為瀏覽 器下載的文件即可阻斷漏洞利用程序執(zhí)行惡意代碼的行為。
      圖1示出了在本發(fā)明一個(gè)實(shí)施例中的防止瀏覽器被漏洞利用的 總體流程圖。
      如圖1所示,根據(jù)本發(fā)明的上述思想,為了監(jiān)視一個(gè)瀏覽器進(jìn)程
      IO下載的文件,在本發(fā)明的一個(gè)實(shí)施例中增加了監(jiān)視模塊20。監(jiān)視 模塊20會(huì)從瀏覽器進(jìn)程10創(chuàng)建之初起監(jiān)視并記錄其下載的文件。同 時(shí),為了攔截該瀏覽器進(jìn)程10的進(jìn)程創(chuàng)建動(dòng)作,還增加了攔截模塊 30。這里需要指出是,在沒(méi)有特殊說(shuō)明的情況下,在本文中所提到的 被監(jiān)視和被攔截的瀏覽器進(jìn)程是指同一個(gè)瀏覽器進(jìn)程,且在附圖中標(biāo) 識(shí)為瀏覽器10。
      在圖1中,每當(dāng)一個(gè)瀏覽器進(jìn)程IO發(fā)起一個(gè)下載文件動(dòng)作(步 驟SllO),監(jiān)視模塊20就會(huì)攔截該下載文件動(dòng)作,同時(shí)記錄該瀏覽 器進(jìn)程10下載的文件的信息(步驟S120)。繼而,按照如上對(duì)漏洞 利用程序的分析,在文件下載完畢后,瀏覽器進(jìn)程10會(huì)試圖創(chuàng)建一 個(gè)新的進(jìn)程來(lái)執(zhí)行惡意代碼。攔截模塊30的作用就是將這個(gè)進(jìn)程創(chuàng) 建動(dòng)作攔截下來(lái)(步驟S130),然后搜索監(jiān)視模塊20所記錄的文件 信息,以判斷該進(jìn)程創(chuàng)建動(dòng)作是否要啟動(dòng)一個(gè)由該瀏覽器進(jìn)程10下 載的文件(步驟S140)。最后,攔截模塊30根據(jù)步驟S140中的判斷 結(jié)果,確定是否提示用戶,以便用戶選擇是否拒絕進(jìn)程創(chuàng)建(步驟 S150)。
      采用如圖1所示的上述過(guò)程,用戶可以在病毒安裝或啟動(dòng)之前就 獲得該程序行為可疑的信息,然后根據(jù)需要選擇是允許、還是拒絕執(zhí) ^1該可疑程序。由此,如果所攔截的程序?yàn)椴《净蚰抉R則可及時(shí)阻止 它的運(yùn)行,避免其感染計(jì)算機(jī)。
      以下結(jié)合圖2和圖3詳細(xì)描述監(jiān)視模塊20和攔截模塊30的具體 操作過(guò)程。
      圖2示出了在瀏覽器被漏洞利用后,當(dāng)shellcode代碼試圖通過(guò) 瀏覽器10下載文件時(shí),監(jiān)視模塊20所執(zhí)行的攔截和監(jiān)視動(dòng)作。如本 領(lǐng)域所公知的,文件下載動(dòng)作具體可拆分為文件創(chuàng)建動(dòng)作和文件寫入 工作。為此,在監(jiān)視模塊20中包括一個(gè)用于攔截文件創(chuàng)建動(dòng)作的文 件創(chuàng)建(CreateFile)攔截模塊21, 一個(gè)用于攔截文件寫入動(dòng)作的文 件寫入(WriteFile)攔截模塊22,以及一個(gè)用于記錄所創(chuàng)建或?qū)懭氲?文件的信息的文件緩存(Cache)管理器23。
      如圖2所示,當(dāng)shellcode代碼試圖下載文件時(shí),首先會(huì)發(fā)起一 個(gè)創(chuàng)建文件的請(qǐng)求給操作系統(tǒng)40 (步驟S211)。這時(shí),CreateFile攔 截模塊21攔截到操作系統(tǒng)40的文件創(chuàng)建一個(gè)新文件或打開(kāi)一個(gè)原有 文件的操作,所以該創(chuàng)建文件請(qǐng)求會(huì)轉(zhuǎn)入到根據(jù)本發(fā)明的CreateFile 攔截模塊21中(步驟S212)。 CreateFile攔截模塊21繼而會(huì)通過(guò)調(diào) 用真實(shí)的系統(tǒng)文件創(chuàng)建操作,如CreateFile()的API函數(shù)來(lái)完成文件 的創(chuàng)建操作(步驟S213)。如果創(chuàng)建操作成功,CreateFile攔截模塊 21會(huì)從操作系統(tǒng)得到一個(gè)創(chuàng)建成功消息(步驟S214)。這時(shí),CreateFile 攔截模塊21將通知文件Cache管理器23記錄這個(gè)文件的信息(步 驟S215),之后返回一個(gè)記錄完成消息(步驟S216)。最后,CreateFile 攔截模塊21在文件信息記錄完成之后,返回給瀏覽器進(jìn)程10 —個(gè)完 成文件創(chuàng)建請(qǐng)求消息(步驟S217)。
      圖2中的文件Cache管理器23用于記載瀏覽器進(jìn)程下載的文件 的信息。由于瀏覽器的文件操作比較頻繁,因而文件Cache需要滿足 快速檢索的需要才能在不影響用戶使用的情況下迅速完成對(duì)下載文 件信息的記錄。為此,在本發(fā)明中,為實(shí)現(xiàn)快速檢索,文件Cache管 理器在內(nèi)部維護(hù)了一棵紅黑樹(shù)來(lái)管理所記錄的文件信息,當(dāng)然本發(fā)明 并不局限于此,還可以使用其它數(shù)據(jù)結(jié)構(gòu)代替。紅黑樹(shù)上的每一個(gè)節(jié) 點(diǎn)用于記錄一個(gè)創(chuàng)建的文件的信息以及一個(gè)表示該文件是否被改寫
      的標(biāo)記(這將在文件寫入動(dòng)作中進(jìn)行更新)。每當(dāng)文件Cache管理器被 通知瀏覽器進(jìn)程創(chuàng)建或打開(kāi)了一個(gè)文件時(shí),就在所維護(hù)的紅黑樹(shù)中插 入一個(gè)文件描述節(jié)點(diǎn),如步驟S215所示,并在插入成功后返回。此 外,為了簡(jiǎn)化所記錄的信息,在本實(shí)施例中,文件Cache管理器保存 文件信息僅為文件名稱/路徑的一個(gè)校驗(yàn)值,然而本發(fā)明并不限于此。
      當(dāng)創(chuàng)建的文件信息已經(jīng)成功記錄在文件Cache中后,如圖2所示, 漏洞利用程序則開(kāi)始下載惡意程序,即向操作系統(tǒng)40發(fā)起一系列的 寫文件請(qǐng)求(步驟S221)。在本實(shí)施例中,操作系統(tǒng)40的文件寫操 作被攔截,由此該文件寫請(qǐng)求會(huì)轉(zhuǎn)入到本發(fā)明的WriteFile攔截模塊 22中(步驟S222)。 WriteFile攔截模塊22繼而會(huì)通過(guò)調(diào)用真實(shí)的系 統(tǒng)文件寫操作,例如API函數(shù)WriteFile(),來(lái)完成文件的寫操作(步 驟S223)。如果寫操作成功,操作系統(tǒng)會(huì)返回一個(gè)成功消息(步驟 S224)。 WriteFile攔截模塊22在文件寫入成功后會(huì)通知文件Cache 管理器在與該寫入文件相對(duì)應(yīng)的文件描述節(jié)點(diǎn)中標(biāo)記該文件已經(jīng)被 改寫(步驟S225)。在文件Cache管理器更新改寫標(biāo)記后,返回更新 完成消息(步驟S226)。最后WriteFile攔截模塊返回給瀏覽器進(jìn)程 IO—個(gè)完成文件寫消息(步驟S227)。
      這樣,當(dāng)漏洞利用程序經(jīng)由當(dāng)前瀏覽器進(jìn)程先后完成了文件創(chuàng)建 以及文件寫入操作后,文件Cache管理器23便不僅記錄了相應(yīng)文件 的信息,還標(biāo)記了該文件已被改寫。由此,監(jiān)視模塊20持續(xù)運(yùn)行, 監(jiān)視并記錄瀏覽器進(jìn)程IO所下載的所有文件的信息。這些記錄下來(lái) 的文件信息可供攔截模塊30使用。由于文件Cache管理器中維護(hù)了 一棵紅黑樹(shù),這樣當(dāng)攔截模塊30查詢一個(gè)文件是否為瀏覽器下載的 文件的吋候,就可以在這個(gè)紅黑樹(shù)中搜索相應(yīng)的文件掃描節(jié)點(diǎn)并檢查 其改寫標(biāo)志。如果找到相應(yīng)的節(jié)點(diǎn)且其改寫標(biāo)志指示文件已經(jīng)寫入, 則表明該文件是當(dāng)前瀏覽器進(jìn)程下載的文件。
      如上所述漏洞利用程序在經(jīng)由當(dāng)前瀏覽器進(jìn)程下載了惡意程序 之后,會(huì)通過(guò)進(jìn)程創(chuàng)建來(lái)啟動(dòng)一個(gè)新的進(jìn)程,從而激活所下載的惡意 程序。
      為了有效地?cái)r截漏洞利用程序的進(jìn)程創(chuàng)建操作,首先需要分析
      shellcode編寫者會(huì)使用哪些方式來(lái)創(chuàng)建進(jìn)程
      i. 禾U用API函數(shù)CreateProcessA或CreateProcessW 這兩個(gè)函數(shù)均由kemd32.dll導(dǎo)出,是一種常用的進(jìn)程創(chuàng)建方式。
      ii. 利用API函數(shù)ShellExecuteA或ShellExecuteW
      函數(shù)ShellExecute最終會(huì)調(diào)用CreateProcess函數(shù),所以它的操作 可視為與CreateProcess函數(shù)相同,不需要特殊處理。
      iii. 禾,API函數(shù)execvp/execve
      這幾個(gè)函數(shù)最終也會(huì)調(diào)用CreateProcess函數(shù),所以也不需要特 殊處理。
      iv. 利用API函數(shù)WinExec
      該函數(shù)由kernel32.dll導(dǎo)出。該函數(shù)比較特殊,它不會(huì)調(diào)用 CreateProcess甚至ZwCreateProcess來(lái)創(chuàng)建進(jìn)程。所以在這里需要對(duì) 這個(gè)函數(shù)進(jìn)行單獨(dú)攔截。
      v. 利用API函數(shù)ZwCreateProcess
      如本領(lǐng)域技術(shù)人員所熟知的,這個(gè)函數(shù)ZwCreateProcess只創(chuàng)建 一個(gè)進(jìn)程對(duì)象,而不會(huì)創(chuàng)建線程,因此調(diào)用該函數(shù)的程序代碼需要完 成打開(kāi)文件、創(chuàng)建Section對(duì)象、創(chuàng)建進(jìn)程對(duì)象、創(chuàng)建線程、創(chuàng)建并 啟動(dòng)線程等一系列操作才能真正創(chuàng)建進(jìn)程。由于shellcode的編寫存 在一定的局限性,因而漏洞利用代碼的編寫者一般不選擇這種方式創(chuàng) 建進(jìn)程。
      通過(guò)上面的分析可以很明顯地得知,對(duì)于進(jìn)程創(chuàng)建的攔截只需要 單獨(dú)處理三個(gè)API函數(shù),即CreateProcessA、 CreateProcessW和 WinExec 。
      在這里,為了便于攔截處理這些API函數(shù),暫時(shí)忽略了不同API 函數(shù)參數(shù)的各自特性,而只研究它們共有的性質(zhì)。通過(guò)研究可以發(fā)現(xiàn) 無(wú)論是哪種方式啟動(dòng)進(jìn)程,在啟動(dòng)時(shí)都需要提供完整的命令行,這便
      是它們的共有性質(zhì)。而這命令行必然包括被啟動(dòng)的文件的信息,例如 文件名、路徑等。所以,獲得被啟動(dòng)文件的信息可以通過(guò)分析命令行 來(lái)實(shí)現(xiàn)。
      基于以上的分析,根據(jù)本發(fā)明實(shí)施例的攔截模塊30將按照附圖 3所示執(zhí)行攔截和處理操作。
      如圖3所示攔截模塊30中的一個(gè)進(jìn)程創(chuàng)建攔截模塊首先通過(guò)攔 截CreateProcessA、 CreateProcessW禾Q WinExec三個(gè)API函數(shù)中的一 個(gè)或多個(gè),攔截到某個(gè)瀏覽器進(jìn)程Pa要?jiǎng)?chuàng)建新進(jìn)程Pb的動(dòng)作(步驟 S310)。
      繼而,攔截模塊30中的判斷模塊獲得從所攔截的函數(shù)參數(shù)中獲 得的新創(chuàng)建進(jìn)程對(duì)應(yīng)的文件的信息,例如文件的名稱和路徑。在獲得 該文件信息后,判斷模塊搜索監(jiān)視模塊10所記錄的當(dāng)前瀏覽器進(jìn)程 Pa下載的文件的信息,即利用獲得的文件信息搜索文件Cache管理 器中維護(hù)的紅黑樹(shù),以便判斷該新進(jìn)程Pb對(duì)應(yīng)的文件是否為當(dāng)前瀏 覽器進(jìn)程下載的文件(步驟S320)。
      如果步驟S320的判斷結(jié)果為是,也就是說(shuō)在文件Cache管理器 維護(hù)的紅黑樹(shù)中找到相應(yīng)的文件描述節(jié)點(diǎn),且該節(jié)點(diǎn)的標(biāo)志表示己經(jīng) 改寫,則攔截模塊30中的提示模塊向用戶發(fā)出提示信息,以警示用 戶當(dāng)前瀏覽器進(jìn)程可能被漏洞利用,并等待用戶的處理(步驟S350)。
      如果步驟S320的判斷結(jié)果是否定的,那么判斷模塊繼續(xù)判斷新 創(chuàng)建的進(jìn)程Pb對(duì)應(yīng)的文件是否為命令行程序(如cmd.exe等),腳本 解釋程序,例如Windows系統(tǒng)自帶的命令行腳本解釋程序cscript.exe 或窗口腳本解釋程序wscript.exe (步驟S330),但本發(fā)明并不限于此, 還可以是例如perl、 python、 ruby等腳本解釋程序。如果步驟S330 的判斷結(jié)果為否,則可認(rèn)為當(dāng)前創(chuàng)建的新進(jìn)程是安全的,允許其繼續(xù) 運(yùn)行(步驟S360)。否則,判斷模塊會(huì)認(rèn)為當(dāng)前啟動(dòng)的新進(jìn)程可能是 用來(lái)解釋執(zhí)行當(dāng)前瀏覽器進(jìn)程下載的惡意代碼。因此,判斷模塊繼續(xù) 判斷上述要啟動(dòng)命令行程序或腳本解釋程序的命令行參數(shù)中是否, 含有當(dāng)前瀏覽器進(jìn)程下載的文件(步驟S340)。具體而言,在本實(shí)i 例中,通過(guò)CommandLineToArgvW函數(shù)對(duì)上述程序如cmd.exe,
      cscript.exe或wcscript.exe的命令行參數(shù)進(jìn)行拆分,從而獲得多個(gè)參 數(shù)。然后依次檢査每個(gè)參數(shù)中的內(nèi)容,以便判斷拆分出的參數(shù)中是否 包含監(jiān)視模塊20所記錄的瀏覽器下載的文件。如果發(fā)現(xiàn)命令行參數(shù) 中的文件為瀏覽器下載的文件,則認(rèn)為是可能的漏洞利用并提示用戶 (步驟S350)。否則,允許創(chuàng)建該新進(jìn)程(步驟S360)。
      最后,在步驟S350中,提示用戶當(dāng)前瀏覽器進(jìn)程可能被漏洞利 用,并等待用戶的處理。如果用戶選擇拒絕創(chuàng)建(步驟S370),則阻 止當(dāng)前進(jìn)程(步驟S380),否則允許進(jìn)程創(chuàng)建(步驟S360)。
      有益效果
      以上結(jié)合附圖1-3詳細(xì)描述了本發(fā)明提出的防止Web瀏覽器被 漏洞利用的方法和裝置。采用本發(fā)明提出的方法可以及時(shí)阻止那些利 用瀏覽器下載的病毒程序的運(yùn)行。因而,本發(fā)明提出的方法和裝置能 夠較好地解決Web瀏覽器被漏洞利用來(lái)執(zhí)行惡意代碼的問(wèn)題。此外, 利用本發(fā)明提出的方法,用戶還可以及時(shí)阻止那些在瀏覽網(wǎng)頁(yè)時(shí)自動(dòng) 下載安裝的小程序,從而避免計(jì)算機(jī)資源的占用。
      雖然關(guān)于優(yōu)選實(shí)施例示范和描述了本發(fā)明,本領(lǐng)域技術(shù)人員將理 解可以不脫離如下述權(quán)利要求規(guī)定的發(fā)明精神和范圍做出多種改變 和修正。
      權(quán)利要求
      1、一種防止網(wǎng)頁(yè)瀏覽器被漏洞利用的方法,包括監(jiān)視瀏覽器進(jìn)程下載的文件;攔截所述瀏覽器進(jìn)程發(fā)起的進(jìn)程創(chuàng)建動(dòng)作;判斷所攔截的進(jìn)程創(chuàng)建動(dòng)作是否要啟動(dòng)所述瀏覽器進(jìn)程下載的所述文件;如果判斷結(jié)果為是,則向用戶提示瀏覽器的漏洞可能被利用。
      2、 如權(quán)利要求1所述的方法,其中監(jiān)視所述瀏覽器進(jìn)程下載的 文件的步驟包括攔截所述瀏覽器進(jìn)程創(chuàng)建文件的動(dòng)作;以及 攔截所述瀏覽器進(jìn)程寫入文件的動(dòng)作。
      3、 如權(quán)利要求2所述的方法,其中監(jiān)視所述瀏覽器進(jìn)程下載的 文件的步驟還包括根據(jù)所攔截的創(chuàng)建文件的請(qǐng)求,在一個(gè)文件緩存中保存所述瀏覽 器進(jìn)程創(chuàng)建的文件的信息;以及根據(jù)所攔截的寫入文件的請(qǐng)求,在所述文件緩存中保存所述瀏覽 器進(jìn)程創(chuàng)建的文件的改寫標(biāo)記。
      4、 如權(quán)利要求3所述的方法,其中在所述文件緩存中維護(hù)一個(gè) 用戶高速檢索的數(shù)據(jù)結(jié)構(gòu),所述數(shù)據(jù)結(jié)構(gòu)中的每一個(gè)節(jié)點(diǎn)記錄一個(gè)所 保存的文件的信息以及相應(yīng)的所述改寫標(biāo)記。
      5、 如權(quán)利要求4所述的方法,其中通過(guò)搜索所述數(shù)據(jù)結(jié)構(gòu)中節(jié) 點(diǎn)的信息以及檢査所述改寫標(biāo)記確定所述要啟動(dòng)的文件是否是所述 瀏覽器進(jìn)程要下載的文件。
      6、 如權(quán)利要求1-5中任一所述的方法,其中,所述判斷步驟判 斷所創(chuàng)建的進(jìn)程對(duì)應(yīng)的程序文件是否是所述瀏覽器進(jìn)程下載的文件。
      7、 如權(quán)利要求1-5中任一所述的方法,其中,如果所創(chuàng)建的進(jìn) 程對(duì)應(yīng)的程序文件不是所述瀏覽器進(jìn)程下載的文件,所述判斷步驟還包括判斷所創(chuàng)建的進(jìn)程對(duì)應(yīng)的文件是否為命令行程序或腳本解釋程 序;以及如果判斷結(jié)果為是,則判斷所述命令行程序或腳本解釋程序的命 令行參數(shù)中是否包含所述瀏覽器進(jìn)程下載的文件。
      8、 如權(quán)利要求7所述的方法,所述腳本解釋器包括命令行腳本 解釋程序和窗口腳本解釋程序中的至少之一 。
      9、 如權(quán)利要求1所述的方法,其中通過(guò)攔截CreateProcessA、 CreateProcessW和WinExec三個(gè)API函數(shù)中的至少一個(gè)攔截所述進(jìn)程 創(chuàng)建動(dòng)作。
      10、 如權(quán)利要求3所述的方法,其中在所述文件緩存中保存的所 述文件的信息是所述文件的文件名的校驗(yàn)值。
      11 、如權(quán)利要求4或5所述的方法,其中所述數(shù)據(jù)結(jié)構(gòu)為紅黑樹(shù)。
      12、 一種防止瀏覽器被漏洞利用的裝置,包括攔截模塊和用于監(jiān) 視瀏覽器進(jìn)程下載的文件的監(jiān)視模塊,其中所述攔截模塊包括進(jìn)程創(chuàng)建攔截模塊,用于攔截所述瀏覽器進(jìn)程發(fā)起的進(jìn)程創(chuàng)建動(dòng)作;判斷模塊,用于判斷所述攔截模塊攔截的進(jìn)程創(chuàng)建動(dòng)作是否要啟 動(dòng)所述監(jiān)視模塊監(jiān)視到的所述瀏覽器進(jìn)程下載的文件;提示模塊,如果所述判斷模塊的判斷結(jié)果為是,則向用戶提示瀏 覽器的漏洞可能被利用。
      13、 如權(quán)利要求12所述的裝置,其中所述監(jiān)視模塊包括; 文件創(chuàng)建攔截模塊,用于攔截所述瀏覽器進(jìn)程創(chuàng)建文件的動(dòng)作;以及文件寫入攔截模塊,用于攔截所述瀏覽器進(jìn)程寫入文件的動(dòng)作。
      14、 如權(quán)利要求13所述的裝置,其中所述監(jiān)視模塊還包括文件 緩存,其中所述文件緩存用于響應(yīng)于所述文件創(chuàng)建攔截模塊攔截的創(chuàng) 建文件請(qǐng)求,保存所述瀏覽器進(jìn)程創(chuàng)建的文件的信息;以及響應(yīng)于所 述文件寫入攔截模塊攔截的寫入文件請(qǐng)求,在所述文件緩存中保存所 述瀏覽器進(jìn)程創(chuàng)建的文件的改寫標(biāo)記。
      15、 如權(quán)利要求中12-14中任一所述的裝置,其中,所述判斷模 塊判斷所創(chuàng)建的進(jìn)程對(duì)應(yīng)的程序文件是否是所述瀏覽器進(jìn)程下載的 文件。
      16、 如權(quán)利要求12-14中任一所述的裝置,其中,所述判斷模塊 還包括用于判斷所創(chuàng)建的進(jìn)程對(duì)應(yīng)的文件是否為命令行程序或腳本解 釋程序的模塊;以及用于判斷所述命令行程序或腳本解釋程序的命令行參數(shù)中是否 包含所述瀏覽器進(jìn)程下載的文件的模塊。
      全文摘要
      本發(fā)明提出了一種防止瀏覽器的漏洞被利用的方法和裝置。本發(fā)明提出的方法包括監(jiān)視瀏覽器進(jìn)程下載的文件;攔截所述瀏覽器進(jìn)程發(fā)起的進(jìn)程創(chuàng)建動(dòng)作;判斷所攔截的進(jìn)程創(chuàng)建動(dòng)作是否要啟動(dòng)所述瀏覽器進(jìn)程下載的所述文件;如果判斷結(jié)果為是,則向用戶提示瀏覽器的漏洞可能被利用。利用本發(fā)明提出的方法和裝置可以防止瀏覽器的漏洞被利用來(lái)執(zhí)行惡意代碼。
      文檔編號(hào)G06F21/22GK101350053SQ20071016244
      公開(kāi)日2009年1月21日 申請(qǐng)日期2007年10月15日 優(yōu)先權(quán)日2007年10月15日
      發(fā)明者軍 周 申請(qǐng)人:北京瑞星國(guó)際軟件有限公司
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1