李銘 邢光升 王芝輝 王曉東



摘? ?要:為了解決傳統手段在實時高速網絡流量環境下SQL注入行為檢測準確度和效率之間無法達到較好平衡的問題,提出一種基于深度學習模型的SQL注入行為實時在線檢測的方法,構建了以卷積神經網絡為基礎并引入快速傅里葉變換層的復合檢測網絡模型SQLNN,并以此模型為基礎提出SQL注入行為在線檢測與自適應訓練框架. 該框架對于SQL注入語句的檢測正確率達到了99.98%,每秒可完成對一萬條左右含有SQL語句的數據包的檢測,滿足了SQL注入攻擊的實時在線檢測對檢測準確度和效率的要求.
關鍵詞:SQL注入;實時檢測;卷積神經網絡;快速傅里葉變換
中圖分類號:TP391? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?文獻標志碼:A? ?文章編號:1674—2974(2020)08—0031—11
Abstract:In order to solve the problem that traditional methods cannot achieve a good balance between the accuracy and efficiency of SQL injection behavior detection in the real-time high-speed network traffic environment, this paper proposes a method for real-time detection method of SQL injection behavior based on deep learning construction model, and constructs a detection network model called SQLNN based on Convolutional Neural Networks (CNN) and introduces a fast Fourier transform layer. Based on this model, an online detection and adaptive training framework? for SQL injection behavior is proposed. For our detection framework, the detection accuracy of the SQL injection statements reaches 99.98%, and it can detect about 10 000 packets containing SQL statements per second. Therefore, it can satisfy the requirements of real-time online detection of SQL injection attacks for detection accuracy and efficiency.
Key words:SQL injection;real-time detection;Convolutional Neural Networks(CNN);Fast Fourier Transformation(FFT)
隨著互聯網技術的快速發展,各種網絡攻擊手段層出不窮,SQL注入攻擊作為網絡安全領域中最常見的攻擊方式已有十多年的歷史,根據開放 Web 應用安全項目組織(Open Web Application Security Project, OWASP)正式發布的十大 Web 應用安全風險報告,SQL注入已經成為對Web業務系統威脅最嚴重的行為之一.攻擊者常常利用網絡應用漏洞,滲透并進一步獲取后臺服務器控制權,然后執行篡改頁面、竊取數據等惡意操作. SQL注入方式主要是通過構建惡意的SQL語法組合作為參數輸入Web應用程序,應用程序執行SQL語句時會同步執行惡意操作,進而發生SQL注入攻擊. 如果應用程序代碼執行過程中將含有攻擊者輸入的惡意字符串進行存儲或傳遞,也會導致SQL注入的發生. SQL注入有多種方式,按照構造參數類型劃分主要有Get注入、POST注入、Cookie注入、寬字節注入、基于時間注入、布爾型注入、報錯型注入、聯合查詢注入、多語句查詢注入等.雖然注入類型比較多,但是所有的注入類型SQL語句均需遵循相關語法并且含有特定的關鍵詞或字符,這就為SQL注入行為檢測提供了基礎條件.
大數據時代,網絡信息呈現井噴式增長,在通信主干網和端到端的實時線路上網絡數據均呈現高速、大流量的特點,對數據的實時處理提出更高要求. 對于實時在線網絡安全檢測設備來說,必須確保能夠及時發現安全威脅,盡可能檢測出所有可疑行為,保證后端設備安全,在此前提下可以適當容忍誤檢情況的發生.這首先決定了安全檢測設備需采取有效的手段進行流量降速,目前業界常規做法是基于特定字符(串)或流量特征對海量數據進行高速篩選;其次是安全設備中的檢測模型不宜太復雜,同時又要保證檢測的有效性,在保證對可疑行為高檢測率的前提下盡量減少誤檢情況的發生. 目前通用的實時在線安全檢測設備大部分是以正則匹配的關鍵字符串過濾為基礎,該類模型通常部署于基于深度包檢測技術(Deep Packet Inspection, DPI)的硬件平臺上,可以做到基于批量加載規則的實時大流量數據在線檢測,但是該類設備誤檢率較高.
近幾年人工智能技術蓬勃發展,在圖像處理、語言文本識別等方面以深度學習為基礎的相關處理技術有著卓有成效的應用.網絡實時流量中的SQL語句具有網絡數據和腳本語言雙重特性,可以借鑒圖像和文本處理中的思路.本文提出一種基于深度學習構建模型對SQL注入行為進行實時檢測的方法,構建了以卷積神經網絡為基礎,引入快速傅里葉變換層的復合檢測網絡模型SQLNN,并以此模型為基礎提出基于SQLNN模型的SQL注入行為檢測模型實時在線檢測及迭代訓練框架.
本文第一部分梳理了國內外SQL注入攻擊行為檢測技術相關研究以及其他網絡腳本或網絡數據檢測技術的相關研究;第二部分設計了SQL注入行為檢測模型實時在線檢測及迭代訓練框架,滿足模型實時在線檢測的相關需求,同時使模型能夠在不影響實時在線運行的前提下實現迭代更新,有效應對網絡鏈路變化或者各類SQL腳本協議更新后帶來的數據類型和特征的變化;第三部分介紹了相關訓練測試數據集的來源、特點和數據預處理過程;第四部分詳細介紹SQLNN模型設計有關內容;第五部分對SQLNN模型與其他模型的實驗對比測試的內容和方法進行闡述,并對實驗結果進行梳理總結.
1? ?相關研究
針對SQL注入攻擊檢測和防范,國內外均有大量研究. 王丹等[1]介紹了SQL注入式安全漏洞分類,總結了漏洞成因,闡述了相關檢測關鍵技術. 從研究對象來看,主要是從前后端的相關應用程序源碼和包含SQL注入語句的網絡數據兩個方面開展相關研究. 對于實時在線檢測來說,更多的是基于數據開展研究,因此本文只關注基于數據層面的研究.
1.1? ?傳統檢測方法
在傳統檢測方法上,主要有基于關鍵字符串構建相應的特征表達式或者模型,基于SQL語義語法規則構建模型兩種方法對SQL注入行為進行檢測.
基于關鍵字符串方面, Halfond等[2]通過靜態分析方法找出程序中可能的注入點,然后針對這些可能的注入點建立合法狀態模型,使用靜態分析方法建立合法SQL語句的模型,動態分析檢測在線執行SQL語句是否與建立的靜態模型一致,但是這種方法只適用于相關的特征應用,類似于建立黑白名單機制,實時在線檢測能力受限. 張卓[3]、方爽[4]均是通過正則表達式對網絡數據內容進行驗證,過濾SQL注入攻擊的關鍵字符串,通過分析SQL注入行為語句構造特征,利用正則表達式來分辨SQL注入語句和合法語句,該方法實現相對容易,但誤檢率高,可轉化為實時在線檢測模型的前置處理模塊有效降低網絡流量.
基于SQL語義語法規則方面,孫義等[5]設計了一種根據模式匹配及序列對比SQL注入檢測的新思路,使用 Needleman-Wunsch 算法(用于 RNA 和 DNA 序列分析)檢測和預防 SQL注入攻擊,通過分析運行過程中含注入命令和正常的命令模式字符串是否能夠完全匹配達到檢測目的,該方法有效降低檢測模型的時空復雜度,但只適用于具體應用中的SQL注入數據檢測. 石聰聰等[6]使用語法樹特征匹配的方法檢測SQL注入,將執行Web 應用程序功能的所有 SQL 語句通過語法分析生成 SQL 語法解析樹,然后選擇出能夠識別 SQL 注入行為的特征,構建知識庫,通過驗證實際執行的 SQL 語句和知識庫能否模式匹配成功,進而判斷這條SQL是否存在注入行為. 王杰[7]提出基于抽象語法樹的SQL注入防御方法,使用EBNF范式來描述詞法語法規則,通過對生成語法樹的規則進行重寫并去掉對檢測無用節點,構造抽象語法樹,基于抽象語法樹的hash值比對來判斷輸入語句是否存在 SQL 注入行為.上述兩個研究在相關應用中的SQL注入檢測中效果較好,但基于語法樹特征的檢測方式需要研究者花費大量時間構建特征模型,且模型只針對特定應用類型的SQL語句,在更新模型時花費時間較多,模型效果好壞取決于研究者對相關知識的理解和模型的設計能力.
1.2? ?機器學習方法
在基于機器學習的SQL注入行為檢測方面,國內外也有相關研究,在特征選擇上主要針對原始數據特征或數據流信息. Joshi等[8]使用貝葉斯算法建造了一個區分惡意和非惡意分類查詢的分類器,用于訓練的數據集包含惡意和非惡意的查詢,對正常的SQL語句和惡意的 SQL 語句進行建模識別. 張登峰[9]對原始數據從訪問者、被訪問者、Url字段3個方面進行特征構建和特征化描述,采取貝葉斯模型和決策樹模型相結合的集成學習方式,提升了機器學習模型對SQL注入行為檢測的準確性,實現對大量正常數據快速識別的效果. 上述兩種方式均是基于原始數據進行特征提取,檢測準確率相對傳統方法有所提高,但是對于實時在線檢測來說仍然不夠. Kim等[10]通過SVM算法對基于數據庫日志中內部查詢樹提取的特征向量進行建模,對已經發生的SQL注入行為進行檢測,不針對實時在線檢測. 趙宇飛等[11]提出一種名為LFF(Length-Frequency-Feature)的SQL注入行為檢測方法,針對每條HTTP請求檢測其請求長度和連接頻率,然后采用特征串匹配算法,對請求語句進行匹配,經投票決策,確定HTTP請求中是否有SQL注入.張志超等[12-13]在研究中均采用多層神經網絡對SQL注入進行檢測,通過選擇能夠識別SQL注入行為的特征合成特征向量,使用多層神經網絡對特征進行訓練識別. 上述方法雖然檢測準確率較高,但是由于其特征是基于對象通聯關系或數據載荷的,在不同網絡環境和應用中這兩類特征會有變化,因此模型只適用于特定網絡環境和某些特定應用中.
1.3? ?深度學習方法
相對于機器學習,深度學習神經網絡更有深度,隨著訓練數據集規模的增大,能夠從數據中直接學習到高等級的特征,且不需要人工總結提取. 目前在網絡腳本和網絡數據識別處理上已有初步應用,盡管在公開的文獻中還沒有基于深度學習的SQL注入行為的實時在線檢測方法的研究,但是在Github上已經有眾多研究源代碼公開.在網絡腳本檢測方面,方忠慶[14]提出一種CNN+LSTM模型對跨站腳本攻擊(XSS)進行檢測;傅建明等[15]基于卷積神經網絡的檢測模型對Webshell進行檢測;付壘朋等[16]基于多類特征提取和PNN(概率神經網絡)模型算法,實現對JavaScript惡意腳本的檢測;潘司晨等[17]和陳康等[18]均是利用卷積神經網絡對惡意URL進行識別檢測,兩個研究差別在于數據的特征提取處理方法上.在網絡數據識別處理方面,深度學習技術也得到廣泛應用,國內外研究[19-23]均是利用流量數據類圖像性質,將原始數據輸入,由深度神經網絡完成數據表征學習從而實現相關類型數據的檢測.上述研究利用深度學習技術構建檢測識別模型,均取得很高的準確率.目前在Github開源項目中已經出現基于深度學習的SQL注入行為識別檢測方面的相關應用和代碼,經過代碼閱讀研究,已有的開源研究均是基于構建詞向量的方式產生訓練數據,需要構建和訓練詞向量模型和檢測模型兩種模型,處理流程較為繁瑣.
針對網絡腳本和網絡數據識別處理還有一種新興的方法是使用模糊神經網絡,它是神經網絡和模糊邏輯結合形成的混合智能系統,通過將模糊系統的類人推理方式與神經網絡的學習和連接結構相融合來協同這兩種技術.當前已出現許多研究[24-28]將該種神經網絡應用于分類、模型識別等SQL注入檢測相關的問題中,如利模糊神經網絡創建專家系統來檢測SQL注入等,但當前該方法尚未成熟.
2? ?基于深度學習的SQL注入行為在線檢測
與自適應訓練框架
在網絡數據腳本識別檢測應用上,采用深度學習技術可以在檢測與訓練集同特征類型數據腳本時取得很高的準確率,但是由于采用深度學習訓練生成的檢測模型相比于傳統檢測模型結構復雜,計算量大,如果直接加載于高速實時網絡鏈路中使用,必然會導致數據擁塞,效率低下. 同時由于網絡技術的不斷發展,各類網絡數據腳本協議也在不斷完善修訂當中,再加上不同的網絡線路中數據類型和數據載荷也不相同,因此個別線路采集的數據也不具有完全代表性,導致訓練數據集不可能覆蓋相關腳本數據的所有特征類型,可能會造成模型在某些應用場景表現的不夠理想,這就需要模型在不同的應用場景時可以迭代訓練,以更好地適應不同場景.為了有效解決模型在高速線路中檢測效率和模型的迭代訓練問題,提高模型在線檢測的靈活性和檢測數據類型的可擴展性,本文提出一種SQL注入行為在線檢測與自適應訓練框架,如圖1所示,從流程上可以分為在線檢測流程和自適應訓練流程.
2.1? ?在線檢測流程
高速深度包檢測類設備可以輸入任何端到端實時網絡環境數據流或者核心網高速分接鏈路,該類設備基于硬件實現相關功能,通常基于FPGA開發板和專用網絡數據處理芯片兩種方法,已經有較多成熟方案,并且得到廣泛應用,性能較好,可實時處理10 Gbps甚至100 Gbps以上的網絡流量,實時加載檢測規則幾千條甚至上萬條以上,因此在框架中,關鍵詞過濾與分流模塊即該類設備加載的相關規則能夠應對高速流量環境并確保所有可疑數據進入SQL注入行為檢測模塊,可大幅降低所需后續SQLNN模型檢測的數據量.
在線檢測流程對實時線路數據進行檢測,線路數據首先經過告訴深度包檢測類設備的關鍵詞,過濾與分流模塊進行數據篩選與流量降速,篩選出的含有SQL關鍵詞的數據流進入數據預處理模塊進行處理后,形成待檢測數據進入SQL注入行為檢測模型——SQLNN進行檢測,將檢測判別結果及數據包特征信息(IP五元組信息等)輸出,整個流程如圖2所示.
2.2? ?自適應訓練流程
SQL注入行為檢測模型SQLNN對預處理后的實時數據進行檢測,所有模型判定為SQL注入行為數據進入人工判別生成模塊,通過人工判別正反例并標注,經過處理后的人工篩選數據經過數據預處理模塊后生成訓練樣本導入到樣本庫供訓練使用,自適應訓練流程如圖3所示.
自適應訓練過程是獨立的,不會影響模型在實時線路上的檢測運行,模型在線運行時所檢測出的可疑數據可以不斷豐富樣本庫,因此不管鏈路特征如何變化,即使相關數據特征協議發生變化時,只要可疑數據仍具有SQL基本特性即相關關鍵詞不變,經過一段時間的自適應訓練后,樣本庫中的數據在當前檢測線路中能夠具有較好的代表性,多次迭代訓練出的模型可實現較好的檢測效果. 當然實現上述目標也要求SQLNN模型必須對相關關鍵字符串具有高度敏感性,在遇到非訓練集腳本特征數據時,有一定的過擬合性,以減少可疑數據漏檢率,為人工判別標注提供完善的數據.
3? ?數據預處理
3.1? ?數據來源
本文中的原始啟動訓練數據集主要來自于Gihtub上基于關鍵詞“SQL detection”搜索得到開源項目的數據樣本以及對常用注入攻擊工具——明小子 4.3、SQLmap1.3.5執行注入操作時進行實時抓包分析提取得到的數據樣本,同時還有非SQL注入腳本的其他網絡數據樣本,分別將上述兩類樣本稱為SQL樣本和normal樣本,從原始數據樣本可以看出SQL樣本有高頻特征詞以及相對應的上下文語義環境. 對SQL樣本進行高頻特征詞統計,總計有腳本95 602條,統計中關鍵詞不區分大小寫,統計結果見表1.
在檢測模型實際線上運行時,為了有效地降低流速,減輕模型計算負載,會提取含有關鍵字的數據包導入模型中進行識別檢測. 為了提高后續模型訓練過程中正負樣本之間的對比性,本文刪除不含關鍵詞的normal腳本得到normal原始樣本,總計有57 624條.
為了測試模型的泛化檢測能力——即測試模型對于非訓練集中數據特征的可疑SQL腳本的識別能力,本文另行在網上搜集其他類型的SQL腳本和含有SQL關鍵詞并具有類似語法結構的網絡腳本來構建泛化測試集,訓練集和泛化測試集中SQL腳本和normal腳本示例如表2所示.
3.2? ?特征提取處理
基于已有研究總結,常見的網絡腳本特征提取方法主要分為4類:第1類是基于承載網絡腳本的數據流相關特征進行提取分析,例如數據對象的通聯時間、通聯次數等;第2類是利用網絡數據的類圖像數據特性,直接利用原始數據按字節輸入處理[18-23];第3類是利用網絡腳本類自然語言的特性,基于腳本分詞并轉換詞向量,方法主要有one-hot編碼(或類似方法)[17]、Word2Vec[14]等;第4類是混合利用前兩類方法提取混合特征進行處理.綜合來看,第一類方法需對網絡實時數據進行一段積累才能進行特征提取分析,在端到端的復雜網絡環境下數據實體來源較多,數據鏈路容易發生變化,對特征提取時間窗口的設置提出較高要求,同時也考驗研究者對于原始數據和相關數據腳本的解讀能力. 第3類方法基于數據(詞向量)特征進行分析檢測,雖然在相關研究[14]中可達到極高的準確率,但是在分詞和詞向量轉換時數據會成倍地膨脹,在流量較大的網絡中會對模型的計算能力和實時檢測能力提出挑戰,同時該類方法在更新迭代時需要重新進行分詞,構建模型訓練詞向量環節較多,更新任務量大.本文特征提取方式主要是基于原始數據的字符編碼作為輸入特征,同時針對腳本中的相關特性在特征轉換前需對腳本進行URL編碼轉換、數字去重替換、腳本去重、長度統一化等操作,同時在模型構建時增加的FFT層可對數據特征深度轉換處理,在實驗測試中能夠看出本文的特征提取方式和詞向量特征提取方式下模型測試結果的差異.
此外,在實時線路中,當前最常用的方法有兩種,第一種是關鍵詞匹配過濾,該方法的缺點是正確率比較低. 第二種方法則是利用正則函數加流量分析,該方法雖然正確率比關鍵詞匹配過濾方法高很多,但是只能針對特定的注入攻擊類型檢測,不具有廣泛代表檢測能力. 本文所提的SQLNN模型檢測正確率較高,對于各種注入攻擊類型的腳本都可以檢測,因此優于其他方法.
5.2? ?實時性效果檢測
以10 Gbps的大流量線路為例,峰值情況下每秒大約有2 000 000個數據包. 對于線路上的數據包,并不全包含有SQL語句,因此首先需要篩選出含有SQL語句的數據包.
對于數據包的篩選,包含如下兩步:
第一步是通過網絡協議進行篩選,對于包含SQL語句的腳本,所使用的協議均為TCP協議.本文利用兩條10 Gbps線速環境的線路進行實驗,利用網絡協議進行篩選后,兩條線路每秒鐘所包含的TCP數據包數量約為10 000條.
第二步則是利用關鍵詞對第一步的篩選結果進行進一步的篩選,篩選出包含有SQL關鍵詞的數據,作為需要SQLNN模型檢測的數據.
經過上述兩步,兩條線路中所包含的關鍵詞命中包分別為100條左右與30條左右.利用高速深度包檢測類設備完成上述操作所需的時間為秒級.完成數據篩選后,對于實時線路中被檢測的數據僅包含URL轉換和長度統一化兩個操作,且需要處理的數據的數量級在102級,因此對數據的篩選和處理所需的時間為秒級,利用SQLNN模型對102級數據進行檢測所需的時間可以忽略不計,因此本文提出的檢測框架完全可以達到實時檢測的效果,在效率上滿足檢測要求.
6? ?結? ?論
本文提出一種基于深度學習的SQL注入行為在線實時檢測方法,構建了檢測模型SQLNN,該模型引入FFT層豐富輸入數據表達特征,在測試集上可以達到與基于Word2Vec詞向量轉換特征表達方法相當的高準確率,在泛化測試集上召回率有明顯優勢,可以有效減少在面臨新SQL注入形式時漏檢情況發生. 同時本文以SQLNN模型為基礎提出SQL注入行為在線檢測與自適應訓練框架,滿足SQL注入攻擊實時在線檢測對檢測準確度和效率的要求,并可實現模型的迭代演進,該框架對其他網絡腳本類數據檢測模型的訓練及在線運行也有一定的參考價值.未來將進一步優化模型結構,使模型能夠在泛化測試集上有更好的表現,并逐步擴展到其他網絡腳本類攻擊行為檢測,同時基于檢測結果加入后續數據流量特征分析以進一步分析可疑行為.
參考文獻
[1]? ? 王丹,趙文兵,丁治明. Web 應用常見注入式安全漏洞檢測關鍵技術綜述[J].北京工業大學學報,2016,42(12):1822—1832.? ? ? ? ? ? ? ? ? WANG D,ZHAO W B,DING Z M. Review of detection for injection vulnerability of web applications [J]. Journal of Beijing University of Technology,2016,42(12):1822—1832. (In Chinese)
[2]? ? HALFOND W G J,ORSO A. AMNESIA: analysis and monitoring for neutralizing SQL-injection attacks[C]//The Proceedings of the 20th IEEE/ACM International Conference on Automated Software Engineering. Long beach,California: ACM,2005:174—183.
[3]? ? 張卓. SQL注入攻擊技術及防范措施研究[D]. 上海:上海交通大學信息安全工程學院,2007:52—64.
ZHANG Z. SQL injection attack techniques and countermeasures analysis [D].Shanghai: School of Information Security Engineering,Shanghai Jiaotong University,2007:52—64. (In Chinese)
[4]? ? 方爽. 基于特征匹配的WEB應用防火墻的研究與實現[D] .合肥:安徽大學計算機科學與技術學院,2014:36—47.
FANG S. Research and implementation of web application firewall based on feature matching [D]. Hefei: School of Computer Science and Technology,Anhui University,2014:36—47. (In Chinese)
[5]? ? 孫義,胡雨霽,黃皓. 基于序列比對的SQL注入攻擊檢測方法[J]. 計算機應用研究,2010,27(9):3525—3528.
SUN Y,HU Y J,HUANG H. SQL injection attack detection method based on sequence alignment [J].Computer Application Research,2010,27(9):3525—3528. (In Chinese)
[6]? ? 石聰聰,張濤,余勇. 基于語法樹特征匹配的SQL注入防護方法研究與實現[C]//第三屆計算智能與工業應用國際學術研討. 武漢:電氣電子工程師協會,2010:192—196.
SHI C C,ZHANG T,YU Y. Research and Implementation of SQL injection protection method based on syntax tree feature matching [C]//Proceedings of 2010 The 3rd International Conference on Computational Intelligence and Industrial Application. Wuhan: IEEE,2010: 192—196. (In Chinese)
[7]? ? 王杰. 基于抽象語法樹的SQL注入防御研究[D].武漢:武漢郵電科學研究院,2018:28—40.
WANG J. Research on SQL injection defense based on abstract syntax -tree [D]. Wuhan: Wuhan Institute of Posts and Telecommunications,2018: 28—40. (In Chinese)
[8]? ? JOSHI A,GEETHA V. SQL injection detection using machine learning[C]//2014 International Conference on Control,Instrumentation,Communication and Computational Technologies (ICCICCT). Tamilnadu,India:IEEE,2014:1111—1115.
[9]? 張登峰. 基于機器學習的SQL注入檢測[D].重慶:重慶郵電大學計算機學院,2017:31—45.
ZHANG D F. SQL injection detection based on machine learning [D].Chongqing: School of Computer,Chongqing University of Posts and Telecommunications,2017: 31—45. (In Chinese)
[10]? KIM M Y,DONG H L. Data-mining based SQL injection attack detection using internal query trees [J]. Expert Systems with Applications,2014,41(11):5416—5430.
[11]? 趙宇飛,熊剛,賀龍濤,等. 面向網絡環境的SQL注入行為檢測方法[J]. 通信學報,2016,37(2):88—97.
ZHAO Y F,XIONG G,HE L T,et al. SQL injection behavior detection method for network environment [J]. Journal of Communications,2016,37(2):88—97. (In Chinese)
[12]? 張志超. 基于神經網絡的 SQL 注入式攻擊漏洞檢測問題的研究與實現[D] .北京:北京工業大學計算機學院,2016:17—26.
ZHANG Z C. Research and implementation of SQL injection attack vulnerability detection based on neural network [D]. Beijing: School of Computer,Beijing University of Technology,2016: 17—26. (In Chinese)
[13]? 張志超,王丹,趙文兵,等. 一種基于神經網絡的 SQL 注入漏洞的檢測模型[J]. 計算機與現代化,2016(10):67—71.
ZHANG Z C,WANG D,ZHAO W B,et al. A SQL injection vulnerability detection model based on neural network [J].Computer and Modernization,2016(10):67—71. (In Chinese)
[14]? 方忠慶. 基于深度學習的跨站腳本攻擊檢測研究[D] .長沙:湖南大學信息科學與工程學院,2018:33—43.
FANG Z Q. Research on cross-site scripting attack detection based on deep learning [D]. Changsha: School of Information Science and Engineering,Hunan University,2018:33—43. (In Chinese)
[15]? 傅建明,黎琳,王應軍. 基于 CNN 的 Webshell 文件檢測[J]. 鄭州大學學報(理學版),2019,51(2):1—8.
FU J M,LI L,WANG Y J. Webshell file detection based on CNN [J]. Journal of Zhengzhou University (Science Edition),2019,51(2):1—8. (In Chinese)
[16]? 付壘朋,張瀚,霍路陽. 基于多類特征的 JavaScript 惡意腳本檢測算法[J]. 模式識別與人工智能,2015,28(12):1111—1117.
FU L P,ZHANG H,HUO L Y. JavaScript malicious script detection algorithm based on multi-class features [J]. Pattern Recognition and Artificial Intelligence,2015,28(12):1111—1117. (In Chinese)
[17]? 潘司晨,薛質,施勇. 基于卷積神經網絡的惡意URL檢測[J].通信技術,2018,51(8):1919—1923.
PAN S C,XUE Z,SHI Y. Malicious URL detection based on convolutional neural network [J]. Communication Technology,2018,51(8):1919—1923. (In Chinese)
[18]? 陳康,付華崢,向勇. 基于深度學習的惡意URL識別[J].計算機系統應用,2018,27(6):27—33.
CHEN K,FU H Z,XIANG Y. Malicious URL recognition based on deep learning [J].Application of Computer Systems,2018,27(6):27—33. (In Chinese)
[19]? TORRES P,CATANIA C,GARCIA S,et al. An analysis of recurrent neural networks for botnet detection behavior [C]//Biennial Congress of Argentina (ARGENCON).Buenos Aires,Argentina: IEEE,2016:1—6.
[20]? WANG W Y,ZENG X,YE X,et al. Malware traffic classification using convolutional neural network for representation learning [C]//The 31st International Conference on Information Networking(ICOIN). Da Nang,Vietnam: IEEE,2017:712—717.
[21]? 馬若龍.基于卷積神經網絡的未知和加密流量識別的研究與實現[D]. 北京:北京郵電大學網絡技術研究院,2017:17—44.
MA R L. Research and implementation of unknown and encrypted traffic recognition based on convolutional neural networks [D]. Beijing:Institute of Network Technology,Beijing University of Posts and Telecommunications,2017:17—44. (In Chinese)
[22]? 張路煜,廖鵬,趙俊峰,等. 基于卷積神經網絡的未知協議識別方法[J]. 微電子學與計算機,2018,35(7):106—108.
ZHANG L Y,LIAO P,ZHAO J F,et al. Unknown protocol recognition method based on convolutional neural network[J]. Microelectronics and Computers,2018,35(7):106—108. (In Chinese)
[23]? 王偉.基于深度學習的網絡流量分類及異常檢測方法研究[D].合肥:中國科學技術大學信息學院,2018:45—67.
WANG W. Research on network traffic classification and anomaly detection method based on deep learning [D]. Hefei: School of Information,University of Science and Technology of China,2018:45—67. (In Chinese)
[24]? BATISTAL O,SILVA G A D, VANESSAJO V S,et al. Fuzzy neural networks to create an expert system for detecting attacks by SQL injection [J]. The International Journal of Forensic Computer Science,2018,13(1):8—21.
[25]? SOUZA P V C. Regularized fuzzy neural networks for pattern classification problems [J]. International Journal of Applied Engineering Research,2018,13(5): 2985—2991.
[26]? SOUZA P V C,OLIVEIRA P F A. Regularized fuzzy neural networks based on nullneurons for problems of classification of patterns[C]//2018 IEEE Symposium on Computer Applications & Industrial Electronics (ISCAIE).Penang Island,Malaysia: IEEE,2018: 25—30.
[27]? SOUZA P V C,GUIMARAES A J,ARAJO V S,et al. Fuzzy neural networks based on fuzzy logic neurons regularized by resampling techniques and regularization theory for regression problems[J]. Inteligencia Artificial,2018,21(62): 114—133.
[28]? MA B H,ZHONG G,CHEN Q N,et al. A fuzzy neural network system for architectural foundation selection [C]//Proceedings of the 2nd International Symposium on Asia Urban Geo Engineering. Springer,Singapore, 2018: 651—664.
[29]? 虞湘賓,董濤. 一種離散小波變換的快速分解和重構算法[J]. 東南大學學報(自然科學版),2002,32(4):564—568.
YU X B,DONG T. A fast decomposition and reconstruction algorithm of discrete wavelet transform [J]. Journal of Southeast University (Natural Science Edition),2002,32(4):564—568. (In Chinese)
[30]? 王泳,胡包鋼.應用統計方法綜合評估核函數分類能力的研究[J]. 計算機學報,2008,31(6):942—952.
WANG Y,HU B G. Study on comprehensive evaluation of kernel function classification ability using statistical methods [J]. Journal of Computer,2008,31(6):942—952. (In Chinese)