破壞漏洞掃描的結果的制作方法
【專利摘要】本發明涉及破壞漏洞掃描的結果。一種安全性設備可以從服務器設備接收對請求的響應。請求可以由攻擊者設備提供并且可以包括多個輸入值。安全性設備可以基于接收到響應而確定包括在請求中的多個輸入值。安全性設備可以修改響應以形成被修改的響應。該響應可以修改以包括與多個輸入值相關聯的信息。該響應可以被修改以嘗試防止攻擊者設備基于正被包括在響應中的多個輸入值來標識與服務器設備相關聯的漏洞。安全性設備向攻擊者設備提供被修改的響應。
【專利說明】
破壞漏洞掃描的結果
【背景技術】
[0001]黑客可以標識應用、程序、網絡、系統等的漏洞(比如,代碼的弱點、安全性的弱點,等等)。黑客可以在已經標識出弱點之后嘗試利用該漏洞(比如,通過嵌入惡意內容、通過獲取私人息、等等)。
【發明內容】
[0002]根據一些可能的實現,安全性設備可以包括用于進行如下的一個或者多個處理器:從服務器設備接收對請求的響應,其中該請求可以由攻擊者設備提供、并且可以包括多個輸入值;基于接收到該響應而確定包括在請求中的多個輸入值;修改響應以形成被修改的響應,其中該響應被修改以包括與多個輸入值相關聯的信息,并且其中該響應可以被修改以嘗試防止攻擊者設備基于正被包括在響應中的多個輸入值來標識與服務器設備相關聯的漏洞;以及向攻擊者設備提供被修改的響應。
[0003]根據一些可能的實現,計算機可讀介質可以存儲一個或者多個指令,當該一個或者多個指令由一個或者多個處理器執行時,使得一個或者多個處理器:從服務器設備接收與由攻擊者設備提供的請求相關聯的響應,其中請求可以包括輸入集;獲得標識被包括在請求中的輸入集的信息;修改響應以包括與輸入集中的多個輸入相關聯的信息,其中響應可以被修改以嘗試防止攻擊者設備接收基于正被包括在被修改響應中的輸入集內的多個輸入來標識與服務器設備相關聯的漏洞的信息;以及向攻擊者設備提供被修改的輸入。
[0004]根據一些可能的實現,方法可以包括:由安全性設備接收對請求的響應,其中請求可以由攻擊者設備向服務器設備提供、并且可以包括輸入值,其中輸入值可以由攻擊者設備提供,以及其中響應可以由服務器設備提供;由安全性設備確定包括在請求中的輸入值;由安全性設備修改響應以包括該輸入值中的多個輸入值;以及由安全性設備提供被修改的響應以嘗試使得攻擊者設備不能夠基于正包括在響應中的多個輸入值來標識與服務器設備相關聯的漏洞。
【專利附圖】
【附圖說明】
[0005]圖1A和圖1B是本文所述示例實現的概要圖。
[0006]圖2是可以在其中實現本文所述系統和/或方法的示例環境圖。
[0007]圖3是圖2的一個或者多個設備的示例部件圖。
[0008]圖4是用于接收包括一個或者多個輸入值的請求并向該請求提供響應的示例處理的流程圖。
[0009]圖5A和圖5B是涉及圖4中示出的示例處理的示例實現的圖。
[0010]圖6是用于修改與請求相關聯的響應以在請求中包括與一個或者多個輸入值的每一個相關聯的信息的示例處理的流程圖。
[0011]圖7A-圖7C是涉及圖6中所示示例處理的示例實現的圖。
【具體實施方式】
[0012]示例實現的如下詳細描述參照附圖。不同圖中的同一參考標號可以標識相同或者類似的元件。
[0013]黑客可能希望標識在應用中可能允許黑客出于惡意目的(例如,為了獲得與另一用戶相關聯的登錄信息,與其他用戶相關聯的會話cookie)從事惡意行為(例如,嵌入惡意內容、注入代碼,等等)的漏洞(例如,跨站點腳本(“XSS”)漏洞,結構化查詢語言(“SQL”)注入漏洞,等等)。
[0014]可以允許黑客標識漏洞的一種方法是確定(例如,利用漏洞掃描器,等等)與對服務器設備(例如,與該應用相關聯的服務器設備)的請求相關聯的輸入是否反映在由服務器設備生成的響應中(例如,反映的輸入可以表示應用中的漏洞)。本文所述的實現可以允許與服務器設備相關聯的安全性設備修改響應以包括與由黑客(例如,經由攻擊者設備)提供的一個或者多個輸入值的每一個相關聯的信息。以這種方式,安全性設備可以指示與由黑客提供的每個輸入相關聯的漏洞,并且黑客可能不容易標識實際漏洞(例如,因為該響應將包括與一個或者多個輸入值相關聯的一個或者多個誤報)。
[0015]圖1A和IB是本文所述示例實現100的概要圖。出于示例實現100的目的,假設黑客希望標識(例如,使用在攻擊者設備上執行的漏洞掃描器)由服務器設備托管的應用中的漏洞。如所示出的那樣,假設黑客希望基于與該應用相關聯的一個或者多個輸入值來標識漏洞(例如,所反映的輸入可以指示漏洞)。
[0016]如在圖1A中所示,攻擊者設備可以提供與多個字段(例如,字段I到字段N)相關聯的多個輸入值(例如,輸入I到輸入N(N>1))。如進一步所示,攻擊者設備可以向服務器設備發送請求,該請求包括標識N個輸入值的每一個值的信息,并且包括與該請求相關聯的其他信息(未示出)。如進一步所示,服務器設備可以接收該請求并可以生成對該請求的響應。如所示出的那樣,響應可以包括標識輸入2(例如,輸入2被反映在響應中)的信息和與該響應相關聯的其他信息(未示出)。
[0017]如在圖1B中所示,服務器設備可以向(例如,與服務器設備相關聯的)安全性設備提供響應(例如,包括標識輸入2的信息)。如所示出的那樣,安全性設備可以(例如,基于從服務器設備接收的信息或者包括在請求中的信息)確定標識N個輸入值的每個輸入值的信息,并且可以基于標識N個輸入值的每個輸入值的信息來修改請求(例如,以使得N個輸入值的每個輸入值被反映在修改的響應中)。
[0018]如進一步所示,安全性設備可以向攻擊者設備提供修改的響應。如所示出的那樣,攻擊者設備可以(例如,向黑客)提供信息,該信息標識N個輸入值的每個輸入值被反映在響應中。如所示出的那樣,黑客可能不能標識出與服務器設備相關聯的漏洞(例如,因為響應包括與N個輸入值的一個或者多個輸入值相關聯的誤報)。
[0019]以這種方式,與服務器設備相關聯的安全性設備可以修改與由攻擊者設備提供的請求相關聯的響應以包括信息,該信息標識包括在請求中的一個或者多個輸入值。這可以防止與攻擊者設備相關聯的黑客標識與服務器設備相關聯的漏洞。
[0020]圖2是可以在其中實現本文所述系統和/或方法的示例環境200的圖。如圖2中所示,環境200可以包括攻擊者設備210、網絡220、服務器設備230、以及安全性設備240。
[0021]攻擊者設備210可以包括能夠經由網絡(例如,網絡220)與其他設備(例如,服務器設備230)通信和/或能夠接收由另一設備(例如,服務器設備230)提供的信息的一個或者多個設備。例如,攻擊者設備210可以包括計算設備,諸如筆記本計算機、平板計算機、手持計算機、臺式計算機、移動電話(例如,智能電話,無線電電話,等等)、個人數字助理、或者類似設備。在一些實現中,攻擊者設備210可以能夠生成并(例如,向服務器設備230)發送請求(例如,與由服務器設備230托管的應用相關聯的請求),并接收與該請求相關聯的響應。此外,或者作為備選方案,攻擊者設備210可以能夠標識(例如,通過執行漏洞掃描器,等等)與服務器設備230相關聯的漏洞(例如,與由服務器設備230托管的應用相關聯的漏洞,等等)。
[0022]網絡220可以包括一個或者多個有線和/或無線網絡。例如,網絡220可以包括無線局域網(WLAN)、局域網(LAN)、廣域網(WAN)、城域網(MAN)、電話網(例如,公共交換電話網(PSTN))、蜂窩網、公共陸地移動網(PLMN)、ad hoc網、內聯網、互聯網、基于光纖的網絡、或者這些貨其他類型網絡的組合。在一些實現中,網絡220可以允許設備間的通信,設備諸如攻擊者設備210、服務器設備230、和/或安全性設備240。
[0023]服務器設備230可以包括能夠接收、提供、生成、存儲、和/或處理接收的或經由網絡(例如,網絡220)和/或另一設備(例如,安全性設備240)提供的信息。例如,服務器設備230可以包括計算設備,諸如服務器(例如,應用服務器、內容服務器、主機服務器、web服務器,等等)。在一些實現中,服務器設備230可以(例如,經由網絡220和/或安全性設備240)從攻擊者設備210接收信息和/或向攻擊者設備210提供信息。此外,或者作為備選方案,服務器設備230可以能夠生成對從另一設備(例如,攻擊者設備210)接收的請求的響應。
[0024]安全性設備240可以包括能夠接收、提供、生成、存儲和/或處理經由網絡(例如,網絡220)和/或另一設備(例如,服務器設備230)接收的或提供的信息的一個或多個設備。例如,安全性設備240可以包括計算設備,諸如服務器。在一些實現中,安全性設備240可以(例如,經由網絡220)從攻擊者設備210和/或服務器設備230接收信息和/或(例如,經由網絡220)向攻擊者設備210和/或服務器設備230提供信息。此外,或者作為備選方案,安全性設備240可以包括能夠處理和/或傳送攻擊者設備210與服務器設備230之間的通信(例如,請求、響應,等等)的一個或者多個設備。例如,安全性設備240可以包括網絡設備,諸如反向代理、服務器(例如,代理服務器)、業務傳送設備、防火墻、路由器、負載均衡器等。
[0025]在一些實現中,安全性設備240可以能夠確定與由另一設備(例如,攻擊者設備210)提供的請求相關聯的一個或者多個輸入值。此外,或者作為備選方案,安全性設備240可以能夠基于與請求相關聯的一個或者多個輸入值修改與由另一設備(例如,服務器設備230)提供的請求相關聯的響應。
[0026]安全性設備240可以用在與單個服務器設備230或者一組服務器設備230 (例如,數據中心)的連接中。通信可以通過安全性設備240路由到達一個或者多個服務器設備230.例如,安全性設備240可以作為向包括一個或者多個服務器設備230的私有網絡的網關而定位于網絡內。
[0027]出于解釋的目的提供了圖2中所示的設備和網絡的數目。在實踐中,可以有額外設備和/或網絡、更少設備和/或網絡、不同設備和/或網絡、或者與圖2中所示的那些布置不同的設備和/或網絡。此外,圖2中所示的兩個或者多個設備可以在單個設備內實現,或者圖2中所示的單個設備可以作為多個、分布的設備實現。此外,環境200的一個或者多個設備可以執行被描述為由環境200的另外一個或者多個設備執行的一個或者多個功能。環境200的設備可以經由有線連接、無線連接、或者有線連接和無線連接的組合互聯。
[0028]圖3是設備300的不例部件圖。設備300可以對應于攻擊者設備210、服務設備230、和/或安全性設備240。此外,或者作為備選方案,攻擊者設備210、服務器設備230、和/或安全性設備240中的每一個可以包括一個或者多個設備300和/或設備300的一個或者多個部件。如圖3所示,設備300可以包括總線310、處理器320、存儲器330、輸入部件340、輸出部件350、和通信接口 360。
[0029]總線310可以包括允許設備300的部件間通信的路徑。處理器320可以包括解釋和/或執行指令的處理器、微處理器、和/或任何處理部件(現場可編程門陣列(“FPGA”)、專用集成電路(“八51(:”),等等)。在一些實現中,處理器320可以包括一個或者多個處理器核。存儲器330可以包括隨機訪問存儲器(“RAM”)、只讀存儲器(“ROM”)、和/或存儲用于處理器320使用的信息和/或指令的任何類型的動態或者靜態存儲設備(例如,閃存、磁存儲器、光存儲器,等等)。
[0030]輸入部件340可以包括允許用戶向設備300輸入信息的任何部件(例如,鍵盤、小鍵盤、鼠標、按鈕、開關,等等)。輸出部件350可以包括從設備300輸出信息的任何部件(例如,顯示器、揚聲器、一個或者多個發光二極管(“1^0”),等等)。
[0031]通信接口 360可以包括能夠使設備300諸如經由有線連接、無線連接、或者有線連接與無線連接的組合與其他設備和/或系統通信的任何類似收發機的部件,諸如收發機和/或分離的接收機和發射機。例如,通信接口 360可以包括用于經由網絡與另一設備和/或系統通信的部件。此外,或者作為備選方案,通信接口 360可以包括有助于從另一設備或者向另一設備的數據傳輸的具有輸入與輸出端口、輸入與輸出系統、和/或其他輸入與輸出部件的邏輯部件,諸如以太網接口、光接口、同軸電纜接口、紅外線接口、射頻接口( “RF”)、通用串行總線(“USB”)接口,等等。
[0032]設備300可以執行本文所述各種操作。響應于處理器320執行包括在計算機可讀介質,諸如存儲器330中的軟件指令,設備300可以執行這些操作。計算機可讀介質可以被定義為非瞬態存儲器設備。存儲器設備可以包括遍布多個物理存儲設備的單個物理存儲設備或者存儲器空間內的存儲器空間。
[0033]軟件指令可以經由通信接口 360從另一計算機可讀介質或者從另一設備讀入存儲器330。當存儲器330中存儲的軟件指令被執行時,可以使得處理器320執行本文所述的一個或者多個處理。此外,或者作為備選方案,硬件電路系統可以用于代替軟件指令或者與軟件指令結合用以執行本文所述一個或者多個處理。因此,本文所述的實現不限定于硬件電路系統和軟件的任何特定組合。
[0034]為了解釋的目的提供了圖3所示的部件的數目。在實踐中,設備300可以包括額外部件、更少部件、不同部件、或者與圖3中所示的那些布置不同的部件。
[0035]圖4是用于接收包括一個或者多個輸入值的請求并對請求提供響應的示例處理400的流程圖。在一些實現中,圖4的一個或者多個處理框可以由服務器設備230執行。在一些實現中,圖4的一個或者多個處理框可以由與服務器設備230分開或包括服務器230的另一設備或者一組設備(諸如安全性設備240)實現,。
[0036]如圖4所示,處理400可以包括從攻擊者設備接收包括一個或者多個輸入值的請求(框410)。例如,服務器設備230可以從攻擊者設備210接收包括一個或者多個輸入值的請求。在一些實現中,當攻擊者設備經由網絡220發送請求時,服務器設備230可以從攻擊者設備210接收請求。在一些實現中,服務器設備230可以經由另一設備(例如,安全性設備240)接收請求。
[0037]請求可以包括有自攻擊者設備210向服務器設備230發送的(例如,經由安全性設備240和/網絡220)與資源(例如,超文本標記語言(“HTML”)文件、圖像文件、視頻文件、音頻文件,等等)相關聯的消息,該資源與攻擊者設備210希望從服務器設備230接收的應用(例如,web應用)相關聯。
[0038]在一些實現中,請求可以包括標識由攻擊者設備210提供的、與攻擊者設備210希望從服務器設備230接收的資源相關聯的一個或者多個輸入值的信息。例如,請求可以包括由攻擊者設備210提供的、與由服務器設備230托管的應用(例如,web應用)相關聯的一個或者多個輸入值(例如,經由包括在網站上的一個或者多個輸入字段提供的輸入值)。在一些實現中,攻擊者設備210可以提供輸入值,以基于由服務器設備230提供的資源嘗試標識漏洞(例如,XSS漏洞、SQL注入漏洞、代碼弱點,等等)。例如,攻擊者設備210可以提供用于(例如,包括在網站內的)一個或者多個字段的輸入值,并且可以向服務器設備230發送包括一個或者多個輸入值的請求(例如,提供HTML文件的請求)。攻擊者設備210可以基于與被包括在對請求的響應中的輸入值相關聯的信息來確定漏洞(例如,XSS漏洞)是否存在(例如,反映在對請求的響應中的輸入值可以指示XSS漏洞存在)。在一些實現中,攻擊者設備210可以生成包括在請求中的輸入值(例如,使用漏洞掃描器)。此外,或者作為備選方案,攻擊者設備210的用戶(例如,黑客)可以提供輸入值(例如,經由攻擊者設備 210)。
[0039]在一些實現中,請求可以包括標識攻擊者設備210的信息(例如,標識攻擊者設備210的字符串、與攻擊者設備210相關聯的網絡地址、與攻擊者設備210相關聯的端口號,等等)。此外,或者作為備選方案,請求可以包括標識服務器設備230的信息(例如,標識攻擊者設備230的字符串、與攻擊者設備230相關聯的網絡地址、與攻擊者設備230相關聯的端口號、標識由服務器設備230托管的應用的信息,等等)。
[0040]在一些實現中,服務器設備230可以基于包括在請求中的信息接收請求。例如,月艮務器設備230可以基于包括在請求中的(例如,標識服務器設備230的)網絡地址來接收請求。作為附加示例,服務器設備230可以基于包括在請求中的、與由服務器230托管的應用(例如,web應用)相關聯的信息(例如,web地址、統一資源定位符(“URL”),等等)來接收請求。
[0041]如在圖4中進一步所示,處理400可以包括生成對請求的響應(框420)。例如,月艮務器設備230可以生成對從攻擊者設備210接收的請求的響應。在一些實現中,當服務器設備230從攻擊者設備210接收請求時,服務器設備230可以生成響應。此外,或者作為備選方案,當服務器設備230從另一設備(例如,安全性設備240)接收指示服務器設備230可以生成響應的信息時,服務器設備230可以生成響應。
[0042]響應可以包括由服務器設備230提供的消息,該消息包括由攻擊者設備210請求的資源(例如,HTML文件、圖像文件、視頻文件、音頻文件,等等)和/或其他信息。例如,服務器設備230可以發送對針對由服務器設備230托管的web應用相關聯的HTML文件的請求的響應,該響應包括HTML文件和/或與向攻擊者設備210提供HTML文件相關聯的其他信息。
[0043]在一些實現中,響應可以包括與和請求相關聯的一個或者多個輸入值相關聯的信息。例如,攻擊者設備210可以提供輸入值(例如,經由包括在網站中的輸入字段),并且服務器設備230可以生成包括信息的響應(例如,與網站相關聯的HTML文件),該信息標識由攻擊者設備210提供的一個或者多個輸入值(例如,HTML文件可以反映一個或者多個輸入值、HTML文件可以包括標識一個或者多個輸入值的信息,等等)。
[0044]在一些實現中,響應可以包括標識攻擊者設備210的信息,諸如與攻擊者設備210相關聯的網絡地址、與攻擊者設備210相關聯的端口號,等等。此外,或者作為備選方案,響應可以包括標識服務器設備230的信息,諸如與服務器設備230相關聯的網絡地址、與服務器設備230相關聯的端口號,等等。此外,或者作為備選方案,響應可以包括與向攻擊者設備210提供在請求中標識出的資源相關聯的其他信息。
[0045]如在圖4中進一步所示,處理400可以包括向安全性設備提供響應(框430)。例如,服務器設備230可以向安全性設備240提供響應。在一些實現中,當服務器設備230生成響應時,服務器設備230可以向安全性設備240提供響應。此外,或者作為備選方案,當服務器設備從另一設備(例如,安全性設備240)接收信息時,服務器設備230可以向安全性設備240提供響應,該信息指示服務器設備230可以提供響應。在一些實現中,服務器設備230可以經由網絡220向安全性設備240提供響應。
[0046]盡管圖4示出了在一些實現中的處理400的示例框,處理400可以包括額外框、不同框、更少框、或者與圖4中的所示那些布置不同的框。此外,或者作為備選方案,處理400的一個或者多個框可以并行執行。
[0047]圖5A和圖5B是涉及圖4中所示示例處理400的示例實現500的圖。出于示例實現500的目的,假設黑客希望(例如,經由被標識為ADl的攻擊者設備)標識包括在與每日時報評論版相關聯的網站中的漏洞。另外,假設攻擊者設備被配置為執行程序(例如,VScan)以基于與對每日時報服務器的請求相關聯的輸入值是否被反映在接收自每日時報服務器的響應中來標識漏洞。
[0048]如在圖5A中所示,ADl可以(例如,經由互聯網)訪問與每日時報評論版相關聯的網址。如所示出的那樣,每日時報評論版可以包括與鍵入評論相關聯的輸入字段(例如,“添加評論”)、與鍵入用戶名相關聯的輸入字段(例如,“用戶名”)、和與鍵入密碼相關聯的輸入字段(例如,“密碼”)。如所示出的那樣,ADl可以執行VScan,并且VScan可以使得ADl在添加評論字段、用戶名字段、以及密碼字段中鍵入輸入值。如所示出的那樣,每個輸入值(例如,“〈script>alert ( ‘VI’)〈/script〉”、“〈script>alert ( ‘V2’)〈/script〉”、和“<script>alert ( ‘V3’)〈/script〉”)可以包括與運行腳本(例如,VScan可以基于HTML代碼是否被反映在來自每日時報服務器的響應中來標識XSS漏洞)相關聯的HTML代碼。如進一步所示,ADl可以向每日時報服務器發送(例如,通過選擇“發布評論”按鈕)請求(例如,用于接收與發布評論相關聯的HTML文件的請求)。如所示出的那樣,請求可以包括標識由ADl提供的輸入值的信息,以及與請求相關聯的其他信息(未示出)。
[0049]如在圖5B中所示,每日時報服務器可以基于從ADl接收響應,生成包括HTML文件的響應。如所示出的那樣,響應可以包括與由每日時報服務器生成的HTML文檔相關聯的信息,并且可以包括標識在請求中包括的輸入值(例如,“〈script>alert ( ‘V2’)〈/script〉”)的信息。換句話說,如所示出的那樣,響應可以反映由ADl在用戶名字段鍵入的輸入值(例如,其可以指示與用戶名字段相關聯的漏洞)。如所示出的那樣,每日時報服務器可以向每日時報安全性設備提供響應。
[0050]如上所指示的,圖5A和5B僅僅作為示例提供。其他示例是可能的并可以與相對于圖5A和5B所描述的不同。
[0051]圖6是修改與請求相關聯的響應的示例處理600的流程圖,該請求包括與包括在請求中的一個或者多個輸入值的每一個相關聯的信息。在一些實現中,圖6的一個或者多個處理框可以由安全性設備240執行。在一些實現中,圖6的一個或者多個處理框可以由另一設備或者與安全性設備240分離或包括安全性設備240的一組設備(諸如服務器設備230執行)。
[0052]如圖6中所示,處理400可以包括從服務器設備接收對由攻擊者設備提供的請求的響應(框610)。例如,安全性設備240可以從服務器設備230接收對由攻擊者設備210提供的請求(例如,與web應用相關聯的請求)的響應。在一些實現中,當服務器設備230發送響應時,安全性設備240可以接收響應。在一些實現中,安全性設備240可以經由網絡220接收響應。
[0053]如在圖6中進一步所示,處理400可以包括基于接收到響應,確定與請求相關聯的一個或者多個輸入值(框620)。例如,安全性設備240可以基于(例如,從服務器設備230)接收到響應來確定與請求(例如,由攻擊者設備210提供的請求)相關聯的一個或者多個輸入值。在一些實現中,當安全性設備240從服務器設備230接收到響應時,安全性設備240可以確定與請求相關聯的一個或者多個輸入值。此外,或者作為備選方案,當安全性設備240從另一設備(例如,服務器設備230)接收信息時,該信息指示安全性設備240可以基于一個或者多個輸入值修改響應,安全性設備240可以確定一個或者多個輸入值。
[0054]在一些實現中,安全性設備240可以基于包括在請求中的信息確定一個或者多個輸入值。例如,安全性設備240可以從攻擊者設備210接收請求(例如,當安全性設備240被定位為接收請求并向服務器設備230轉發請求時)、可以存儲一個或者多個輸入值(例如在與安全性設備240相關聯的存儲器位置中)、以及當安全性設備240從服務器設備230接收響應時可以確定輸入值(例如,從存儲器位置讀取一個或者多個輸入值)。
[0055]在一些實現中,安全性設備240可以基于包括在由服務器設備230生成的響應中的信息,確定一個或者多個輸入值。例如,響應可以包括標識與請求相關聯的一個或者多個輸入值的信息,并且安全性設備240可以基于包括在響應中的信息來確定一個或者多個輸入值。在一些實現中,(例如,當響應反映了由攻擊者設備210提供的輸入值時)響應可以包括由攻擊者設備210提供的一個或者多個輸入值,并且安全性設備240可以基于包括在響應中的輸入值確定輸入值。此外,或者作為備選方案,(例如,當響應包括一個或者多個輸入值的修改版本時)響應可以包括與一個或者多個輸入值相關聯的信息,并且安全性設備240可以基于與一個或者多個輸入值相關聯的信息來確定輸入值。在一些實現中,安全性設備240可以基于從服務器設備230接收的其他信息,確定一個或者多個輸入值。例如,安全性設備240可以向服務器設備230發送請求一個或者多個輸入值的查詢,并且安全性設備240可以基于從服務器230接收的結果,確定與該查詢相關聯的一個或者多個輸入值。
[0056]在一些實現中,安全性設備240可以通過執行操作(例如,執行程序代碼,等等)來確定一個或者多個輸入值,該操作被配置為確定輸入值。例如,安全性設備240可以執行程序代碼,該程序代碼被配置為標識一個或者多個參數(例如,包括在與請求和/或響應相關聯的URL中),并且(例如,當一個或者多個參數可以包括標識一個或者多個輸入值的信息時)安全性設備240可以基于與執行程序代碼相關聯的結果,確定一個或者多個輸入值。
[0057]如在圖6中進一步所示,處理400可以包括修改響應以包括與一個或者多個輸入值相關聯的信息(框630)。例如,安全性設備240可以修改從服務器設備230接收的響應,以包括與一個或者多個輸入值相關聯的信息,一個或者多個輸入值由安全性設備240確定。在一些實現中,當安全性設備240確定與請求相關聯的一個或者多個輸入值時,安全性設備240可以修改響應。此外,或者作為備選方案,當安全性設備240從另一設備(例如,服務器設備230)接收信息時,該信息指示安全性設備240可以修改響應。
[0058]在一些實現中,安全性設備240可以通過向響應添加信息修改響應,該信息標識一個或者多個輸入值。例如,安全性設備240可以接收包括與請求相關聯的資源(例如,HTML文件)的響應,并且安全性設備240可以向資源添加標識一個或者多個輸入值中的每一個輸入值的信息(例如,一個或者多個文本串)(例如,HTML文件將包括標識一個或者多個輸入值的文本)。
[0059]在一些實現中,安全性設備240可以添加標識由安全性設備240確定的一個或者多個輸入值的每一個輸入值的信息。此外,安全性設備240可以添加標識一個或者輸入值的一部分輸入值的信息(例如,安全性設備240可以添加標識一個或者多個輸入值中的第一輸入值集合的信息,并且可以不添加標識一個或者多個輸入值中的第二輸入值集合的信息)。
[0060]在一些實現中,安全性設備240可以修改響應以包括以隨機方式標識一個或者多個輸入值的信息。例如,安全性設備240可以隨機選擇第一位置(例如,包括在HTML文件中的第一位置),并且可以基于隨機選擇的第一位置,添加與第一輸入值相關聯的信息。在該示例中,安全性設備240可以隨機選擇第二位置(例如,包括在HTML文件中的第二位置),并且可以基于隨機計算的第二位置,添加與第二輸入值相關聯的信息。此外,或者作為備選方案,安全性設備240可以修改響應以包括以確切方式標識一個或者多個輸入值的信息(例如,當安全性設備240存儲指示與HTML文件相關聯的位置信息時,該一個或者多個輸入值將在該位置被添加,等等)。
[0061]在一些實現中,安全性設備240可以通過添加匹配輸入值的信息來修改響應以包括標識一個或者多個輸入值的信息(例如,安全性設備240可以添加由攻擊者設備210提供的一個或者多個輸入值)。
[0062]在一些實現中,安全性設備240可以通過添加不與輸入值匹配的信息而修改響應以包括標識一個或者多個輸入值的信息。例如,安全性設備240可以確定輸入值(例如,與嵌在HTML文件內的腳本相關聯的輸入值),并且可以修改響應以包括標識輸入值(例如,標識與嵌入HTML文件中的腳本相關聯的輸入值的信息)但是不與輸入值匹配(例如,通過去掉與執行腳本相關聯的一個或者多個字符、通過字符互換,等等)的信息。以這種方式,安全性設備240可以修改響應以包括標識一個或者多個輸入值的信息,但是可以不允許攻擊者設備210利用反映的輸入值(例如,安全性設備240可以防止攻擊者設備210嵌入腳本)。
[0063]在一些實現中,安全性設備240可以修改響應以包括標識一個或者多個輸入值的清潔(sanitized)信息(例如,不能被攻擊者設備210利用的信息)(例如,安全性設備240可以通過執行配置為清潔標識一個或者多個輸入值的信息的操作,生成被清潔的信息)。例如,安全性設備240可以執行被配置為從一個或者多個輸入值去掉一個或者多個字符(例如,〈,>,“等)的程序代碼,并且安全性設備240可以修改響應以包括與一個或者多個輸入值相關聯的被清潔信息。作為另一示例,安全性設備240可以通過在HTML標簽(例如,多行文本標簽、預格式化文本標簽、評論標簽,等等)中包裹輸入值,清潔被注入的輸入值(例如,包括腳本的輸入值),該HTML標簽可以不允許輸入值被攻擊者210利用(例如,當在HTML標簽內部包裹腳本時,不允許腳本執行,等等)。
[0064]如在圖6中進一步所示,處理400可以包括提供修改的響應(框640)。例如,安全性設備240可以向攻擊者設備210提供修改的響應。在一些實現中,當安全性設備修改響應以包括與和請求相關聯的一個或者多個輸入值相關聯的信息時,安全性設備240可以提供修改的響應。此外,或者作為備選方案,當安全性設備240從另一設備(例如,服務設備230,攻擊者設備210,等等)接收到信息時,該信息指示安全性設備240可以提供響應。
[0065]在一些實現中,安全性設備240可以經由網絡220向攻擊者設備210提供修改的響應。在一些實現中,安全性設備240可以提供修改的響應,而不提供指示安全性設備240已經修改了響應的信息(例如,可能不讓攻擊者設備210意識到響應已被修改)。
[0066]在一些實現中,安全性設備240可以向攻擊者設備210提供修改的響應,并且攻擊者設備210可以不能標識與服務器設備230相關聯的漏洞(例如,因為響應被修改以包括標識一個或者多個輸入值的信息,攻擊者設備210可以不能確定包括在被修改的響應中的一個或者多個輸入值哪個標識實際漏洞)。
[0067]盡管圖6示出了處理600的示例框,在一些實現中,處理600可以包括額外框、不同框、更少框、或者與圖6所描繪的那些布置不同的框。此外,或者作為備選方案,處理600的一個或者多個框可以并行執行。
[0068]圖7A-圖7C是涉及圖6中所示的示例處理600的示例實現700的圖。出于示例實現700的目的,假設每日時報服務器已經生成了對請求的響應,該響應與粘貼評論到每日時報評論板相關聯,并且該響應反映了包括在由攻擊者設備(例如,ADl)提供的請求內的輸入值(例如,<script>alert ( ‘V2’)〈/script〉),攻擊者設備希望標識與每日時報服務器相關聯的一個或者多個漏洞。進一步,假設每日時報安全性設備被配置為修改由每日時報服務器生成的響應。
[0069]如圖7A所示,每日時報安全性設備可以從每日時報服務器接收與ADl提供的請求相關聯的響應。如進一步所示,假設每日時報安全性設備也接收標識與ADl提供的請求相關聯的輸入值的信息。如所示出的那樣,輸入值可以包括:“〈Script>alert( ‘Vl’)〈/script〉”、“〈script>alert( ‘V2, )〈/script〉”、和“〈script>alert( ‘V3, )〈/script〉”。如進一步所示出的那樣,每日時報安全性設備可以基于接收到識別來自ADl的輸入值的信息,確定輸入值。
[0070]如圖7B所示,每日時報安全性設備可以通過注入被清潔的輸入值到包括在響應中的HTML文檔中,修改從每日時報服務器接收的響應。如所示出的那樣,修改的響應可以包括與攻擊者設備提供的輸入值中的每個輸入值相關聯的信息。在該示例中,每日時報安全性設備可以以隨機方式在HTML代碼體(例如,“<script>alert ( ‘VI’)〈/script>”、“〈script>alert ( ‘V2’)〈/script〉”、和“〈script>alert ( ‘V3,)〈/script〉”)中注入與三個輸入值中的每個輸入值相關聯的信息。
[0071]如所示出的那樣,每日時報安全性設備可以通過在HTML標簽內部包裹第一輸入值來清潔被注入的輸入值(“<script>alert ( ‘VI’)〈/script〉”),這使得第一輸入值(例如,HTML腳本)變成被設置為不被顯示的文本串(例如,“〈textarea style = ‘display:none ; ’Xscript>alert(‘Vl’)〈/scriptX/textarea>”),。類似地,每日時報安全性設備可以通過在HTML標簽內部包裹第二輸入值來清潔被注入的輸入值(“<script>alert( ‘V2’)〈/script〉”),這使得第二輸入值(例如,HTML腳本)變成不被顯示的評論(例如,“〈! 一<script>alert ( ‘V2’)〈/script〉一>”)。最后,每日時報安全性設備可以通過在HTML標簽內部包裹第三輸入值來清潔被注入的輸入值(“<script>alert( ‘V3’ ) </script〉”),這使得第三輸入值(例如,HTML腳本)變成不被顯示的與格式化的文本塊(例如,“〈pre style = ^display:none ; J ><script>alert ( ‘V3,)</script>〈/pre>”)。以這種方式,每日時報安全性設備可以以反映的輸入值可以不被ADl利用這一方式而在響應中注入與三個輸入值中的每一個輸入值相關聯的信息。如進一步所不,每日時報安全性設備可以向ADl提供修改的響應。
[0072]如圖7C所示,ADl可以接收修改的響應,并且ADl (例如,VScan)可以顯示指示三個輸入值中的每一個輸入值的信息,三個輸入值與每日時報評論板相關聯并且被反映在從每日時報服務器接收的響應中。如進一步所示,與ADl相關聯的黑客可以不能標識包括在每日時報評論板內的實際漏洞(例如,因為黑客將不知道哪個反映的輸入值指示誤報)。
[0073]如上面所指示的,圖7A-圖7C僅僅作為示例被提供。其他示例是可能的并且可以與相對于圖7A-圖7C所述不同。
[0074]本文所描述的實現可以允許與服務器設備相關聯的安全性設備修改響應,以包括與攻擊者設備所提供的一個或者多個輸入值的每一個輸入值相關聯的信息。以這種方式,安全性設備可以指示與攻擊者設備提供的每個輸入值相關聯的漏洞,并且(例如,與攻擊者設備相關聯的)黑客可以不能標識實際漏洞(例如,因為響應將包括與一個或者多個輸入值相關聯的一個或者多個誤報)。
[0075]上述公開內容提供了解釋和描述,但是并不旨在排除或者限定實現為所公開的精確形式。根據上面公開的內容修改和變化是可能的,或者可以從實現的實際中獲得。
[0076]如本文所用,術語部件旨在被廣泛地解釋為硬件、固件、或者硬件與軟件的組合。
[0077]將是顯而易見的,本文所述的系統和方法可以以圖中所示的實現中的軟件、固件和硬件的許多不同形式被實現。被用于實現這些系統和/或方法的實際軟件代碼或者專用控制硬件不限制實現。因此,系統和/或方法的操作和行為未參照特定軟件代碼進行描述——其被理解為軟件和控制硬件可能被設計為基于本文的描述實現系統和方法。
[0078]即使特征的特定組合在權利要求書中記載和/或在說明書中公開,這些組合不旨在限定可能實現的公開。事實上,許多這些特征可以以未在權利要求書中特別記載和/或在說明書中公開的方式進行組合。盡管下面所列的每個從屬權利要求可以只直接從屬于一個權利要求,但可能實現的公開內容包括將每個從屬權利要求與權利要求集中的各個權利要求結合。
[0079] 除非這樣明確描述,否則本文所用的元件、行為、或者指令不應該解釋為關鍵的或者必不可少的。也如本文所用,冠詞“一”和“一個”旨在包括一個或者多個項目,并且可以與“一個或者多個”互換使用。其中只包括一個項目時,使用術語“一個”或者類似的語言。進一步,除非另外明確說明,否則短語“基于”旨在意味著“至少部分基于”。
【權利要求】
1.一種用于防止攻擊者設備標識與服務器設備相關聯的漏洞的安全性設備,包括: 一個或者多個處理器,被配置為: 從所述服務器設備接收對請求的響應, 其中所述請求由所述攻擊者設備提供,并且包括多個輸入值; 基于接收到所述響應,確定包括在所述請求中的所述多個輸入值; 修改所述響應以形成被修改的響應, 其中所述響應被修改以包括與所述多個輸入值相關聯的信息, 其中所述響應被修改以嘗試防止所述攻擊者設備基于正被包括在所述響應中的所述多個輸入值來標識與所述服務器設備相關聯的所述漏洞;以及向所述攻擊者設備提供所述被修改的響應。
2.根據權利要求1所述的安全性設備,其中當修改所述響應時,所述一個或者多個處理器被進一步配置為: 通過添加標識所述多個輸入值中的第一輸入值的信息來修改所述響應的第一部分;以及 通過添加標識所述多個輸入值中的第二輸入值的信息來修改所述響應的第二部分。
3.根據權利要求1所述的安全性設備,其中當修改所述響應時,所述一個或者多個處理器被進一步配置為: 向所述響應添加與至少一個輸入值相關聯的信息,從而所述響應標識所述多個輸入值中的每一個輸入值。
4.根據權利要求1所述的安全性設備,其中當修改所述響應時,所述一個或者多個處理器被進一步配置為: 選擇所述多個輸入值中的輸入值; 在所述響應內隨機選擇位置;以及 在所述響應內隨機選擇的所述位置處插入標識被選擇的所述輸入值的信息。
5.根據權利要求1所述的安全性設備,其中當修改所述響應時,所述一個或者多個處理器被進一步配置為: 選擇所述多個輸入值中的輸入值; 基于與被選擇的所述輸入值相關聯的信息,在所述響應內選擇位置; 在所述響應內被選擇的所述位置處,插入標識被選擇的所述輸入值的信息。
6.根據權利要求1所述的安全性設備,其中所述一個或者多個處理器被進一步配置為: 確定與由所述攻擊者設備提供的所述多個輸入值中的輸入值匹配的信息;并且 其中,當修改所述響應時,所述一個或者多個處理器進一步用于: 通過添加與所述輸入值匹配的所述信息來修改所述響應。
7.根據權利要求1所述的安全性設備,其中與多個輸入值相關聯的所述信息包括: 第一部分信息和第二部分信息;并且 其中所述一個或者多個處理器進一步用于: 確定所述第一部分信息將不被包括在所述響應中; 確定所述第二部分信息將被包括在所述響應中;以及 將所述第二部分信息添加到所述響應。
8.一種用于防止攻擊者設備標識與服務器設備相關聯的漏洞的系統,所述系統包括: 用于從所述服務器設備接收與由所述攻擊者設備提供的請求相關聯的響應的裝置, 其中所述請求包括輸入集; 用于獲取標識包括在所述請求中的所述輸入集的信息的裝置; 用于修改所述響應以包括與所述輸入集中的多個輸入相關聯的信息的裝置, 其中所述響應被修改以嘗試防止所述攻擊者設備接收基于正被包括在被修改的所述響應中的所述輸入集中的所述多個輸入來標識與所述服務器設備相關聯的所述漏洞的信息;以及 用于向所述攻擊者設備提供被修改的所述響應的裝置。
9.根據權利要求8所述的系統,其中所述用于修改所述響應的裝置包括: 用于通過添加標識包括在所述輸入集中的第一輸入的信息來修改所述響應的第一部分的裝置;以及 用于通過添加標識包括在所述輸入集中的第二輸入的信息來修改所述響應的第二部分的裝置。
10.根據權利要求8所述的系統,其中所述用于修改所述響應的裝置包括: 用于修改所述響應以包括標識包括在所述輸入集中的每一個輸入的信息的裝置。
11.根據權利要求8所述的系統,其中所述用于修改所述響應的裝置包括: 用于選擇包括在所述輸入集中的具體輸入的裝置; 用于在所述響應內隨機選擇位置的裝置;以及 用于在所述響應內隨機選擇的所述位置處插入標識所述具體輸入的信息的裝置。
12.根據權利要求8所述的系統,其中所述用于修改所述響應的裝置包括: 用于選擇包括在所述輸入集中的具體輸入的裝置; 用于基于與被選擇的所述輸入相關聯的信息,在所述響應內選擇位置的裝置; 用于在所述響應內被選擇的所述位置處插入標識所述具體輸入的信息的裝置。
13.根據權利要求8所述的系統,進一步包括: 用于確定與包括在由所述攻擊者設備提供的所述輸入集中的具體輸入匹配的信息的裝置;并且 其中,所述用于修改所述響應的裝置包括: 用于通過添加與所述具體輸入匹配的所述信息來修改所述響應的裝置。
14.根據權利要求8所述的系統,其中與所述多個輸入相關聯的所述信息包括: 第一部分信息和第二部分信息;并且 其中所述系統進一步包括: 用于確定所述第一部分信息將不被包括在所述響應中的裝置; 用于確定所述第二部分信息將被包括在所述響應中的裝置;以及 用于向所述響應添加所述第二部分信息的裝置。
15.一種用于防止攻擊者設備標識與服務器設備相關聯的漏洞的方法,包括: 由安全性設備接收對請求的響應, 其中所述請求由所述攻擊者設備向所述服務器設備提供并且包括輸入值, 其中所述輸入值由所述攻擊者設備提供, 其中所述響應由所述服務器設備提供; 由所述安全性設備確定包括在所述請求中的所述輸入值; 由所述安全性設備修改所述響應以包括所述輸入值中的多個輸入值;以及由所述安全性設備提供被修改的所述響應,以嘗試使得所述攻擊者設備不能基于正被包括在所述響應中的所述輸入值中的所述多個輸入值來標識與所述服務器設備相關聯的所述漏洞。
16.根據權利要求15所述的方法,其中修改所述響應進一步包括: 通過添加標識所述輸入值的第一輸入值的信息來修改所述響應的第一部分;以及 通過添加標識所述輸入值的第二輸入值的信息來修改所述響應的第二部分。
17.根據權利要求15所述的方法,其中修改所述響應進一步包括: 選擇所述輸入值中的輸入值; 在所述響應內隨機選擇位置;以及 在所述響應內隨機選擇的所述位置處,插入標識被選擇的所述輸入值的信息。
18.根據權利要求15所述的方法,其中修改所述響應進一步包括: 選擇所述輸入值中的輸入值; 基于與被選擇的所述輸入值相關聯的信息,在所述響應內選擇位置;以及 在所述響應內被選擇的所述位置處,插入標識被選擇的所述輸入值的信息。
19.根據權利要求15所述的方法,進一步包括: 確定與由所述攻擊者設備提供的所述輸入值中的輸入值匹配的信息;并且 其中修改所述響應進一步包括: 通過添加與所述輸入值匹配的所述信息來修改所述響應。
20.根據權利要求15所述的方法,其中所述多個輸入值包括: 第一部分信息和第二部分信息;并且 其中所述方法進一步包括: 確定所述第一部分信息將不被包括在所述響應中; 確定所述第二部分信息將被包括在所述響應中;以及 向所述響應添加所述第二部分信息。
【文檔編號】H04L29/06GK104519045SQ201410514476
【公開日】2015年4月15日 申請日期:2014年9月29日 優先權日:2013年9月30日
【發明者】K·亞當斯 申請人:瞻博網絡公司