999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

MySQL二進制日志的分布式電子取證系統(tǒng)設計

2018-04-10 01:46:17王偉兵文伯聰
網絡安全技術與應用 2018年4期
關鍵詞:數據庫系統(tǒng)

◆王偉兵 吳 琪 文伯聰

?

MySQL二進制日志的分布式電子取證系統(tǒng)設計

◆王偉兵 吳 琪 文伯聰

(廣東警官學院計算機系 廣東 510230)

由于MySQL數據庫在互聯(lián)網行業(yè)的使用越來越廣泛,所以針對MySQL的電子取證問題變得越來越重要。針對該數據庫在長時間運行后產生的海量日志,通過分析日志的結構,設計出一種電子取證系統(tǒng)。該系統(tǒng)利用Hadoop大數據處理平臺,將海量日志經預處理后導入分布式文件系統(tǒng)HDFS中,然后通過Map-Reduce并行編程模型,實現(xiàn)了對日志的分布式檢索和提取。通過實際編程驗證,當增加Hadoop集群中節(jié)點時,取證的速度呈線性增長。取證速度遠遠高于單機系統(tǒng)的取證速度,日志量越大,效率的提高越明顯。

電子取證;MySQL;二進制日志

0 引言

隨著互聯(lián)網產品和用戶的爆炸式增長,互聯(lián)網系統(tǒng)產生的日志可用海量來形容。針對互連網類型的犯罪,如何在海量日志中找到偵查線索和提取電子證據,就成為一線偵查辦案部門面臨的重要問題。近年來,隨著大數據處理技術的成熟,給這一問題的解決帶來新的突破點。采用分布式思想,在云計算平臺上,使用大數據處理技術,更快更準確地分析海量日志,這既是技術發(fā)展的必然,也是電子取證與鑒定模式發(fā)展的必然。

過去數年間,使用開源工具來運行自己的 IT 基礎設施和網站,或基于開源工具而建的產品和服務,成為眾多互聯(lián)網企業(yè)的首選,這就導致開源數據庫MySQL在互聯(lián)網行業(yè)中得到非常廣泛應用。在互聯(lián)網類型的犯罪案件偵查過程中,往往需要針對MySQL數據庫服務器進行電子取證。而用戶通過互聯(lián)網應用軟件對MySQL數據庫服務器的寫操作全部記錄在二進制日志(binlog)中,即使犯罪嫌疑人提前刪除了MySQL數據庫服務器中的有關數據,但是只要有二進制日志,仍然能從中檢索出線索和證據信息。問題是在一個大型的互聯(lián)網應用系統(tǒng)中,通常會有若干臺甚至數十臺MySQL數據庫組成數據庫集群。這樣的應用系統(tǒng)在長時間運行后,會產生非常龐大的二進制日志。如何在短時間內,從這些海量日志信息中提取證據信息,是一件非常困難的事情。

本文在分析MySQL數據庫服務器的二進制日志數據的結構基礎上,設計出一種電子取證系統(tǒng)。該系統(tǒng)利用Hadoop大數據處理平臺,將海量日志經清洗后導入分布式文件系統(tǒng)HDFS中,然后通過Map-Reduce并行編程模型,編程實現(xiàn)了對海量的MySQL數據庫服務器日志數據的高效檢索和電子證據的提取。

1 二進制日志結構分析

MySQL數據庫服務器的二進制日志數據并不是一個單獨的文件,而是由一系列文件組成,包括一組二進制日志文件和一個索引文件。二進制日志文件真正記錄針對MySQL數據庫的寫操作事件,文件名類似于mysql-bin.000001。索引文件則記錄所有使用的二進制日志文件的文件名,用來跟蹤所有已存在的二進制日志文件,以及當前服務器正在寫入的二進制日志文件,索引文件的文件名類似于mysql-bin.index。日志數據的構成如圖1所示。

每個二進制日志文件由若干二進制日志事件(Binary Log Event)組成,以格式描述(Format_Description)事件作為文件頭,以日志輪換(Rotate)事件作為文件尾。格式描述事件記錄MySQL數據庫服務器的基本信息,以及關于日志文件的基本信息。日志輪換事件則指明下一個日志文件的名稱。如果服務器正常關閉或重新啟動,服務器會創(chuàng)建一個新的二進制日志文件,同時向其中寫入一個新的格式描述事件。如果升級服務器,需要寫入新的格式描述事件。 如果服務器突然停止或死機,服務器則可能來不及在文件末尾寫入輪換事件。

