在網(wǎng)絡(luò)客戶端上進(jìn)行的異常檢測的制作方法
【技術(shù)領(lǐng)域】
[0001] 本文中所描述的實施例總體上設(shè)及計算機(jī)監(jiān)視,并且特別地設(shè)及在網(wǎng)絡(luò)客戶端上 進(jìn)行的異常檢測。
【背景技術(shù)】
[0002] 當(dāng)用戶瀏覽網(wǎng)站時,少量的信息存儲在用戶的機(jī)器上。信息可W被存儲在文件中, 該文件在瀏覽器重啟之間留存(persist)。當(dāng)用戶將來瀏覽相同的網(wǎng)站時,該信息可W從文 件中恢復(fù)并被使用。一種常見的機(jī)制是跟蹤器bookie)的使用。跟蹤器(也被稱為HTTP跟蹤 器、網(wǎng)頁跟蹤器、或者瀏覽器跟蹤器)是存儲了有限的量的數(shù)據(jù)的文件,用于在用戶的瀏覽 會話(例如,會話跟蹤器)期間使用,或用于多個會話(例如,持久跟蹤器)。跟蹤器對于維持 狀態(tài)、維護(hù)用戶驗證信息、或保存用戶對于網(wǎng)站的偏好來說是有用的。然而,跟蹤器由于其 最大可允許大小而在一定程度上在功能方面受到限制。
[0003] 在更現(xiàn)代的瀏覽器中,被稱為"網(wǎng)絡(luò)存儲"的標(biāo)準(zhǔn)支持更大的存儲分配。網(wǎng)絡(luò)存儲 提供兩種不同的存儲類型:本地存儲和會話存儲,其分別起類似于持久跟蹤器和會話跟蹤 器的作用。存儲在本地存儲中的數(shù)據(jù)是每域(per domain)的,并且在瀏覽器被關(guān)閉后留存。 會話存儲是每頁每窗口(per-page-per-window)的,并且受限于窗口的壽命。會話存儲旨在 允許相同的網(wǎng)絡(luò)應(yīng)用的單獨的實例在不同的窗口中運(yùn)行而不相互干擾,運(yùn)是跟蹤器不能很 好地支持的用例。
[0004] 然而,隨著存儲對象(本地類型和會話類型兩者)的可允許大小的增加,存在使得 待要寫入或存儲在用戶的機(jī)器上的大量數(shù)據(jù)引起不穩(wěn)定、不可訪問、或其它拒絕服務(wù)類型 的攻擊的惡意活動的威脅。
【附圖說明】
[0005] 在非必須按照比例繪制的附圖中,相同的數(shù)字可W描述不同視圖中的相同的組 件。具有不同字母下標(biāo)的相同數(shù)字可W表示相同組件的不同實例。一些實施例通過示例而 非限制的方式在附圖中示出,其中:
[0006] 圖1是根據(jù)實施例的示出了系統(tǒng)的示意圖;
[0007] 圖2是根據(jù)實施例的示出了用于在網(wǎng)絡(luò)客戶端上進(jìn)行異常檢測的計算設(shè)備的示意 圖;
[000引圖3是根據(jù)實施例的示出了用于監(jiān)視和評估事件并且施行(enforce)策略的過程 的控制流程圖;
[0009] 圖4是根據(jù)實施例的示出了用于在網(wǎng)絡(luò)客戶端上進(jìn)行異常檢測的方法的流程圖;
[0010] 圖5是根據(jù)示例實施例的示出了示例機(jī)器的方框圖,其中根據(jù)該機(jī)器,可W執(zhí)行在 本文中所討論的技術(shù)(例如,方法論)中的一個或多個。
【具體實施方式】
[0011]超文本標(biāo)記語言第5版化TML5)是用于構(gòu)建和表示萬維網(wǎng)(WWW)的內(nèi)容的標(biāo)記語 言。網(wǎng)絡(luò)存儲是由HTML5支持的標(biāo)準(zhǔn)并且提供用于保存會話信息的客戶端方法。利用客戶端 腳本語言(例如,JavaScript?),網(wǎng)頁能夠存儲并且取回(retrieve)來自網(wǎng)絡(luò)存儲容器的 數(shù)據(jù)。因此,利用網(wǎng)絡(luò)存儲,網(wǎng)絡(luò)應(yīng)用能夠存儲信息,用于在會話內(nèi)或從會話到會話重新使 用。
[001^ 網(wǎng)絡(luò)存儲容器通常刻良于最大大小,例如,2兆字節(jié)(MB)、5MB、或10MB。有兩種類型 的網(wǎng)絡(luò)存儲容器:會話存儲(sessionStorage)和本地存儲(local Storage)。兩者表現(xiàn)相似, 但會話存儲對象僅僅可用于即時會話,而本地存儲對象在多個瀏覽會話間留存。網(wǎng)絡(luò)存儲 容器鏈接至來源(origin)。來源是由域名、應(yīng)用層協(xié)議、W及運(yùn)行腳本的HTML5文檔的端口 數(shù)組成的元組。通過運(yùn)種方式,可W將網(wǎng)絡(luò)存儲容器可W被限制于每來源最大大小 (maximum size per origin)。例女曰,網(wǎng)站('http://www.example.00111/]1〇1116.]1付11''可從與本 地存儲容器相關(guān)聯(lián)。因為協(xié)議不同(http對https ),所W另一個網(wǎng)站"https :// WWW. example. com/home .html''不會b訪問 ''http: //www. example. com/home .html'' 白勺本地存 儲容器。
[0013] 在許多現(xiàn)代網(wǎng)絡(luò)應(yīng)用中,將來自多個來源的內(nèi)容呈現(xiàn)在相同的演示區(qū)域內(nèi)。運(yùn)可 W-般地被稱為"混搭(mashup)"?;齑钔ǔJ褂貌⒔M合來自兩個或多個源的數(shù)據(jù)、演示、或 功能W創(chuàng)建新的演示或服務(wù)?;齑羁蒞 W聚集顯示的方式提供相關(guān)的信息,為了使終端用 戶更容易消費數(shù)據(jù)。
[0014] -些混搭是來自幾個相關(guān)的源的相關(guān)數(shù)據(jù)的組合。例如,針對虛構(gòu)的公司 Example, Inc.的混搭可W使用"example. com"作為其域,并且可W在組合界面(例如,混搭) 中提供來自子域(例如"news.example.com"、"sports.example.com"和 "weather. example . com")的信息?;蛘撸?dāng)用戶導(dǎo)航通過"example. com"網(wǎng)站時,用戶可W 導(dǎo)航到來自子域(例如,weather. examp 1 e . com)的內(nèi)容。在運(yùn)兩種情況中的任一中,產(chǎn)生了 關(guān)于如下的問題:截然不同的子域是否應(yīng)該被授予網(wǎng)絡(luò)存儲分配的=個配額(例如,=倍的 5MB,總共15MB),或者整個網(wǎng)絡(luò)應(yīng)用(例如,混搭)是否應(yīng)該被約束于所述網(wǎng)絡(luò)存儲配額(例 如,對于example. comW及子域是5MB)。如果遵循第一模型,則其可W開放平臺W便濫用。例 如,具有惡意目的的某人可W創(chuàng)建人工子域(或下屬域(affiliate domain)),并且使得用 戶的計算機(jī)存儲許多(可能數(shù)千個或數(shù)百萬個)5MB的網(wǎng)絡(luò)存儲容器。運(yùn)樣的活動將很可能 產(chǎn)生錯誤,使機(jī)器變得無響應(yīng),或W其它方式造成嚴(yán)重破壞。如果遵循第二模型,則合法的 網(wǎng)絡(luò)應(yīng)用可能被無必要地限制使用為合適的操作所需的磁盤空間。相似的問題可能與下屬 域(W混搭方式或利用交叉鏈接(cross-linking),彼此相關(guān)或隸屬、并且一起呈現(xiàn)的網(wǎng)絡(luò) 應(yīng)用)共存。需要的是用于監(jiān)視和管理網(wǎng)絡(luò)存儲分配請求的機(jī)制。
[0015] 本公開描述了用于評估網(wǎng)絡(luò)瀏覽器活動并且確保運(yùn)樣的活動與存儲策略一致的 機(jī)制。運(yùn)樣的機(jī)制對于檢測在網(wǎng)絡(luò)瀏覽器行為中的異常來說是有用的。所描述的一些實施 例對多個瀏覽器有效。運(yùn)樣的實施例與如何通過任何一個瀏覽器傳遞內(nèi)容無關(guān)、降低在特 定瀏覽器中由網(wǎng)絡(luò)存儲機(jī)制的執(zhí)行不力引起的易損性、并且也降低或消除終端用戶為了最 安全的體驗而選擇正確的網(wǎng)絡(luò)瀏覽器的需求。
[0016] 用于監(jiān)視和管理網(wǎng)絡(luò)存儲分配請求的機(jī)制可W W各種形式被實現(xiàn),包括但不限于 瀏覽器插件、客戶端軟件、或固件。機(jī)制可W從網(wǎng)絡(luò)應(yīng)用中檢測可疑的行為、關(guān)于運(yùn)樣的行 為向用戶發(fā)出警報、或者施行合適的策略W降低風(fēng)險。所述機(jī)制可W使用基于入侵檢測或 基于機(jī)器學(xué)習(xí)的各種檢測算法。
[0017] 圖1是根據(jù)實施例的示出了系統(tǒng)100的示意圖。系統(tǒng)100包括通過網(wǎng)絡(luò)106連接的網(wǎng) 絡(luò)服務(wù)器102、服務(wù)提供商系統(tǒng)104、W及計算設(shè)備108。盡管網(wǎng)絡(luò)服務(wù)器102和服務(wù)提供商系 統(tǒng)104在圖1中被示出為單個機(jī)器,但在各種實施例中,網(wǎng)絡(luò)服務(wù)器102或服務(wù)提供商系統(tǒng) 104可W包括一起工作的多個服務(wù)器(例如,并置、分布、或作為基于云端的系統(tǒng))。計算設(shè)備 108可W是包括臺式計算機(jī)、智能手機(jī)、蜂窩手機(jī)、移動手機(jī)、膝上型計算機(jī)、平板計算機(jī)、超 極本(Ultrabook忠)、車載計算機(jī)、自助服務(wù)終端、或其它網(wǎng)絡(luò)化的設(shè)備等任何類型的設(shè) 備。針對該公開的目的的網(wǎng)絡(luò)客戶端包括能夠?qū)⒕W(wǎng)站呈現(xiàn)給用戶的任何設(shè)備,例如,計算設(shè) 備 108。
[0018] 用戶可W操作計算設(shè)備108W訪問由網(wǎng)絡(luò)服務(wù)器102提供的網(wǎng)絡(luò)應(yīng)用。當(dāng)網(wǎng)絡(luò)應(yīng)用 嘗試在計算設(shè)備108上經(jīng)由HTML5將數(shù)據(jù)存儲在本地存儲對象或會話存儲對象中時,計算設(shè) 備108上的監(jiān)視模塊截取(intercept)該嘗試,并且確定存儲指令是否應(yīng)該繼續(xù)。在實施例 中,監(jiān)視模塊訪問本地數(shù)據(jù)庫,本地數(shù)據(jù)庫具有可W被監(jiān)視模塊用來確定對網(wǎng)絡(luò)應(yīng)用的存 儲請求是允許還是拒絕的數(shù)據(jù)、規(guī)則或者其它信息。在另一個實施例中,監(jiān)視模塊使用遠(yuǎn)程 服務(wù),例如,在服務(wù)提供商系統(tǒng)104上托管化OSt) W評估網(wǎng)絡(luò)應(yīng)用的存儲請求的服務(wù)。如果 存儲請求被授權(quán),則監(jiān)視模塊可W與計算設(shè)備108上的瀏覽器或計算設(shè)備108的其它部分 (例如,存儲器管理器、文件系統(tǒng)、資源調(diào)度器、或操作系統(tǒng)或固件的其它方面)相連接,W處 理存儲請求。
[0019] 圖2是根據(jù)實施例的示出了用于在網(wǎng)絡(luò)客戶端上進(jìn)行異常檢測的計算設(shè)備108的 示意圖。計算設(shè)備1〇8(例如,網(wǎng)絡(luò)客戶端)包括網(wǎng)絡(luò)瀏覽器200和客戶端插件監(jiān)視器202。網(wǎng) 絡(luò)瀏覽器200包括瀏覽器用戶界面化I)組件204。瀏覽器UI組件204被用于向網(wǎng)絡(luò)瀏覽器200 的用戶顯示網(wǎng)頁、警報、用戶界面元素、W及其它對象。
[0020] 客戶端插件監(jiān)視器202包括瀏覽器接口 206、監(jiān)視模塊208、監(jiān)視數(shù)據(jù)庫化B)210、W 及硬件(HW)接口 212。當(dāng)針對網(wǎng)絡(luò)存儲寫入請求進(jìn)行監(jiān)視時,監(jiān)視模塊208可W與監(jiān)視DB 210、企業(yè)監(jiān)視服務(wù)220、或云監(jiān)視服務(wù)222相連接。監(jiān)視DB 210包括關(guān)于網(wǎng)站、域、和網(wǎng)絡(luò)應(yīng) 用存儲用途策略的信息。網(wǎng)絡(luò)應(yīng)用存儲用途策略可W是用戶定義的或(例如,由企業(yè)管理員 或商業(yè)服務(wù))集中定義的。企業(yè)范圍或其它廣域服務(wù)的使用可W提供對業(yè)務(wù)量或數(shù)據(jù)行為 的更深的分析,得出更為智能的算法W將合法的請求與可能的惡意活動相區(qū)分。
[0021] 在操作中,瀏覽器接口206截取由網(wǎng)頁發(fā)起的存儲請求,所述網(wǎng)頁是由網(wǎng)站服務(wù)并 且由網(wǎng)絡(luò)瀏覽器200處理的。監(jiān)視模塊208從瀏覽器接口 206接收關(guān)于該請求的通知,并且可 W對照監(jiān)視DB 210、企業(yè)監(jiān)視服務(wù)220、或云監(jiān)視服務(wù)222來檢查請求W驗證請求的合法性。 監(jiān)視模塊208相