本發明涉及信息安全技術領域,特別涉及一種提取監控設備中數據的方法。
背景技術:
國內經濟的蓬勃發展帶動了不少行業的發展,安保行業正是受益于經濟發展過程之中增長趨勢最為明顯的行業之一。尤其是在視頻監控技術不斷發展的今天,高清監控視頻、多角度視頻技術等專業的監控設備在各個行業多種場所都得到了有效地推廣。視頻監控設備在為實現安定和諧安全的社會環境上做出了巨大的貢獻。監控探頭所拍攝下來的視頻顯得尤其重要,為不少案件提供了最真實,最可靠的視頻證據,成為了法院決斷的依據。因此對監控設備的數據提取與恢復具有重大意義。
嵌入式系統是一種完全嵌入受控器件內部,為特定應用而設計的專用的操作系統,嵌入式系統監控機則是一個控制程序存儲在只讀存儲器中的嵌入式處理器控制板,用于控制和監視攝像探頭的裝置。從整體性能上來看,嵌入式硬盤錄像機表現出來了無比強大的優越性能,并且從目前的市場占有率上看,已經成為安防界的主流產品。
在發達國家,不少監控設備上面存儲的數據都是經過多重備份以便確保其數據存儲具備高度的安全性。然而,為了節省企業的開支以及降低管理上的難度,很多持有監控設備的單位并沒有做過多的數據安全措施,這就意味著設備上存儲的視頻資料一旦丟失或出現其他故障,將使得安防功能無法起到相關的作用。
由于監控視頻的存儲是設備廠商自定義的存儲格式,不同于任何一種傳統意義上的文件系統,這導致傳統的數據恢復技術無法應用到監控機的視頻數據提取與恢復中。目前,在針對嵌入式監控機的刪除后產生的碎片文件、覆蓋后的殘余文件無法恢復,而且在實際的使用過程中還會出現監控數據磁盤被初始化、格式化、誤分區等操作,這樣的更是加大的數據恢復的難度。
本發明的方法主要是針對泰康高科公司推出的嵌入式監控設備進行解析從而實現數據提取和恢復。
目前還沒有針對泰康高科嵌入式監控設備進行數據恢復取證的方法。無法恢復監控機的未使用區域的丟失文件、已使用區域中未被覆蓋的碎片文件;恢復結果的視頻數據無法對文件屬性加以區分。
技術實現要素:
本發明針對現有技術的缺陷,提供了一種提取監控設備中數據的方法,能有效的解決上述現有技術存在的問題。
一種提取監控設備中數據的方法,包括以下步驟:
S1:加載磁盤,并讀取磁盤0扇區信息;
S2:檢測磁盤是否符合監控設備在存儲文件時的基本結構,若符合則執行S3,不符合則執行S1;
S3:解析磁盤的ext3分區情況,并解析個分區的起始地址、大小、引導扇區地址;
S4:根據ext3格式的特點,解析分區中數據庫文件search.db中的detail表,讀取表中的數據記錄,獲取正常數據,并在fat32分區中找到對應的數據文件并標記;
S5:提取丟失數據和覆蓋數據;
S51:解析ext3分區中數據庫文件search.db中的detail表,遍歷該表讀取出未使用的塊,并計算出該塊對應的數據區地址,判斷該地址的內容是否為空,不為空時按照監控設備的視頻數據結構提取有效的視頻數據;
S52:根據S4中讀取的正常文件信息,遍歷每個正常文件讀取出已使用的字節數,并計算出該塊對應的數據區地址,判斷該地址的內容中未使用的部分是否為空,不為空時按照監控設備的視頻數據結構提取有效的視頻數據;
S6:按照正常數據、丟失數據、覆蓋數據三種類別讀取數據記錄后,結合視頻文件的格式結構,分類別提取其對應的有效數據;
S7:數據提取完成后,按照類型給提取出的視頻數據進行標記;
S8:將提取出的數據按照幀的信息中的通道和視頻數據的起始時間拼接,重組成完整的視頻。
作為優選,S2判斷是否符合監控設備在存儲文件時的基本結構的條件有以下兩條準則:
準則一:磁盤的MBR結構中包含2個分區,其類型分別為ext3、fat32;
準則二:ext3格式的分區容量遠小于fat32格式的分區容量。
作為優選,S4讀取正常數據的詳細流程如下所述:
S41:讀取磁盤的分區信息,主要包括劃分的分區的起始地址、分區引導記錄地址等信息;
S42:跳至ext3格式的分區起始,按照ext3格式讀取并解析分區使用記錄;
S44:讀取ext3格式分區中的search.db文件中的detail表記錄的正常數據文件的文件名、文件大小、文件記錄視頻的起始時間,遍歷fat32分區中的讀取detail中記錄的全部數據文件;
S45:解析各正常文件中的各通道的數據內容起始地址和視頻時間;
S46:按照S45中解析的結果,可根據每一塊數據的文件頭中的信息來讀取對應數據的長度,來提取任何一表項記錄的數據;
S47:按照視頻數據的時間、通道等信息標記S46中提取的文件,完成對正常數據的提取。
作為優選,所述S51的詳細流程如下所述:
S511:讀取磁盤的分區信息,主要包括分區的起始地址、分區引導記錄地址等信息,遍歷每一個分區并讀取信息;
S512:按照ext3文件系統的格式解析ext3格式分區的參數,并獲取未使用空間的相關記錄;
S513:判斷分區是否存在空閑區域,若存在則跳至S514,否則跳至S518;
S514:讀取分區空閑區域數據信息;
S515:按照視頻數據的結構特征解析S514中提取數據;
S516:判斷S515中解析的數據中是否有可播放的正常的視頻數據文件,若存在跳至S517,否則跳至S518;
S517:提取S516中解析結果所對應的有效視頻數據內容;
S518:按照視頻數據的時間、通道等信息標記S516中提取的文件,完成對丟失數據的提取。
作為優選,所述S52的詳細流程如下所述:
S521:讀取磁盤的分區信息,主要包括分區的起始地址、分區引導記錄地址等信息,遍歷每一個分區并讀取信息;
S522:按照ext3文件系統的格式解析ext3格式分區的參數,并獲取分區已使用的相關記錄;
S523:根據S522中解析結果讀取數據庫文件search.db中的detail表信息,讀取各正常數據文件的數據記錄;
S524:判斷各數據文件是否存在未使用的字節,若存在則跳至S525,否則跳至S528;
S525:讀取未使用字節的內容;
S526:按照視頻數據的結構特征解析S525中讀取的內容;
S527:判斷S526中解析的數據是否存在符合泰康高科視頻數據的結構特征中可播放的視頻文件,若存在則跳至S528,否則跳至S529;
S528:提取S527中解析的結果;
S529:按照視頻數據的時間、通道等信息標記S528中提取的文件,完成對覆蓋數據的提取。
與現有技術相比本發明的優點在于:可以提取快速判斷磁盤數據是否為泰康高科監控視頻數據;提取磁盤數據中有效的視頻數據文件,包括正常數據文件、丟失數據文件、覆蓋數據文件;正確區分視頻數據文件正常、丟失、覆蓋的狀態,幫助企業恢復數據和公安機關偵破案件。
附圖說明
圖1為本發明實施例的主流程圖;
圖2為本發明實施例S4讀取正常數據記錄流程圖;
圖3為本發明實施例S511讀取丟失數據記錄流程圖;
圖4為本發明實施例S512讀取覆蓋數據記錄圖;
圖5為本發明實施例字節參數信息結構示意圖;
圖6為本發明實施例文件頭的具體結構示意圖。
具體實施方式
為使本發明的目的:技術方案及優點更加清楚明白,以下舉實施例,對本發明做進一步詳細說明。
下面介紹泰康高科監控設備在存儲文件時的基本結構。監控設備在初始化磁盤時,磁盤被劃分為2個區域(劃分的區域以下簡稱為分區),一個分區采用的文件系統為ext3格式,另一個分區采用fat32分區格式,在存儲視頻數據時使用fat32分區,并且在分區中寫入數據時會在該分區產生與之對應的存儲記錄數據庫文件,該文件存儲于ext3格式的分區。
泰康高科監控設備存儲在存儲在磁盤中真實數據的結構大致如下所述:正常的單個文件分為兩部分,第一部分為6C756F20(luo)……206F756C(oul)的結構,該結構長度固定為0x2000字節,在該結構中各字節參數信息如圖5所示;
文件以6C697520……2075696C作為文件頭特征,該段數據的長度為0x80,當該文件頭特征后的0x06字節的數據值為00000001674D時,文件是可播放的。文件頭的具體結構包含如圖6所示;
基于上述的存儲文件的邏輯,本專利所采用的數據解析的思路是:按照磁盤的分區逐一讀取,在讀取每一個分區時按照正常數據文件、丟失數據文件、覆蓋數據文件進行分類解析。在讀取正常數據文件時,解析ext3格式的分區的數據庫文件search.db中的detail表,從該表中解析已經使用的塊記錄,并讀取其中視頻數據;在讀取丟失數據文件時,解析ext3格式的分區的數據庫文件search.db中的detail表,從該表中解析未使用的塊記錄,并讀取其中視頻數據判斷其是否為空,不為空時按照泰康高科嵌入式監控設備的視頻數據結構提取有效的視頻數據;在讀取覆蓋數據文件時,解析分區的正常文件中的使用記錄,從該表中解析已使用的塊記錄及已使用塊的字節數,然后讀取其中未使用字節的視頻數據,判斷其是否為空,不為空時按照泰康高科嵌入式監控設備的視頻數據結構提取有效的視頻數據。
圖1所示,下面詳細介紹一種提取監控設備中數據的方法的具體步驟:
S1:加載磁盤,并讀取磁盤0扇區信息;
S2:檢測磁盤是否符合泰康高科監控設備在存儲文件時的基本結構,若符合則跳至S3,不符合跳至S1。具體地,判斷是否符合泰康高科監控設備在存儲文件時的基本結構的條件有以下兩條準則:
準則一:磁盤的MBR結構中包含2個分區,其類型分別為ext3、fat32;
準則二:ext3格式的分區容量遠小于fat32格式的分區容量;
S3:解析磁盤的分區情況,并解析每一個分區的起始地址、大小、引導扇區地址;
S4:解析磁盤劃分的ext3類型的分區,在分區的引導扇區中讀取該分區的中記錄的search.db文件,該文件中的detail表記錄了整個磁盤中正常文件的信息,在表detail里詳細的記錄文件存儲的位置及文件對應的起止時間,在表中folder列記錄的是文件夾的編號,file列記錄的是文件夾下文件的編號,fs_search列記錄的是文件在硬盤中的編號,star_time列記錄的是文件對應的開始時間,end_time記錄的是文件對應的結束時間,star_time和end_time中的時間格式為linux時間戳,根據上述讀取的信息遍歷磁盤fat32類型的分區讀取各數據文件對應的內容;
S5:該部分包括丟失數據和覆蓋數據;
S51:解析磁盤劃分的ext3類型的分區,讀取分區中search.db中detail表中數據內容記錄的磁盤中正常數據的空間,進而讀取磁盤的空閑區域,判斷該區域的內容是否為空,不為空時按照泰康高科監控設備的視頻數據結構提取有效的視頻數據;
S52:根據S4中解析結果,并計算出每個search.db中記錄的數據文件的未使用字節數,判斷該地址的內容中是否為空,不為空時按照泰康高科監控設備的視頻數據結構提取有效的視頻數據;
S6:按照正常數據、丟失數據、覆蓋數據三種類別讀取數據記錄后,結合視頻文件的格式結構,分類別提取其對應的有效數據;
S7:完成提取:數據提取完成后,按照類型給提取出的視頻數據進行標記;
S8:將提取出的數據按照幀的信息中的通道和視頻數據的起始時間拼接,重組成完整的視頻。
如圖2所示,S4讀取正常數據的詳細流程如下所述:
S41:讀取磁盤的分區信息,主要包括劃分的分區的起始地址、分區引導記錄地址等信息,遍歷每一個分區并讀取信息;
S42:跳至ext3格式分區的起始地址,按照ext3格式讀取并解析分區中的search.db文件;
S43:根據S42解析結果,判斷分區使用情況,若detail表中有關于正常文件的記錄則表示該分區已使用則跳至S44,否則跳至S47;
S44:讀取ext3格式分區中的search.db文件中的detail表記錄的正常數據文件的文件名、文件大小、文件記錄視頻的起始時間,遍歷fat32分區中的讀取detail中記錄的全部數據文件;
S45:解析各數據文件中的數據信息,具體地,文件以6C697520……2075696C作為文件頭特征,該段數據的長度為0x80,其中相對頭部偏移0x28記錄的是視頻數據的通道號,相對頭部偏移0x48記錄的是視頻數據的開始時間,相對頭部偏移0x3C記錄的是視頻數據該塊的長度;
S46:按照S45中解析的結果,可根據每一塊數據的文件頭中的信息來讀取對應數據的長度,來提取任何一表項記錄的數據;
S47:創建集合N,將S46中提取的數據按照視頻的起始時間先后順序存放在集合N,集合N的格式如{N0,N1,N2,…,Ni},且集合N中每一個元素屬性包含了視頻文件的起始時間、文件大小、通道以及文件偏移量等,完成對正常數據的提取;
如圖3所示,S51:讀取丟失數據時需要參照泰康高科監控機的視頻數據格式來對空閑區域的數據加以驗證,下面詳細介紹泰康高科監控機的視頻數據格式:文件以6C697520……2075696C作為文件頭特征,該段數據的長度為0x80,其中相對頭部偏移0x28記錄的是視頻數據的通道號,相對頭部偏移0x48記錄的是視頻數據的開始時間,相對頭部偏移0x3C記錄的是視頻數據該塊的長度;在文件頭特征后存儲有可播放文件的標記,當該文件頭特征后的0x06字節的數據值為00000001674D時,文件是可播放的,可根據此結構來校驗空閑區域的數據是否符合該特征。提取丟失數據的詳細流程如下所述:
S511:讀取磁盤的區域劃分信息,主要包括劃分的區域的起始地址、分區引導記錄地址等信息,遍歷每一個分區并讀取信息;
S512:按照ext3文件系統的格式解析各分區參數,根據search.db文件中的detail表記錄的數據并獲取分區空閑區域的相關記錄;
S513:判斷分區是否存在空閑區域,若存在則跳至S514,否則跳至S518;
S514:讀取分區空閑區域數據內容;
S515:按照泰康高科視頻數據的結構特征解析S514中提取數據包含泰康高科視頻數據單元頭特征結構6C697520……2075696C;
S516:判斷S515中解析的數據是否存在符合泰康高科視頻數據的結構特征中可播放的視頻文件,若存在則跳至S517,否則跳至S518;
S517:按照泰康高科視頻數據的結構特征提取S515中解析結果所對應的數據內容;
S518:創建集合L,將S46中提取的數據按照視頻的起始時間先后順序存放在集合N,集合N的格式以及集合L中每一個元素屬性均與集合N一致,完成對丟失數據的提取。
如圖4所示,S52:讀取覆蓋數據的詳細流程如下所述:
S521:讀取磁盤的區域劃分信息,主要包括劃分的區域(簡稱:分區)的起始地址、分區引導記錄地址等信息,遍歷每一個分區并讀取信息;
S522:按照ext3文件系統的格式解析各分區參數,并獲取分區記錄的已使用區域的正常文件信息,此處解析可根據S44中內容;
S523:根據S522中解析結果讀取各正常數據文件的使用記錄,此處解析可參考S45中解析結果,計算出正常文件的有效字節數;
S524:可根據正常數據文件的有效字節數來判斷各數據文件是否存在未使用的字節,若正常數據文件的大小>文件各個特征頭記錄的數據塊大小之和則表示存在未使用的字節數則跳至S525,否則跳至S528;
S525:根據S524中判斷結果再結合S523中解析的參數,使用計算公式:未使用字節數=文件大小-文件各個特征頭記錄的數據塊大小之和,來計算并讀取未使用字節的內容;
S526:按照泰康高科視頻數據的結構特征解析S514中提取數據包含泰康高科視頻數據單元頭特征結構6C697520……2075696C;
S527:判斷S526中解析的數據是否存在符合泰康高科視頻數據的結構特征中可播放的視頻文件,若存在則跳至S528,否則跳至S529;
S528:按照泰康高科視頻數據的結構特征提取S515中解析結果所對應的數據內容;
S529:創建集合F,將S46中提取的數據按照視頻的起始時間先后順序存放在集合N,集合F的格式以及集合F中每一個元素屬性均與集合N一致,完成對覆蓋數據的提取。
本領域的普通技術人員將會意識到,這里所述的實施例是為了幫助讀者理解本發明的實施方法,應被理解為本發明的保護范圍并不局限于這樣的特別陳述和實施例。本領域的普通技術人員可以根據本發明公開的這些技術啟示做出各種不脫離本發明實質的其它各種具體變形和組合,這些變形和組合仍然在本發明的保護范圍內。