專利名稱:Sql注入web攻擊的實(shí)時(shí)入侵檢測系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及WEB應(yīng)用入侵檢測領(lǐng)域,尤其涉及SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng)'
背條技術(shù)
異常網(wǎng)絡(luò)入侵檢測有別于傳統(tǒng)的入侵檢査,它通過對比當(dāng)前的數(shù)據(jù)和先前獲得的"安全模型",看兩 者之間的差異是否超出了誤差范圍來偵査新的數(shù)據(jù),異常入侵偵査的優(yōu)勢之一是它不滯要一個(gè)很大的特征 數(shù)據(jù)庫。
基于特征檢測的入侵偵査系統(tǒng)(IDS)是目前世界上使用最廣泛的系統(tǒng),因?yàn)樗軌蚍浅Q杆俣覝?zhǔn) 確地檢測已知攻擊,然而,基于特征檢測的IDS對未知攻擊的檢測能力非常弱,因?yàn)橐坏┕粽邔粜?為稍做變形,特征就很難得到匹配,因此,攻擊者可以很容易地躲避特征IDS。
另一方面,異常網(wǎng)絡(luò)入侵偵査對于想要躲過特征IDS的未知網(wǎng)絡(luò)攻擊或者一個(gè)類似已知的攻擊也是有 效的。然而,異常網(wǎng)絡(luò)入侵偵査的缺點(diǎn)是因它的高誤吿警率而導(dǎo)致了現(xiàn)實(shí)中的不實(shí)用,
直到2000年,互聯(lián)網(wǎng)(WEB)的網(wǎng)絡(luò)流愛完全超過了其他的應(yīng)用系統(tǒng),成為了世界上使用最廣泛的 協(xié)議。隨著網(wǎng)絡(luò)的普及,越來越多的商業(yè)交易和交流通過網(wǎng)絡(luò)傳輸,越來越多的人們喜歡在網(wǎng)絡(luò)上做他們 最喜愛的事網(wǎng)上購物、網(wǎng)上銀行交易,收發(fā)電子郵件等等。
同時(shí),Web的安全問題也成為了條熱門的話題。即使是那些發(fā)明網(wǎng)絡(luò)的人也沒有預(yù)料到網(wǎng)絡(luò)在今天能 取得這么巨大的成功開始時(shí),他們也可能并沒有忽視網(wǎng)絡(luò)的安全問題。另一個(gè)方面原因越來越多的黑客 將注意力轉(zhuǎn)移到Web應(yīng)用系統(tǒng)的常見弱點(diǎn)上使得網(wǎng)絡(luò)應(yīng)用與服務(wù)成為受攻擊次數(shù)增長最快的領(lǐng)域。雖然許 多公司投入很大的資源來處理這些安全問趣,但是面對很多Web應(yīng)用弱點(diǎn),兒乎沒有防御能力。不時(shí)發(fā)生 新的Web攻擊。2002年計(jì)算機(jī)安全研究所(CSI)計(jì)算機(jī)犯罪與安全調(diào)査顯示以年為計(jì)算單位,超過 半數(shù)的數(shù)據(jù)庫都受到過某些攻擊,平均每次攻擊造成接近4百萬美元的損失,這項(xiàng)調(diào)査同樣表明如今網(wǎng)絡(luò) 犯罪已經(jīng)司空見慣了,網(wǎng)絡(luò)犯罪包括了從破壞計(jì)算機(jī)(如網(wǎng)頁籌改)的低端犯罪到盜取個(gè)人信息和商業(yè)欺 騙的高端犯罪。
有趣的是,超文本傳輸協(xié)議(HTTP)和網(wǎng)絡(luò)應(yīng)用可能是Web上錄容易受攻擊的部分,其中一個(gè)原因在 于網(wǎng)絡(luò)的廣泛使用和HTTP、 CGI (通用網(wǎng)關(guān)接口)和網(wǎng)絡(luò)應(yīng)用創(chuàng)建時(shí)對安全方面的考慮甚少。另一個(gè)原 因是防火墻的HTTP80端口 (或者8080, HTTPs 443端口等)對于WEB應(yīng)用總是開放的。
與其他的協(xié)議不同,針對WEB應(yīng)用的攻擊涵蓋了從操作系統(tǒng)(OS)、 WEB服務(wù)到應(yīng)用/數(shù)據(jù)庫的各個(gè) 層次。這些攻擊包括非法輸入、緩沖區(qū)溢出、跨站點(diǎn)腳本攻擊(XSS)、拒絕服務(wù)、會(huì)話劫持和SQL注 入。
在所有的攻擊中,SQL注入是雖普遍的攻擊方式之一。WEB攻擊的趨勢可以與自動(dòng)化相比,即快速
找到弱點(diǎn)然后攻擊.大多數(shù)時(shí)候,攻擊者只滯要一個(gè)瀏覽器及與因特網(wǎng)的連接'然而,也有用于快速掃描 和檢測弱點(diǎn)的輔助工具。_
SQL注入是網(wǎng)絡(luò)攻擊的一種形式,并且只需要一個(gè)瀏覽器,就能攻擊Web應(yīng)用系統(tǒng)(如ASP、 JSP、 PHP、 CGI等)本身,而不是運(yùn)行著操作系統(tǒng)(OS)的Web服務(wù)器或服務(wù),即使Web應(yīng)用系統(tǒng)之間并不 相同,但是他們主要的體系還是十分相似的.舉例說明,如果Web應(yīng)用系統(tǒng)的參數(shù)檢査不嚴(yán)密或處理不當(dāng), 就可能會(huì)被注入亂碼參數(shù),導(dǎo)致Web應(yīng)用系統(tǒng)形成一個(gè)特殊的SQL結(jié)構(gòu)并發(fā)送到數(shù)據(jù)庫..許多Web應(yīng)用 系統(tǒng)從Web用戶取得參數(shù),然后向數(shù)據(jù)庫做SQL査詢,舉個(gè)例子,當(dāng)一個(gè)用戶從Web網(wǎng)頁登錄到網(wǎng)站時(shí). Web網(wǎng)頁取得登錄用戶的用戶名和密碼然后向數(shù)據(jù)庫做SQL査詢來確定是否是有效的用戶名和密碼。那 么.攻擊者可能先發(fā)送一個(gè)偽逍的用戶名和/或密碼并通過SQL注入改變SQL査詢而成功登錄。
^數(shù)輸入 用戶名 密碼
常例 John Johnl2345
SQL注入例子 Joe 'J'or' 1'=, 1
SQL注入過程因條件不同而操作不同.下面一起講述.第一種情況是,Web應(yīng)用系統(tǒng)根本不能對所 有的參數(shù)進(jìn)行合法性檢査或者檢査不足,因此就直接用輸入值構(gòu)成SQL。第二種情況是,SQL由Web應(yīng) 用系統(tǒng)使用輸入?yún)?shù)簡單構(gòu)成,未對輸入?yún)?shù)進(jìn)行"長度檢査、特殊字符過濾"等等必要操作。Web應(yīng)用 系統(tǒng)還在應(yīng)用層次上創(chuàng)建一個(gè)用偽造輸入?yún)?shù)建立的SQL查詢,并發(fā)送到數(shù)據(jù)庫層去執(zhí)行。例如,在一個(gè) 登錄過程中,SQL可以通過從USERNAME- 'Susemaoie,, password- 1password'的USERPROFILE中選擇 -個(gè)USERID來建立。在這個(gè)登錄例子中當(dāng)參數(shù)填入的時(shí)候,建立的SQL會(huì)從USERNAME-'Joe', password-T or'l'-'l'的USERPROFILE中選擇USERID。這個(gè)'l'-'l,通常能保證返回的條件是tme,所 以攻:擊者能有效登錄Web應(yīng)用系統(tǒng).
為了偵査SQL注入攻擊,許多人嘗試基于特征檢測的方法,主要包括以下幾種方式1)檢測是否存 在特殊字符2)檢測輸入?yún)?shù)中是否匹配已知的模式,如l-l,'a'-'a,等等;3)類似于2),將任何被公 布的已知格式放入檢測列表,或者使用正則表達(dá)做部分格式匹配從而獲取更多格式。
即使基于上述特征能夠檢擁到部分SQL注入攻擊,但其局限性是顯而易風(fēng)的,主要表現(xiàn)在l)只能檢 測到已知的SQL注入特征2)新型的SQL注入攻擊技術(shù)會(huì)不斷的產(chǎn)生,而且攻擊特征與以往有所不同;3) 已經(jīng)發(fā)現(xiàn)的SQL注入攻擊變形繁多,并且逃逸技術(shù)已經(jīng)非常普遍。
單純基于特征的檢測技術(shù)誤吿率很高,或者說根本沒什么效果.例如,一個(gè)合法的用戶也可能會(huì)輸入 一些特殊的字符'因此,如果系統(tǒng)只是簡單地通過特殊字符判斷,那么這種簡單的判斷方式就會(huì)導(dǎo)致很髙 的誤告警率。如果系統(tǒng)想捕捉準(zhǔn)確的已知格式,如1=1,那么當(dāng)攻擊者可能改變成z =z或者j仿nrt^仿rut
時(shí)就無效了。值得強(qiáng)調(diào)的是,系統(tǒng)幾乎不可能在同一時(shí)間窮盡所有可能的格式。
因此現(xiàn)在有必要研發(fā)一個(gè)低誤告警、離偵査率的,針對Web應(yīng)用SQL注入攻擊的檢測技術(shù)。
發(fā)明內(nèi)容
本發(fā)明為解決現(xiàn)有技術(shù)存在的不足之處,目的在于提供考一個(gè)先進(jìn)異常SQL注入檢測系統(tǒng),這個(gè)系統(tǒng) 將數(shù)據(jù)庫層與Web應(yīng)用層相關(guān)聯(lián),因此檢測技術(shù)更加精確,更加有力并且低誤告警,
本發(fā)明的目標(biāo)是為異常入侵檢測提供一種新的方式,即基于狀態(tài)碼、參數(shù)長度、請求流量、返回流量、 特殊字符等進(jìn)行異常檢測。
本發(fā)明的較長遠(yuǎn)目標(biāo)是提供一個(gè)數(shù)據(jù)庫層和Web應(yīng)用層相關(guān)聯(lián)的異常SQL注入檢測系統(tǒng),用來檢 測目前最為流行的、危害最大的Web應(yīng)用攻^~SQL注入,同時(shí)降低誤告整。
本發(fā)明深層次的目標(biāo)是提供一個(gè)單機(jī)運(yùn)行的計(jì)算機(jī)軟件產(chǎn)品,可以實(shí)現(xiàn)以下功能針對某個(gè)網(wǎng)站通過學(xué) 習(xí)創(chuàng)建正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)模型;實(shí)時(shí)捕獲數(shù)據(jù)庫和Web應(yīng)用SQL査詢數(shù)據(jù);基于已 經(jīng)創(chuàng)建的正常訪問數(shù)據(jù)模型與實(shí)時(shí)捕獲的網(wǎng)站訪問數(shù)據(jù)的比較,完成SQL注入攻擊的異常入侵檢測。
學(xué)習(xí)創(chuàng)建正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問模型;實(shí)時(shí)捕獲網(wǎng)站數(shù)據(jù)庫和web應(yīng)用SQL訪問數(shù)據(jù);基 于已經(jīng)創(chuàng)建的正常訪問數(shù)據(jù)模型與實(shí)時(shí)捕獲的網(wǎng)站訪問數(shù)據(jù)的比較,完成SQL注入攻擊的異常入侵檢測。
本發(fā)明長遠(yuǎn)一點(diǎn)的目標(biāo)是提供一 個(gè)軟/硬件一體的系統(tǒng),該系統(tǒng)通過一個(gè)可操作的處理器來執(zhí)行一 系列 的指令,在學(xué)習(xí)模式下可以針對某個(gè)網(wǎng)站通過學(xué)習(xí)創(chuàng)建正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問模型.在檢測模 ^下可以實(shí)時(shí)捕獲數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù),并且基于己經(jīng)創(chuàng)建的正常訪問數(shù)據(jù)模型與實(shí)時(shí)捕獲 的網(wǎng)站訪問數(shù)據(jù)的比較,完成SQL注入攻擊的異常入侵檢測。該系統(tǒng)還可以配置相應(yīng)的存儲,用于保存學(xué)習(xí) 模式及檢測模式下的運(yùn)行結(jié)果。
本發(fā)明更長遠(yuǎn)一點(diǎn)的目標(biāo)是提供一個(gè)系統(tǒng),該系統(tǒng)能夠?qū)?shù)據(jù)庫層面的異常訪問與WEB應(yīng)用層面的 異常訪問進(jìn)行有效的關(guān)聯(lián),
本發(fā)明的基本目標(biāo)是提供一種靈活、正確的方法來檢測Web應(yīng)用安全(與SQL注入攻擊相關(guān)),用于 克服傳統(tǒng)技術(shù)設(shè)備的不足之處.
本發(fā)明的目標(biāo)是提供一個(gè)低誤吿整率的檢測系統(tǒng),
本發(fā)明的另一個(gè)目標(biāo)是提供一個(gè)異常SQL注入檢測系統(tǒng),它可以通過數(shù)據(jù)庫層和Web應(yīng)用層的攻擊 關(guān)聯(lián),在攻擊特征/攻擊模式未知的情況下,能夠檢測到全新的0-day攻擊。該系統(tǒng)事先并不知道攻擊具有 怎祥的一個(gè)攻擊特.征效擊模式,
本發(fā)明的另一個(gè)目標(biāo)是提供一個(gè)可配置的系統(tǒng),它可以檢測其他Web應(yīng)用攻擊,如通過偽造參數(shù)方式 進(jìn)行的跨站腳本攻擊等。
本發(fā)明是通過以下技術(shù)方案達(dá)到上述目的SQL注入WEB攻擊的實(shí)時(shí)入侵檢郝系統(tǒng),包括 為網(wǎng)站提供學(xué)習(xí)正常數(shù)據(jù)庫和Web應(yīng)用標(biāo)準(zhǔn)査詢語句(SQL)査詢數(shù)據(jù)的方法;
為網(wǎng)站提供捕獲實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL査詢數(shù)據(jù)的方法;
基于正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)的典型SQUi入攻
擊檢測方法。
作為優(yōu)選,學(xué)習(xí)的方法包括測定數(shù)據(jù)庫層屬性的方法和測定Web應(yīng)用層屬性的方法。 作為優(yōu)選,測定數(shù)據(jù)庫層展性的方法偵聽網(wǎng)站的WEB服務(wù)器與數(shù)據(jù)庫之間流量。 作為優(yōu)選,測定數(shù)據(jù)庫層屬性的方法從數(shù)據(jù)庫審計(jì)特征中獲得數(shù)據(jù)庫層屬性. 作為優(yōu)選,.測定數(shù)據(jù)庫層屬性的方法采集該網(wǎng)站發(fā)起的SQL操作數(shù)據(jù)。 作為優(yōu)選,數(shù)據(jù)庫層屬性包括用戶數(shù)據(jù)、操作數(shù)據(jù)、目標(biāo)對象數(shù)據(jù)和狀態(tài)碼數(shù)據(jù)。 作為優(yōu)選,Web應(yīng)用層屬性至少包括狀態(tài)碼、網(wǎng)站請求流量、網(wǎng)站返回流量和值長度* 作為優(yōu)選,檢測的方法包括基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一 個(gè)異常分?jǐn)?shù)的方法,
基于正常數(shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)庫SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)的方法。 第一個(gè)異常分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)關(guān)聯(lián)的方法, 作為優(yōu)選,根據(jù)第一個(gè)異常分?jǐn)?shù)(Sl)和第二個(gè)異常分?jǐn)?shù)(S2),采用如下公式測定關(guān)聯(lián)分?jǐn)?shù)(S) 的方法
S-SlxS2/(Sl+S2、 作為優(yōu)選,,檢測方法適用于檢測0-daySQL注入攻擊. 作為優(yōu)選,所述的系統(tǒng)無法預(yù)知類似的攻擊特征效擊模式。 一個(gè)計(jì)算機(jī)程序產(chǎn)品包含了帶有指令的計(jì)算機(jī)可讀介質(zhì),可以使計(jì)算機(jī) 從網(wǎng)站訪問數(shù)據(jù)學(xué)習(xí)正常數(shù)據(jù)庫和Web應(yīng)用標(biāo)準(zhǔn)査詢語句(SQL)的模型。 為網(wǎng)站捕獲實(shí)時(shí)數(shù)據(jù)庫和網(wǎng)站應(yīng)用SQL訪問數(shù)據(jù)。
SQL注入攻擊,
作為優(yōu)選,學(xué)習(xí)指令可以使計(jì)算機(jī)執(zhí)行以下操作 測定數(shù)據(jù)庫層屬性;和 測定Web應(yīng)用層屬性。
作為優(yōu)選'測定數(shù)據(jù)庫層屬性的指令可以使計(jì)算機(jī)執(zhí)行以下操作偵聽網(wǎng)站的WEB服務(wù)器與數(shù)據(jù)庫 間的流量。
作為優(yōu)選'測定數(shù)據(jù)庫層屬性的指令可以使計(jì)算機(jī)執(zhí)行^下操作從數(shù)據(jù)庫審計(jì)特征中獲取欲據(jù)庫層 厲性,
作為優(yōu)選,測定數(shù)據(jù)庫層屬性的指令可以使計(jì)算機(jī)執(zhí)行以卞操作采集網(wǎng)站發(fā)起的SQL操作數(shù)據(jù). 作為優(yōu)選,數(shù)據(jù)庫層屬性包括用戶數(shù)據(jù)、揚(yáng)作數(shù)據(jù)、目標(biāo)對象數(shù)據(jù)和狀態(tài)碼數(shù)據(jù)' 作為優(yōu)選,Web應(yīng)用系統(tǒng)屬性至少包括狀態(tài)碼、網(wǎng)站請求流量、網(wǎng)站返回流量和值長度。 作為優(yōu)選,檢測指令可以使計(jì)算機(jī)執(zhí)行以下操作.
基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一 個(gè)異常分?jǐn)?shù)。
基于正常數(shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)庫SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)。
第一個(gè)異常分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)進(jìn)行關(guān)聯(lián), 作為優(yōu)選,關(guān)聯(lián)指令可以使計(jì)算機(jī)執(zhí)行以下操作
根據(jù)第一個(gè)異常分?jǐn)?shù)(Sl)和第二個(gè)異常分?jǐn)?shù)(S2),采用如下公式測定關(guān)聯(lián)分?jǐn)?shù)(S):
S=SlxS2/(Sl+S2). 作為優(yōu)選,檢測指令適用于檢測O"daySQL注入攻擊。 作為優(yōu)選,檢測指令無法預(yù)知類似的攻擊特征效擊模式。 檢測方法由以下步驟組成
從網(wǎng)站訪問數(shù)據(jù)學(xué)習(xí)正常數(shù)據(jù)庫和Web應(yīng)用標(biāo)準(zhǔn)査詢語句(SQL)的模型。 為網(wǎng)站捕獲實(shí)時(shí)數(shù)據(jù)庫和網(wǎng)站應(yīng)用SQL訪問數(shù)據(jù)。
基于正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)檢測的異常的典型 SQL注入攻擊。
作為優(yōu)選,學(xué)習(xí)步驟包括測定數(shù)據(jù)庫層屬性;和測定Web應(yīng)用層屬性。 作為優(yōu)選,測定數(shù)據(jù)庫層屬性的步驟包含了偵聽網(wǎng)站的WEB服務(wù)器與數(shù)據(jù)庫間的流量。 作為優(yōu)選,測定數(shù)據(jù)庫層屬性的步驟包括了從數(shù)據(jù)庫審計(jì)特征獲取數(shù)據(jù)庫層屬性。 作為優(yōu)選,測定數(shù)據(jù)庫層屬性的步驟包括了采集網(wǎng)站發(fā)起的SQL操作數(shù)據(jù)。 作為優(yōu)選,數(shù)據(jù)庫層屬性包括用戶數(shù)據(jù)、操作數(shù)據(jù)、目標(biāo)對象數(shù)據(jù)和狀態(tài)碼數(shù)據(jù)。 作為優(yōu)選,Web應(yīng)用層的厲性至少包含狀態(tài)碼、網(wǎng)站請求流jt、網(wǎng)站返回流量和值長度。 作為優(yōu)選,檢測步驟包括基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一 個(gè)異常分?jǐn)?shù)?;谡?shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)^SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)'第一個(gè)異常 分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)進(jìn)疔關(guān)聯(lián).
作為優(yōu)選,關(guān)聯(lián)步驟包括根據(jù)第一個(gè)異常分?jǐn)?shù)(Sl)和第二個(gè)異常分?jǐn)?shù)(S2),采用如下公式測定關(guān) 聯(lián)分?jǐn)?shù)(S):
S=S1 xS2/(Sl+S2). 作為優(yōu)選,檢測步驟包含了檢測O-daySQL注入攻擊, SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),一個(gè)可以執(zhí)行一系列指令的可操作處理器,即在學(xué)習(xí)模式下學(xué)習(xí)網(wǎng)站的正常數(shù)據(jù)庫和Web應(yīng)用標(biāo) 準(zhǔn)査詢語句(SQL)的訪問數(shù)據(jù);在偵査模式下捕獲PJ站的實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù);基于 正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)在檢測模式下檢測異常的 典型SQL注入攻擊;
與處理器相連的存儲器用于保存學(xué)習(xí)模式和檢測模式下的結(jié)果。 作為優(yōu)選,可控處理器可以配置用于執(zhí)行一系列的指令來測定數(shù)據(jù)庫層屬性和測定Web應(yīng)用層屬性, 采用學(xué)習(xí)或捕獲模式畢可控的。
作為優(yōu)選,可控處理器在測定數(shù)據(jù)庫層屬性時(shí),還可以進(jìn)一步配置成通過偵聽WEB服務(wù)器和數(shù)據(jù)庫 之間的網(wǎng)站流量實(shí)現(xiàn)。
作為優(yōu)選,可控處理器在測定數(shù)據(jù)庫層屬性時(shí),還可以進(jìn)一步配置成從數(shù)據(jù)庫審計(jì)特征中獲取數(shù)據(jù)庫 層屬性。
作為優(yōu)選,可控處理器在測定數(shù)據(jù)庫層屬性時(shí),還可以進(jìn)一步配置成通過采集網(wǎng)站發(fā)起的SQL操作數(shù) 據(jù)實(shí)現(xiàn)。
作為優(yōu)選,數(shù)據(jù)庫層屬性包括用戶數(shù)據(jù)、操作數(shù)據(jù)、目標(biāo)對象數(shù)據(jù)和狀態(tài)碼數(shù)據(jù)。 作為優(yōu)選,,Web應(yīng)用層屬性至少包含狀態(tài)碼、網(wǎng)站請求流量、網(wǎng)站返回流量和值長度。 作為優(yōu)選,可控處理器在執(zhí)行檢測操作時(shí)可以進(jìn)一步配置為
基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一個(gè)異常分?jǐn)?shù)。
基于正常數(shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)庫SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)。
第一個(gè)異常分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)進(jìn)行關(guān)聯(lián)。 作為優(yōu)選,可控處理豳可以進(jìn)一步配置如下
根據(jù)第一個(gè)異常分?jǐn)?shù)(SI)和第二個(gè)異常分?jǐn)?shù)(S2),釆用如下公式測定關(guān)聯(lián)分?jǐn)?shù)(S):
S=SlxS2/(Sl+S2).
作為優(yōu)選,可控檢測處理器適用于檢測0-day SQL注入攻擊。 作為優(yōu)選,指令無法預(yù)知類似攻擊的特ffi/攻擊模式。
本發(fā)明的有益效果本發(fā)明不僅可以檢測常見的SQL注入攻擊的檢測技術(shù),同時(shí)具備低誤吿警、高 偵査率的特點(diǎn)。
圖1與本發(fā)明一致的實(shí)時(shí)異常SQL注入檢測系統(tǒng)總體框架示意圖。
圖2使用FIG1所示系統(tǒng)對某個(gè)網(wǎng)站的WEB應(yīng)用進(jìn)行實(shí)時(shí)異常SQL注入檢測的示意圖。
圖3與本次發(fā)明一致的實(shí)時(shí)異常SQL注入檢測器的總體結(jié)構(gòu)示意圖。
圖4A與本發(fā)明一致的WEB應(yīng)用層屬性采集總體結(jié)構(gòu)示意圖。
圖4B與本發(fā)明一致的數(shù)據(jù)庫層屬性采集總體結(jié)構(gòu)示意圖。
圖5與本發(fā)明一致的系統(tǒng)在學(xué)習(xí)模式下的學(xué)習(xí)過程總體流程示意圖。
圖6神經(jīng)網(wǎng)絡(luò)參數(shù)總體示意圖。
圖7與本發(fā)明一致的標(biāo)準(zhǔn)化處理過程總體流程示意圖。
圖8與本發(fā)明一致的標(biāo)準(zhǔn)化處理和算分模塊總體流程示意圖,
圖9后臺數(shù)據(jù)庫實(shí)體示意圖,實(shí)線表示正常訪問情況下能夠看到的實(shí)體,虛線表示非正常(異常)模 式下能夠看到實(shí)體。
圖10Web應(yīng)用層和數(shù)據(jù)庫層關(guān)聯(lián)總體示意圖。
具體實(shí)施例方式
實(shí)施例1 :提到圖表,在圖1中與本發(fā)明一致的實(shí)時(shí)異常SQL注入檢測系統(tǒng)以數(shù)字IO表示。系統(tǒng)10 的研制目標(biāo)是用于檢測異常SQL注入,并通過如圖10所示的數(shù)據(jù)庫層520與Web應(yīng)用層510的關(guān)聯(lián)實(shí)現(xiàn) 髙準(zhǔn)確率、低誤告警,數(shù)據(jù)庫層520對應(yīng)到圖2中的后臺數(shù)據(jù)庫220。 Web應(yīng)用層510對應(yīng)到圖2中的 Web服務(wù)器210或者其他計(jì)算機(jī)設(shè)備所運(yùn)行的WEB應(yīng)用。
圖2是圖1中的系統(tǒng)10應(yīng)用于網(wǎng)站200進(jìn)行實(shí)時(shí)異常SQL注入攻擊檢測的示意。網(wǎng)站200包含了一個(gè)為 終端ffl戶205提供WEB應(yīng)用的WEB服務(wù)器210,終端用戶205可以是個(gè)人電腦、膝上型電腦、筆記本型 個(gè)人電腦、記事本或者其他帶有網(wǎng)絡(luò)瀏覽器的計(jì)算機(jī)設(shè)備,在這群希望訪問網(wǎng)站200的用戶群中有一個(gè)攻 擊者,他同樣屬于帶瀏覽器功能的終端用戶205。攻擊者可能會(huì)使用其他的工具來檢測網(wǎng)站200的弱點(diǎn)。
再次回到圖1,系統(tǒng)10包含一個(gè)系統(tǒng)控制器20,它與數(shù)據(jù)采集器40、學(xué)習(xí)模塊60、異常SQL注入檢 測器相連。正常運(yùn)行時(shí),系統(tǒng)10通過數(shù)據(jù)采集器40來采集及提取來自網(wǎng)絡(luò)流量12或者數(shù)據(jù)庫日志14的 數(shù)據(jù)。系統(tǒng)10支持學(xué)習(xí)模式22,學(xué)習(xí)模式22用于從學(xué)習(xí)階段的一系列數(shù)據(jù)采集中學(xué)到正常行為模型。在 學(xué)習(xí)模式22下Web應(yīng)用層510和數(shù)據(jù)庫層520的正常行為均可以學(xué)習(xí)到。系統(tǒng)10還支持檢測模式24, 檢測模式24用來檢測實(shí)時(shí)異常SQL注入攻擊,如果檢測到某種攻擊,系統(tǒng)控制器20就會(huì)產(chǎn)生ALARM 告警,ALARM可以對異常行為進(jìn)行提示和/或阻止?jié)撛诘柠溡庑袨?。系統(tǒng)控制器20可以是一個(gè)處理器, 也可以是一個(gè)基于計(jì)算機(jī)、服務(wù)器等的其他計(jì)算機(jī)設(shè)備,因此,系統(tǒng)控制器20可以同時(shí)實(shí)現(xiàn)上述描述的 一個(gè)或多個(gè)處理過程,多個(gè)處理可以是并行、串行或混合的工作模式。 系統(tǒng)控制器20連接著一個(gè)存儲25,用于存.放數(shù)據(jù)及下文提到的結(jié)果數(shù)據(jù), 1.采集模塊
數(shù)據(jù)采集器40在系統(tǒng)控制器20控制下,分別在學(xué)習(xí)模式22和檢測模式24下對WEB應(yīng)用層屬性42和數(shù) 據(jù)庫層屬性44進(jìn)行學(xué)習(xí)和檢測。數(shù)據(jù)采集器40可以通過捕獲網(wǎng)絡(luò)TCP/IP流量Tl (傳輸控制協(xié)議/互聯(lián) 網(wǎng)絡(luò)協(xié)議)或采集WEB服務(wù)器日志的方式獲取WEB應(yīng)用層屬性42。當(dāng)數(shù)據(jù)采集器40滯要采集數(shù)據(jù)庫層
厲性44時(shí)可以使用數(shù)據(jù)庫審計(jì)日志。WEB應(yīng)用厲性42的列表參見圖4A,數(shù)據(jù)采集器40將采集到的一 系列WEB應(yīng)用層屬性42 (圖4A)和數(shù)據(jù)庫層屬性44的結(jié)果保存在存儲器中。
在圖4A中,WEB應(yīng)用層42屬性列表包括參數(shù)值異常分?jǐn)?shù)84A、參數(shù)名異常分?jǐn)?shù)86A、扭態(tài)碼88A、請 求流量卯A和返回流量92A,作為學(xué)習(xí)(培訓(xùn))要素,這些信息由數(shù)據(jù)收集器40通過網(wǎng)絡(luò)流量12獲得。 在圖2中,網(wǎng)絡(luò)流量12以標(biāo)識為Tl的箭頭表示。在檢測模式下,實(shí)時(shí)的WEB應(yīng)用層屬性列表包含參數(shù) 值異常分?jǐn)?shù)84B、參數(shù)名異常分?jǐn)?shù)86B、狀態(tài)碼88B、請求流置卯B和返回流量92B. 參數(shù)值異常分?jǐn)?shù)84A或者84B通過用來定義SQL注入的發(fā)生,比如SQL注入發(fā)生時(shí)大多數(shù)情況下參數(shù)值 長度會(huì)比正常的長,當(dāng)出現(xiàn)異常特殊字符(如沒有限制")"或者")")時(shí)參數(shù)值的異常分?jǐn)?shù)就會(huì)產(chǎn)生,這 就意味著發(fā)生了 SQL注入攻擊。為了增強(qiáng)檢測能力,其他的一些特殊字符也被用來計(jì)算參數(shù)值異常分?jǐn)?shù)。 參數(shù)名異常分?jǐn)?shù)通過用來定義SQL的注入的發(fā)生,比如SQL注入發(fā)生時(shí)大多數(shù)情況下用戶或游客分?jǐn)?shù) 會(huì)比正常情況下大。狀態(tài)碼88A或者8犯是一個(gè)內(nèi)部錯(cuò)誤代碼,表示應(yīng)用系統(tǒng)出現(xiàn)了問題,如Web應(yīng)用 向數(shù)據(jù)庫層發(fā)送査詢請求失敗,請求流量卯A或者卯ti表示客戶(用戶)或者是攻擊者發(fā)送到Web應(yīng)用 的請求數(shù)量。返回流量92A或者92B表示從WEB服務(wù)器210返回給客戶端的流量。從WEB服務(wù)器210 到互聯(lián)網(wǎng)(WWW)的返回流量以標(biāo)識為Tl的箭頭所示。 WEB應(yīng)用層屬性42只是一個(gè)例子,可能隨著Web應(yīng)用的不同而有所變化。 前面已經(jīng)清楚地描述了如何從WEB應(yīng)用層510提取或者采集數(shù)據(jù),并根據(jù)WEB層屬性42產(chǎn)生異常 分?jǐn)?shù)。然而,僅僅從Web應(yīng)用層510而言,系統(tǒng)10還不足以精確描述由WEB服務(wù)器210執(zhí)行的Web應(yīng) 用層510是如何向后臺數(shù)據(jù)庫220或者數(shù)據(jù)庫層520發(fā)送査詢膽行指令的。從理論上講,數(shù)據(jù)庫層520 的數(shù)據(jù)庫層屬性44可以作為一個(gè)很重要的輔助工具,用來精確判斷或評估將要發(fā)生的真實(shí)攻擊和證明已 經(jīng)發(fā)生的攻擊行為或攻擊造成的損失.
采集數(shù)據(jù)庫層屬性44有幾種方法。例如,通過偵聽WEB服務(wù)器210和后臺數(shù)據(jù)庫220之間、標(biāo)識為T2 的雙向箭頭所表示的網(wǎng)絡(luò)流量來完成數(shù)據(jù)庫層屬性44的釆集。另一種方法是,從后臺數(shù)據(jù)庫220本身采 巢數(shù)據(jù)庫層屬性44,比如通過數(shù)據(jù)庫的審計(jì)特性,或者從包含來自系統(tǒng)10的SQL操作數(shù)據(jù)的特定區(qū)域中 采集。
如圖4B所示,在學(xué)習(xí)模式下,常見的數(shù)據(jù)庫層屬性44包括用戶102A、操作104A、操作對象106A和狀 態(tài)碼〗08A。在檢測模式下,常見的數(shù)據(jù)庫層屬性44包含括用戶102B、操作104B、操作對象106B和狀 態(tài)碼IO犯。具體來說,用戶102A或者102B指執(zhí)行SQL操作的數(shù)據(jù)庫用戶。操作104A或者104B指事 先定義的一系列數(shù)據(jù)庫操作,如選擇(Select)、插入(Insert)、刪除(Delete)或更新(Update)或新建(Create)。 操作對象106A或者106B指被訪問的表或者視圖'狀態(tài)碼108A或者108B表示訪問是否成功. 數(shù)據(jù)庫層屬性44只是一個(gè)例子,隨著后臺數(shù)據(jù)庫220的不同會(huì)有所變化, 2.學(xué)習(xí)模塊如圖6所示,在學(xué)習(xí)(處理)模式22下,每個(gè)CGI-URL會(huì)產(chǎn)生一個(gè)神經(jīng)網(wǎng)絡(luò)64,其中URL是在互聯(lián)網(wǎng) (WWW)中使用的統(tǒng)一資源定位器,而CGI則是通用的網(wǎng)關(guān)接口,神經(jīng)網(wǎng)絡(luò)64包含參數(shù)分?jǐn)?shù)65、 (http) 狀態(tài)碼66、 (http)請求流量67和(http)返回流量68 (這里的http代表超文本傳輸協(xié)議)。參數(shù)分?jǐn)?shù)65根據(jù) 參數(shù)長度、參數(shù)名和參數(shù)取值產(chǎn)生。與學(xué)習(xí)過程中正常的參數(shù)長度相比,參數(shù)越長參數(shù)分?jǐn)?shù)就越高'參數(shù) 分?jǐn)?shù)就決定了異常分?jǐn)?shù)。參數(shù)值也是以類似的方式產(chǎn)生。
例如,"obj-n咖e"或者 "usef,與"參數(shù)名(par咖etern咖e),,是一樣的'參數(shù)值(parametervalue)是 一個(gè)參數(shù)的取值。每個(gè)"參數(shù)名(parameter name)都有一個(gè)與之關(guān)聯(lián)的值的長度。此外,參數(shù)分?jǐn)?shù)、狀 態(tài)碼、請求流量、返回流量可以從"http"請求中分別提取。
一個(gè)黑客或者異常訪問者的上述屬性的實(shí)時(shí)用戶訪問分?jǐn)?shù),會(huì)與先前干凈環(huán)境下(學(xué)習(xí)模式)下的用戶分 數(shù)進(jìn)行比較。如果比較的差值超過一定的閥值,表示異常訪問者和/或黑客被檢測到了。 當(dāng)攻擊者發(fā)送不同的字符時(shí),請求流量和返回流量也通常被用來有效地檢測特殊的用戶。 數(shù)據(jù)采集器40的數(shù)據(jù)采集過程和圖5所示的學(xué)習(xí)過程300需要提取哪些屬性作為神經(jīng)網(wǎng)絡(luò)64的輸入?yún)?shù), 都是可配置的。通常情況下參數(shù)分?jǐn)?shù)、http狀態(tài)碼、請求流量和返回流量會(huì)被提取出來。
圖5是學(xué)習(xí)過程300的總體流程圖。學(xué)習(xí)過程從步驟302開始,解析網(wǎng)絡(luò)流量12或WEB服務(wù)器曰志, 隨后是步驟304,相關(guān)參數(shù)的提取。從網(wǎng)絡(luò)流量12中提取參數(shù)列表的描述如上。跟著步驟304的是步驟 305,利用圖8所示的標(biāo)準(zhǔn)化和算分引擎完成數(shù)據(jù)標(biāo)準(zhǔn)化與異常分?jǐn)?shù)計(jì)算。跟著步驟305的是步驟306,在 學(xué)習(xí)模式60下,由標(biāo)準(zhǔn)化和算分引擎處理的結(jié)果被傳入SOM (自組織映射)引擎62。 SOM (自組織映射) 引擎62是神經(jīng)網(wǎng)絡(luò)的一種類型。SOM引擎62處理提取的數(shù)據(jù)并產(chǎn)生SOM數(shù)據(jù)輸出。
跟著步驟306的是步驟308, SOM輸出數(shù)據(jù)被標(biāo)準(zhǔn)化和算分引擎70處理后輸出標(biāo)準(zhǔn)化數(shù)據(jù)。當(dāng)不同的 參數(shù)有不同的數(shù)據(jù)取值范圍時(shí)標(biāo)準(zhǔn)化處理是必須的。例如,如果參數(shù)分?jǐn)?shù)范圍是從O-IO,而(http)狀態(tài)碼范 圍是0~500時(shí),就需要標(biāo)準(zhǔn)化來阻止在計(jì)算異常分?jǐn)?shù)時(shí)一個(gè)屬性的參與作用比另一個(gè)屬性大(如果這不 是我們期望的)。步驟308后面是步驟310,對標(biāo)準(zhǔn)化后的輸出數(shù)據(jù)進(jìn)行分析。這些數(shù)據(jù)可能通過可視化的 圖表、報(bào)吿等等方式進(jìn)行分析,也可能通過計(jì)算機(jī)處理程序分析。
圖5的流程圖辨述的是與學(xué)習(xí)過程相關(guān)的WEB應(yīng)用層屬性42的處理過程。數(shù)據(jù)庫層屬性44的處理過 程也與此類似。
在常見的Web應(yīng)用使用案例中,采用模式匹配的方式提取參數(shù)特征。例如, 一個(gè)用戶名包含了字符、數(shù) 字和'_,。 ID可能是由一串?dāng)?shù)字組成的。但是在SQL注入攻擊案例中,為了是使入成功,輸入的用戶名將 會(huì)趨向于在字符串中含有不同的"特殊"字符,如(但不限于)一個(gè)單邊的引號(')、大矛號(>)、小 于號(<)或者圓括號。
下面是一個(gè)簡單的黑客攻擊例子,以Http (超文本傳輸協(xié)議)字符串形式表示的Web應(yīng)用SQL注入攻 擊,http字串如下 http:〃www.youweb.com/showdetail.asp id=49 and 1=1
這里的www指的是耳聯(lián)網(wǎng);"youweb.com "表示網(wǎng)站地址或者是頁面位置;剩下的字符如"? id=49and 1=1"是SQL注入攻擊數(shù)據(jù),
如果沒有返回任何錯(cuò)誤信息,攻擊者或者黑客可能會(huì)嘗試另—個(gè)SQL注入字串如下 http:〃www,yourweb.com/show.asp id=49 and (select count(,).from sysobjecte)>0 這里字符"? id=49 and (select count(*) from sysobjecte) >0是另一個(gè)SQL注入攻擊數(shù)據(jù)。
上述SQL注入例子是針對(SQL) WEB服務(wù)器210。然而,對于其他數(shù)據(jù)庫這個(gè)字串是類似的'只是 系統(tǒng)的表名/視圖名不同,可以從sysobjects中獲取。
從上述的SQL注入例子,我們很容易看到在長度和特征分布上,URL中的參數(shù)特征分布與正常情況下 有所不同。
圖9是后臺數(shù)據(jù)庫210中的視圖400的例子。正常訪問對象表示正常訪問模式,以實(shí)線表示。在異?;?者不規(guī)則情況下,除了正常訪問模式下的視圖對象外,還有以虛線表示的訪問模式。正如我們所看到的' 在正常情況下,WEB用戶402會(huì)査詢用戶信息表404、分類表406和訂單表408。然而,訪問所有用戶表 410則表示是異常的或不規(guī)范的。(all-user表格是oracle系統(tǒng)表,包含數(shù)據(jù)庫系統(tǒng)所有用戶信息。)
—個(gè)通用網(wǎng)關(guān)接口 (CGI)允許WEB設(shè)計(jì)者創(chuàng)建動(dòng)態(tài)網(wǎng)頁。例如,當(dāng)用戶與網(wǎng)頁交互,并用數(shù)據(jù)填寫 表格時(shí),輸入的信息可能會(huì)顯示在展示給用戶的下一個(gè)頁面。CGI同樣也用于搜索引擎。CGI可能是放在 服務(wù)器上的一個(gè)腳本,通常在一個(gè)目錄下。
系統(tǒng)10主要用于檢測WEB應(yīng)用層510或者數(shù)據(jù)庫層520的攻擊,即在學(xué)習(xí)過程中,將檢測字串中不同 的字符輸入到不同的bins,然后為每個(gè)URL計(jì)算出一個(gè)異常分?jǐn)?shù)。在檢測模式24下,系統(tǒng)10再次獲得每 個(gè)CGIURL的分?jǐn)?shù),并計(jì)算出與學(xué)習(xí)過程中創(chuàng)建的異常分?jǐn)?shù)的差值,用來生成新的異常分?jǐn)?shù)。
CGIURL中的每個(gè)參數(shù)名/參數(shù)值,系統(tǒng)10使用特殊的.bins來保存湘述不同的字符集,如下所示 (a-zA-Z, 0-9, ', ";,",",/,WV,!通,弁,豕,MA&,,(,),隱尸,9, ,(,),1).
在學(xué)習(xí)模式下,對于每個(gè)CGI/Web應(yīng)用,系統(tǒng)10通過學(xué)習(xí)或者培訓(xùn)操作來學(xué)習(xí)正常模式。
圖8是對標(biāo)準(zhǔn)化和算分引擎70的描述。在WEB應(yīng)用日志中的每個(gè)CGI請求URL,多數(shù)要素被抽取/計(jì)算 /標(biāo)準(zhǔn)化。在參數(shù)名長度子模板71中,參數(shù)名長度元素被提取、計(jì)算和標(biāo)準(zhǔn)化。在參數(shù)值長度子模板72 中'參數(shù)值長度元素被提取、計(jì)箅和標(biāo)準(zhǔn)化'在參數(shù)分布分?jǐn)?shù)子模板73中,參數(shù)分布分?jǐn)?shù)被提取、計(jì)箅 和標(biāo)準(zhǔn)化.在參數(shù)值分布分?jǐn)?shù)子模板74中'參數(shù)值分布分?jǐn)?shù)被提取、計(jì)算和標(biāo)準(zhǔn)化'分布分?jǐn)?shù)可以通過 字符的不同類型發(fā)生事件的多少來判斷。
為了減少誤告警,標(biāo)準(zhǔn)化和算分引擎70將a-z^-Z歸入字母類型,0-9為數(shù)字類型。而"特殊字符"如 "'"," > "等則被納入同不同bins子模板75處理的其他類型。鑒于上述假設(shè),對于某個(gè)CGI來說其字母 將會(huì)落入一個(gè)固定的模式。例如,在正常使用情況下,用戶名可能總是落入字符和數(shù)字類型中。另一方面,
當(dāng)SQL注入發(fā)生時(shí),CGI中可能會(huì)有"特殊字符",如a'or'l'-'l,這時(shí)將落入特殊字符類型和/或者異常 字符類型中。
參數(shù)值長度的標(biāo)準(zhǔn)化是很重要的,在全部的異常分?jǐn)?shù)計(jì)算過程中參數(shù)值長度能夠適合于一個(gè)固定的范圍 (如:0-1),輸出結(jié)果可以用方式Eq.(l)表示 |LenR — LenA| / Max(Le眠LenA) Eq. (1)
其中,LenR表示實(shí)時(shí)參數(shù)值長度,LenA表示為學(xué)習(xí)后的平均參數(shù)值長度.如果新的長度與學(xué)習(xí)模式下的 長度接近,那么結(jié)果就趨向于0。另一方面,如果實(shí)時(shí)參數(shù)值長度LenR比LenA大很多的話,結(jié)果就會(huì)趨 向于1。
圖7是毎個(gè)子模板的標(biāo)準(zhǔn)化和得分計(jì)算處理程序350的總體流程圖。處理程序350從步驟352開始,計(jì) 算要素提取,接下來是步驟354,要素計(jì)算,接著是步驟356,要素標(biāo)準(zhǔn)化,在有些實(shí)例中,分?jǐn)?shù)是在步 驟358時(shí)產(chǎn)生的,這個(gè)步驟用虛線來標(biāo)志說明是一個(gè)選擇性功能, 3.檢測模塊
類似于學(xué)習(xí)模塊,檢測模式24用于完成實(shí)時(shí)檢測過程的數(shù)據(jù)捕獲。所不同的是,在數(shù)據(jù)提取和標(biāo)準(zhǔn)化 以后,需耍傳入學(xué)習(xí)神經(jīng)過網(wǎng)絡(luò)用來計(jì)算當(dāng)前數(shù)據(jù)與先前"正常學(xué)習(xí)模型"數(shù)據(jù)之間的偏差,
WEB應(yīng)用層正常數(shù)據(jù)與SQL注入攻擊弓I起的異常流量對比如下表所示 WEB正常流量vs. SQL注入WEB流量
Web Training
203.73660929.275283576.5658123.1718
210.327813826.72訴6609.3593113.7122
219.322007761.41085645.5216103.568
221.86084581訴.066627.1404112.3334
212.3305304426.5677516.7143151.091
203.7924397639.5583432.9758172.911
201.1655923804.7452柳.0訴8159.6027
200.41341911041.625鄰3.2338132.卿6
200.1381941261.073402.2831131.4284
Web Detection
303.99卯448 139.9668 502.1129 0.003258 303.9974611 139.9346 462.2181 0.028421
303.9卿634
139.6504 139.7436
447.8501
445,2572
443.2334
442.135
524.5301
523.5133
522.0063
0.041096 0.067242 0.117713
2.34E-04 U6E-04 6.01E-05
4 WEB層異常分?jǐn)?shù)
如圖3所示,WEB層異常分?jǐn)?shù)由WEB層異常檢測器82計(jì)算得到,計(jì)算的依據(jù)是對比實(shí)時(shí)數(shù)據(jù)和神經(jīng)網(wǎng) 絡(luò)64 (使用自組織映射運(yùn)算法則)中的學(xué)習(xí)數(shù)據(jù)之間的偏差。 5數(shù)據(jù)庫層異常分?jǐn)?shù)
另一方面,數(shù)據(jù)庫層異常分?jǐn)?shù)是由數(shù)據(jù)庫層異常檢測器84計(jì)算的。類似的學(xué)習(xí)與檢測機(jī)制適W于數(shù)據(jù)庫 H 520,所不同的是需要將Web應(yīng)用層510的分類對應(yīng)到數(shù)據(jù)庫層520。圖IO就有這樣的一個(gè)例子.在圖 10中,Web應(yīng)用層510中的腳本515關(guān)聯(lián)到數(shù)據(jù)庫表525中的列或?qū)ο?。箭頭表示的是關(guān)聯(lián)的例子。例如, 腳本515中的用戶是對應(yīng)到數(shù)據(jù)庫表525中是一個(gè)執(zhí)行SQL操作的數(shù)據(jù)庫用戶。腳本515中的動(dòng)作對應(yīng)到 相應(yīng)的數(shù)據(jù)庫對象操作如選擇(Select)、插入(Insert)、刪除(Delete)或更新(Upadte)或創(chuàng)建(Create)。腳本中 的目標(biāo)對象是指被訪問的表和視圖.狀態(tài)碼表示訪問是否成功。
在千凈環(huán)境中學(xué)習(xí)和釆集數(shù)據(jù)后,每個(gè)實(shí)時(shí)數(shù)據(jù)都會(huì)產(chǎn)生一個(gè)異常分?jǐn)?shù),通過與神經(jīng)網(wǎng)絡(luò)64中的正常 數(shù)據(jù)對比得到,Web應(yīng)用層510和數(shù)據(jù)庫層520中交替進(jìn)行。
WEB層異常偵測器82和數(shù)據(jù)庫層異常檢測器84會(huì)產(chǎn)生自身的異常分?jǐn)?shù),以便最大程度描述攻擊行為。 接著,由WEB層與數(shù)據(jù)庫層關(guān)聯(lián)器86計(jì)算出一個(gè)聯(lián)合分?jǐn)?shù)。應(yīng)用層異常分?jǐn)?shù)與數(shù)據(jù)庫異常分?jǐn)?shù)關(guān)聯(lián)得到 的關(guān)聯(lián)分?jǐn)?shù)提供了一個(gè)更準(zhǔn)確的檢測方法,并且誤吿警率很低。事實(shí)上輸入的用戶參數(shù)是各式各樣的、不 可預(yù)期的,而且數(shù)據(jù)庫層的行為很難用特征來描述,因此單一層面的分?jǐn)?shù)往往會(huì)導(dǎo)致較高的誤告整率。有 很多的算法可以用來產(chǎn)生兩層之間的關(guān)聯(lián)分?jǐn)?shù)。比如,如果兩個(gè)分?jǐn)?shù)都很高,那么(結(jié)果)關(guān)聯(lián)分?jǐn)?shù)必須
是高的。同樣地,如果兩個(gè)分?jǐn)?shù)都很低,那么(結(jié)果)關(guān)聯(lián)分?jǐn)?shù)就必須是低的。一種可行的關(guān)聯(lián)分?jǐn)?shù)計(jì)算 方程式Eq,(2)如下
S-S1 xS2/(Sl+S2) Eq.(2)
其中,Sl表示為網(wǎng)絡(luò)WEB應(yīng)用層異常分?jǐn)?shù);S2表示數(shù)據(jù)庫層異常分?jǐn)?shù)。這個(gè)公式可以根據(jù)需要進(jìn)行修改, 只要其輸出是表示兩層的關(guān)聯(lián)即可.
上面的例子被用來描述相關(guān)的CGI.然而,系統(tǒng)10可以被配置用來檢測跨站腳本。
具體說來,上述功能可以通過硬件、軟件、軟/5J件一體件或者其他任何組合實(shí)現(xiàn)。如果以軟件方式實(shí) 現(xiàn),這些功能可以以一系列的指令或代碼形式儲存或傳輸于可讀的計(jì)算機(jī)介質(zhì)之中。計(jì)算機(jī)可讀介貭包括 卄箅機(jī)存儲介質(zhì)和將計(jì)算機(jī)程序從一個(gè)地方轉(zhuǎn)移到另一個(gè)地方的傳輸介質(zhì)。存儲介質(zhì)可以是任何一個(gè)可以 被計(jì)算機(jī)訪問到的有用介質(zhì),比如包括但不限于RAM、 ROM、 EEPROM、 CD-ROM或其他光盤陣列、磁 盤陣列和其他磁盤存儲設(shè)備,或者任何可以用來裝載或存儲想要的指令或數(shù)據(jù)結(jié)構(gòu)的可被計(jì)算機(jī)訪問到的 介質(zhì)。同樣,存儲介質(zhì)可以采用任意的連接方式。例如,如果軟件是從網(wǎng)站、服務(wù)器或者其他使用同軸電 纜、光纖電纜、雙絞線、數(shù)字用戶線或者無線技術(shù)(如紅外線、電波和微波)傳輸?shù)倪h(yuǎn)程資源上傳送過來的, 那么同軸電纜、光纖電纜、雙絞線、數(shù)字用戶線或者無線技術(shù)(如紅外線、電波和微波)都屬于介質(zhì)的范疇。 目前常用的磁盤和唱片還包括CD,激光彩碟、數(shù)字通用盤(DVD)、軟盤和通常用磁場復(fù)制數(shù)據(jù)的磁盤, 與用激光復(fù)制數(shù)據(jù)的圓盤。上面所述的任意組合都厲于計(jì)算機(jī)可讀介質(zhì)范疇。
先前有關(guān)信息披露的描述是為了讓所有在這個(gè)領(lǐng)域的專家能夠處理或使用這些漏洞,對于那些專家來說很 容易就能辨別出上述實(shí)例的各種變化,本文定義的基本原則同樣適用于沒有超出漏洞本質(zhì)和范圍的其他案 例。因此,漏洞并沒有規(guī)定要局限于本文所描述的案例,但是它在廣義的范疇上必須與文本的原則和異常 特征相一 致。
權(quán)利要求
1.SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于包括為網(wǎng)站提供學(xué)習(xí)正常數(shù)據(jù)庫和Web應(yīng)用標(biāo)準(zhǔn)查詢語句(SQL)查詢數(shù)據(jù)的方法;為網(wǎng)站提供捕獲實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL查詢數(shù)據(jù)的方法;基于正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)的典型SQL注入攻擊檢測方法。
2. 根據(jù)權(quán)利要求1所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,學(xué)習(xí)的方法包括-測定數(shù)據(jù)庫層屬性的方法和 測定Web應(yīng)用層屬性的方法.
3. 根據(jù)權(quán)利要求2所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,測定數(shù)據(jù)庫層屬性的方 法偵聽網(wǎng)站的WEB服務(wù)器與數(shù)據(jù)庫之間流至,
4. 根據(jù)權(quán)利要求2所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,測定數(shù)據(jù)庫層屬性的方 法從數(shù)據(jù)庫審計(jì)特征中獲得數(shù)據(jù)庫層屬性。
5. 根據(jù)權(quán)利要求2所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,測定數(shù)據(jù)庫層屬性的方 法采集該網(wǎng)站發(fā)起的SQL操作數(shù)據(jù),
6. 根據(jù)權(quán)利要求2所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,數(shù)據(jù)庫層屬性包括用 戶數(shù)據(jù)、操作數(shù)據(jù)、目標(biāo)對象數(shù)據(jù)和狀態(tài)碼數(shù)據(jù),
7. 根據(jù)權(quán)利要求6所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,Web應(yīng)用層屬性至少 包括狀態(tài)碼、網(wǎng)站請求流量、網(wǎng)站返回流量和值長度.
8. 根據(jù)權(quán)利要求1所述的SQU4入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,檢測的方法包括基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一 個(gè)異常分?jǐn)?shù)的方法?;谡?shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)庫SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)的方法。第一個(gè)異常分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)關(guān)聯(lián)的方法。
9. 根據(jù)權(quán)利要求8所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,根據(jù)第一個(gè)異常分?jǐn)?shù) (Sl)和第二個(gè)異常分?jǐn)?shù)(S2),采用如下公式測定關(guān)聯(lián)分?jǐn)?shù)(S)的方法<formula>formula see original document page 2</formula>
10. 根據(jù)權(quán)利要求1所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,檢測方法適用于檢測 O-daySQL注入攻擊。
11. 根據(jù)權(quán)利要求1所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,所述的系統(tǒng)無法預(yù)知 類似的攻擊特征成擊模式.
12. —個(gè)計(jì)算機(jī)程序產(chǎn)品包含了帶有指令的計(jì)算機(jī)可讀介質(zhì),其特征在于,可以使計(jì)算機(jī) 從網(wǎng)站訪問數(shù)據(jù)學(xué)習(xí)正常數(shù)據(jù)庫和Web應(yīng)用標(biāo)準(zhǔn)査詢語句(SQL)的模型。 為網(wǎng)站捕獲實(shí)時(shí)數(shù)據(jù)庫和網(wǎng)站應(yīng)用SQL訪問數(shù)據(jù)。基于正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)檢測的異常的典 型SQL注入攻擊。
13. 根據(jù)權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,學(xué)習(xí)指令可以使計(jì)算機(jī)執(zhí)行以下操作測定數(shù)據(jù)庫層屬性;和 測定Web應(yīng)用層屬性。
14. 根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,測定數(shù)據(jù)庫層屬性的指令可以使計(jì)算機(jī)執(zhí)行以 下操作偵聽網(wǎng)站的WEB服務(wù)器與數(shù)據(jù)庫間的流量,
15. 根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,測定數(shù)據(jù)庫層屬性的指令可以使計(jì)算機(jī)執(zhí)行以 下操作從數(shù)據(jù)庫審計(jì)特征中獲取數(shù)據(jù)庫層屬性。
16. 根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,測定數(shù)據(jù)庫層屬性的指令可以使計(jì)算機(jī)執(zhí)行以下操作采集網(wǎng)站發(fā)起的SQL操作數(shù)據(jù),
17. 根據(jù)權(quán)利要求13所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,數(shù)據(jù)庫層屬性包括用戶數(shù)據(jù)、操作數(shù)據(jù)、目標(biāo) 對象數(shù)據(jù)和狀態(tài)碼數(shù)據(jù)。
18. 根據(jù)權(quán)利要求17所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,Web應(yīng)用系統(tǒng)屬性至少包括狀態(tài)碼、網(wǎng)站請求 流量、網(wǎng)站返回流量和值長度。
19. 根據(jù)權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,檢測指令可以使計(jì)算機(jī)執(zhí)行以下操作基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一個(gè)異常分?jǐn)?shù)?;谡?shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)庫SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)。第一個(gè)異常分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)進(jìn)行關(guān)聯(lián).
20. 根據(jù)權(quán)利要求19所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,關(guān)聯(lián)指令可以使計(jì)算機(jī)執(zhí)行以下操作根據(jù)第一個(gè)異常分?jǐn)?shù)(Sl)和第二個(gè)異常分?jǐn)?shù)(S2),采用如下公式測定關(guān)聯(lián)分?jǐn)?shù)(S):S=S1 xS2/(Sl+S2). 。
21. 根據(jù)權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,檢測指令適用于檢測O-daySQL注入攻擊。
22. 根據(jù)權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,檢測指令無法預(yù)知類似的攻擊特征/攻擊模式。
23. 檢測方法由以下步驟組成從網(wǎng)站訪問數(shù)據(jù)學(xué)習(xí)正常數(shù)據(jù)庫和Web應(yīng)用標(biāo)準(zhǔn)査詢語句(SQL)的模型。 為網(wǎng)站捕獲實(shí)時(shí)數(shù)據(jù)庫和網(wǎng)站應(yīng)用SQL訪問數(shù)據(jù)。 基于正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)檢測的異常的典 型SQL注入攻擊。
24. 根據(jù)權(quán)利要求23所述的檢測方法,其特征在于,學(xué)習(xí)步驟包括測定數(shù)據(jù)庫層屬性和 測定Web應(yīng)用層屬性。
25. 根據(jù)權(quán)利要求24所述的檢測方法,其特征在于,測定數(shù)據(jù)庫層屬性的步驟包含了偵聽網(wǎng)站的WEB 服務(wù)器與數(shù)據(jù)庫間的流量,
26. 根據(jù)權(quán)利要求24所述的檢測方法,其特征在于,測定數(shù)據(jù)庫層屬性的步驟包括了從數(shù)據(jù)庫審計(jì)特征 獲取數(shù)據(jù)庫層屬性。
27. 根據(jù)權(quán)利要求24所述的檢測方法,其特征在于,測定數(shù)據(jù)庫層屬性的步驟包括了采集網(wǎng)站發(fā)起的 SQL操作數(shù)據(jù)。
28. 根據(jù)權(quán)利要求24所述的檢測方法,其特征在于,數(shù)據(jù)庫層屬性包括用戶數(shù)據(jù)、操作數(shù)據(jù)、目標(biāo)對象數(shù) 據(jù)和狀態(tài)碼數(shù)據(jù),
29. 根據(jù)權(quán)利要求28所述的檢測方法,其特征在于,Web應(yīng)用層的屬性至少包含狀態(tài)碼、網(wǎng)站請求流量、 網(wǎng)站返回流量和值長度。
30. 根據(jù)權(quán)利要求23所述的檢測方法,其特征在于,檢測步驟包括基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一個(gè)異常分?jǐn)?shù)?;谡?shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)庫SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)。第一個(gè)異常分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)進(jìn)行關(guān)聯(lián),
31. 根據(jù)權(quán)利要求30所述的檢測方法,其特征在于,關(guān)聯(lián)步驟包括根據(jù)第一個(gè)異常分?jǐn)?shù)(Sl)和第二個(gè) 異常分?jǐn)?shù)(S2),采用如下公式測定關(guān)聯(lián)分?jǐn)?shù)(S):S=SlxS2/(Sl+S2). 。
32. 根據(jù)權(quán)利要求23所述的檢測方法,其特征在于,檢測步驟包含了檢測O-daySQL注入攻擊。
33. SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于一個(gè)可以執(zhí)行一系列指令的可操作處理器,即在學(xué)習(xí)模式下學(xué)習(xí)網(wǎng)站的正常數(shù)據(jù)庫和Web應(yīng)用標(biāo) 準(zhǔn)査i旬語句(SQL)的訪問數(shù)據(jù)在偵査模式下捕獲網(wǎng)站的實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù);基于 正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)在檢測模式下檢測異常的 典型SQL注入攻擊與處理器相連的存儲器用于保存學(xué)習(xí)模式和檢測模式下的結(jié)果,
34. 根據(jù)權(quán)利要求33所述的SQL注入WEB攻擊的實(shí)時(shí)入俊檢測系統(tǒng),其特征在于,可控處理器可以配置 用于執(zhí)行一 系列的指令來測定數(shù)據(jù)庫層屬性和測定Web應(yīng)用層屬性,采用學(xué)習(xí)或捕獲模式是可控的,
35. 根據(jù)權(quán)利要求34所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,可控處理器在測定數(shù) 據(jù)庫層屬性時(shí),還可以進(jìn)一步配置成通過偵聽WEB服務(wù)器和數(shù)據(jù)庫之間的網(wǎng)站流量實(shí)現(xiàn),
36. 根據(jù)權(quán)利要求34所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,可控處理器在測定數(shù) 據(jù)庫層屬性時(shí),還可以進(jìn)一步配置成從數(shù)據(jù)庫審計(jì)特征中獲取數(shù)據(jù)庫層屬性。
37. 根據(jù)權(quán)利要求34所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,可控處理器在測定數(shù) 據(jù)庫層屬性時(shí),還可以進(jìn)一步配置成通過采集網(wǎng)站發(fā)起的SQL操作數(shù)據(jù)實(shí)現(xiàn)。
38. 根據(jù)權(quán)利要求34所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,數(shù)據(jù)庫層屬性包括用 戶數(shù)據(jù)、操作數(shù)據(jù)、目標(biāo)對象數(shù)據(jù)和狀態(tài)碼數(shù)據(jù).
39. 根據(jù)權(quán)利要求38所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,Web應(yīng)用層屬性至 少包含狀態(tài)碼、網(wǎng)站請求流至、網(wǎng)站返回流量和值長度,
40. 根據(jù)權(quán)利要求33所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,可控處理器在執(zhí)行檢 測操作時(shí)可以進(jìn)一步配置為基于正常Web應(yīng)用SQL訪問數(shù)據(jù)和實(shí)時(shí)Web應(yīng)用SQL訪問數(shù)據(jù)產(chǎn)生第一個(gè)異常分?jǐn)?shù)?;谡?shù)據(jù)庫SQL訪問數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)庫SQL訪問數(shù)據(jù)產(chǎn)生第二個(gè)異常分?jǐn)?shù)。第一個(gè)異常分?jǐn)?shù)與第二個(gè)異常分?jǐn)?shù)進(jìn)行關(guān)聯(lián),
41. 根據(jù)權(quán)利要求40所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,可控處理器可以進(jìn)一 步配置如下根據(jù)第一個(gè)異常分?jǐn)?shù)(Sl)和第二個(gè)異常分?jǐn)?shù)(S2),采用如下公式測定關(guān)聯(lián)分?jǐn)?shù)(S):S=SlxS2/(Sl+S2). 。
42. 根據(jù)權(quán)利要求33所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,可控檢測處理器適用 于檢測0-day SQL注入攻擊,
43. 根據(jù)權(quán)利要求33所述的SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),其特征在于,指令無法預(yù)知類似攻 擊的特征/攻擊模式,
全文摘要
本發(fā)明涉及一種SQL注入WEB攻擊的實(shí)時(shí)入侵檢測系統(tǒng),包括為網(wǎng)站提供學(xué)習(xí)正常數(shù)據(jù)庫和Web應(yīng)用標(biāo)準(zhǔn)查詢語句(SQL)查詢數(shù)據(jù)的方法;為網(wǎng)站提供捕獲實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL查詢數(shù)據(jù)的方法;基于正常數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)庫和Web應(yīng)用SQL訪問數(shù)據(jù)的典型SQL注入攻擊檢測方法。本發(fā)明的有益效果本發(fā)明不僅可以檢測常見的SQL注入攻擊的檢測技術(shù),同時(shí)具備低誤告警、高偵查率的特點(diǎn)。
文檔編號H04L12/24GK101370008SQ200810002168
公開日2009年2月18日 申請日期2008年1月11日 優(yōu)先權(quán)日2007年8月13日
發(fā)明者盧天華, 楊永清, 淵 范 申請人:杭州安恒信息技術(shù)有限公司