国产精品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ù)安全中介和代理的制作方法

      文檔序號:10664021閱讀:352來源:國知局
      云服務(wù)安全中介和代理的制作方法
      【專利摘要】本申請一般涉及一種對基于網(wǎng)絡(luò)的軟件即服務(wù)(SaaS)供應(yīng)商與客戶機(jī)之間的網(wǎng)絡(luò)流量進(jìn)行操作的系統(tǒng)。該系統(tǒng)可以被配置作為受管通信網(wǎng)絡(luò)代理并基于預(yù)定策略和規(guī)則對網(wǎng)絡(luò)流量采取行動。所述系統(tǒng)可以包括后綴代理,所述后綴代理被配置用于通過處理SaaS服務(wù)器響應(yīng)的捕獲頁面處理,以便后續(xù)的請求由后綴代理依據(jù)文件類型和響應(yīng)類型來處理。
      【專利說明】云服務(wù)安全中介和代理
      [0001] 相關(guān)申請的交叉引用
      [0002] 本申請要求在2013年11月11日提交的名為"Cloud Service Security Broker and Proxy(云服務(wù)安全中介和代理)"的美國臨時專利申請序列號61/902,786、在2013年11 月11 日提交的名為"Cloud Service Risk Analysis and Threat Detection(云服務(wù)風(fēng)險 分析和威脅檢測)"的美國臨時專利申請序列號61/902,787、在2013年11月11日提交的名為 "Cloud Service Discovery (云服務(wù)發(fā)現(xiàn))"的美國臨時專利申請序列號61/902,789、在 2014年9月12日提交的名為"Cloud Service Suffix Proxy(云服務(wù)后綴代理)"的美國臨時 專利申請序列號62/049,473的各申請的優(yōu)先權(quán),每個申請的內(nèi)容通過整體引用被結(jié)合于 此。 發(fā)明領(lǐng)域
      [0003] 本申請一般涉及通過監(jiān)視和保護(hù)通信來保護(hù)通信網(wǎng)絡(luò)和系統(tǒng),尤其是通過使用后 綴代理來保護(hù)通信網(wǎng)絡(luò)和系統(tǒng)。
      [0004] 背景
      [0005] 企業(yè)越來越多地采用基于云的軟件即服務(wù)供應(yīng)。這些服務(wù)常遭受各種網(wǎng)絡(luò)安全風(fēng) 險。已知的用于保護(hù)這些網(wǎng)絡(luò)的系統(tǒng)通過檢測運(yùn)行軟件即服務(wù)的服務(wù)器與用戶操作的端點(diǎn) 之間的流量來工作。這些已知網(wǎng)絡(luò)安全系統(tǒng)通常需要復(fù)雜的端點(diǎn)配置,這增加了系統(tǒng)復(fù)雜 性。此外,在許多情況下,端點(diǎn)可能不在企業(yè)的完全控制之下、可能完全不受管、或以其他方 式不可配置。除了配置和管理用戶控制的端點(diǎn)方面的固有困難之外,在網(wǎng)絡(luò)地址被動態(tài)生 成時難以確保整個會話的流量捕獲(captivation)。
      [0006] 附圖簡述
      [0007] 圖1示出示例體系架構(gòu)和方法操作的示例概覽。
      [0008] 圖2示出具有多個代理節(jié)點(diǎn)的示例體系架構(gòu)。
      [0009] 圖3示出使用SAML的示例認(rèn)證方法。
      [0010] 圖4示出包括全局分布以減少等待時間的代理節(jié)點(diǎn)的多個不同的網(wǎng)絡(luò)的示例。
      [0011] 圖5示出顯示了失效啟動(f a i 1 -open)的路由的示例網(wǎng)絡(luò)代理體系架構(gòu)。
      [0012] 圖6示出由負(fù)載平衡器群集和多個代理節(jié)點(diǎn)組成的示例代理節(jié)點(diǎn)。
      [0013] 圖7示出了示例用戶界面。
      [0014] 圖8示出了示例用戶界面。
      [0015] 圖9示出了示例用戶界面。
      [0016] 圖10示出了示例用戶界面。
      [0017] 圖11示出了用于威脅檢測的示例方法。
      [0018] 圖12示出了示例參數(shù)集。
      [0019]圖13示出了發(fā)現(xiàn)軟件即服務(wù)(SaaS)的環(huán)境的示例方法。
      [0020] 圖14示出非高速緩存的后綴代理操作的示例方法。
      [0021] 圖15示出高速緩存的后綴代理操作的示例方法。
      [0022] 詳細(xì)描述
      [0023] 在此描述了一種用于監(jiān)視并保護(hù)通信的體系架構(gòu)。在此所述的系統(tǒng)和方法可以被 用于透明地實(shí)現(xiàn)針對任何地方的用戶的云流量安全和控制。所述系統(tǒng)可以被配置為保護(hù)公 司的云服務(wù)賬戶中的任何或全部流量和活動。在一些實(shí)施例中,所述系統(tǒng)可以被配置以使 得它不需要任何客戶端側(cè)或網(wǎng)絡(luò)安裝。所述系統(tǒng)可以包括由分布在世界上多個位置的獨(dú)立 的自主網(wǎng)絡(luò)代理所構(gòu)成的高復(fù)原性虛擬網(wǎng)絡(luò)。
      [0024] 受管通信網(wǎng)絡(luò)代理服務(wù)可被用來截取、監(jiān)視、修改以及轉(zhuǎn)發(fā)用戶與基于網(wǎng)絡(luò)的軟 件服務(wù)供應(yīng)商之間的網(wǎng)絡(luò)通信流量。受管網(wǎng)絡(luò)代理服務(wù)可以被配置為操作以便檢測和減輕 網(wǎng)絡(luò)威脅。作為非限制性示例,服務(wù)可以被配置為在各種模式下操作,包括應(yīng)用防火墻模 式;被動入侵檢測(IDS)模式,以通知可疑的網(wǎng)絡(luò)流量和行為;或入侵預(yù)防系統(tǒng)(IPS)模式, 以阻止威脅。所述系統(tǒng)還可以被配置為執(zhí)行應(yīng)用控制、URL過濾以及針對網(wǎng)絡(luò)流量的惡意軟 件防護(hù)。
      [0025] 體系架構(gòu)
      [0026] 在此所述的系統(tǒng)可以被配置為對基于網(wǎng)絡(luò)的軟件即服務(wù)(SaaS)供應(yīng)商與客戶端 之間的網(wǎng)絡(luò)流量進(jìn)行操作。在一些實(shí)施例中,在還未為客戶端設(shè)備或網(wǎng)絡(luò)設(shè)置任何控制或 限制的情況下,當(dāng)該客戶端計算設(shè)備通過公共網(wǎng)絡(luò)(例如因特網(wǎng))被連接到SaaS供應(yīng)商時, 該系統(tǒng)能夠被配置為對SaaS供應(yīng)商與該客戶端計算設(shè)備之間的這樣的網(wǎng)絡(luò)流量進(jìn)行操作。 在一些實(shí)施例中,無需對客戶端設(shè)備的進(jìn)行配置。
      [0027]體系架構(gòu)設(shè)計
      [0028]所述系統(tǒng)的組件可以以受管通信網(wǎng)絡(luò)代理的形式來實(shí)現(xiàn)。盡管在此提及的是代 理,但可以理解所述代理可以以一個或多個網(wǎng)絡(luò)設(shè)備的形式來實(shí)現(xiàn)。而且,受管網(wǎng)絡(luò)代理可 以被分散,并且受管網(wǎng)絡(luò)代理的功能分布在不同的地理區(qū)域中的多個機(jī)器上。
      [0029]在一些實(shí)施例中,網(wǎng)絡(luò)代理可以被配置,以使得客戶端設(shè)備和SaaS供應(yīng)商之間的 流量流過該網(wǎng)絡(luò)代理。因?yàn)榫W(wǎng)絡(luò)代理中介了該通信,因此它可以被用于監(jiān)視這些點(diǎn)之間的 網(wǎng)絡(luò)流量并基于預(yù)定的策略和規(guī)則對網(wǎng)絡(luò)流量采取行動。在圖1中示出了示例體系架構(gòu)和 方法操作的概覽。代理網(wǎng)絡(luò)可以針對復(fù)原性而被優(yōu)化,并且失效開啟控制可以被用于如果 代理網(wǎng)絡(luò)故障則重新路由用戶流量。如下詳細(xì)描述地,在部署后,SaaS流量的通用流程如 下:
      [0030] 從任何位置、在任何設(shè)備上,用戶訪問機(jī)構(gòu)的云服務(wù)。流量被路由通過最近的受管 網(wǎng)絡(luò)代理節(jié)點(diǎn)。節(jié)點(diǎn)可以用作策略實(shí)施節(jié)點(diǎn)并提供對云活動的全面審核。在代理網(wǎng)絡(luò)數(shù)據(jù) 中心,在中央數(shù)據(jù)中心中事件被令牌化并被聚集在每個承租人的分開的數(shù)據(jù)庫中。事件處 理發(fā)生并且事故被報告(例如"未知設(shè)備訪問敏感數(shù)據(jù)")。可以提供用戶界面,通過該用戶 界面,管理員可以訪問控制臺并且具有對云活動的可見性。而且,可以由代理節(jié)點(diǎn)來定義并 實(shí)施策略。在圖2中示出了具有多個代理節(jié)點(diǎn)的示例體系架構(gòu)。
      [0031] 所述代理可以被配置為自主運(yùn)作、確??绮煌囊蛱鼐W(wǎng)服務(wù)供應(yīng)商(ISPs)和地理 的復(fù)原性和高可用性。在一些實(shí)施例中,星型體系架構(gòu)可以被使用,其中所有的節(jié)點(diǎn)向中央 數(shù)據(jù)中心發(fā)送信息(單向)。
      [0032] 該系統(tǒng)可以被配置成要么失效保護(hù)要么失效啟動。如果外部主存解決方案被使 用,萬一其它裝置故障,用戶可以被路由到原始SaaS供應(yīng)商。這確保了用戶的無縫體驗(yàn)。
      [0033] 公共和私有云
      [0034] 私有云部署:代理服務(wù)器可以被部署在公司的私有云中以為公司數(shù)據(jù)提供額外的 安全性。在這種布置中,元數(shù)據(jù)日志還是可以被發(fā)送到機(jī)構(gòu)周界之外,而網(wǎng)絡(luò)流量被包含在 機(jī)構(gòu)的網(wǎng)絡(luò)內(nèi)。
      [0035]公共云部署:代理服務(wù)器可以被部署在公司的私有云之外。云本身可以是公共或 私有云。
      [0036]受管網(wǎng)絡(luò)代理服務(wù)基礎(chǔ)架構(gòu)
      [0037]在此所述的受管通信網(wǎng)絡(luò)代理可以以各種代理模式被配置,包括(作為非限制性 示例)正向代理、后綴代理或反向代理。
      [0038]如果被配置作為正向代理,該網(wǎng)絡(luò)代理可以使用代理自動配置(PAC)文件和/或被 連接到代理鏈中的現(xiàn)有網(wǎng)絡(luò)代理。如果被配置作為反向代理,可以通過機(jī)構(gòu)的DNS服務(wù)器來 完成部署。
      [0039]在優(yōu)選實(shí)施例中,受管網(wǎng)絡(luò)代理可以被配置作為后綴代理。例如,作為后綴代理, http : //www · salesforce · com可以通過http: //www.salesforce. com.network-proxy-service. com被訪問,其中network-proxy-service. com(網(wǎng)絡(luò)-代理-服務(wù).com)是用于受管 網(wǎng)絡(luò)代理的域名。在一些實(shí)施例中,后綴代理可以使用雙因素認(rèn)證,對在后綴代理處的認(rèn)證 中心以及對SaaS供應(yīng)商兩者都進(jìn)行認(rèn)證。
      [0040] 協(xié)議支持
      [0041] 受管網(wǎng)絡(luò)代理可以被配置為支持任何任意的應(yīng)用或協(xié)議。作為非限制性示例,下 述協(xié)議可以被支持:HTTP和HTTPS、HTTP上的RPC、0utlook anywhere,WebDAV,FTP,以及專用 廠商協(xié)議。
      [0042]安全性:SaaS流量捕獲
      [0043]受管網(wǎng)絡(luò)代理可以被配置為檢查流量并檢測SaaS因特網(wǎng)地址。在一些實(shí)施例中, 受管網(wǎng)絡(luò)代理可以被配置為檢查因特網(wǎng)地址(例如統(tǒng)一資源定位符、統(tǒng)一資源標(biāo)識符等)的 網(wǎng)絡(luò)流量。作為非限制性示例,所述網(wǎng)絡(luò)代理可反編譯、解構(gòu)或分解網(wǎng)絡(luò)流量以供檢查。受 管網(wǎng)絡(luò)代理可以被配置為修改客戶端設(shè)備和SaaS供應(yīng)商之間的網(wǎng)絡(luò)流量,以使得引導(dǎo)客戶 端設(shè)備繞過受管網(wǎng)絡(luò)代理來直接訪問SaaS資源的網(wǎng)絡(luò)地址不被提供給客戶端設(shè)備。如果檢 測到SaaS因特網(wǎng)地址,通過將網(wǎng)絡(luò)代理服務(wù)的域名附加到原始網(wǎng)絡(luò)地址,該地址可以被重 寫成在網(wǎng)絡(luò)代理處的地址。
      [0044] 后綴代理可以被配置用于通過處理SaaS服務(wù)器響應(yīng)來進(jìn)行捕獲頁面處理,使得后 續(xù)的請求由后綴代理來處理。所述處理可以取決于文件類型和響應(yīng)類型。作為非限制性示 例,經(jīng)處理的文件類型可包括HTML或JavaScript而響應(yīng)可包括壓縮響應(yīng)或分塊響應(yīng)。所述 后綴代理可被配置為模擬任何內(nèi)容,包括從SaaS供應(yīng)商發(fā)送的網(wǎng)頁。所述后綴代理可被配 置為檢查和/或反編譯任何內(nèi)容來標(biāo)識在內(nèi)容中存在的任何提到的頁面和/或URL并重寫那 些 URL。
      [0045]在一些情況下,檢查將要求執(zhí)行在客戶端和SaaS供應(yīng)商之間傳送的代碼或腳本。 例如,JavaScript可在所述后綴代理處被模擬以檢測將會直接訪問所述SaaS供應(yīng)商的網(wǎng)絡(luò) 地址的生成。若在所述內(nèi)容中標(biāo)識出直接訪問地址,所述內(nèi)容可被修改以重寫所述地址來 指代所述網(wǎng)絡(luò)代理。
      [0046] 安全性:SaaS服務(wù)鎖定
      [0047]所述系統(tǒng)可以被配置為限制僅通過受管網(wǎng)絡(luò)代理訪問SaaS服務(wù)。所述系統(tǒng)可以包 括用于這種鎖定的多種技術(shù),并且所選的技術(shù)可以依賴于部署方法,如下將詳細(xì)描述的。在 創(chuàng)建會話時或在此后的任何時間可以鎖定網(wǎng)絡(luò)流量。會話的發(fā)起將在下面更詳細(xì)地描述。 [0048]鎖定方法1:憑證替代
      [0049] 在一些環(huán)境中,SaaS供應(yīng)商可以使用安全斷言標(biāo)記語言(SAML)。在那些環(huán)境中, SAML令牌替代可以被用于鎖定網(wǎng)絡(luò)連接。例如,SAML令牌可以是5分鐘有效的。當(dāng)SAML代理 被配置時,用戶僅可以通過受管網(wǎng)絡(luò)SAML代理來訪問所述服務(wù)。
      [0050] 瀏覽器cookie替代可以被用于鎖定網(wǎng)絡(luò)連接。當(dāng)用戶認(rèn)證SaaS供應(yīng)商時,該SaaS 供應(yīng)商發(fā)送cookie給用戶。被發(fā)送的cookie可以是由SaaS供應(yīng)商所使用的指示該用戶是否 登錄以及該用戶用哪個賬號登錄的認(rèn)證cookie。因?yàn)槭芄芫W(wǎng)絡(luò)代理是在該用戶和SaaS供應(yīng) 商之間,它可以截取并加密由SaaS供應(yīng)商發(fā)送的用戶瀏覽器cookie。隨后,受管網(wǎng)絡(luò)代理可 以發(fā)送經(jīng)加密的cookie給用戶以供存儲在用戶的設(shè)備上。這樣,該用戶僅僅保留有cookie 的經(jīng)加密版本,該版本不能由原始SaaS站點(diǎn)上的客戶端直接使用。當(dāng)通過受管代理網(wǎng)絡(luò)被 使用時,所述cookie被從客戶端設(shè)備發(fā)送到代理網(wǎng)絡(luò),在代理網(wǎng)絡(luò)中被解密,并被發(fā)送給原 始站點(diǎn)。在一些情況中,由SaaS供應(yīng)商所生成的cookie可以被加密或包含經(jīng)加密的內(nèi)容。在 這些情況中,受管網(wǎng)絡(luò)代理可以在將cookie發(fā)送給客戶端之前向它添加附加的加密層。 [0051 ]類似于瀏覽器cookies可被替代的方式,OAuth令牌(或任何其他持久的API令牌) 也可以被內(nèi)聯(lián)替代。受管網(wǎng)絡(luò)代理可以跟蹤客戶端對令牌(例如由移動應(yīng)用所使用的OAuth 令牌)的請求并用經(jīng)加密的版本替換它們。這允許實(shí)施跨附加認(rèn)證場景的服務(wù)鎖定。
      [0052] 受管網(wǎng)絡(luò)代理還可以代理用戶密碼。這種技術(shù)可以被應(yīng)用到任何SaaS服務(wù)。在一 些實(shí)施例中,當(dāng)不支持SAML時,可以使用密碼代理。為了實(shí)現(xiàn)這操作,SaaS服務(wù)密碼可以被 拆分成兩個或更多部分。用戶知道少于密碼的所有部分的部分。受管網(wǎng)絡(luò)代理服務(wù)保存該 密碼的剩余部分。在這種布置中,完整的密碼可以僅當(dāng)用戶通過受管網(wǎng)絡(luò)代理服務(wù)訪問 SaaS服務(wù)時才可被構(gòu)成。所述技術(shù)不需要受管網(wǎng)絡(luò)代理服務(wù)存儲用戶密碼。例如,將散列后 綴加入到所有密碼要求僅僅存儲單個散列密鑰。
      [0053] 可以通過受管網(wǎng)絡(luò)代理服務(wù)監(jiān)視用戶對改變SaaS應(yīng)用中的密碼的任何努力,并且 用戶可以被允許設(shè)置部分密碼。在一些實(shí)施例中,用戶僅被允許設(shè)置密碼的一半。當(dāng)密碼被 配置時,任何對密碼的改變的請求(例如"忘記我的密碼"鏈接)可以由網(wǎng)絡(luò)代理來監(jiān)視,并 且網(wǎng)絡(luò)代理可以被配置為對新密碼進(jìn)行散列。
      [0054]鎖定方法2:訪問限制
      [0055] 在一些情況中,SaaS應(yīng)用可以被配置為允許網(wǎng)際協(xié)議(IP)地址限制特征,并且因 此將訪問僅限于與網(wǎng)絡(luò)代理服務(wù)相關(guān)聯(lián)的網(wǎng)際協(xié)議(IP)地址。
      [0056]附加安全性功能
      [0057]受管網(wǎng)絡(luò)代理服務(wù)可以被配置為支持附加安全性功能。作為非限制性示例,網(wǎng)絡(luò) 代理可以被用于執(zhí)行用戶活動的審核,由此,任何用戶動作可以被解析和/或從流量流進(jìn)行 審核。網(wǎng)絡(luò)代理可以在策略實(shí)施中使用。例如,代理服務(wù)可以被用于訪問控制以禁止特定操 作;用于通過基于用戶的上下文、設(shè)備、位置、動作、內(nèi)容和/或速度執(zhí)行數(shù)據(jù)丟失保護(hù)(DLP) 策略來進(jìn)行數(shù)據(jù)丟失保護(hù);用于動態(tài)掩碼;以及用于加水印。還可以使用威脅特性邏輯來檢 測和/或阻止網(wǎng)絡(luò)威脅。
      [0058] 受管網(wǎng)絡(luò)代理服務(wù)可以被配置為提供增強(qiáng)的文件保護(hù)服務(wù)。在一些實(shí)施例中,網(wǎng) 絡(luò)代理服務(wù)可以支持與基于網(wǎng)絡(luò)的文件存儲服務(wù)的集成。這些類型的服務(wù)的非限制性示例 包括Google? Drivedropbox?等。網(wǎng)絡(luò)代理協(xié)議可以被配置為防止用戶從SaaS供應(yīng)商檢 索文件并將它們本地地存儲在用戶的設(shè)備上。這可以被稱為"總在云中"策略。在一些實(shí)施 例中,這可以被配置為在用戶會話期間動態(tài)地改變和重定向信息流,這樣,文件不在SaaS應(yīng) 用和用戶的設(shè)備之間或不在各SaaS應(yīng)用之間被傳送。在一些情況中,代替下載文件,可以將 文件的版本顯示給用戶。
      [0059] Web 上的 VPN
      [0060] 代理服務(wù)可以被配置為允許對企業(yè)內(nèi)聯(lián)網(wǎng)的安全訪問。當(dāng)在網(wǎng)絡(luò)代理服務(wù)處認(rèn)證 了用戶后,該用戶可以(使用例如HTTP(S))訪問web上的內(nèi)聯(lián)網(wǎng)站點(diǎn)。該方法不需要在設(shè)備 上的專用VPN客戶端。在發(fā)起連接后,網(wǎng)絡(luò)代理服務(wù)打開VPN連接并用作用于HTTP (S)內(nèi)聯(lián)網(wǎng) 站點(diǎn)的反向代理。諸如用戶審核、警告和文件保護(hù)之類的其他特征可以在VPN連接上實(shí)施。 [0061 ]部署方法
      [0062]所述系統(tǒng)可以通過任意各種手段、單獨(dú)地或組合地被部署。在一些配置中,所述系 統(tǒng)可以在無需任何客戶端的配置的情況下被部署。在其他配置中,取代在SaaS處的配置或 除了在SaaS處的配置之外,可以配置客戶端。
      [0063]透明部署方法
      [0064]所述系統(tǒng)可以包括通過受管網(wǎng)絡(luò)代理在用戶和SaaS供應(yīng)商之間透明地轉(zhuǎn)發(fā)流量 的技術(shù)。在這些實(shí)施例中,對SaaS應(yīng)用的訪問可以被限制為僅該代理的用戶。這些技術(shù)允許 在無需在用戶設(shè)備或用戶的局域網(wǎng)上安裝的情況下的安全控制的操作。該技術(shù)可以以全局 為基礎(chǔ)被用于SaaS供應(yīng)商所主存的所有應(yīng)用。
      [0065] A.透明認(rèn)證代理(認(rèn)證層)
      [0066]通過利用對安全斷言標(biāo)記語言(SAML)的內(nèi)建支持或云服務(wù)中的類似協(xié)議,用戶可 以被自動重定向到受管網(wǎng)絡(luò)代理服務(wù)器,而無需客戶端側(cè)上的任何配置。例如,SAML是一種 允許安全web域交換用戶認(rèn)證和授權(quán)數(shù)據(jù)的XML標(biāo)準(zhǔn)。使用SAML,在線服務(wù)供應(yīng)商可以聯(lián)系 分開的在線身份供應(yīng)商以認(rèn)證正嘗試訪問安全內(nèi)容的用戶。
      [0067]作為非限制性示例,這種技術(shù)可以與支持SAML的SaaS服務(wù)以及已經(jīng)具有外部SAML 供應(yīng)商的公司一起使用。在這些情況中,受管通信網(wǎng)絡(luò)代理可以被配置作為SAML供應(yīng)商,并 且代理服務(wù)隨后使用原始的SAML供應(yīng)商來執(zhí)行所述認(rèn)證。當(dāng)成功認(rèn)證后,用戶通過由網(wǎng)絡(luò) 代理服務(wù)所提供的后綴代理被重定向到SaaS供應(yīng)商。(后綴代理服務(wù)在以下更詳細(xì)地描 述。)
      [0068] SaaS應(yīng)用的訪問控制特征可以被用于將訪問限制于后綴代理的用戶。SAML代理還 可以被用于安裝瀏覽器插件以取代重定向到后綴代理。在這種情況中,插件將把流量透明 地引導(dǎo)到網(wǎng)絡(luò)代理服務(wù),并且將使用反向代理來取代后綴代理。除了 SAML之外,受管通信網(wǎng) 絡(luò)代理可以被配置為與具有類似功能的其他協(xié)議互操作。例如,WS-Federation?可以被用 在與Off ice 365?服務(wù)的連接中。
      [0069]在圖3中示出并描述了使用SAML的示例認(rèn)證方法。
      [0070] B.透明自IDP供應(yīng)(認(rèn)證層)
      [0071]自IDP供應(yīng)可以被用于取代單個簽到解決方案。這是一種SAML代理方法的變形,其 中用戶被重定向到受管SAML代理服務(wù),但認(rèn)證過程由受管通信網(wǎng)絡(luò)代理服務(wù)來執(zhí)行??墒?用登錄代理。在用戶登錄請求之后,受管網(wǎng)絡(luò)SAML代理查詢原始SAAS服務(wù)以驗(yàn)證用戶憑證。 使用密碼同步,通過安裝密碼同步工具,網(wǎng)絡(luò)代理服務(wù)可以用作自組織SAML供應(yīng)商,所述工 具將來自活動目錄(或任何其他LDAP目錄)的用戶密碼與受管網(wǎng)絡(luò)SAML代理同步。
      [0072] C.透明網(wǎng)關(guān)代理(流量層)
      [0073]該技術(shù)可以被應(yīng)用到任何SaaS服務(wù),并且在SaaS服務(wù)不支持SAML的情況下尤其適 用。當(dāng)訪問SaaS服務(wù)時,用戶可以被指令適用不同的URL WRL通過受管網(wǎng)絡(luò)代理服務(wù)重定向 所述用戶。該配置可以適用SaaS應(yīng)用的訪問控制特征來將訪問限制于后綴代理的用戶。所 述訪問控制特征可以被允許為將訪問限制到僅針對位于受管通信網(wǎng)絡(luò)代理服務(wù)中的IP地 址。
      [0074]非-透明部署方法
      [0075]通過使用對用戶的設(shè)備的安裝或配置改變以便通過受管通信網(wǎng)絡(luò)代理服務(wù)重定 向所述流量,可以單獨(dú)地配置移動和桌面應(yīng)用。
      [0076] A. SAML代理:使用上述SAML代理,用戶可以被重定向到請求用戶安裝和/或配置設(shè) 備以與受管通信網(wǎng)絡(luò)代理服務(wù)進(jìn)行通信的頁面。
      [0077] B.桌面應(yīng)用(流量層):大多數(shù)桌面應(yīng)用支持所述系統(tǒng)代理配置。PAC文件可以針對 受管設(shè)備被自動配置并針對未受管設(shè)備被用戶配置。PAC受主要的操作系統(tǒng)(OSes)、瀏覽器 和應(yīng)用所支持,并且可以被部署在使用分組策略對象(GP0)的視窗域環(huán)境中。PAC文件可以 被配置成僅允許通過受管代理網(wǎng)絡(luò)平臺的SaaS流量,并且用戶因特網(wǎng)流量的剩余部分可以 在無需改變的情況下被直接路由。
      [0078] C.移動應(yīng)用(流量層):類似于用于受管設(shè)備的PAC方法,移動設(shè)備可以要求在設(shè)備 上的VPN或APN的安裝以及受管代理網(wǎng)絡(luò)證書。
      [0079] 應(yīng)用專用解決方案:一些應(yīng)用具有允許無縫重定向的特定配置選項(xiàng)。例如,使用 Out look自動發(fā)現(xiàn)特征,Out look客戶端被自動重定向到受管代理網(wǎng)絡(luò)Out look代理。
      [0080] 用于受管網(wǎng)絡(luò)和設(shè)備的部署方法
      [0081] 在一些實(shí)施例中,受管網(wǎng)絡(luò)代理可以被嵌入在用戶場所上的設(shè)備中。在其他實(shí)施 例中,受管網(wǎng)絡(luò)代理功能可以通過web瀏覽器插件來實(shí)現(xiàn)。網(wǎng)絡(luò)插件可以被配置為如同PAC 文件那樣工作,其中在瀏覽器中檢測到SaaS應(yīng)用后,流量被重定向到受管代理網(wǎng)絡(luò)。
      [0082] 一些實(shí)施例可以被配置為使用代理鏈,由此,現(xiàn)有的機(jī)構(gòu)代理被配置為通過受管 通信網(wǎng)絡(luò)代理服務(wù)基礎(chǔ)構(gòu)架轉(zhuǎn)發(fā)SaaS-綁定請求。這些實(shí)施例可以可選地包括具有轉(zhuǎn)發(fā)的 請求的機(jī)構(gòu)標(biāo)識符(用戶名和/或IP)。
      [0083] 在一些實(shí)施例中,可使用PAC文件。PAC可以通過機(jī)構(gòu)被部署。PAC可以被用于將 SaaS應(yīng)用重定向到受管通信網(wǎng)絡(luò)代理服務(wù)。這可以基于SaaS供應(yīng)商的數(shù)據(jù)庫。可以使用具 有基于域名的域到樹的經(jīng)編譯列表的有效PAC。
      [0084] 在上述這些配置中的任意配置中,平臺可以被動態(tài)地部署在特定用戶或用戶組 上,由此允許漸進(jìn)部署。這可以基于SAML代理,例如,通過僅重新路由一些用戶來完成。 [0085]系統(tǒng)可用性
      [0086] 如在圖4中所示,平臺可以包括多個不同的網(wǎng)絡(luò),所述網(wǎng)絡(luò)包括全局分布(例如如 所示的在5個中心中)以減少等待時間的代理節(jié)點(diǎn)。用戶可以被路由到最近的節(jié)點(diǎn)或另一個 最優(yōu)節(jié)點(diǎn)。系統(tǒng)可以包括在節(jié)點(diǎn)之間的自動DNS故障轉(zhuǎn)移。任何節(jié)點(diǎn)可以用作策略實(shí)施點(diǎn)并 創(chuàng)建審核日志。作為非限制性示例,后端網(wǎng)絡(luò)可以是包含中央數(shù)據(jù)庫和后端服務(wù)器的AWS虛 擬私有云(VPC)。
      [0087] DNS高可用性
      [0088]圖5示出顯示了失效啟動路由的示例網(wǎng)絡(luò)代理體系架構(gòu)。代理節(jié)點(diǎn)網(wǎng)絡(luò)可以使用 DNS服務(wù)器來實(shí)現(xiàn)高可用性。DNS記錄可以被設(shè)定一個非常短的生存時間(TTL)(例如30秒), 迫使客戶端有規(guī)律地查詢DNS服務(wù)器以查找更新(查詢時間可以依據(jù)瀏覽器高速緩存設(shè)置 而變化)。服務(wù)器將客戶端引導(dǎo)到最近的可用節(jié)點(diǎn)(Geo-DNS),并且在節(jié)點(diǎn)故障的情況下,可 以檢測問題并將客戶端無縫地重定向到其他可用的節(jié)點(diǎn)。
      [0089] DNS服務(wù)自身的可用性可以影響所述行為。例如,通過Amazon的Route53被認(rèn)為是 一種保證高可用性的成熟且高度可用的系統(tǒng)。在DNS服務(wù)器自身故障的情形中,該系統(tǒng)可以 被配置為失效啟動。
      [0090] 自主節(jié)點(diǎn)
      [0091] 可以在各種全局區(qū)域中成群地構(gòu)建代理節(jié)點(diǎn)。一些或所有的所述節(jié)點(diǎn)可以同時在 線并服務(wù)消費(fèi)者。在故障的情況下,節(jié)點(diǎn)是無狀態(tài)的,允許該系統(tǒng)在無需任何服務(wù)中斷的情 況下在節(jié)點(diǎn)之間移動用戶。
      [0092] 節(jié)點(diǎn)可以是自主的且應(yīng)變的。如圖6所示,可由負(fù)載平衡器群集和多個(例如2或3 個)代理節(jié)點(diǎn)組成代理節(jié)點(diǎn)。一些中央節(jié)點(diǎn)可以依賴于由允許甚至更大的復(fù)原性的云供應(yīng) 商自身所提供的外部負(fù)載平衡器(例如ELB和RackSpace)。每個節(jié)點(diǎn)可以在無需對平臺的其 他部件有任何依賴性的情況下自主地起作用。與后端網(wǎng)絡(luò)的通信可以使用中介消息來執(zhí)行 并且被異步完成。在后端故障的情況下,消息可以被內(nèi)部地存儲在大小被封頂?shù)年犃?(capped sized queue)中,并且節(jié)點(diǎn)自身的操作不受影響。在圖6中所示的示例實(shí)施例中, 可由負(fù)載平衡器群集和多個代理服務(wù)器組成每個節(jié)點(diǎn)??梢源嬖诙鄠€中央節(jié)點(diǎn)(例如美國 西部、美國東部、歐洲和中東),所述中央節(jié)點(diǎn)使用具有內(nèi)建的分布式拒絕服務(wù)(DDoS)保護(hù) 的外部負(fù)載平衡器(例如AWS和Rackspace負(fù)載平衡器)(所述負(fù)載平衡器路由流量并且可能 不執(zhí)行SSL終止)。在DDoS攻擊的情況下,流量可以被自動地路由到最接近的中央節(jié)點(diǎn)。 [00 93]故障轉(zhuǎn)移場景
      [0094]所述系統(tǒng)可以被配置為處理許多不同的故障轉(zhuǎn)移場景。一些可能的場景和解決方 案如下所述。
      [0095]單個機(jī)器故障轉(zhuǎn)移:在這種情況中,DNS路由請求到最近節(jié)點(diǎn)。每個節(jié)點(diǎn)獨(dú)立地工 作并且內(nèi)部地處理故障轉(zhuǎn)移。
      [0096]內(nèi)部過程的故障:從機(jī)器層開始完整冗余,其中每個關(guān)鍵的過程由看門狗守衛(wèi)并 立刻被重啟。關(guān)鍵過程具有一個不斷運(yùn)行的實(shí)例。所有的非關(guān)鍵操作被異步執(zhí)行。
      [0097]代理服務(wù)器的故障:將把流量驅(qū)使到節(jié)點(diǎn)中的其他代理。
      [0098] 負(fù)載平衡器服務(wù)器的故障:將使得所有的流量經(jīng)過群集中的第二負(fù)載平衡器。
      [0099] 單個代理節(jié)點(diǎn)故障轉(zhuǎn)移:單個節(jié)點(diǎn)故障可能是由數(shù)據(jù)中心停機(jī)或ISP連接性問題 引起的。在節(jié)點(diǎn)響應(yīng)失敗的情況下,DNS故障轉(zhuǎn)移將把流量路由到下一可用節(jié)點(diǎn)而無需用戶 干預(yù)。
      [0100] 區(qū)域故障轉(zhuǎn)移:即使是在影響多個節(jié)點(diǎn)的區(qū)域問題的情況下,系統(tǒng)還將繼續(xù)正常 的操作。DNS故障轉(zhuǎn)移將把流量路由到在其他區(qū)域中的剩余的運(yùn)行節(jié)點(diǎn)。來自受影響區(qū)域的 用戶可能經(jīng)歷比普通情況下更高的等待時間,但程度上較輕。
      [0101] 中央節(jié)點(diǎn)故障轉(zhuǎn)移:雖然DNS服務(wù)器執(zhí)行在可用節(jié)點(diǎn)之間的負(fù)載破壞,但非尋常的 波峰可能引起影響輔助節(jié)點(diǎn)的連鎖反應(yīng)。出于這個原因,在多個故障的情況下,流量被路由 到中央節(jié)點(diǎn),其被特別設(shè)計為處理非尋常的流量波峰。
      [0102] 附加特征
      [0103] 受管網(wǎng)絡(luò)代理服務(wù)可以被配置為附加地提供與商業(yè)分析、采用統(tǒng)計、特征使用率、 許可證利用率、用戶參與以及服務(wù)級協(xié)定(SLA)監(jiān)視有關(guān)的度量,作為非限制性示例。
      [0104] 所述服務(wù)還可以包括用于SaaS服務(wù)的命令和控制中心、警告中心以及使用統(tǒng)計中 心。所述服務(wù)可以執(zhí)行角色實(shí)施以根據(jù)用戶的角色和鄰域?qū)嵤┦沟脭?shù)據(jù)對每個用戶可訪 問。服務(wù)可以根據(jù)預(yù)定日常使用模式執(zhí)行動態(tài)SSL合并以維護(hù)到SaaS供應(yīng)商的幾個后端連 接。
      [0105] 在圖7-10中示出了用于受管網(wǎng)絡(luò)代理服務(wù)和其他特征的示例管理控制臺。
      [0106]威脅檢測邏輯
      [0107] 使用如上所述的系統(tǒng)和方法,在聯(lián)網(wǎng)SaaS供應(yīng)商和客戶端設(shè)備之間的網(wǎng)絡(luò)流量可 以在代理節(jié)點(diǎn)處被截取。代理節(jié)點(diǎn)可以進(jìn)一步被配置為使用威脅檢測邏輯分析各種威脅指 示符的流量。
      [0108] 在圖11中示出了用于威脅檢測的方法的概覽。安全性網(wǎng)關(guān)(1011)可以被實(shí)現(xiàn)為在 一個或多個代理節(jié)點(diǎn)(1010)中的算法例程,通過所述代理節(jié)點(diǎn)可以承載用戶的網(wǎng)絡(luò)流量。 或者,安全性網(wǎng)關(guān)可以通過單獨(dú)的設(shè)備來實(shí)現(xiàn),所述設(shè)備承載流量。用戶流量可以在任何連 接到代理節(jié)點(diǎn)的源與目的地之間。用戶的非限制性示例可以是場所用戶、因特網(wǎng)用戶、伴侶 用戶或移動用戶。
      [0109] 安全性網(wǎng)關(guān)(1011)可以被配置為從用戶流量中提取各種參數(shù)。提供了下述非限制 性的示例。安全性網(wǎng)關(guān)可以被配置為提取描述用戶設(shè)備的信息。作為非限制性示例,設(shè)備參 數(shù)可以包括設(shè)備的類型,例如iPad或Surface平板,設(shè)備的操作系統(tǒng),例如Windows RT或 iOS、和/或正在使用的web瀏覽器,例如Chrome或Explorer。安全性網(wǎng)關(guān)可以被配置為提取 描述用戶設(shè)備的位置的信息。位置信息可以描述物理/地理位置和/或網(wǎng)絡(luò)上的邏輯位置。 安全性網(wǎng)關(guān)可以被配置為提取與正由用戶采取的動作(例如對數(shù)據(jù)的請求)和/或SaaS平臺 的響應(yīng)(例如發(fā)送所請求的數(shù)據(jù))有關(guān)的信息。安全性網(wǎng)關(guān)還可以被配置為提取與用戶的設(shè) 備的身份(除了其類型之外)、用戶的活動的時間以及用戶的動作消費(fèi)的帶寬有關(guān)的信息。
      [0110] 安全性網(wǎng)關(guān)還可以被配置為檢測并標(biāo)識正由用戶使用以連接到SaaS供應(yīng)商的任 何通信設(shè)備。設(shè)備標(biāo)識可以與用戶的訪問歷史相結(jié)合地被記入到日志,使得個體SaaS會話 可以與用于該會話的特定設(shè)備相關(guān)聯(lián)。存儲的標(biāo)識信息可以包括國際移動設(shè)備標(biāo)識符 (MEI )、電話號碼、媒體訪問控制(MAC)地址、因特網(wǎng)(IP)協(xié)議地址或其他唯一或順序唯一 標(biāo)識信息。該設(shè)備標(biāo)識信息可以跨多個用戶會話被跟蹤和/或與相關(guān)聯(lián)的用戶簡檔相結(jié)合 地存儲。隨后可以執(zhí)行后續(xù)查詢以確定哪個設(shè)備被給定用戶用于在單個會話中或跨多個會 話地訪問給定的SaaS服務(wù)。
      [0111] 流量參數(shù)可以被輸入到檢測模塊(1012)。檢測模塊還可以基于來自用戶簡檔數(shù)據(jù) 存儲的用戶簡檔信息接收輸入。用戶簡檔信息可以處理關(guān)于其流量正被分析的用戶的信 息。作為非限制性示例,用戶信息可以源自檢測模塊。檢測模塊還可以從包括諸如關(guān)于特定 安全性威脅的信息之類的其他信息的知識庫接收輸入。在優(yōu)選實(shí)施例中,知識庫可以包括 作為組件的云服務(wù)索引(1015)。在一些實(shí)施例中,檢測模塊(1012)可以作為安全性網(wǎng)關(guān) (1011)的一個組件被包括。在替換實(shí)施例中,檢測模塊(1012)可以是與安全性網(wǎng)關(guān)(1011) 通信的單獨(dú)組件。
      [0112] 威脅檢測模塊(1012)可以包括簡檔創(chuàng)建引擎、基于距離的異常引擎以及基于統(tǒng)計 的異常引擎。統(tǒng)計異常引擎可以被配置為基于短期和/或長期的統(tǒng)計信息做出威脅評估。每 個引擎可以接收如上所述的任何或全部流量參數(shù)。每個引擎還可以接收源自其他引擎的輸 入。
      [0113] 異常引擎
      [0114]所述異常引擎可以被配置為檢測特定異常操作、一系列異常操作和/或異常操作 的模式。例如,引擎可以被配置為基于正由SaaS供應(yīng)商的用戶所執(zhí)行的特定操作被執(zhí)行得 比在它將被執(zhí)行的學(xué)習(xí)時間預(yù)測上所獲取的歷史數(shù)據(jù)更加頻繁(例如更高的操作頻率)或 所述連接具有新的源或目的地位置來確定它是否是可疑的。異常引擎也可以被配置為確定 通過用戶的操作序列是否是可疑的。在一些情況中,個體操作可能是非可疑的。但是,當(dāng)該 操作與另一個操作成序列執(zhí)行時,該組操作可能是可疑的。例如用戶可以與SaaS供應(yīng)商進(jìn) 行認(rèn)證,并隨后開始向系統(tǒng)外傳輸文件。作為一個示例,異常引擎可以被配置為標(biāo)識該序列 為可疑的。這樣,可疑流量的異常檢測可以基于可能由許多操作構(gòu)成的活動序列。異常引擎 也可以被配置為確定非序列的操作的模式是否是可疑的。在可疑模式檢測中,異常引擎可 以被配置為檢查序列外并在任意時間周期上所采取的行動。個體操作、操作序列以及操作 的模式的可疑性可以基于在此所述的任何參數(shù)來確定。
      [0115]可以基于將一個或多個參數(shù)與先前存儲的簡檔信息進(jìn)行比較來檢測異常。作為非 限制性示例,簡檔信息可以包括:位置、活動時間(一天中的小時、星期幾等)、設(shè)備使用率、 用戶-代理(類型和版本)、行動/請求的頻率、所執(zhí)行的行動的類型、所執(zhí)行的行動的順序、 所訪問的信息的類型、流量帶寬、會話特性(長度、空閑時間等)和/或HTTP請求特性(哪些資 源被訪問、方法、標(biāo)題、大寫等)。
      [0116]云服務(wù)索引
      [0117]威脅檢測邏輯可以包括云服務(wù)索引(1015),該云服務(wù)索引包括將任何給定SaaS供 應(yīng)商的SaaS應(yīng)用風(fēng)險因子進(jìn)行組合的參數(shù)集。示例參數(shù)集被示出在圖12中。風(fēng)險等級評估 可以基于來自一些或所有源的信息,包括但不限于:
      [0118] 1.由SaaS供應(yīng)商提供的關(guān)于源自(作為非限制性示例)白皮書、證書等的其安全性 策略的ig息。
      [0119] 2.獨(dú)立的關(guān)于SaaS供應(yīng)商、客戶端和其他環(huán)境因子的搜索;和/或
      [0120] 3.由檢測模炔基于對由安全性網(wǎng)關(guān)所截取的流量的分析所標(biāo)識的在客戶端SaaS 應(yīng)用上的弱點(diǎn)和/或攻擊的歷史。
      [0121] 所述風(fēng)險可以相對于一個或多個軸被測量,包括但不限于:
      [0122] 1.數(shù)據(jù)風(fēng)險:強(qiáng)加在數(shù)據(jù)上的SaaS所具有的風(fēng)險,例如多承租人和使用非加密數(shù) 據(jù);
      [0123] 2.用戶/設(shè)備風(fēng)險:由相連的用戶和設(shè)備所強(qiáng)加的風(fēng)險,包括例如認(rèn)證質(zhì)量、匿名 使用能力等;
      [0124] 3.服務(wù)風(fēng)險:強(qiáng)加在服務(wù)供應(yīng)商網(wǎng)絡(luò)上的風(fēng)險,例如供應(yīng)商所聲稱執(zhí)行的安全性 實(shí)踐的質(zhì)量、web應(yīng)用安全性等級、弱點(diǎn)管理等;以及
      [0125] 4.商業(yè)風(fēng)險:供應(yīng)商允許給予其客戶端的控制以及這些控制措施保護(hù)服務(wù)的使用 的能力,包括例如審核能力、企業(yè)管理控制和操作實(shí)踐。
      [0126] 示例風(fēng)險因子的列表在圖12中提供。如在表中所示,可以給予其軸、類別、屬性、描 述、屬性值和/或索引值(例如分?jǐn)?shù)或加權(quán))被標(biāo)識。
      [0127] 標(biāo)識和簡檔創(chuàng)建引擎
      [0128] 威脅檢測邏輯可以包括用于用戶和設(shè)備標(biāo)識和簡檔創(chuàng)建的模塊(1013)。簡檔創(chuàng)建 模塊可以使用截取的憑證來標(biāo)識當(dāng)前用戶。所述模塊可以基于被動流量記錄以標(biāo)識一些或 所有的下述特性來執(zhí)行機(jī)構(gòu)和用戶簡檔創(chuàng)建:
      [0129] 機(jī)構(gòu)層次和行為,包括單個用戶使用模式;
      [0130]公司角色,檢測管理員、經(jīng)理和/或不同的部門;
      [0131] 公司位置,檢測不同的分部和/或辦公室位置和/或雇員的家位置;
      [0132] 在該天的各小時、該周中的各天、該年中的各月以及公司層面和/或單個用戶層面 的特殊場合上的用戶活動分布;以及
      [0133] 日常用戶事務(wù),包括日常位置、活動時間、應(yīng)用和使用模式。
      [0134] 設(shè)備標(biāo)識和簡檔創(chuàng)建模塊還可以被配置為基于來自下述的信息跨會話和瀏覽器 地區(qū)分并標(biāo)識用戶設(shè)備:
      [0135] 跟蹤具有指定會話cookie的會話,所述指定會話cookie持有設(shè)備身份、用戶身份 以及用戶登錄到的任何SaaS應(yīng)用的會話信息;
      [0136] 到頁面的JavaScript植入,以便標(biāo)識通過代理進(jìn)行訪問的設(shè)備;
      [0137] 從同一設(shè)備的不同瀏覽器管理的對鏈接會話的跨瀏覽器存儲;以及
      [0138] 保持會話、設(shè)備和它們之間的鏈接的跟蹤的統(tǒng)一身份數(shù)據(jù)庫。
      [0139] 反饋
      [0140]威脅特性邏輯可以包括構(gòu)建用于安全性警告的受監(jiān)督學(xué)習(xí)模型的方法。所述系統(tǒng) 可以收集對警告的反饋、使IT和雇員兩者都參與并通過查詢可疑模式的用戶來動態(tài)構(gòu)建用 戶簡檔,和/或如果用戶表現(xiàn)為可疑的(例如欺詐用戶),使監(jiān)督者參與。
      [0141] 虛擬網(wǎng)絡(luò)
      [0142] 在優(yōu)選實(shí)施例中,上述系統(tǒng)可以與單獨(dú)的虛擬網(wǎng)絡(luò)(1020)通信,在該虛擬網(wǎng)絡(luò)中, 模擬機(jī)構(gòu)在各種SaaS應(yīng)用上執(zhí)行活動并由安全性網(wǎng)關(guān)進(jìn)行監(jiān)視。在該實(shí)施例中,虛擬網(wǎng)絡(luò) 可以是被維護(hù)用于研究和測試目的的隔離網(wǎng)絡(luò)。在其他實(shí)施例中,虛擬網(wǎng)絡(luò)可以被合并入 操作網(wǎng)絡(luò)監(jiān)視和威脅檢測系統(tǒng)。模擬機(jī)構(gòu)特性和使用模式可以通過來自真實(shí)機(jī)構(gòu)的信息被 校準(zhǔn),隨后由安全性網(wǎng)關(guān)記錄。異常可以被隨機(jī)插入到模擬流量中以測試檢測模塊。異常可 以表示可疑的行為模式或攻擊??梢詮母鞣N源收集異常,包括由安全性網(wǎng)關(guān)所記錄的實(shí)際 異常以及在自然環(huán)境下存在并被獨(dú)立的研究所發(fā)現(xiàn)的異常。
      [0143] 虛擬網(wǎng)絡(luò)可以被用于在將來的安全性特征上執(zhí)行研究,并在壓力下測試系統(tǒng)的不 同組件并測量假肯定和假否定率。
      [0144] 虛擬網(wǎng)絡(luò)可以包括虛擬客戶端(1021)以及安全性網(wǎng)關(guān)(1022)、檢測模塊(1023)以 及警告引擎(1024)的單獨(dú)的安裝。要在警告引擎(1014)中做出的改變可以首先在虛擬警告 引擎(1024)中被測試。
      [0145] 風(fēng)險/威脅加權(quán)
      [0146] 如在圖12所提供的示例中所指示的,所標(biāo)識的風(fēng)險可以與云服務(wù)索引(1015)中的 索引值相關(guān)聯(lián)。該索引值可以被用于相對于彼此加權(quán)風(fēng)險因子。在一些實(shí)施例中,多個風(fēng)險 因子可以被一起評估。作為非限制性示例,在網(wǎng)絡(luò)流量中的一個時間周期上所標(biāo)識的威脅 的索引值可以相加在一起以提供數(shù)字值威脅指示符。
      [0147] 響應(yīng)性行動
      [0148] 風(fēng)險加權(quán)可以被提供給檢測模塊(1012)和/或警告引擎(1014)。檢測模塊隨后可 以完全或部分基于加權(quán)的信息在網(wǎng)絡(luò)流量上采取行動,并且警告引擎可以隨后對客戶端 (1001)或?qū)aaS供應(yīng)商(1030)做出警告。在一些實(shí)施例中,檢測模塊可以基于檢測模塊 (1012)的輸出把丟棄正從SaaS供應(yīng)商(1030)發(fā)送到客戶端(1001)的包的指令提供給安全 性網(wǎng)關(guān)(1011)。
      [0149] 發(fā)現(xiàn)模塊體系架構(gòu)
      [0150] 在一些實(shí)施例中,發(fā)現(xiàn)模塊可以被配置為檢測在基于網(wǎng)絡(luò)的軟件即服務(wù)(SaaS)供 應(yīng)商與客戶機(jī)之間的網(wǎng)絡(luò)流量。在這些實(shí)施例中,在還未為客戶端設(shè)備或網(wǎng)絡(luò)設(shè)置任何控 制或限制的情況下,當(dāng)該客戶端計算設(shè)備通過公共網(wǎng)絡(luò)(例如因特網(wǎng))被連接到SaaS供應(yīng)商 時,該系統(tǒng)能夠被配置為在SaaS供應(yīng)商與該客戶端計算設(shè)備之間的這樣的流量上進(jìn)行操 作。在這些實(shí)施例的一些中,客戶端設(shè)備的無配置是必需的。發(fā)現(xiàn)模塊可以包括SaaS應(yīng)用數(shù) 據(jù)庫,其內(nèi)容在下面將更加詳細(xì)地描述。
      [0151] 在這些實(shí)施例的一些中,發(fā)現(xiàn)模塊可以以受管通信網(wǎng)絡(luò)代理的形式被實(shí)現(xiàn)。盡管 在此對代理做出參考,但可以理解所述代理可以以一個或多個網(wǎng)絡(luò)設(shè)備的形式來實(shí)現(xiàn)。而 且,受管網(wǎng)絡(luò)代理可以被分散,并且受管網(wǎng)絡(luò)代理的功能分布在不同的地理區(qū)域中的多個 機(jī)器上。
      [0152] 在其他實(shí)施例中,發(fā)現(xiàn)模塊可以不被配置為直接檢測在基于網(wǎng)絡(luò)的軟件即服務(wù) (SaaS)供應(yīng)商與客戶端之間通過的網(wǎng)絡(luò)流量。在這些實(shí)施例中,發(fā)現(xiàn)模塊可以從網(wǎng)絡(luò)上的 任何設(shè)備發(fā)起SaaS發(fā)現(xiàn)活動。發(fā)現(xiàn)模塊可以包括小程序(applet)服務(wù)器以及SaaS應(yīng)用數(shù)據(jù) 庫,其內(nèi)容在下面將更加詳細(xì)地描述。
      [0153] SaaS環(huán)境的發(fā)現(xiàn)
      [0154] 發(fā)現(xiàn)模塊(無論是駐留在獨(dú)立設(shè)備上還是在網(wǎng)絡(luò)代理中)可以被配置為標(biāo)識任何 SaaS環(huán)境的訪問和使用模式。如在此所使用的,SaaS環(huán)境可以包括SaaS平臺、任何在該平臺 上執(zhí)行或安裝在該平臺上的應(yīng)用、存儲在該平臺上的數(shù)據(jù)和/或單獨(dú)或與其他因子組合的 配置參數(shù)。
      [0155] 圖13示出了 SaaS環(huán)境的發(fā)現(xiàn)的示例系統(tǒng)和方法。如所示,客戶端計算機(jī)可以四管 理者或具有執(zhí)行發(fā)現(xiàn)功能的足夠權(quán)限的類似用戶類型。發(fā)現(xiàn)模塊可以被實(shí)現(xiàn)為在客戶端設(shè) 備上的可執(zhí)行指令,例如應(yīng)用、小程序、插件或其他代碼形式。在一些實(shí)施例中,客戶端可以 下載并執(zhí)行被配置為在任何機(jī)構(gòu)計算機(jī)上運(yùn)行并產(chǎn)生截屏報告的應(yīng)用(例如Java小程序)。 附加地,系統(tǒng)可以配置用于使用服務(wù)的連續(xù)發(fā)現(xiàn),所述服務(wù)在機(jī)構(gòu)或客戶端計算機(jī)的后臺 運(yùn)行并允許聯(lián)系監(jiān)視SaaS。
      [0156] 所述系統(tǒng)可以包括用于存儲表示寬范圍且任意數(shù)目的SaaS應(yīng)用和它們的特性的 數(shù)據(jù)的SaaS應(yīng)用數(shù)據(jù)庫。作為非限制性示例,應(yīng)用數(shù)據(jù)庫可以包括,除了其他記錄外,在任 何平臺上已知被使用的任何SaaS應(yīng)用的記錄。記錄可以以定期基礎(chǔ)(例如每天)從多個數(shù)據(jù) 源被更新。
      [0157] SaaS應(yīng)用記錄可以包括定義特定SaaS和/或SaaS應(yīng)用的安全性等級的各種度量。 作為非限制性示例,記錄的度量可以包括:數(shù)據(jù)是否在空閑時被加密、SSL加密等級、內(nèi)建安 全性特征的存在或缺失、數(shù)據(jù)庫和數(shù)據(jù)中心的位置等。
      [0158] 所述系統(tǒng)可以被配置為基于任何上述度量自動執(zhí)行給定SaaS平臺或應(yīng)用的風(fēng)險 評估發(fā)現(xiàn)。云服務(wù)風(fēng)險發(fā)現(xiàn)處理可以執(zhí)行用于執(zhí)行SaaS環(huán)境的被動發(fā)現(xiàn)和/或主動發(fā)現(xiàn)的 過程。
      [0159] 被動發(fā)現(xiàn)
      [0160] 在一些實(shí)施例中,被動發(fā)現(xiàn)處理可以被用于確定哪個SaaS應(yīng)用和/或哪個數(shù)據(jù)存 儲已經(jīng)被用戶訪問或被致使已經(jīng)由用戶訪問。
      [0161] 所述系統(tǒng)可以被配置為(基于公共DNS服務(wù)器的開放列表)確定本地配置的域名系 統(tǒng)(DNS)服務(wù)器是公共的或機(jī)構(gòu)的。如果是機(jī)構(gòu)的,系統(tǒng)可以(非迭代地)查詢企業(yè)DNS服務(wù) 器以尋找特定SaaS域?;陧憫?yīng),系統(tǒng)可以確定特定的應(yīng)用、文件或數(shù)據(jù)集是否最近從該企 業(yè)網(wǎng)絡(luò)內(nèi)被訪問。如果查詢成功,系統(tǒng)可以確定從企業(yè)做出過最近訪問。否則,如果查詢不 成功,系統(tǒng)可以確定沒有從企業(yè)做出過最近訪問。
      [0162] 主動發(fā)現(xiàn)
      [0163] 所述系統(tǒng)可以被配置為使用指定目標(biāo)的查詢來測試某個SaaS是否在某個機(jī)構(gòu)網(wǎng) 絡(luò)內(nèi)可用,并且由此確定特定SaaS是否在機(jī)構(gòu)網(wǎng)絡(luò)內(nèi)被阻塞。例如,發(fā)現(xiàn)模塊可以嘗試取得 SaaS上的預(yù)定URL。如果取得嘗試成功,那么SaaS可以被標(biāo)記為未阻塞。如果取得嘗試不成 功,那么SaaS可以被標(biāo)記為阻塞。
      [0164] 在一些實(shí)施例中,主動發(fā)現(xiàn)可以被用于檢查配置問題。例如,管理員可能沒有已經(jīng) 配置SaaS存儲,但存儲正在被消費(fèi)。
      [0165] 警告
      [0166] 被動和/或主動發(fā)現(xiàn)過程的結(jié)果可以被發(fā)送給發(fā)現(xiàn)服務(wù)器或電子存儲的其他位 置。所述結(jié)果可以經(jīng)受自動和/或手動分析。
      [0167] 基于發(fā)現(xiàn)過程的結(jié)果,可以生成自動的警告和云使用報告。例如,可以基于存儲在 數(shù)據(jù)庫中的使用數(shù)據(jù)自動生成每周和/或每月的云使用報告。所使用的新的和趨勢云服務(wù) 可以被單獨(dú)地或與詳細(xì)的風(fēng)險分析一起被示出。在一些實(shí)施例中,高風(fēng)險的SaaS應(yīng)用使用 可以通過emil或其他手段觸發(fā)自動警告。
      [0168] SaaS流量捕獲
      [0169] 后綴代理實(shí)現(xiàn)面臨在客戶端側(cè)動態(tài)生成內(nèi)容的問題。諸如Google App平臺之類的 現(xiàn)代web應(yīng)用利用大量客戶端側(cè)代碼(JavaScript)。這可使后綴代理實(shí)施更具挑戰(zhàn)性的多, 因?yàn)榛敬砉δ懿蛔憔托枰诳蛻魴C(jī)側(cè)進(jìn)一步干預(yù)。
      [0170]如在此所述,所述后綴代理可被用于在代理的控制下保持所代理的web網(wǎng)頁的URL 和web訪問。這通過將后綴添加到頁面上URL來完成。在靜態(tài)頁面(例如不包含客戶端可執(zhí)行 JavaScript代碼的那些頁面)的上下文中,這可以在服務(wù)器側(cè)通過代理完成。所述方法涉及 解析HTML并使用正則表達(dá)式來取代頁面上的URL。
      [0171] 受管網(wǎng)絡(luò)代理可以被配置為檢查流量并檢測SaaS因特網(wǎng)地址。在一些實(shí)施例中, 受管網(wǎng)絡(luò)代理可以被配置為檢查因特網(wǎng)地址(例如統(tǒng)一資源定位符、統(tǒng)一資源標(biāo)識符等)的 網(wǎng)絡(luò)流量。作為非限制性示例,所述網(wǎng)絡(luò)代理可為檢查反編譯、解構(gòu)或分解網(wǎng)絡(luò)流量。受管 網(wǎng)絡(luò)代理可以被配置為修改在客戶機(jī)設(shè)備和SaaS供應(yīng)商之間的網(wǎng)絡(luò)流量,以使得下述網(wǎng)絡(luò) 地址不被提供給客戶機(jī)設(shè)備:引導(dǎo)客戶機(jī)設(shè)備繞過受管網(wǎng)絡(luò)代理來直接訪問SaaS資源。如 果檢測到SaaS因特網(wǎng)地址,通過將網(wǎng)絡(luò)代理服務(wù)的域名附加到原始網(wǎng)絡(luò)地址,該地址可以 被重寫成在網(wǎng)絡(luò)代理處的地址。
      [0172] 后綴代理可以被配置用于捕獲頁面處理,所述處理通過處理SaaS服務(wù)器響應(yīng)以便 后續(xù)的請求由后綴代理來處理。所述處理可以依賴于文件類型和響應(yīng)類型。作為非限制性 示例,經(jīng)處理的文件類型可包括HTML或JavaScript而響應(yīng)可包括壓縮響應(yīng)或分塊響應(yīng)。所 述后綴代理可被配置為模擬任何內(nèi)容,包括從SaaS供應(yīng)商發(fā)送的網(wǎng)頁。所述后綴代理可被 配置為檢查和/或反編譯任何內(nèi)容來標(biāo)識在內(nèi)容中呈現(xiàn)的任何提到的頁面和/或URL且重寫 那些URL。
      [0173] 在一些情況下,檢查將要求執(zhí)行在客戶端和SaaS供應(yīng)商之間傳送的代碼或腳本。 例如,JavaScript可在所述后綴代理處被模擬以檢測將會直接訪問所述SaaS供應(yīng)商的網(wǎng)絡(luò) 地址的生成。若在所述內(nèi)容中標(biāo)識出直接訪問地址,所述內(nèi)容可被修改以重寫所述地址來 指代所述網(wǎng)絡(luò)代理。
      [0174] 使用即時JavaScript轉(zhuǎn)換的代理
      [01 "75]通過客戶端側(cè)JavaScript,對頁面的文檔對象模型(D0M)的運(yùn)行時改變是可能的, 并且因此,對于客戶端瀏覽器來說,創(chuàng)建或修改具有無后綴URL的D0M元素是可能的(因?yàn)榉?務(wù)器側(cè)代理沒有機(jī)會替代它們)。下面描述用于將web應(yīng)用JavaScript代碼的訪問限制到 D0M的系統(tǒng)和方法。
      [0176] 所述限制的性質(zhì)可為如此:對D0M中的來自原始JavaScript代碼的web URL做出的 改變將由代理的運(yùn)行時組件來監(jiān)視。通過高速緩存,可以減少對JavaScript代碼的的運(yùn)行 時性能的任何影響。
      [0177] 可以針對對D0M元素的讀和寫訪問調(diào)用監(jiān)視代碼,這樣將URL寫入到D0M被添加后 綴,而從D0M的URL讀取未添加后綴。因此,"用戶" JavaScript代碼(例如,所述web應(yīng)用代碼) 所見的URL與瀏覽器自身(所述D0M,及其JavaScript表示)所見的URL之間可存在間隔。因 此,原始JavaScript代碼可以在代理環(huán)境內(nèi)容被有效維護(hù),使得與(代理周圍的)原始服務(wù) 器的通信被避免。
      [0178] 服務(wù)器側(cè)代理實(shí)現(xiàn)
      [0179]作為web應(yīng)用的一部分被加載的JavaScript代碼可以以幾種方式中的任意方式從 原始服務(wù)器獲取,所述方式包括在HTML頁面內(nèi)的內(nèi)聯(lián)腳本以及JavaScript文件(通常具有〃 text/javascript 〃內(nèi)容類型)。在此所述的系統(tǒng)還可以被配置為在其他類型的代碼、腳本或 內(nèi)容(例如CSS)上操作。
      [0180]通常,瀏覽器將首先加載主HTML頁面,并且隨后加載所有引用的和內(nèi)聯(lián)腳本。另 外,JavaScript (或包含腳本的HTML)還可以由web應(yīng)用來動態(tài)加載,例如,使用"eval"語句。
      [0181] 因?yàn)閯討B(tài)代碼的加載最初是由靜態(tài)加載的代碼(或,一旦被加載,由其他的動態(tài)代 碼)執(zhí)行的,在所述代理服務(wù)器上的頁面下載階段期間,所述系統(tǒng)可通過修改所述靜態(tài) JavaScript代碼來控制執(zhí)行。對所述代碼的修改可用此類方法執(zhí)行:將來被動態(tài)地加載的 代碼將會在運(yùn)行時期間被修改且對所述D0M的特定改變可被截取以實(shí)施上述規(guī)則,這將允 許頁面仍然在代理的控制中。
      [0182] 動態(tài)加載的代碼的修改可以通過將動態(tài)評估的代碼發(fā)送給代理或在用于處理的 代理處接收動態(tài)評估的代碼、并隨后允許在客戶端瀏覽器處加載新代碼來實(shí)現(xiàn)。在圖14中 示出了非高速緩存的操作的示例方法。在一些實(shí)施例中,高速緩存可以被用于改善性能,如 下將更加詳細(xì)描述的且在圖15中所示的。
      [0183] 作為非限制性示例,至少以下D0M元素與屬性可被包裝:
      [0184] 1.包含URL的HTML元素的屬性:
      [0185] a ·所述元素:〃IFRAME〃、"STYLE(樣式)〃、〃LINK(鏈接)〃、〃MG(圖像)〃、"AUDIO(音 頻)〃、〃A〃、〃F0RM(來自)〃、〃BASE(基礎(chǔ))〃和〃SCRIPT(腳本Γ。
      [0186] b.對于每個,在它們應(yīng)用時,屬性:〃src〃、"href 〃和"act ion (行動)〃。
      [0187] c.這些元素的getAttribute以及setAttribute方法也可被用來設(shè)置上述屬性。
      [0188] 2.可包含D0M子樹(即,多個HTML)的HTML元素的屬性:
      [0189] a · "appendChi Id〃方法可以用于動態(tài)添加元素(和代碼)。
      [0190] b. 〃innerHTML〃屬性可以被用于添加額外代碼。
      [0191] 3.包含URL或Hostnames (主機(jī)名)的"文檔"對象的屬性:
      [0192] a. "cookie"、"±或"一一兩者都可以包含窗口的原始域。
      [0193] b.可使用"write"方法來添加元素和代碼至所述頁面。
      [0194] 4.XMLHttpRequest對象的 "open(打開)"方法包含請求URL。
      [0195] 5. "MessageEvent"對象的"origin(原始)"屬性包含原始主機(jī)名。
      [0196] 6."窗口"對象的方法和屬性:
      [0197] a. "location(位置)"--可以將所述幀重定向至另一個URL或確定所述幀的當(dāng)前 位置。
      [0?98] b.所述" postMessage (張貼消息)"方法--具有原始自變量。
      [0199] c ·所述"evaf"與"execScr ipt"--被用來動態(tài)地加載代碼。
      [0200] 其他此類元素與屬性存在,且它們中的任何一個或全部可被包裝。
      [0201 ] JavaScript 代碼的靜態(tài)掛鉤(Hooking)
      [0202]靜態(tài)掛鉤可以被用于多種類型的內(nèi)容,包括內(nèi)聯(lián)腳本和文件。在代理服務(wù)器處,經(jīng) 代理的JavaScript代碼可以被如下處理:
      [0203] 1. HTML中的內(nèi)聯(lián)腳本被提取并處理。
      [0204] 2.根據(jù)Mozilla解析器API規(guī)范使用開放源解析庫將代碼轉(zhuǎn)換成抽象語法樹 (AST)〇
      [0205] 3.所述AST是遞歸遍歷的且對包裝器的調(diào)用被插入在該AST的某些節(jié)點(diǎn)周圍以允 許掛鉤。
      [0206] 4.代碼可以從經(jīng)修補(bǔ)的AST中重構(gòu)并被發(fā)送給客戶端瀏覽器。
      [0207] 5.可以執(zhí)行對所得到的經(jīng)處理的代碼的高速緩存。
      [0208] 被插入的包裝器可允許DOM的改變在運(yùn)行時期間被截取。所述包裝器可被應(yīng)用至 覆蓋任何或全部可能的D0M訪問。
      [0209] 作為非限制性示例,所述包裝器可被應(yīng)用至一些或全部以下AST節(jié)點(diǎn):
      [0210] 1 .MemberExpression(成員表達(dá)式):
      [0211] a.包裝對D0M對象的對象屬性的可能的訪問。
      [0212] b.包裝具有非文字鍵的訂閱操作。
      [0213] 如果所述屬性名匹配"感興趣"屬性的白名單,包裝對特定屬性(例如obj .src)的 訪問。
      [0214] d.最終,運(yùn)行時包裝器決定任何改變是否是需要的。在大多數(shù)情況下一一例如, "假肯定" 一一所述包裝器將決定不做任何事。
      [0215] 2. Identifier(標(biāo)識符):
      [0216] a.對全局Identifier(其是窗口D0M對象的屬性,例如,"location(位置)")的白名 單的可能的訪問都被包裝。
      [0217] b. IdentifierAST節(jié)點(diǎn)可出現(xiàn)在所述樹中的許多不相關(guān)的邏輯位置上。在其中 Identifier表示對全局變量的訪問的實(shí)例被包裝。這是在遍歷階段期間通過檢查父節(jié)點(diǎn)并 消除全部其他情況而被確定的。
      [0218] 3 ·AssignmentExpression(賦值表達(dá)式):
      [0219] a.對先前"標(biāo)記的" MemberExpress ions和Identifiers的賦值由另一個專門處理 "set"訪問的包裝器來處理。
      [0220]賦值運(yùn)算符"="與"+="被包裝,因?yàn)橄嚓P(guān)的D0M屬性可能是字符串(URL)。
      [0221] 4.CallExpression(調(diào)用表達(dá)式):
      [0222] a.其中先前"標(biāo)記的"MemberExpress ion和Identifier是由專門處理函數(shù)調(diào)用的 另一個包裝器處理的被調(diào)用者。
      [0223] b.針對對"eval"的調(diào)用存在一個特殊情況,"eval"與一個語句一樣運(yùn)作,但被表 示為在所述AST中的函數(shù)調(diào)用。
      [0224] 在包裝之前和之后的示例代碼:
      [0227] 包裝器的運(yùn)行時行為
      [0228] (根據(jù)在AST遍歷階段期間不同的包裝情況)可以定義許多不同的包裝器函數(shù)。
      [0229] 1 ,wrapped_get ,wrapped_set ,wrapped_call--根據(jù)不同的使用情況包裝對 MemberExpression 的訪問。
      [0230] 2. wrapped_name_get ,wrapped_name_set ,wrapped_name_call--根據(jù)不同的使 用情況包裝對全局Identifier的訪問。
      [0231 ] 3. wrapped_eval_param--將通過的代碼專門作為"eval"調(diào)用("eval調(diào)用可影 響局部作用域)的參數(shù)處理。
      [0232]在一些實(shí)施例中,所述系統(tǒng)可以首先檢測所述包裝器是否在相關(guān)的對象或?qū)傩陨?被調(diào)用。
      [0233] 1.在"MemberExpression"包裝器中,屬性名稱被對照白名單來檢查,帶下標(biāo)的對 象也是一樣。
      [0234] 2.對于"Identifier"包裝器,同樣參照白名單。
      [0235] 3.對象被確定為某些類型("Document (文檔)"、"Window(窗口)"、HTML元素等等), 還在適用時與全局實(shí)例相比較。
      [0236] 這些比較與查詢可被高效地執(zhí)行,在許多情況下對性能沒有顯著的影響。
      [0237] 包裝器調(diào)用可使用各種過程中的任何一個來處理,包括,非限制性示例:
      [0238] 1.處理動態(tài)加載的代碼:
      [0239] a.新JavaScript代碼被發(fā)送至所述代理的專用REST API端點(diǎn)以供轉(zhuǎn)換和高速緩 存,如下所述。
      [0240] b ·這可發(fā)生在 "appendChHd"、"innerHTML"、"eval"、"execScript" 以及 "write" 的 包裝器上。
      [0241] 2.后綴或不后綴URL或主機(jī)名。
      [0242] 3.檢測假肯定包裝器調(diào)用并恢復(fù)正常執(zhí)行。
      [0243] 負(fù)責(zé)處理對與URL相關(guān)的屬性或方法的D0M訪問的包裝器處理程序可被分成邏輯 組,例如:
      [0244] 1 .getters(獲取器)一一處理"get"包裝器。這些將不后綴經(jīng)處理的URL。
      [0245] a.若方法(JavaScript類型"函數(shù)")被訪問,"decorator(裝飾器)"被返回(見下)。
      [0246] 2. setters一一這些處理"set"包裝器。它們將后綴經(jīng)處理的URL。
      [0247] 3.裝飾器一一這些處理"call"包裝器。它們對被包裝的方法返回匹配的裝飾器函 數(shù),其將根據(jù)裝飾方法是什么來給URL加后綴或不加后綴。
      [0248] a .可使用JavaScript的"bind (綁定)"方法將此裝飾器綁定至正確對象。在 "Identifier"包裝器的情況下,所述正確對象是全局對象(在一些情況下,窗口)。在 "MemberExpression"包裝器的情況下,這是正在被標(biāo)下標(biāo)的對象。
      [0249]性能影響和優(yōu)化
      [°250] 在一些情況下,由于JavaScript轉(zhuǎn)換和在大量腳本上的AST遍歷以及阻止 JavaScript JIT編譯器優(yōu)化瀏覽器中的代碼的運(yùn)行時包裝器,對運(yùn)行在此所述的各處理可 能存在有性能影響,這些處理中的一些可能由經(jīng)代理的web-應(yīng)用的用戶經(jīng)歷。
      [0251]為了改善轉(zhuǎn)換階段的開銷,高速緩存可以實(shí)現(xiàn):
      [0252] 1.在服務(wù)器側(cè)上,經(jīng)轉(zhuǎn)換的JavaScript代碼的元素(例如,內(nèi)聯(lián)腳本、文件或動態(tài) 轉(zhuǎn)換請求)在每個服務(wù)器上被本地高速緩存。
      [0253] 2.所述條目是以原始代碼的密碼散列為關(guān)鍵的。
      [0254] 3.這樣,所述高速緩存跨所述代理的用戶被共享。這樣,僅每個服務(wù)器的第一個用 戶將經(jīng)歷共同加載的腳本的轉(zhuǎn)換階段的影響。
      [0255] 4.動態(tài)腳本轉(zhuǎn)換REST端點(diǎn)也可被配置為接受客戶機(jī)側(cè)計算的散列且在正使用它 的緩存中執(zhí)行查找。這可減少所述代理的用戶的上傳帶寬的使用。在這種配置中,被動態(tài)生 成的腳本將幾乎從不被實(shí)際發(fā)送至所述代理(除第一次外)。
      [0256] 5.另外,對動態(tài)轉(zhuǎn)換請求(每個散列)的響應(yīng)與"Cache-Control(高速緩存-控制)" 和"Expires(到期ΓΗΤΤΡ首部一起被返回,使得該結(jié)果將由所述客戶端瀏覽器來高速緩存。 以此方式,對于相同的被動態(tài)生成的腳本,客戶端將較不可能地需要查詢所述代理服務(wù)器 超過一次。
      [0257] 給定上述優(yōu)化,可以從正常使用情況中大大減少轉(zhuǎn)換階段的影響。
      [0258] 通過下述一些或所有的項(xiàng)可以減輕包裝器的運(yùn)行時性能影響:
      [0259] 1.創(chuàng)建不相關(guān)/假肯定包裝器調(diào)用的經(jīng)優(yōu)化的快速路徑(在代碼級)。這是通過編 寫具有有限JavaScript子集的基礎(chǔ)包裝器函數(shù)來實(shí)現(xiàn)的,所述基礎(chǔ)包裝器函數(shù)將很容易地 由瀏覽器的JIT編譯器優(yōu)化。
      [0260] 2.手動維護(hù)接口,允許創(chuàng)建簡檔并檢測具有最高高速緩存命中的代碼路徑,并且 允許從代理的內(nèi)部高速緩存中的經(jīng)轉(zhuǎn)換代碼中(手動)移除某些包裝器。
      [0261] 系統(tǒng)實(shí)現(xiàn)
      [0262 ]在此所述的系統(tǒng)和方法可以在軟件、硬件或其任意組合中實(shí)現(xiàn)。在此所述的系統(tǒng) 和方法可以使用一個或多個計算設(shè)備來實(shí)現(xiàn),所述計算設(shè)備可以或可以不彼此物理或邏輯 地分開。另外,在此所述的方法的各個方面可以被組合或合并入其他功能。
      [0263] 在一些實(shí)施例中,系統(tǒng)元素可以被組合到單個硬件設(shè)備中或分散到多個硬件設(shè)備 中。如果多個硬件設(shè)備被使用,硬件設(shè)備可以物理地位于彼此附近或彼此遠(yuǎn)離。
      [0264] 所述方法可以在計算機(jī)程序產(chǎn)品中被實(shí)現(xiàn),所述計算機(jī)程序產(chǎn)品可從提供供計算 機(jī)或任何指令執(zhí)行系統(tǒng)使用或與其結(jié)合使用的程序代碼的計算機(jī)可用或計算機(jī)可讀存儲 介質(zhì)訪問。計算機(jī)可使用或計算機(jī)可讀存儲介質(zhì)可以是可包含或存儲供計算機(jī)或指令執(zhí)行 系統(tǒng)、裝置或設(shè)備使用或與其結(jié)合使用的程序的任何裝置。
      [0265] 適用于存儲和/或執(zhí)行對應(yīng)的程序代碼的數(shù)據(jù)處理系統(tǒng)可以包括與計算機(jī)化的數(shù) 據(jù)存儲設(shè)備(例如存儲器元件)直接或間接耦合的至少一個處理器。輸入/輸出(I/O)設(shè)備 (包括但不限于鍵盤、顯示器、指點(diǎn)設(shè)備等)可以被耦合到系統(tǒng)。網(wǎng)絡(luò)適配器還可以被耦合到 所述系統(tǒng)以允許數(shù)據(jù)處理系統(tǒng)通過參與私有或公共網(wǎng)絡(luò)變得與其他數(shù)據(jù)處理系統(tǒng)或遠(yuǎn)程 打印機(jī)或存儲設(shè)備相耦合。為了提供與用戶的交互,各特征可在具有顯示設(shè)備(例如,CRT (陰極射線管)、LCD(液晶顯示器)、或用于顯示信息給用戶的其他類型的監(jiān)視器)、鍵盤和用 戶能借此向計算機(jī)提供輸入的輸入設(shè)備(例如,鼠標(biāo)或追蹤球)的計算機(jī)上實(shí)現(xiàn)。
      [0266] 計算機(jī)程序可以是可在計算機(jī)中被直接或間接使用的一組指令。在此所述的系統(tǒng) 和方法可以使用編程和/或標(biāo)記語言(例如Perl,Python,JAVA?,C++,C,C#,Visual Bas i c?,JavaScript?,PHP,F(xiàn)lash?,XML,H?L等)或編程和/或標(biāo)記語言的組合(包括經(jīng)編譯 的或經(jīng)解釋的語言)來實(shí)現(xiàn),并且可以以任何形式被部署,包括作為獨(dú)立的程序或作為模 塊、組件、子例程、或其他適于在計算環(huán)境中使用的單元。所述軟件可包括但不限于固件、駐 留軟件、微代碼等。諸如SOAP/HTTP,JSON,SQL等的協(xié)議和標(biāo)準(zhǔn)可以用在實(shí)現(xiàn)編程模塊之間 的接口。在此所述的組件和功能可以在虛擬化或非虛擬化環(huán)境中執(zhí)行的任何桌面或服務(wù)器 操作系統(tǒng)上,使用任何適用于軟件開發(fā)的編程語言(包括但不限于不同版本的Microsoft? Windows?,Apple? Mac?, iOSTM,UnixTM/X-Windows?,Linux?等)來實(shí)現(xiàn)。
      [0267] 在一些實(shí)施例中,一個或多個服務(wù)器可以用作文件服務(wù)器和/或可以包括用于結(jié) 合由運(yùn)行在用戶計算機(jī)和/或另一個服務(wù)器上的應(yīng)用實(shí)現(xiàn)本發(fā)明的方法的一個或多個文 件?;蛘?,文件服務(wù)器可以包括一些或所有所需文件,允許這樣的應(yīng)用由用戶計算機(jī)和/或 服務(wù)器遠(yuǎn)程調(diào)用。相對于在此的各種服務(wù)器(例如應(yīng)用服務(wù)器、數(shù)據(jù)庫服務(wù)器、web服務(wù)器、 文件服務(wù)器等)所描述的功能可以依據(jù)特定實(shí)現(xiàn)需求和參數(shù)由單個服務(wù)器和/或多個專用 服務(wù)器來實(shí)現(xiàn)。
      [0268] 在一些實(shí)施例中,所述系統(tǒng)可以包括一個或多個數(shù)據(jù)庫。數(shù)據(jù)庫的位置是任意的。 作為非限制性示例,數(shù)據(jù)庫可以駐留在服務(wù)器(和/或用戶計算機(jī))本地(和/或駐留在其中) 的存儲介質(zhì)上?;蛘?,數(shù)據(jù)庫可以遠(yuǎn)離任何或所有的計算設(shè)備,只要它能與這些設(shè)備中的一 個或多個(例如通過網(wǎng)絡(luò))通信。在一些實(shí)施例中,數(shù)據(jù)庫可以駐留在存儲區(qū)域網(wǎng)絡(luò)(SAN) 中。SAN可以被實(shí)現(xiàn)為計算機(jī)化的數(shù)據(jù)存儲設(shè)備組。用于執(zhí)行歸因于計算機(jī)的功能的一些或 所有的所需文件可以被本地存儲在相應(yīng)計算機(jī)上和/或適當(dāng)?shù)乇贿h(yuǎn)程存儲。在一些實(shí)施例 中,數(shù)據(jù)庫可以是關(guān)系型數(shù)據(jù)庫,例如Oracle數(shù)據(jù)庫,它適用于響應(yīng)于SQL格式的命令存儲、 更新和檢索數(shù)據(jù)。所述數(shù)據(jù)庫可以由數(shù)據(jù)庫服務(wù)器來控制和/或維護(hù)。
      [0269] 用于執(zhí)行指令程序的合適的處理器包括,但不局限于,任何類型的計算機(jī)的通用 和專用微處理器以及單獨(dú)的處理器或多個處理器或核之一。處理器可以從計算機(jī)化數(shù)據(jù)存 儲設(shè)備(例如只讀存儲器、隨機(jī)存取存儲器、這兩者、在此所述的數(shù)據(jù)存儲設(shè)備的任何組合) 中接收并存儲指令和數(shù)據(jù)。處理器可以包括操作上控制電子設(shè)備的操作和性能的任何處理 電路或控制電路。
      [0270] 處理器還可以包括一個或多個用于存儲數(shù)據(jù)的數(shù)據(jù)存儲設(shè)備或在操作上被耦合 以與其通信。這樣的數(shù)據(jù)存儲設(shè)備可以包括,作為非限制性示例,磁盤(包括內(nèi)部硬盤和可 移動盤)、磁光盤、光盤、只讀存儲器、隨機(jī)存取存儲器和/或閃存存儲。適用于有形實(shí)現(xiàn)計算 機(jī)程序指令和數(shù)據(jù)的存儲設(shè)備還可以包括非易失存儲器的所有形式,包括,例如:半導(dǎo)體存 儲器設(shè)備,例如EPROM,EEPR0M,以及閃存存儲器設(shè)備;磁盤,例如內(nèi)部硬盤和可移動盤;磁光 盤;和/或⑶-ROM和DVD-ROM盤。處理器和存儲器可以由ASIC(專用集成電路)補(bǔ)充或被結(jié)合 在ASIC中。
      [0271] 在此所述的系統(tǒng)、模塊和方法可以在軟件或硬件元件的任意組合中實(shí)現(xiàn)。在此所 述的系統(tǒng)、模塊和方法可以使用一個或多個單獨(dú)工作的虛擬機(jī)或?qū)⑺鼈儽舜私M合來實(shí)現(xiàn)。 任何可應(yīng)用的虛擬化解決方案可被用于將物理計算機(jī)器平臺封裝到虛擬機(jī),所述虛擬機(jī)在 運(yùn)行在硬件計算平臺或主機(jī)上的虛擬化軟件的控制下執(zhí)行。虛擬機(jī)可以具有虛擬系統(tǒng)硬件 和客操作系統(tǒng)兩者。
      [0272] 在此所述的系統(tǒng)和方法可在一種計算機(jī)系統(tǒng)中實(shí)現(xiàn),所述計算機(jī)系統(tǒng)包括后端組 件(例如,數(shù)據(jù)服務(wù)器)、或包括中間軟件層組件(例如,應(yīng)用服務(wù)器或因特網(wǎng)服務(wù)器)、或包 括前端組件(例如,具有圖形用戶界面或因特網(wǎng)瀏覽器的客戶端計算機(jī))、或包括這樣的后 端、中間軟件層或前端組件的任意組合。所述系統(tǒng)的各組件可通過任何形式或介質(zhì)的數(shù)字 數(shù)據(jù)通信(例如,通信網(wǎng)絡(luò))來連接。通信網(wǎng)絡(luò)的示例包括但不限于:LAN、WAN、或形成因特網(wǎng) 的任何網(wǎng)絡(luò)。
      [0273] 本發(fā)明的一個或多個實(shí)施例可以在其他計算機(jī)系統(tǒng)配置中實(shí)施,包括手持式設(shè) 備、微處理器系統(tǒng)、基于微處理器或可編程的消費(fèi)電子產(chǎn)品、微型計算機(jī)、大型計算機(jī)等。本 發(fā)明也可在分布式計算環(huán)境中實(shí)施,在所述分布式計算環(huán)境中任務(wù)是由通過網(wǎng)絡(luò)鏈接的遠(yuǎn) 程處理設(shè)備執(zhí)行的。
      [0274] 盡管已經(jīng)描述了本發(fā)明的一個或多個實(shí)施例,但它們的各種改變、添加、排列和等 價物也包括在本發(fā)明的范圍中。
      【主權(quán)項(xiàng)】
      1. 一種用于處理指令以修改對內(nèi)容的將來請求的方法,所述方法包括: 在代理服務(wù)器處,接收對內(nèi)容的請求,所述內(nèi)容包括可執(zhí)行指令; 從服務(wù)器檢索所請求的內(nèi)容,并在所述代理服務(wù)器處存儲所請求的內(nèi)容; 解析所請求的內(nèi)容以標(biāo)識被配置用于生成URL的可執(zhí)行指令; 通過包裝所標(biāo)識的指令以調(diào)用替代指令來修改所請求的內(nèi)容,其中所述替代指令被配 置為將后綴代理的標(biāo)識附加到所生成的URL; 在所述代理服務(wù)器處,存儲包括所包裝的指令的經(jīng)修改的內(nèi)容;以及 將包括所包裝的指令的所述經(jīng)修改的內(nèi)容傳送給客戶端設(shè)備。2. 如權(quán)利要求1所述的方法,其特征在于,所述代理服務(wù)器被配置為后綴代理。3. 如權(quán)利要求1所述的方法,其特征在于,所述內(nèi)容包括JavaScript。4. 如權(quán)利要求1所述的方法,進(jìn)一步包括: 確定被修改包括所包裝的指令的所請求的內(nèi)容是否被存儲在所述代理服務(wù)器上; 如果被修改包括所包裝的指令的所請求的內(nèi)容被存儲在所述代理服務(wù)器上,在無需從 所述服務(wù)器檢索所請求的內(nèi)容的情況下,發(fā)送所述經(jīng)修改的內(nèi)容給所述客戶端設(shè)備。
      【文檔編號】H04L29/06GK106031118SQ201480061802
      【公開日】2016年10月12日
      【申請日】2014年11月12日
      【發(fā)明人】A·科恩, L·莫耶斯, A·勒特瓦克, R·列茲尼科, G·維什涅波利斯基
      【申請人】阿道羅姆股份有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1