亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        一種新型的SQL注入攻擊檢測(cè)機(jī)制研究

        2016-12-31 00:00:00何花
        科技創(chuàng)新與應(yīng)用 2016年29期

        摘 要:決策樹分類器是一種簡(jiǎn)單、準(zhǔn)確性高、高性能的算法,而SQL注入攻擊分析是一項(xiàng)工作量巨大、復(fù)雜的工作。通過(guò)使用決策樹分類器分析SQL注入攻擊能大大提高分析效率和結(jié)果的準(zhǔn)確性。

        關(guān)鍵詞:機(jī)器學(xué)習(xí);決策樹;分類器

        1 概述

        當(dāng)今世界網(wǎng)絡(luò)應(yīng)用急速增長(zhǎng),并逐步改造著人類的文化和商業(yè)模式。網(wǎng)絡(luò)在給我們帶來(lái)各種便利的同時(shí)也帶來(lái)了一定的安全隱患,據(jù)統(tǒng)計(jì)2015年全年電子商務(wù)總額已經(jīng)達(dá)到了22萬(wàn)億,通過(guò)攻擊WEB安全漏洞,黑客可以盜取公司機(jī)密,直接或者間接給個(gè)人或組織帶來(lái)巨大的經(jīng)濟(jì)利益損失。

        據(jù)統(tǒng)計(jì)2015年就發(fā)現(xiàn)有72.5萬(wàn)個(gè)高危SQL注入漏洞,通過(guò)攻擊SQL注入漏洞,入侵者可以在繞過(guò)管理權(quán)限的情況下直接訪問(wèn)、刪除、插入或者修改WEB應(yīng)用存儲(chǔ)在數(shù)據(jù)庫(kù)中的內(nèi)容,嚴(yán)重威脅組織的數(shù)據(jù)安全。

        2 SQL注入攻擊介紹

        2.1 SQL注入攻擊原理

        注入攻擊漏洞包括多種類型,例如SQL、OS以及LDAP注入。注入攻擊是不可信的數(shù)據(jù)作為命令或者查詢語(yǔ)句的一部分被發(fā)送給解釋器時(shí)產(chǎn)生。攻擊者發(fā)送的惡意數(shù)據(jù)可以欺騙解釋器,以執(zhí)行計(jì)劃外的命令或者訪問(wèn)未被授權(quán)的數(shù)據(jù)。

        信息安全工作開展一個(gè)核心的內(nèi)容就是分析攻擊模型,注入攻擊的模型非常簡(jiǎn)單。注入攻擊的威脅源可以是任何能夠向系統(tǒng)發(fā)送不信任數(shù)據(jù)的人,包括外部用戶、內(nèi)部用戶和系統(tǒng)管理員。注入攻擊的攻擊向量很明確,就是攻擊者可以基于解釋器語(yǔ)法發(fā)送簡(jiǎn)單的、基于文本的攻擊,幾乎任何數(shù)據(jù)源都可以成為注入攻擊載體。注入攻擊漏洞十分普遍,能在SQL查詢語(yǔ)句、LDAP查詢語(yǔ)句、Xpath查詢語(yǔ)句、OS命令、程序參數(shù)等中找到。注入攻擊的影響很嚴(yán)重,能導(dǎo)致數(shù)據(jù)丟失或被破壞,甚至系統(tǒng)完全被控制。

        在信息安全領(lǐng)域SQL注入攻擊大名如雷貫耳,導(dǎo)致的安全事件數(shù)不勝數(shù),如國(guó)內(nèi)最大的程序員社區(qū)CSDN網(wǎng)站的用戶數(shù)據(jù)庫(kù)被黑客公開發(fā)布,600萬(wàn)用戶的登錄名及密碼被公開泄露。SQL注入漏洞是Web系統(tǒng)特有的一類漏洞,源于Java、PHP、ASP等語(yǔ)言對(duì)用戶數(shù)據(jù)和解析的缺陷。文章以Java為例介紹SQL注入攻擊原理,下面是一個(gè)SQL注入的經(jīng)典例子。

        void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

        String userid =request.getParameter(\"userid\").toString();

        String sql = \"select * from usertable where userid ='\" + userid + \"'\";

        }

        doPost是java Servlet處理http協(xié)議post方法的函數(shù),局部變量userid的值由用戶提交,按照系統(tǒng)正常邏輯,假如用戶提交數(shù)據(jù)test,那么變量sql組合后的值是:

        select * from usertable where userid='test'

        這對(duì)系統(tǒng)是一個(gè)正常的SQL查詢語(yǔ)句,系統(tǒng)會(huì)查詢userid值是test的表行。

        但是,如果用戶提交test';delete from usertable;-- ,那么變量sql組合后的值是:

        select * from usertable where userid='test';delete from usertabel;--

        這對(duì)系統(tǒng)是異常的SQL查詢語(yǔ)句,因?yàn)?,系統(tǒng)首先會(huì)查詢userid值是test的表行,然后刪除usertable表里面的全部數(shù)據(jù),這是系統(tǒng)不期望執(zhí)行的惡意結(jié)果。上面的例子的精髓在于攻擊者巧妙的利用字符串的拼接,在提交數(shù)據(jù)里面插入了SQL命令串,欺騙服務(wù)器執(zhí)行惡意的刪除命令。

        2.2 SQL注入攻擊過(guò)程

        SQL注入攻擊類型多種多樣,分盲注、旁注、get注入、post注入等,針對(duì)不同類型數(shù)據(jù)庫(kù)攻擊腳本千差萬(wàn)別。但是SQL注入攻擊原理很簡(jiǎn)單,攻擊過(guò)程也有統(tǒng)一的模式。SQL注入要先進(jìn)行信息收集發(fā)現(xiàn)注入點(diǎn),信息收集需要大量的測(cè)試,會(huì)提交大量測(cè)試數(shù)據(jù),可能會(huì)導(dǎo)致系統(tǒng)異常信息大量增加,例如,要發(fā)現(xiàn)注入點(diǎn)可能需要在參數(shù)值包含測(cè)試字符串:

        or 1=1

        and 1=1

        or '1'='1\"

        其原理是組合成sql語(yǔ)句來(lái)判斷是否存在注入點(diǎn),如果組合成非法語(yǔ)句系統(tǒng)會(huì)報(bào)異常。注入點(diǎn)發(fā)現(xiàn)后要深入挖掘數(shù)據(jù)庫(kù)、數(shù)據(jù)表、字段名稱、字段值等信息,會(huì)大量重復(fù)提交包含數(shù)據(jù)庫(kù)指令的數(shù)據(jù),例如,盲注Mysql數(shù)據(jù)庫(kù),為發(fā)現(xiàn)數(shù)據(jù)表的字段數(shù),會(huì)重復(fù)提交數(shù)據(jù),數(shù)據(jù)中包含字符串:

        order by [整數(shù)值]

        “[]”內(nèi)是精心選取的整數(shù)值。為發(fā)現(xiàn)數(shù)據(jù)庫(kù)用戶名,會(huì)重復(fù)提交數(shù)據(jù),數(shù)據(jù)中包含字符串:

        union(select ascii(left(user(),1))> [整數(shù)值])

        挖掘完成后會(huì)進(jìn)行非授權(quán)的攻擊操作,獲取數(shù)據(jù)、植入惡意代碼等。

        2.3 SQL注入攻擊特征

        注入安全分析最自然和簡(jiǎn)單的方式是查找指定的關(guān)鍵詞,通過(guò)關(guān)鍵詞的查找到可能的攻擊。而SQL注入攻擊,一般攻擊代碼會(huì)包含“select”、“or”、“and”、“union”等SQL語(yǔ)言的保留字。因此,在攻擊防御檢測(cè)中,可以簡(jiǎn)單的搜索數(shù)據(jù)中存在的保留字,來(lái)發(fā)現(xiàn)攻擊行為。另外在攻擊的各個(gè)階段會(huì)導(dǎo)致系統(tǒng)異常出現(xiàn),系統(tǒng)會(huì)產(chǎn)生大量的異常日志,這也是攻擊行為發(fā)現(xiàn)的特征。還有從技術(shù)層面獲取的重要特征,數(shù)據(jù)庫(kù)系統(tǒng)基礎(chǔ)功能是對(duì)SQL語(yǔ)句進(jìn)行解析,解析過(guò)程先是通過(guò)詞法分析獲取語(yǔ)法符號(hào),其次進(jìn)行語(yǔ)法分析,構(gòu)建語(yǔ)法樹,然后進(jìn)行語(yǔ)義分析,最后執(zhí)行SQL語(yǔ)句。一般應(yīng)用系統(tǒng)所構(gòu)建的語(yǔ)法樹是比較固定,語(yǔ)義明確,比如語(yǔ)法樹的從句、表達(dá)式不會(huì)隨意增加,所以穩(wěn)定的語(yǔ)法樹是一個(gè)重要特征。

        SQL注入攻擊是一個(gè)整體性很強(qiáng)的過(guò)程,攻擊的每一階段都有明確的特征,但是要把個(gè)特征關(guān)聯(lián)卻不易,要準(zhǔn)確分析攻擊,則要花費(fèi)大量的精力和時(shí)間,是現(xiàn)在面臨的主要難題。

        要解決上面提出來(lái)的問(wèn)題,或許我們可以從人認(rèn)識(shí)事物的過(guò)程中汲取些方法。人認(rèn)識(shí)事物的方式是以經(jīng)驗(yàn)為依據(jù)做出初始判斷。人的經(jīng)驗(yàn)獲取的主要渠道是學(xué)習(xí)與實(shí)踐,比如向有經(jīng)驗(yàn)的人學(xué)習(xí)、向老師學(xué)習(xí)、從書本中學(xué)習(xí),學(xué)而后實(shí)踐,通過(guò)探索、發(fā)現(xiàn)現(xiàn)實(shí)事物來(lái)增加自身經(jīng)驗(yàn),也是學(xué)習(xí)的驗(yàn)證。獲取經(jīng)驗(yàn)后,人便建立起認(rèn)識(shí)當(dāng)前事物的“腦回路”,而后通過(guò)內(nèi)在的思維模式做出判斷,認(rèn)識(shí)事物。我們可以為認(rèn)識(shí)過(guò)程建立一個(gè)簡(jiǎn)單模型,首先學(xué)習(xí)過(guò)程是獲取事物的特征,然后,通過(guò)特征去認(rèn)識(shí)事物。模型里認(rèn)為認(rèn)識(shí)事物,辨識(shí)事物的關(guān)鍵是對(duì)特征的識(shí)別,機(jī)器學(xué)習(xí)就是采用這個(gè)思路。

        SQL注入攻擊是通過(guò)客戶端提交的數(shù)據(jù)中載有可執(zhí)行的SQL腳本實(shí)現(xiàn)攻擊的??梢钥吹揭獙?shí)現(xiàn)SQL攻擊,數(shù)據(jù)中必須有SQL腳本,而且這些腳本是重復(fù)的,可能會(huì)導(dǎo)致系統(tǒng)異常,這些是SQL攻擊的特征,通過(guò)這些特征我們可以辨別是否SQL攻擊。當(dāng)然,實(shí)際情況要復(fù)雜的很多,難度要大。如果借用數(shù)學(xué)思維,可以把事物定義為一個(gè)多維空間,事物特征可以代表不同維度,每個(gè)具體事物作為一個(gè)特征向量,識(shí)別則是判斷特征相量是否在事物所代表的區(qū)域內(nèi)。目前,常用的機(jī)器學(xué)習(xí)算法就是這個(gè)判斷的方法。而在下文將介紹的決策樹分類法屬于經(jīng)典的機(jī)器學(xué)習(xí)算法。

        3 決策樹分類

        3.1 分類

        分類是機(jī)器學(xué)習(xí)一個(gè)重要的概念,前文我們也提到過(guò)機(jī)器學(xué)習(xí)。機(jī)器學(xué)習(xí)是研究通過(guò)計(jì)算的手段,利用經(jīng)驗(yàn)來(lái)改善系統(tǒng)自身的性能,在計(jì)算機(jī)系統(tǒng)中,”經(jīng)驗(yàn)”通常以“數(shù)據(jù)”形式存在,因此,機(jī)器學(xué)習(xí)所研究的主要內(nèi)容,是關(guān)于在計(jì)算機(jī)上從數(shù)據(jù)中產(chǎn)生”模型”的算法,即“學(xué)習(xí)算法”,有了學(xué)習(xí)算法,我們把經(jīng)驗(yàn)數(shù)據(jù)提供給它,就能基于這些數(shù)據(jù)產(chǎn)生模型,在面對(duì)新情況時(shí),模型會(huì)給我們提供相應(yīng)的判斷。文章我們把數(shù)據(jù)集合稱為一個(gè)分類項(xiàng)集合,其中每條分類項(xiàng)是關(guān)于一個(gè)事件或?qū)ο蟮拿枋?,或稱為一個(gè)樣本。從數(shù)據(jù)集合中學(xué)得模型的過(guò)程稱為學(xué)習(xí),這個(gè)過(guò)程通過(guò)執(zhí)行某個(gè)學(xué)習(xí)算法來(lái)完成。訓(xùn)練過(guò)程使用的數(shù)據(jù)稱為訓(xùn)練數(shù)據(jù)。學(xué)得模型對(duì)應(yīng)了關(guān)于數(shù)據(jù)的某種潛在的規(guī)律,因此稱為假設(shè),這種潛在規(guī)律自身,則稱為真實(shí),學(xué)習(xí)過(guò)程就是為了找出或逼近真實(shí)。根據(jù)訓(xùn)練數(shù)據(jù)是否有標(biāo)記信息,學(xué)習(xí)任務(wù)劃分為”監(jiān)督學(xué)習(xí)”和“無(wú)監(jiān)督學(xué)習(xí)”,學(xué)習(xí)模型適用于新樣本的能力,稱為”泛化”能力。

        分類是把一個(gè)事物分到某個(gè)類別中。分類有明確的數(shù)學(xué)定義,就是一個(gè)事物具有很多屬性,把它的眾多屬性看作一個(gè)向量,用這個(gè)向量來(lái)代表這個(gè)事物。假設(shè)已知集合C={y1,y2,…,yn}和I={x1,x2,…,xn},確定映射規(guī)則y=f(x),使得任意xi∈I有且僅有yj∈C使得yj=f(xi)成立。C是類別集合,C中每一個(gè)元素是一個(gè)類別,而I是項(xiàng)集合,I中每一個(gè)元素是一個(gè)待分類項(xiàng)x={a1,a2,…,an},每個(gè)ak為x的一個(gè)特征屬性,f(x)叫做分類器。分類算法的任務(wù)就是構(gòu)造分類器f(y)。

        3.2 決策樹分類

        決策樹分類是常見的分類方法,是基于樹結(jié)構(gòu)來(lái)進(jìn)行決策的,也是人在面臨決策問(wèn)題時(shí)一種很自然的處理方式。通常在進(jìn)行問(wèn)題決策時(shí),會(huì)進(jìn)行一系列的判斷或子決策,最后得出最終決策,也就是分類的結(jié)果。決策樹分類算法主要的特性是思想簡(jiǎn)單、分類準(zhǔn)確性高、計(jì)算速度快,所以在數(shù)據(jù)分析領(lǐng)域應(yīng)用非常廣泛。

        3.3 決策樹

        決策樹包含一個(gè)根節(jié)點(diǎn)、若干內(nèi)部節(jié)點(diǎn)和若干葉子節(jié)點(diǎn),葉節(jié)點(diǎn)是分類結(jié)果。實(shí)際中通過(guò)把樣本特征從根節(jié)點(diǎn)到某個(gè)葉子結(jié)點(diǎn)的路徑進(jìn)行對(duì)應(yīng)來(lái)實(shí)現(xiàn)分類,葉子結(jié)點(diǎn)即為樣本所屬的分類。因此,決策樹上的每一個(gè)結(jié)點(diǎn)指定了樣本的某個(gè)特征的測(cè)試,并且該結(jié)點(diǎn)的每一個(gè)后繼分支對(duì)應(yīng)于該特征的一個(gè)可能值。決策樹分類方法是從這棵樹的根節(jié)點(diǎn)開始,測(cè)試這個(gè)結(jié)點(diǎn)的特征值,然后按照給定樣本的特征值對(duì)應(yīng)的分支向下移動(dòng)。然后這個(gè)過(guò)程在分支子樹上重復(fù)。

        決策樹分類算法重要的一個(gè)內(nèi)容是決策樹生成,泛化能力強(qiáng)的決策數(shù),關(guān)鍵是選取最優(yōu)特征,就是選取每個(gè)節(jié)點(diǎn)的方法,因此,下面會(huì)介紹信息增益和ID3算法。

        3.4 信息增益

        一般情況下,隨著分類過(guò)程不斷進(jìn)行,需要決策樹的分支節(jié)點(diǎn)包含樣本盡可能屬于同一類,即節(jié)點(diǎn)的純度越來(lái)越高。信息論里的信息熵是度量樣本集合純度常用的一種指標(biāo)。假設(shè)樣本集合D中k類樣本所占比例為pk(k=1,2,…,|y|),則D的信息熵定義為:

        Ent(D)的值越小,則D的純度越高。

        假設(shè)樣本特征a有V個(gè)可能取值,如用a對(duì)D進(jìn)行分類,則會(huì)有V個(gè)分支節(jié)點(diǎn),其中第v分支節(jié)點(diǎn)包含了D中所有在特征a取值av的樣本,記Dv,則樣本特征a對(duì)樣本集D進(jìn)行劃分獲得的信息增益:

        信息增益越大,則樣本特征a進(jìn)行分類所獲得的純度提升越大。因此,可以用信息增益來(lái)進(jìn)行決策樹的分類特征選擇。

        3.5 ID3算法

        ID3算法使用貪心策略,根據(jù)信息熵來(lái)構(gòu)造決策樹。構(gòu)造過(guò)程是從樹的根結(jié)點(diǎn)開始。一般使用信息增益來(lái)確定每一個(gè)樣本特征單獨(dú)分類的能力,信息增益大分類能力就好。分類能力最好的特征被選作決策樹的根結(jié)點(diǎn)。然后為根節(jié)點(diǎn)特征的每個(gè)可能值產(chǎn)生一個(gè)分支,并把訓(xùn)練樣本排列到適當(dāng)?shù)姆种е?。然后重?fù)整個(gè)過(guò)程,為每個(gè)分支結(jié)點(diǎn)選取最佳特征,生成決策樹。

        4 SQL注入攻擊檢測(cè)方法

        前文中已經(jīng)對(duì)決策樹分類算法進(jìn)行了詳細(xì)的闡述。而分類器的實(shí)現(xiàn)特征選擇是一個(gè)重要的數(shù)據(jù)預(yù)處理過(guò)程。分類器要根據(jù)已有的數(shù)據(jù)記錄進(jìn)行特征選擇,然后再訓(xùn)練分類器。一般選擇特征不應(yīng)過(guò)多,而且選擇的特征應(yīng)與分類項(xiàng)強(qiáng)相關(guān)。需要注意,特征選擇過(guò)程必須保證重要特征不丟失,否則后續(xù)學(xué)習(xí)過(guò)程會(huì)因?yàn)橹匾畔G失而無(wú)法獲得好的性能。還有根據(jù)學(xué)習(xí)任務(wù)的不同,相關(guān)特征可能也不同,因此,特征的選擇是艱難的任務(wù)。

        特征選擇有多種方法比如過(guò)濾式選擇、包裹選擇等。過(guò)濾式選擇設(shè)計(jì)一個(gè)相關(guān)統(tǒng)計(jì)量來(lái)度量特征的重要性。該統(tǒng)計(jì)量是向量,其每個(gè)分量分別對(duì)應(yīng)一個(gè)初始特征,而特征子集的重要性由子集中每個(gè)特征所對(duì)應(yīng)的相關(guān)統(tǒng)計(jì)量分量之和來(lái)決定。文章的特征選擇將簡(jiǎn)化為以實(shí)際日志分析經(jīng)驗(yàn)進(jìn)行特征選取。

        前文中已經(jīng)對(duì)SQL注入攻擊過(guò)程和原理進(jìn)行了分析,因此,SQL注入特征可以選取字符串關(guān)鍵字、異常日志、語(yǔ)法樹變化三個(gè)關(guān)鍵特征。其中,關(guān)鍵字特征取值為有、無(wú),異常日志取值為有、無(wú)。語(yǔ)法樹變化取值為從句變化、從句未變化、表達(dá)式變化、表達(dá)式未變化。特征選取后按照ID3算法構(gòu)建決策樹,樹構(gòu)建完成后就可以對(duì)測(cè)試樣本進(jìn)行分類,選取對(duì)應(yīng)分類項(xiàng)的特征進(jìn)行計(jì)算,獲得分類。

        5 結(jié)束語(yǔ)

        文章主要以理論方式對(duì)決策樹分類器用于SQL注入攻擊檢測(cè)進(jìn)行了闡明,分類器在實(shí)際應(yīng)用中能有效的提高檢測(cè)效率和準(zhǔn)確度。

        參考文獻(xiàn)

        [1]周志華.機(jī)器學(xué)習(xí)[M].清華大學(xué)出版社,2016.

        [2]Peter Harrington.機(jī)器學(xué)習(xí)實(shí)戰(zhàn)[M].人民郵電出版社,2013.

        [3]Adam shostack.威脅建模[M].機(jī)械工業(yè)出版社,2015.

        免费女人高潮流视频在线观看| 日本一卡2卡3卡四卡精品网站| 人妻无码中文字幕| 最新高清无码专区| 国产妇女乱一性一交| 三级黄色片一区二区三区| 中文字幕亚洲精品专区| 狼人伊人影院在线观看国产| 青青草大香蕉视频在线观看| 色欲一区二区三区精品a片| 奇米影视第四色首页| 88国产精品视频一区二区三区| 天天中文字幕av天天爽| 人妻少妇精品视频一区二区三区 | 日本高清视频在线观看一区二区| 丝袜美腿亚洲第一免费| 亚洲精品无码永久中文字幕| 国产精品午夜爆乳美女视频| 久久人妻AV无码一区二区| 亚洲无线码1区| 久久99国产精品久久99密桃| 白嫩人妻少妇偷人精品| 国产裸体舞一区二区三区| 成人看片黄a免费看那个网址 | 亚洲一区精品在线中文字幕| 337p日本欧洲亚洲大胆| 无码三级在线看中文字幕完整版| 精品国产高清一区二区广区| 中文字幕精品人妻av在线| 按摩师玩弄少妇到高潮av| 日日噜噜夜夜狠狠视频| 国语对白做受xxxxx在线| 亚洲精品国产第一区二区尤物 | 亚洲av日韩av天堂一区二区三区| 精品国产AⅤ一区二区三区4区| 日本成人免费一区二区三区| 国产一区二区三区在线爱咪咪| 天堂av网手机线上天堂| 国产精品毛片一区二区三区| 丰满五十六十老熟女hd| 青青草免费高清视频在线观看|