除了格式描述和輪換事件外,二進制日志文件中的其他事件都被分成組。在事務型存儲引擎中(例如InnoDB),每個組基本記錄一個事務;但是對于非事務存儲引擎(例如MyISAM),每個語句就是一個事件組。

二進制日志是以二進制記錄格式保存在文件中,對于電子取證而言,直接分析二進制每個字節(jié)或字段的含義非常耗時,也無必要,因為MySQL數據庫提供了一個功能十分強大的工具mysqlbinlog,可以快速的將二進制格式的日志轉化為文本格式,便于直觀和快速地檢索。一條轉換后的具體的文本格式事件記錄如表1所示。

2 系統(tǒng)框架與模塊設計

2.1分布式取證系統(tǒng)的整體框架

Hadoop 是一個開源的,針對大數據分布式處理的計算平臺。該平臺可將大量廉價的計算機連接起來,構成分布式存儲和計算的集群,可對PB級數據進行快速處理。

基于大數據處理平臺Hadoop,在分析傳統(tǒng)日志取證與檢索系統(tǒng)的缺點,使用高效的文本匹配算法和Map-Reduce計算框架,針對MySQL數據庫服務器長時間運行后產生的海量二進制日志,設計的電子取證系統(tǒng)的整體框架如圖2所示。

圖1 二進制日志的組成

表1 一條具體的事件記錄及其含義

圖2 取證系統(tǒng)總框架

2.2 HDFS 模塊設計

HDFS是Hadoop平臺中的分布式文件系統(tǒng),可以將大量文件分布存儲于集群中的各個節(jié)點中,具有存儲容量大、安全可靠、擴展性強等優(yōu)點。

HDFS集群采用主/從(Master/Slave)架構,即S集群中包含一個主節(jié)點和若干個從節(jié)點。主節(jié)點也叫名字節(jié)點(NameNode),從節(jié)點也叫數據節(jié)點(DataNode)。主節(jié)點作為主服務器,負責存儲文件系統(tǒng)中的元數據,包括文件名,備份數量和存儲位置等信息,以及文件被分割成具體塊(Block)的信息和每一個塊歸屬的名字節(jié)點的信息。主節(jié)點也接受并處理客戶端對文件的訪問需求。對于整個集群來說,HDFS通過主節(jié)點對用戶提供了一個單一的命名空間。一般情況下,一個從節(jié)點運行在一臺單獨的物理服務器上,從節(jié)點負責管理自身存儲的數據,它將數據劃分為多個塊,管理塊信息,同時定期將其所管理的塊信息發(fā)送給主節(jié)點。圖3為HDFS系統(tǒng)架構圖,主要有三個角色:客戶端、名字節(jié)點、數據節(jié)點。客戶端既可以是交互式終端,也可以是Hadoop平臺上運行的程序。

圖3 HDFS系統(tǒng)架構圖

2.3 Map-Reduce模塊設計

Map-Reduce是Hadoop平臺上的并行編程模型,適用于海量數據的分布式處理。大規(guī)模的數據一般存儲于HDFS中,而Map-Reduce并行程序的運行節(jié)點往往和HDFS中的數據節(jié)點位于同一物理計算機上。Map-Reduce編程簡單,特別適用于數據并行性任務的快速解決。

Map-Reduce編程模型的主要思想是映射(Map)和規(guī)約(Reduce)。具體編程時,需要實現(xiàn)Mapper和Reducer兩個接口,主要是這兩個接口中的map函數和reduce函數。map函數的主要作用是對讀取的文件分片數據,然后根據內容和處理目的進行分割,最后以key-value的形式輸出,這個過程是在各個節(jié)點并行執(zhí)行。而框架會將map函數輸出的數據按照key進行歸并,歸并后的數據就是一個key對應由多個value組成的列表,稱之為key-list對。這種形式的歸并的結果會作為reduce函數的輸入,由reduce函數按照處理需求進行處理,當然這個處理過程也是在各個節(jié)點并行完成。

這種并行編程模型概念簡單,編程人員不必深入理解并行程序工作的具體細節(jié),不需要對任務進行劃分、分配和調度,也不需要處理并行工作的各個進程之間的消息。所有這些都由Map-Reduce框架自動完成。編程人員只需要把精力集中在處理需求和業(yè)務流程上,極大地降低了編程門檻,使得編程人員很快就能將自己的程序運行在分布式系統(tǒng)上。Map-Reduce模塊的工作框圖如圖4所示。

圖4 Map-Reduce模塊工作框圖

3 關鍵技術

3.1日志清洗

