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

        ?

        基于Mycat的擬態(tài)數(shù)據(jù)庫中間件研究①

        2019-10-18 06:41:22曹國棟喻衛(wèi)東
        計算機系統(tǒng)應用 2019年10期
        關鍵詞:擬態(tài)中間件異構

        曹國棟,倪 明,喻衛(wèi)東,王 燦

        (華東計算技術研究所,上海 201808)

        現(xiàn)在社會,信息技術飛速發(fā)展,伴隨著數(shù)以億計的數(shù)據(jù)產(chǎn)生,數(shù)據(jù)庫作為整個系統(tǒng)中信息輸入和輸出的重要組件,對于其保護和處理,日益成為人們關注的焦點.據(jù)統(tǒng)計僅2018年數(shù)據(jù)泄露事件高達945次,導致的信息泄露數(shù)量達到45億條之多,信息量陡增133個百分點.

        2018年5 月,在南京舉辦的“強網(wǎng)杯”擬態(tài)防御挑戰(zhàn)賽,在國內外22支頂尖戰(zhàn)隊的高強度攻擊下,擬態(tài)防御設備成功封堵了所有攻擊,即使開放管理員權限,在擬態(tài)防御設備中隨意注入后門,也沒有任何戰(zhàn)隊突破擬態(tài)防御,為擬態(tài)防御進行全方位、高強度的安全檢驗.擬態(tài)防御[1,2](Cyberspace Mimic Defense,CMD)是在功能等價的條件下提供可控的執(zhí)行環(huán)境的跳變和遷移,使攻擊者對目標環(huán)境的難以掌握[3,4].在擬態(tài)環(huán)境中,海量數(shù)據(jù)存儲與訪問是系統(tǒng)設計與使用的瓶頸問題,利用開源的分布式存儲數(shù)據(jù)庫中間件Mycat,通過對數(shù)據(jù)進行水平切分,將不同的表映射到不同的數(shù)據(jù)庫中,通過集群管理,事務分布式處理[5],實現(xiàn)數(shù)據(jù)庫容量的擴充和數(shù)據(jù)庫結構的冗余,加之其對SQL語句有攔截和分析的作用,依據(jù)指紋特征對執(zhí)行體指紋化SQL指令進行特征化處理,發(fā)現(xiàn)并剔除攻擊者注入的非法指令.Mycat對數(shù)據(jù)庫返回的數(shù)據(jù)進行表決,判斷異常數(shù)據(jù)庫,并對出現(xiàn)故障的數(shù)據(jù)庫進行還原保護,實現(xiàn)數(shù)據(jù)庫的擬態(tài)化.

        1 擬態(tài)介紹

        擬態(tài)防御(CMD)是中國工程院鄔江興院士在2013年的提出的關于網(wǎng)絡空間安全防御的創(chuàng)新性理論,網(wǎng)絡空間擬態(tài)防御是基于一種主動防御和被動防御相結合的網(wǎng)絡安全防御架構,克服了以往計算機系統(tǒng)漏洞,后門或者病毒的時間不確定性,危害未知性,資源破壞性,為將來的網(wǎng)絡安全防御提供普適創(chuàng)新的理論和方法指導[6,7].

        1.1 擬態(tài)防御應用

        在網(wǎng)絡基礎設施中,一些高校和科研院所已提出了擬態(tài)防御中異構性的構造方法,文獻[8]提出了利用軟硬件多樣性實現(xiàn)多源異構化處理方法;文獻[9,10]提出了利用軟件多樣化編譯對單一軟件進行異構化處理的方法,也隨之研制出了包括擬態(tài)Web服務器[11,12]、擬態(tài)防御路由器[13,14]擬態(tài)DNS服務器[15]等應用設備.

        1.2 擬態(tài)防御原理

        擬態(tài)防御的基本原理是:在不依賴未知攻擊特征信息的前提下,通過多個等價等功能的不同體系結構的執(zhí)行體,利用動態(tài)異構冗余架構(DynamicHetero geneous Redundant Architecture,DHRA)[2],DHRA模型如圖1所示,實現(xiàn)運行環(huán)境、網(wǎng)絡、數(shù)據(jù)、軟件等結構的主動切換或快速轉移,代表性技術如表1,使攻擊者難以判斷目標對象的運行環(huán)境和機制,提高攻擊者在時間維度和空間維度的攻擊成本和難度[8].

        圖1 DHRA模型

        表1 動態(tài)性技術分類

        在高可靠的非相似余度“容錯”模式下,執(zhí)行體通過可重組,可重構,可重建和可重定義等動態(tài)構造方法,實現(xiàn)異構性,動態(tài)性和冗余判斷.動態(tài)異構冗余模型(DHRA)由輸入,輸入代理,執(zhí)行體集(A1,A2,A3,… ,An),多模/策略表決器,輸出組成.根據(jù)系統(tǒng)輸入,異構元素池中選擇異構元素,組成m個異構構件,通過系統(tǒng)的策略調度,形成n個異構執(zhí)行體,經(jīng)過對執(zhí)行體產(chǎn)生的結果多模判決,決定系統(tǒng)輸出[2].

        2 擬態(tài)數(shù)據(jù)庫中間件

        數(shù)據(jù)庫中間應用于Web服務器和數(shù)據(jù)服務器之間,對兩者之間交互的數(shù)據(jù)庫指令進行攔截.擬態(tài)數(shù)據(jù)庫中間件要實現(xiàn)數(shù)據(jù)庫的切分和擴容,集群管理,事務分布式處理,與此同時,要實現(xiàn)對SQL語言進行特征處理,識別和執(zhí)行SQL指紋語句,剔除攻擊者注入的非法指令,并對出現(xiàn)故障的數(shù)據(jù)庫進行還原保護.

        基于此現(xiàn)狀,本研究提出利用Mycat在擬態(tài)環(huán)境中作為數(shù)據(jù)庫的中間件,借助于動態(tài)冗余異構模型設計,利用擬態(tài)安全的環(huán)境為依托,簡化擬態(tài)環(huán)境中數(shù)據(jù)的切分,存取和同步,調用對應SQL指紋指令對前端指紋SQL執(zhí)行進行去指紋化.

        2.1 中間件簡介

        Mycat是用于解決傳統(tǒng)關系型數(shù)據(jù)庫大數(shù)據(jù)存儲不足而設計的開源分布式數(shù)據(jù)存儲中間件[16],使用NIO重構的網(wǎng)絡模塊,優(yōu)化緩沖內核,增強聚合等基本特性,兼容Oralce、PostgreSQL等多種數(shù)據(jù)庫,實現(xiàn)跨語言,跨平臺,跨數(shù)據(jù)庫的通用中間件,并提供和原生數(shù)據(jù)庫一致的命令訪問的支持,可實現(xiàn)集群管理,自動擴容,智能優(yōu)化的功能[5],Mycat架構如圖2.Mycat作為中間件,其功能更好的對數(shù)據(jù)庫實現(xiàn)擬態(tài)防御中動態(tài)異構冗余模型(DHRA)構造,使數(shù)據(jù)的訪問和處理更安全,高效.

        2.2 中間件在擬態(tài)中集群管理

        由于在擬態(tài)環(huán)境中需要多個執(zhí)行體,為保證執(zhí)行體執(zhí)行的數(shù)據(jù)統(tǒng)一和多模裁決,所有執(zhí)行體共用一個數(shù)據(jù)庫集群,這就要求數(shù)據(jù)庫能夠同時容納并處理大量數(shù)據(jù),并且對指紋SQL語言有切分判決能力.Mycat作為數(shù)據(jù)庫的中間件能在擬態(tài)環(huán)境中搭建以Mysql為底層節(jié)點的分布式數(shù)據(jù)庫系統(tǒng)[17],系統(tǒng)通過Mysql的通信協(xié)議[18]與用戶以及底層數(shù)據(jù)庫通信,實現(xiàn)負載均衡、指紋SQL語句重寫、讀寫分離、多臺數(shù)據(jù)庫并行處理以及結果集合并等功能[5],又因其是開源程序,Mycat對整個集群能透明地訪問和管理,集群管理如圖3,這在擬態(tài)環(huán)境中,集群管理為數(shù)據(jù)的安全訪問和處理提供了更可靠高效的保障.

        圖2 Mycat架構

        圖3 Mycat集群管理

        2.2.1 數(shù)據(jù)庫中間件的切分

        在擬態(tài)環(huán)境中,多個異構執(zhí)行體訪問同一數(shù)據(jù)庫,這就對數(shù)據(jù)庫存儲和運算能力有一定的要求.作為執(zhí)行體和數(shù)據(jù)庫的中間件,Mycat對執(zhí)行體發(fā)送的SQL語句進行攔截分析,通過邏輯表中的取模分片算法、分片枚舉、Hash分片等特定算法,將數(shù)據(jù)的存儲和讀取,由一個數(shù)據(jù)庫分散到多個數(shù)據(jù)庫中,減少了單個數(shù)據(jù)庫存儲和運算壓力,實現(xiàn)數(shù)據(jù)分布式存儲[5],Mycat分布式數(shù)據(jù)存儲構架如圖4.

        圖4 Mycat分布式數(shù)據(jù)存儲構架

        2.2.2 數(shù)據(jù)庫中間件高可用性

        在擬態(tài)環(huán)境中,多個執(zhí)行體對數(shù)據(jù)庫進行頻繁的數(shù)據(jù)存儲和讀取,Mycat作為執(zhí)行體和數(shù)據(jù)庫連接點,其本身的高可用性涉及所連接數(shù)據(jù)庫乃至整個擬態(tài)系統(tǒng)的高可用性.數(shù)據(jù)庫經(jīng)過切分后,在各個節(jié)點的數(shù)據(jù)庫獨立運行前提下,Mycat使用主從復制高的可用配置,將dataHost中的writeNode配置為主節(jié)點,readNode配置為從節(jié)點,在邏輯表中,可配置多個readNode和writeNode,實現(xiàn)多寫多讀.在Mycat正常運行時,其內部對dataHost中的全部readHost和WriteHost節(jié)點定期發(fā)起心跳檢測[5],將全部的DML SQL發(fā)送給第一個writeNode,當?shù)谝粋€writeNode所在的節(jié)點出現(xiàn)宕機,默認3次心跳檢測失敗后,Mycat將自動切換到下一個可用的writeNode,并執(zhí)行DML SQL語句.由于Mycat是無狀態(tài)中間件,在擬態(tài)環(huán)境下,用HAProxy等負載均衡軟件部署為集群模式[1],Mycat高可用架構如圖5.

        圖5 Mycat高可用架構

        2.2.3 數(shù)據(jù)庫中間件分布式處理

        事務處理由一組操作構成,其具有原子性(atomicity)、隔離性(isolation)、持久性(durability)和一致性(consistency)4 個特性[5],在擬態(tài)環(huán)境中,我們希望通過中間件的分布式處理[17](Distributed Transaction Processing,DTP)將所有SQL語句正確執(zhí)行.分布式事務處理(DTP)是在一個或多個數(shù)據(jù)庫完成SQL語句執(zhí)行過程的集合,其關鍵是知道事務在數(shù)據(jù)庫中任何地方所做的動作,通過事務準備,提交,反饋,產(chǎn)生統(tǒng)一的結果,如果某個步驟發(fā)生錯誤,就需要回滾到上一步已經(jīng)完成的操作.X/Open定義了分布式事務處理模型,其由應用程序 (ApplicationProgram,AP)、資源管理器(ResourceManagement,RM)、通信資源管理器 (Communication Resource Management,CRM)、事務管理器(Transaction Management,TM)四部分組成[5].AP可以和TM以及RM通信,TM和RM互相之間可以通信,TM和RM通過XA接口進行雙向通信,TM通知RM提交事務或者回滾到上一事務正確執(zhí)行完的點,RM把提交結果通知給TM.

        在擬態(tài)環(huán)境中,在準備階段,Mycat中事務管理器通知節(jié)點數(shù)據(jù)庫準備分支事務,節(jié)點數(shù)據(jù)庫準備結果;在提交階段,事務管理器通知節(jié)點數(shù)據(jù)庫提交分支事務,節(jié)點數(shù)據(jù)庫將結果提交給Mycat,正常提交執(zhí)行過程如圖6.當在第一階段出現(xiàn)某一個數(shù)據(jù)讀取和改寫失敗,第二階段就回滾到第一階段已經(jīng)預提交成功的數(shù)據(jù),提交失敗執(zhí)行過程如圖7.

        圖6 提交成功

        圖7 提交失敗

        2.2.4 數(shù)據(jù)庫中間件對指紋SQL處理

        現(xiàn)在網(wǎng)絡數(shù)據(jù)竊取成功,主要是攻擊者了解并熟悉被攻擊系統(tǒng)的語言,進而注入代碼攻擊成功,在擬態(tài)環(huán)境中,SQL腳本采用基于指紋化的數(shù)據(jù)庫指令異構[2],通過對正常的執(zhí)行語句加入指紋,讓攻擊者不了解指紋化的執(zhí)行語言,使其注入的指令是無法正確執(zhí)行.當指紋SQL語句通過Mycat時,數(shù)據(jù)庫首先判斷請求的地址,若請求來自網(wǎng)站端,將請求指令加到執(zhí)行體對性的隊列中,然后進行指紋SQL語言過濾,指紋SQL處理結構如圖8,利用多模表決機制,將SQL語句進行一致性表決,表決一致,則執(zhí)行正常SQL語句,表決不一致,則進行異常處理.

        圖8 指紋SQL處理結構圖

        數(shù)據(jù)庫返回的結果保存到緩沖區(qū)中,相同的數(shù)據(jù)會被映射到Hash表中的相同位置,所有結果返回完整后,對數(shù)據(jù)庫返回內容的完整性進行Hash比較,比較通過后,數(shù)據(jù)返回給執(zhí)行體,若比較不一致,把出錯信息發(fā)送給擬態(tài)系統(tǒng)的反饋調度服務器進行決策調度.

        Hash表中數(shù)據(jù)信息進行比較偽代碼如下所示:數(shù)據(jù)庫的返回結果Ri包括多個數(shù)據(jù)包,形式為:Ri={P1,P2,···,Pn}

        Foriin 1..n:

        Pi= get_resp()

        Put_to_push()//將數(shù)據(jù)庫返回的結果放入Hash表中

        If get(Pi)>n/2+1//相同結果超過一半時

        Send(Pi)//返回結果

        Remove(Pi)//刪除已經(jīng)對比完成的數(shù)據(jù)

        2.2.5 數(shù)據(jù)庫多模表決機制

        在擬態(tài)環(huán)境中,用動態(tài)冗余架構特性改變傳統(tǒng)防御環(huán)境中的相似性,確定性和靜態(tài)性;利用矢量空間多模裁決機制,如圖9,形成非協(xié)同條件下,多元動態(tài)目標協(xié)同一致攻擊難度以實現(xiàn)“面防御”功能.在數(shù)據(jù)庫環(huán)境中,目標對象外部SQL服務請求依據(jù)策略分發(fā)給各個數(shù)據(jù)庫,數(shù)據(jù)庫的輸出矢量經(jīng)過Hash表比較進行裁決輸出.

        多模表決器按照規(guī)則對n個功能相同但相互獨立的數(shù)據(jù)庫的輸出進行表決操作,保證系統(tǒng)正確輸出,本文采用n取k表決模型,當k個數(shù)據(jù)庫正常讀取時,便認為數(shù)據(jù)庫正常運行,當k個及以上數(shù)據(jù)庫返回的數(shù)據(jù)異常時,才會輸出錯誤非正常數(shù)據(jù),在異構冗余的擬態(tài)環(huán)境中,不同的數(shù)據(jù)庫運行環(huán)境不同,攻擊注入方式不同,無論從時間和技術上,對攻擊者都是極大的消耗,由此數(shù)據(jù)庫的安全性和可靠性得以提高.

        圖9 擬態(tài)表決器模型

        3 實驗與分析

        為了驗證Mycat在擬態(tài)環(huán)境中能夠高效保障數(shù)據(jù)的讀取和安全性,我們在開源的企業(yè)辦公系統(tǒng)然之協(xié)同中,使用三模異構冗余模型進行實驗測試,然之協(xié)同的優(yōu)勢如下:

        (1)功能齊全,能滿足日常的辦公需求,使用范圍廣,人數(shù)無限制.

        (2)私有化部署,安全性高.

        (3)開源產(chǎn)品,能修改代碼滿足個性化需求.

        硬件配置如表2.

        表2

        3.1 環(huán)境配置

        在擬態(tài)環(huán)境中,3個異構執(zhí)行體運行的系統(tǒng)分別為windows7(IP:192.168.126.133),Ubuntu (IP:192.168.126.134)和centos (IP:192.168.126.135),Mycat安裝在IP 地址為 192.168.126.141,并建立“ranzhi”數(shù)據(jù)庫.

        (1)Schema.xml配置

        Schema.xml作為Mycat最重要的配置文件之一,管理著邏輯庫,分片規(guī)則,節(jié)點主機等信息,關鍵代碼如下:

        在各自的系統(tǒng)中,安裝然之協(xié)同,其所連立的數(shù)據(jù)庫設置為Mycat所在的物理地址和Mycat的端口,如圖10.

        圖10 執(zhí)行體Mycat連接

        3.2 實驗結果分析

        (1)指紋SQL識別

        通過Mycat,指紋SQL能夠在數(shù)據(jù)庫中正常執(zhí)行,如圖11,無指紋的SQL語言,不能運行,如圖12.

        圖11 指紋SQL執(zhí)行結果

        圖12 無指紋SQL執(zhí)行結果

        (2)數(shù)據(jù)庫注入測試

        在一般的數(shù)據(jù)庫中,進行數(shù)據(jù)庫注入攻擊測試,數(shù)據(jù)庫返回數(shù)據(jù),如圖13,圖14所示.

        當使用本文中擬態(tài)環(huán)境中的數(shù)據(jù)庫,進行相同的數(shù)據(jù)庫注入攻擊,未能返回數(shù)據(jù),攻擊失敗,如圖15所示.

        圖13 數(shù)據(jù)庫注入過程

        圖14 數(shù)據(jù)庫注入結果

        圖15 數(shù)據(jù)庫注入失敗

        數(shù)據(jù)庫安全測試如表3所示.

        經(jīng)上述實驗,在擬態(tài)環(huán)境中,數(shù)據(jù)庫成功防御數(shù)據(jù)庫注入攻擊,保障了數(shù)據(jù)庫安全.

        表3 數(shù)據(jù)庫安全測試結果

        4 結論與展望

        通過在擬態(tài)環(huán)境中使用Mycat作為數(shù)據(jù)庫訪問的中間件,實現(xiàn)了數(shù)據(jù)庫的集群管理,高可用性,以及對指紋SQL語言的處理,極大的提高擬態(tài)防御中對數(shù)據(jù)安全的保障和數(shù)據(jù)存儲,讀取的高效性.在未來的信息時代,網(wǎng)絡空間的數(shù)據(jù)存取和保護越來越得到重視,隨著社會科技的發(fā)展,會有更多的數(shù)據(jù)庫中間件出現(xiàn),其功能和架構模式也會不斷的更新和成熟,數(shù)據(jù)庫中間件在擬態(tài)環(huán)境中會發(fā)揮更大的作用.

        猜你喜歡
        擬態(tài)中間件異構
        試論同課異構之“同”與“異”
        章魚大師的擬態(tài)課堂
        中韓擬聲詞擬態(tài)詞形態(tài)上的特征
        模仿大師——擬態(tài)章魚
        RFID中間件技術及其應用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設計與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        關于擬聲擬態(tài)詞的考察
        北方文學(2018年2期)2018-01-27 13:51:33
        overlay SDN實現(xiàn)異構兼容的關鍵技術
        電信科學(2016年11期)2016-11-23 05:07:56
        LTE異構網(wǎng)技術與組網(wǎng)研究
        在新興異構SoCs上集成多種系統(tǒng)
        久久aⅴ无码av高潮AV喷| 久久夜色精品国产噜噜亚洲av| 日韩一欧美内射在线观看| 4hu44四虎www在线影院麻豆| 三级网站亚洲三级一区| 少妇夜夜春夜夜爽试看视频| 久久精品国产亚洲一区二区| 蜜桃在线播放免费一区二区三区| 亚洲国产精品久久性色av| 亚洲欧洲日产国码av系列天堂 | 亚洲综合色婷婷七月丁香| 久久婷婷综合色丁香五月| 一本色道久久综合中文字幕| 精品日本一区二区三区| 免费高清av一区二区三区 | 一区二区三区一片黄理论片| 中文字幕无线码一区二区| 无码午夜人妻一区二区三区不卡视频| 久久99久久99精品免观看女同| 国产亚洲综合另类色专区| 久久综合九色综合久99| 久久精品久久精品中文字幕| 五月婷婷激情六月开心 | 欧美另类人妖| 国产精品久久国产精品99gif| 亚洲视频在线视频在线视频| 最近免费中文字幕中文高清6| 国产精品熟女一区二区| 国产自在自线午夜精品视频在| 国产一区二区中文字幕在线观看| 久久亚洲精品成人无码| 波多野结衣亚洲一区二区三区| 日本大胆人体亚裔一区二区| 国产乱人伦偷精品视频免观看| 日日猛噜噜狠狠扒开双腿小说| 九九久久精品大片| 日本美女在线一区二区| 亚洲女初尝黑人巨高清 | 综合国产婷婷精品久久99之一| 亚洲精品乱码久久久久久蜜桃图片 | 黑人一区二区三区高清视频|