Y標(biāo)志的日志組成,轉(zhuǎn)6. 3); 6. 3)提取出6. 1)日志記錄中"Row Data"屬性字段數(shù)據(jù),該數(shù)據(jù)為二進(jìn)制數(shù)據(jù); 6. 4)提取該二進(jìn)制數(shù)據(jù)中第25字節(jié)至第30字節(jié)數(shù)據(jù),并按字節(jié)逆序排列,得到頁碼編 號Page ID,其中前兩個(gè)字節(jié)表示文件數(shù)Filenum,后四個(gè)字節(jié)表示文件數(shù)Pagenum ; 6. 5)提取該二進(jìn)制數(shù)據(jù)中第31字節(jié)至第32字節(jié)數(shù)據(jù),并按字節(jié)逆序排列,得到槽編碼 Slot ID ; 6. 6)提取該二進(jìn)制數(shù)據(jù)中第65字節(jié)至66字節(jié)數(shù)據(jù),并按字節(jié)逆序排列,轉(zhuǎn)換成十進(jìn) 制整數(shù),得到原數(shù)據(jù)表中被修改數(shù)據(jù)的長度,記為F,找出大于F并且能被4整除的最小正整 數(shù),記為G ; 6. 7)提取該二進(jìn)制數(shù)據(jù)中第73字節(jié)至第72+F字節(jié)數(shù)據(jù),得到原數(shù)據(jù)表中被修改部分 的原始數(shù)據(jù); 6. 8)提取該二進(jìn)制數(shù)據(jù)中第73+G字節(jié)至第72+G+F字節(jié)數(shù)據(jù),得到原數(shù)據(jù)表中被修改 部分的現(xiàn)存數(shù)據(jù); 6.9)使用數(shù)據(jù)庫"DBCC PAGE"命令,根據(jù)步驟6. 4)中的文件數(shù)Filenum和文件數(shù) Pagenum,在數(shù)據(jù)庫中找出數(shù)據(jù)表中數(shù)據(jù)行的完整數(shù)據(jù),即為修改之后的數(shù)據(jù); 6. 10)在步驟6. 9)得到的數(shù)據(jù)中,找到步驟6.8)中數(shù)據(jù)的位置,如果不在,則轉(zhuǎn)至步 驟6.12);如果存在,將其替換為步驟6. 7)中的數(shù)據(jù),得到被修改數(shù)據(jù)在修改之前的完整數(shù) 據(jù); 6. 11)將步驟6. 9)和步驟6. 10)得到的二進(jìn)制數(shù)據(jù)分別進(jìn)行步驟4. 1)至步驟4. 6)操 作,得到具體的數(shù)據(jù)表數(shù)據(jù),轉(zhuǎn)至步驟6.14); 6. 12)繼續(xù)篩選步驟6. 1)中與此條修改日志記錄對象編號Object ID -致且時(shí)間節(jié)點(diǎn) 最近的下一條修改日志記錄,如果沒有,出錯(cuò),結(jié)束實(shí)施例修改操作分析;否則,緩存當(dāng)前修 改日志至緩存區(qū),轉(zhuǎn)至步驟6. 2)分析下一條修改日志記錄; 6. 13)將修改都在數(shù)據(jù)庫中恢復(fù),檢查緩存區(qū)有沒有待分析修改日志,如果有則轉(zhuǎn)至步 驟6. 2)分析該修改日志; 6. 14)提取出步驟6.1)日志記錄中操作者、操作時(shí)間屬性字段數(shù)據(jù),得到完整的修改 日志數(shù)據(jù)信息。6. 根據(jù)權(quán)利要求5所述的的取證分析方法,其特征是,具體包括以下步驟:所述的步驟 2. 3)分析所選擇的數(shù)據(jù)表的基本信息,具體步驟如下: 2. 3. 1)根據(jù)2. 2)所選擇的數(shù)據(jù)表的表名,查找該數(shù)據(jù)表有多少列屬性,即列數(shù)據(jù); 2. 3. 2)根據(jù)2. 3. 1)所查詢到的列屬性,分別查詢到其對應(yīng)的數(shù)據(jù)類型。7. 根據(jù)權(quán)利要求5所述的的取證分析方法,其特征是, 當(dāng)步驟4. 3)中結(jié)果為1,說明數(shù)據(jù)表中屬性全為長度固定的數(shù)據(jù)類型,具體分析步驟 如下: ① 提取步驟4. 2)二進(jìn)制數(shù)據(jù)第3字節(jié)至第4字節(jié)二進(jìn)制碼,并調(diào)換兩字節(jié)的順序,將 其轉(zhuǎn)換成十進(jìn)制整數(shù),表示固定字段數(shù)據(jù)在4. 2)數(shù)據(jù)流中的結(jié)束位置,記為數(shù)值X ; ② 提取4. 2)二進(jìn)制數(shù)據(jù)第5字節(jié)至第X字節(jié)二進(jìn)制碼; ③ 根據(jù)2. 3)的數(shù)據(jù)表格信息將②的二進(jìn)制碼分為2. 3. 1)中數(shù)據(jù)列數(shù)相同的份數(shù),每 一份的長度大小與2. 3. 2)中每列數(shù)據(jù)類型大小一一對應(yīng); ④ 將③中每一份二進(jìn)制碼按字節(jié)逆序排列,并按照2. 3. 2)中的數(shù)據(jù)類型具體解析其 含義。8. 根據(jù)權(quán)利要求5所述的的取證分析方法,其特征是, 當(dāng)4. 3)中結(jié)果為0,說明數(shù)據(jù)表中屬性含有長度可變的數(shù)據(jù)類型數(shù)據(jù),具體分析步驟 如下: ① 提取4. 2)二進(jìn)制數(shù)據(jù)第3字節(jié)至第4字節(jié)二進(jìn)制碼,并調(diào)換兩字節(jié)的順序,將其轉(zhuǎn) 換成十進(jìn)制整數(shù),表示固定字段數(shù)據(jù)在4. 2)數(shù)據(jù)流中的結(jié)束位置,記為數(shù)值Y ; ② 提取4. 2)二進(jìn)制數(shù)據(jù)第5字節(jié)至第Y字節(jié)二進(jìn)制碼: ③ 根據(jù)2. 3)的數(shù)據(jù)表格信息將②的二進(jìn)制碼分為2. 3. 1)中長度固定數(shù)據(jù)類型數(shù)據(jù)列 數(shù)相同的份數(shù),每一份的長度大小與2. 3. 2)中每列長度固定數(shù)據(jù)類型數(shù)據(jù)的長度一一對 應(yīng); ④ 將③中每一份二進(jìn)制碼逆序排列,并按照2. 3. 2)中的長度固定的數(shù)據(jù)類型格式具 體解析其含義; ⑤ 提取4. 2)二進(jìn)制數(shù)據(jù)第Y+1字節(jié)至第Y+2字節(jié)數(shù)據(jù),并將兩字節(jié)調(diào)換順序,將其轉(zhuǎn) 換成十進(jìn)制整數(shù),表示數(shù)據(jù)表的總列數(shù),應(yīng)與2. 3. 1)的數(shù)據(jù)列數(shù)一致,記為數(shù)值Z ; ⑥ 計(jì)算Z除以8的數(shù)值,并向上取整,記為數(shù)值R ; ⑦ 提取4. 2)二進(jìn)制數(shù)據(jù)第Y+3+R字節(jié)至第Y+4+R字節(jié)數(shù)據(jù),并將兩字節(jié)調(diào)換順序,將 其轉(zhuǎn)換成十進(jìn)制整數(shù),表示數(shù)據(jù)表中長度可變數(shù)據(jù)類型數(shù)據(jù)的個(gè)數(shù),記為數(shù)值P ; ⑧ 提取4. 2)二進(jìn)制數(shù)據(jù)第Y+5+R字節(jié)至第Y+4+R+P*2字節(jié)數(shù)據(jù),且以2字節(jié)為單位劃 分為等長度的P個(gè)數(shù)據(jù)塊,將每一塊的兩個(gè)字節(jié)逆序排列并轉(zhuǎn)換成十進(jìn)制整數(shù),所得數(shù)值 為相應(yīng)長度可變數(shù)據(jù)類型數(shù)據(jù)的長度; ⑨ 提取4. 2)二進(jìn)制數(shù)據(jù)第Y+5+R+P*2至數(shù)據(jù)最后,并按⑧中P個(gè)整數(shù)為長度劃分為 P個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊對應(yīng)于數(shù)據(jù)表中長度可變數(shù)據(jù)類型數(shù)據(jù),按照其具體數(shù)據(jù)類型格式 解釋其含義。9. 根據(jù)權(quán)利要求5所述的的取證分析方法,其特征是, 當(dāng)5. 3)中結(jié)果為1,說明數(shù)據(jù)表中屬性全為長度固定的數(shù)據(jù)類型,具體分析步驟如下: ① 提取5. 2)二進(jìn)制數(shù)據(jù)第3字節(jié)至第4字節(jié)二進(jìn)制碼,并調(diào)換兩字節(jié)的順序,將其轉(zhuǎn) 換成十進(jìn)制整數(shù),表示固定字段數(shù)據(jù)在5. 2)數(shù)據(jù)流中的結(jié)束位置,記為數(shù)值Q ; ② 提取5. 2)二進(jìn)制數(shù)據(jù)第5字節(jié)至第Q字節(jié)二進(jìn)制碼; ③ 根據(jù)2. 3)的數(shù)據(jù)表格信息將②的二進(jìn)制碼分為2. 3. 1)中數(shù)據(jù)列數(shù)相同的份數(shù),每 一份的長度大小與2. 3. 2)中每列數(shù)據(jù)類型大小一一對應(yīng); ④ 將③中每一份二進(jìn)制碼按字節(jié)逆序排列,并按照2. 3. 2)中的數(shù)據(jù)類型具體解析其 含義。10. 根據(jù)權(quán)利要求5所述的的取證分析方法,其特征是, 當(dāng)5. 3)中結(jié)果為0,說明數(shù)據(jù)表中屬性含有長度可變的數(shù)據(jù)類型數(shù)據(jù),具體分析步驟 如下: ① 提取5. 2)二進(jìn)制數(shù)據(jù)第3字節(jié)至第4字節(jié)二進(jìn)制碼,并調(diào)換兩字節(jié)的順序,將其轉(zhuǎn) 換成十進(jìn)制整數(shù),表示固定字段數(shù)據(jù)在5. 2)數(shù)據(jù)流中的結(jié)束位置,記為數(shù)值A(chǔ) ; ② 提取5. 2)二進(jìn)制數(shù)據(jù)第5字節(jié)至第A字節(jié)二進(jìn)制碼: ③ 根據(jù)2. 3)的數(shù)據(jù)表格信息將②的二進(jìn)制碼分為2. 3. 1)中長度固定數(shù)據(jù)類型數(shù)據(jù)列 數(shù)相同的份數(shù),每一份的長度大小與2. 3. 2)中每列長度固定數(shù)據(jù)類型數(shù)據(jù)的長度一一對 應(yīng); ④ 將③中每一份二進(jìn)制碼逆序排列,并按照2. 3. 2)中的長度固定的數(shù)據(jù)類型格式具 體解析其含義; ⑤ 提取5. 2)二進(jìn)制數(shù)據(jù)第A+1字節(jié)至第A+2字節(jié)數(shù)據(jù),并將兩字節(jié)調(diào)換順序,將其轉(zhuǎn) 換成十進(jìn)制整數(shù),表示數(shù)據(jù)表的總列數(shù),應(yīng)與2. 3. 1)的數(shù)據(jù)列數(shù)一致,記為數(shù)值B ; ⑥ 計(jì)算B除以8的數(shù)值,并向上取整,記為數(shù)值C ; ⑦ 提取5. 2)二進(jìn)制數(shù)據(jù)第A+3+C字節(jié)至第A+4+C字節(jié)數(shù)據(jù),并將兩字節(jié)調(diào)換順序,將 其轉(zhuǎn)換成十進(jìn)制整數(shù),表示數(shù)據(jù)表中長度可變數(shù)據(jù)類型數(shù)據(jù)的個(gè)數(shù),記為數(shù)值D ; ⑧ 提取5. 2)二進(jìn)制數(shù)據(jù)第A+5+C字節(jié)至第A+4+C+D*2字節(jié)數(shù)據(jù),且以2字節(jié)為單位劃 分為等長度的D個(gè)數(shù)據(jù)塊,將每一塊的兩個(gè)字節(jié)逆序排列并轉(zhuǎn)換成十進(jìn)制整數(shù),所得數(shù)值 為相應(yīng)長度可變數(shù)據(jù)類型數(shù)據(jù)的長度; ⑨提取5. 2)二進(jìn)制數(shù)據(jù)第A+5+C+D*2至數(shù)據(jù)最后,并按5. 5. 8)中D個(gè)整數(shù)為長度劃 分為D個(gè)數(shù)據(jù)塊,每個(gè)數(shù)據(jù)塊對應(yīng)于數(shù)據(jù)表中長度可變數(shù)據(jù)類型數(shù)據(jù),按照其具體數(shù)據(jù)類 型格式解釋其含義。
【專利摘要】一種SQL?Server數(shù)據(jù)庫取證分析系統(tǒng),通過提取和存儲(chǔ)連接SQL?Server數(shù)據(jù)庫后的管理員權(quán)限,提取SQL?Server數(shù)據(jù)庫事務(wù)日志中關(guān)于操作的二進(jìn)制記錄信息,然后結(jié)合數(shù)據(jù)表結(jié)構(gòu)和數(shù)據(jù)類型信息解析插入和刪除操作的具體日志數(shù)據(jù),結(jié)合數(shù)據(jù)庫中原始數(shù)據(jù)和特定的高效算法解析出更新操作的日志數(shù)據(jù),最后具體實(shí)現(xiàn)對SQL?Server數(shù)據(jù)庫各種用戶操作的數(shù)據(jù)、時(shí)間、操作人員的解析和保存。本發(fā)明為SQL?Server數(shù)據(jù)庫取證提供一種切實(shí)可行、高效的方案。
【IPC分類】G06F17/30
【公開號】CN105045817
【申請?zhí)枴緾N201510362128
【發(fā)明人】李巖, 施少培, 楊旭, 周桂泉, 郭捷, 邱衛(wèi)東, 盧啟萌, 曾錦華
【申請人】司法部司法鑒定科學(xué)技術(shù)研究所
【公開日】2015年11月11日
【申請日】2015年6月26日