雖然用戶對MySQL數據庫的所有寫操作都記錄在二進制日志中,但是由于以下兩個原因,對其檢索比較困難。第一個原因是日志格式是二進制記錄,很難對其直接進行高效檢索;第二個原因是日志文件一般比較大,不便于并行處理。所以必須對日志進行清洗。MySQL數據庫提供了一個工具mysqlbinlog,不但可以將二進制格式的日志快速轉換為文本格式,而且還可以對日志文件按照時間戳或者位置進行分割。在持續(xù)轉換分割的過程中,還需將分割形成的小尺寸的文本格式的日志文件持續(xù)地導入到分布式文件系統(tǒng)HDFS中,以便下一步處理。這個過程可以并行處理,既可以在一臺計算機上啟動多個任務,也可以在不同的計算機上啟動多個任務。日志清洗算法流程如圖5所示。

3.2文本匹配算法

在Map-Reduce模塊中,map階段需要從分片日志中檢索出感興趣的事件操作語句,這些SQL語句均為文本格式,所以需要高效的字符串查找算法。KMP算法對于任何字串和母串,都可以在線性時間內完成。

匹配查找,時間復雜度是O(n+m),而且不會發(fā)生退化,是一個非常優(yōu)秀的文本匹配算法。算法的核心思想在于:在每一次查找匹配過程中,當出現(xiàn)字符不相等的時候,母串不需要回退到下一個起始位置后和子串的第一個字符重新開始比較,而是利用已經比較的信息,母串位置不回退,子串回退盡可能短的位置后繼續(xù)進行比較。

圖5 日志清洗算法流程

當比較不成功時,為了確定母串中當前字符與子串中哪個字符再次進行比較,需要提前定義和計算出一個next數組。該數組中第j個元素的值表示當子串中第j個字符與母串中相應字符不相等時,需要從子串中哪個位置的字符和母串中當前位置的字符重新進行比較。next數組的定義如下所示:

1)next[j] =0 ,當j=1時;

2) next[j] = max(k),當集合{1

3) next[j] = 0,其他情況。

給定一個子串,可以根據此定義計算出的next數組各元素的值。一個具體的例子如表2所示。

表2 字串和next數組對應表

基于該數組,具體的查找算法過程如圖6所示。

FUNC KMP(s,t:strtp):integer;{求子串t在母串s中位置的KMP算法}i:=1; j:=1; {指針初始化}WHILE(i<=s.curlen AND j<=t.curlen) DOIF(j=0 OR s.ch[i]=t.ch[j])THEN [i:=i+1; j:=j+1] {繼續(xù)下一對字符的比較}ELSE j:=next[j]; {子串向右滑動}IF j>t.curlenTHEN RETURN (i=t.curlen) {查找匹配成功}ELSE RETURN(0)ENDF;{KMP}

4 實驗結果及分析

實驗集群環(huán)境由7臺Dell服務器搭建(1個Master節(jié)點,6個Slave 節(jié)點) 。節(jié)點機器配置如下: CPU:Xeon E5-2620*2;內存:48GB;硬盤:500 GB;以太網卡:1000Mb/s;操作系統(tǒng): CentOS Linux。

為測試系統(tǒng)處理海量數據時的性能,實驗針對不同數量級的MySQL二進制日志數據進行對比測試,并且對比不同節(jié)點數的集群和單機模式下檢索二進制日志的速度。實驗結果如圖7 所示。

圖7 實驗結果

通過實驗,可以得出兩個結論:

(1)當日志數據量小于5G時,且Hadoop 集群中僅有2個節(jié)點時,檢索速度與單機系統(tǒng)相比提升不明顯。分析原因,主要是因為Hadoop 集群的分布式特性,在執(zhí)行Map-Reduce 程序時要消耗一定的時間對任務進行分解和分配,集群的性能優(yōu)勢并沒有發(fā)揮出來。

(2)隨著數據量增大,集群的海量數據處理能力便顯現(xiàn)出來。當數據量大于5G時,單機系統(tǒng)檢索日志的時間將非常漫長,甚至超出了忍耐極限,而在集群中,隨著日志量的增加,日志檢索所耗費時間呈線性增長,只不過不同規(guī)模的集群,檢索時間增長的速度不同而已。

5 結束語

文中基于Hadoop大數據處理平臺,設計并實現(xiàn)了針對海量MySQL二進制日志的電子取證系統(tǒng)。該系統(tǒng)首先將海量日志分割存儲于分布式文件系統(tǒng)HDFS中,然后利用Map-Reduce并行計算框架,分割檢索任務到各節(jié)點,協(xié)同工作,最終完成電子取證目的。通過選取不同數量級的日志數據進行測試,并與單機系統(tǒng)進行對比測試,實驗表明本系統(tǒng)能有效提高日志檢索的速度、并發(fā)性以及處理海量數據的能力,可以滿足實際偵查工作的需要。

下一步的研究將著重關注以下兩個方面:優(yōu)化適用于Map-Reduce編程模型的更加高效的文本匹配算法,進一步提高日志檢索的效率。以及日志清洗與分割的粒度對Map-Reduce處理效率的影響,以期找到最優(yōu)或次優(yōu)的分割參數。

[1]吳松洋,張熙哲,王旭鵬等.基于Hadoop的高效分布式取證:原理與方法[J].電信科學,2014.

[2]譚森,郭捷.基于日志分析的MySQL數據庫取證算法[J].信息安全與通信保密,2015.

[3]竇蒙,聞立杰,王建民,閆志強.基于MapReduce的海量事件日志并行轉化算法[J].計算機集成制造系統(tǒng),2013.

[4]王梅,朱信忠,趙建民,黃彩鋒.基于Hadoop 的海量圖像檢索系統(tǒng)[J].計算機技術與發(fā)展,2013.

[5]夏杰.協(xié)同電子取證模型研究與設計[J].西北工業(yè)大學學報,2013.

[6]陳光宣,杜彥輝,杜錦等.云環(huán)境下電子取證研究[J].信息網絡安全,2013.

[7]張超.云計算環(huán)境下的電子數據調查與取證[J].信息網絡安全,2010.

[8]劉建軍,陳光宣.電子取證技術體系研究[J].網絡安全技術與應用,2013.

猜你喜歡
數據庫系統(tǒng)
Smartflower POP 一體式光伏系統(tǒng)
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
數據庫
財經(2017年15期)2017-07-03 22:40:49
數據庫
財經(2017年2期)2017-03-10 14:35:35
數據庫
財經(2016年15期)2016-06-03 07:38:02
數據庫
財經(2016年3期)2016-03-07 07:44:46
主站蜘蛛池模板: 亚洲视频影院| 伊人久久综在合线亚洲2019| 日韩精品一区二区三区视频免费看| 亚洲视频免费在线看| 国产精品成人一区二区| 免费人成网站在线高清| 国产Av无码精品色午夜| 欧美亚洲激情| 黄色网站在线观看无码| 国产成人a在线观看视频| 国产青青草视频| 国产在线自乱拍播放| 亚洲大尺度在线| 91精品久久久久久无码人妻| 亚洲欧美一级一级a| 国产成人亚洲欧美激情| 国产真实乱人视频| 久久黄色小视频| 亚洲欧美自拍中文| 国产免费福利网站| 亚洲人成网站色7777| 国产第一页屁屁影院| 亚洲人成影院在线观看| 奇米影视狠狠精品7777| 国产在线日本| 欧美色图久久| 国产一区二区福利| 伊人久久影视| 91亚洲视频下载| 99精品国产电影| 欧美成a人片在线观看| 97无码免费人妻超级碰碰碰| 久久夜色精品国产嚕嚕亚洲av| 日本日韩欧美| 亚洲无线国产观看| 国产国语一级毛片| 波多野结衣第一页| 亚洲视频一区| 日韩毛片免费观看| 久久黄色视频影| 无码 在线 在线| 日本高清免费不卡视频| 国产乱人视频免费观看| 亚洲国产中文欧美在线人成大黄瓜| 欧美日韩导航| 综合色区亚洲熟妇在线| 五月六月伊人狠狠丁香网| 国产高清在线丝袜精品一区| 欧美精品成人一区二区视频一| 精品久久久久久成人AV| 国内丰满少妇猛烈精品播| 亚洲欧美成人综合| 全午夜免费一级毛片| 国产国产人成免费视频77777 | 国产黑丝一区| 日韩天堂网| 国产男人的天堂| 亚洲无码在线午夜电影| 国产成人做受免费视频| 欧美在线导航| 麻豆国产原创视频在线播放| 亚洲日韩AV无码精品| 在线免费无码视频| 在线视频97| 国产超薄肉色丝袜网站| 国产精鲁鲁网在线视频| 伊人色在线视频| 亚洲综合狠狠| 最新日韩AV网址在线观看| 国产成人精品午夜视频'| 亚洲国产精品不卡在线| 亚洲人成电影在线播放| 国产成人亚洲精品蜜芽影院| 狠狠色婷婷丁香综合久久韩国| 91精品在线视频观看| 国产成人综合日韩精品无码首页| 欧美亚洲香蕉| 日韩毛片免费观看| 亚洲成人精品久久| www亚洲天堂| 日本少妇又色又爽又高潮| 岛国精品一区免费视频在线观看|