萬雪勇
(江西警察學(xué)院,江西 南昌 330100)
近幾年來,隨著互聯(lián)網(wǎng)的普及,網(wǎng)絡(luò)傳銷案件逐年上升,其常見形式是以電子商務(wù)、投資理財、資本運作為幌子,假借“互聯(lián)網(wǎng)+”和大眾創(chuàng)新萬眾創(chuàng)業(yè)的名義,大力鼓吹快速致富的神話,欺騙不明真相的人繳納入門費成為會員,并通過會員進一步發(fā)展其他會員,形成層級關(guān)系,最終少部分人獲得非法暴利,絕大多數(shù)會員血本無歸,這是一種擾亂經(jīng)濟秩序、影響社會穩(wěn)定的違法犯罪行為。我國《刑法》中雖沒有網(wǎng)絡(luò)傳銷的罪名,但網(wǎng)絡(luò)傳銷屬于傳銷行為,須承擔(dān)從事傳銷的法律責(zé)任。
網(wǎng)絡(luò)傳銷活動具有虛擬性、欺騙性、隱蔽性、跨地域性、查處被動性等特點。[1]網(wǎng)絡(luò)傳銷的犯罪行為及其體現(xiàn)的證據(jù)形式都是以電子物證的形式存在于網(wǎng)絡(luò)中,這使得公安機關(guān)在偵辦網(wǎng)絡(luò)傳銷案時面臨案件定性難、案件的電子證據(jù)分析難、證據(jù)分析結(jié)果的可視化顯示難等問題。[2]
對網(wǎng)絡(luò)傳銷案進行取證及分析鑒定,需要提取大量電子證據(jù),例如:網(wǎng)站網(wǎng)頁及源代碼、數(shù)據(jù)庫、相關(guān)應(yīng)用程序及幫助文件、電子郵件、微信及QQ記錄等,其中數(shù)據(jù)庫的取證與分析是關(guān)鍵。
數(shù)據(jù)庫種類眾多且技術(shù)封閉,大部分取證工具并不支持對數(shù)據(jù)庫的取證和分析,數(shù)據(jù)庫中巨大的數(shù)據(jù)量會導(dǎo)致取證工具運行效率低下甚至停止工作,目前數(shù)據(jù)庫取證仍然靠個人經(jīng)驗與工具軟件分析相結(jié)合的方式,這使得數(shù)據(jù)庫的取證一直處于比較低層次的發(fā)展階段。
傳銷網(wǎng)站運行時,其后臺數(shù)據(jù)庫一般始終處于在線狀態(tài),對數(shù)據(jù)庫的在線取證,沒有固定的方法和步驟,一般包括這幾個方面:
1.確定數(shù)據(jù)庫類型及狀態(tài)。首先應(yīng)確定數(shù)據(jù)庫類型,不同類型的數(shù)據(jù)庫操作方法不同,即使同一類型的數(shù)據(jù)庫,不同版本的操作方法也有區(qū)別,一般一個網(wǎng)站使用一種數(shù)據(jù)庫,但也有同時使用多種數(shù)據(jù)庫的情況。從網(wǎng)站網(wǎng)頁的源代碼及配置文件 (例如:web.config文件)可分析其使用的數(shù)據(jù)庫類型,常見的應(yīng)用系統(tǒng)組合是PHP+MySQL及ASP.Net+SQL Server。
其次應(yīng)確定數(shù)據(jù)庫狀態(tài),包括系統(tǒng)是否正常運行、用破譯的密碼能否正常登錄、權(quán)限是否被修改等。
2.獲取易丟失數(shù)據(jù)。系統(tǒng)運行時,其內(nèi)存中保存了大量操作系統(tǒng)和數(shù)據(jù)庫的緩存信息,數(shù)據(jù)庫在線取證時應(yīng)利用工具對內(nèi)存進行鏡像,提取操作系統(tǒng)和數(shù)據(jù)庫的動態(tài)信息,常用的工具有Windows Forensic Tools、SQLCMD 等,對于 SQL Server,還可通過跟蹤Plan Cache對象獲取內(nèi)存中的數(shù)據(jù)。
3.獲取數(shù)據(jù)庫數(shù)據(jù)文件。每個數(shù)據(jù)庫都包含數(shù)量不等的數(shù)據(jù)文件,用于保存數(shù)據(jù)的具體內(nèi)容,獲取數(shù)據(jù)庫數(shù)據(jù)文件是取證的重要目標。SQL Server的數(shù)據(jù)文件包括擴展名為“.mdf”的主數(shù)據(jù)文件和擴展名為“.ndf”的次數(shù)據(jù)文件,Oracle的數(shù)據(jù)文件為一系列擴展名為“.dbf”的文件,MySQL根據(jù)其引擎不同,數(shù)據(jù)文件主要有兩類,一類是擴展名為“frm”和“ibd”的文件組合,另一類是擴展名為“frm”、“MYD”和“MYI”的文件組合。
獲取數(shù)據(jù)文件常見的做法是,通過符合司法要求的技術(shù)手段,利用數(shù)據(jù)庫的備份功能,將在線數(shù)據(jù)庫中的數(shù)據(jù)轉(zhuǎn)存到備份文件,再獲取此備份文件并將其還原到重構(gòu)的數(shù)據(jù)庫環(huán)境中。
4.獲取數(shù)據(jù)庫日志和操作系統(tǒng)日志。數(shù)據(jù)庫日志包括事務(wù)日志、錯誤日志和代理日志,操作系統(tǒng)日志包括應(yīng)用程序日志、安全日志、系統(tǒng)日志、IIS日志等。[3]數(shù)據(jù)庫系統(tǒng)出于性能上的考慮,會將用戶對數(shù)據(jù)的改動操作記錄到日志文件中,SQL Server的日志文件為擴展名為“.ldf”的文件,Oracle和MySQL的日志文件為擴展名為“.log”的文件。
數(shù)據(jù)庫日志文件的獲取方法與數(shù)據(jù)文件的獲取方法類似,利用日志文件,可輔助分析數(shù)據(jù)文件并在一定程度上恢復(fù)用戶刪除的數(shù)據(jù),這種分析大多靠分析者的經(jīng)驗,也可利用一些工具軟件,如利用LogExplorer可對SQL Server進行日志分析和數(shù)據(jù)恢復(fù)。[4]
5.分析數(shù)據(jù)庫臨時表。數(shù)據(jù)庫臨時表保存在物理硬盤上,但只是暫時保存,系統(tǒng)重新啟動時會使以前的數(shù)據(jù)丟失,獲取并分析臨時表有助于對數(shù)據(jù)文件的分析。SQL Server的臨時數(shù)據(jù)庫是其TempDB數(shù)據(jù)庫,Oracle的臨時數(shù)據(jù)庫在其temp表空間中。
數(shù)據(jù)庫的離線取證,是指數(shù)據(jù)庫處于非活動狀態(tài),通過符合司法要求的程序獲取數(shù)據(jù)庫文件或備份文件,重構(gòu)數(shù)據(jù)庫環(huán)境或分析其元數(shù)據(jù),從而分析數(shù)據(jù)庫內(nèi)容。
對于Access、SQLite等直接可讀的數(shù)據(jù)庫,可直接分析、查詢其中的數(shù)據(jù)。
對于 SQL Server、Oracle、MySQL 等企業(yè)級數(shù)據(jù)庫,需要使用其數(shù)據(jù)庫文件或備份文件進行數(shù)據(jù)庫重構(gòu),可重構(gòu)到同類數(shù)據(jù)庫管理系統(tǒng)中,也可重構(gòu)到通用的數(shù)據(jù)庫管理軟件(例如:Navicat)中,重構(gòu)數(shù)據(jù)庫后,即可使用SQL語言進行各種統(tǒng)計和查詢。
同時,對于傳銷網(wǎng)站應(yīng)用系統(tǒng),不僅需要重構(gòu)數(shù)據(jù)庫,還需重構(gòu)應(yīng)用系統(tǒng)的運行環(huán)境,取證報告應(yīng)當(dāng)說明應(yīng)用系統(tǒng)的查詢結(jié)果與后臺數(shù)據(jù)庫的查詢結(jié)果一致。
在筆者2017年參與取證及鑒定的一起網(wǎng)絡(luò)傳銷案中,涉嫌網(wǎng)絡(luò)傳銷的公司網(wǎng)站服務(wù)器位于浙江阿里云計算有限公司,辦案單位在阿里云計算有限公司的協(xié)助下,獲取了涉案公司網(wǎng)站服務(wù)器的鏡像文件,我們在電子物證取證塔設(shè)備中使用取證大師專業(yè)版軟件分析送檢的鏡像文件,提取了數(shù)據(jù)庫、網(wǎng)站源代碼等數(shù)據(jù),并在取證設(shè)備中重新構(gòu)建了網(wǎng)站運行環(huán)境,該涉案公司的網(wǎng)站后臺數(shù)據(jù)庫使用的是SQL Server數(shù)據(jù)庫,將提取的數(shù)據(jù)庫文件附加到SQL Server中進行分析,獲得了該公司的大量數(shù)據(jù),定性分析出該案件是一起涉嫌網(wǎng)絡(luò)傳銷案件,定量分析了該公司的各項資金數(shù)據(jù)、人員數(shù)據(jù)、會員的上下線人數(shù)、層級關(guān)系及結(jié)構(gòu)、涉案資金等。
數(shù)據(jù)庫源分析指根據(jù)依法獲取的傳銷網(wǎng)站源代碼和數(shù)據(jù)庫文件,在本地取證設(shè)備上構(gòu)建網(wǎng)站運行環(huán)境,通過查詢、統(tǒng)計、源代碼分析等操作,與在線環(huán)境進行比對,從而認定獲取的數(shù)據(jù)庫是傳銷網(wǎng)站使用的數(shù)據(jù)庫。數(shù)據(jù)庫源分析,主要方法包括數(shù)據(jù)庫的指向分析、數(shù)據(jù)庫的后臺運行分析、源程序與數(shù)據(jù)庫對應(yīng)分析、對數(shù)據(jù)庫的SQL語句操作分析等。[5]
刑法修正案(七)在《刑法》第224條后增加了之一,規(guī)定了組織、領(lǐng)導(dǎo)傳銷活動罪,對傳銷活動的組織者、領(lǐng)導(dǎo)者,應(yīng)當(dāng)依法追究其刑事責(zé)任。2013年11月14日最高人民法院、最高人民檢察院、公安部發(fā)布了 《關(guān)于辦理組織領(lǐng)導(dǎo)傳銷活動刑事案件適用法律若干問題的意見》,其中關(guān)于傳銷組織層級及人數(shù)的認定問題規(guī)定,傳銷組織內(nèi)部參與傳銷活動人員在三十人以上且層級在三級以上的,應(yīng)當(dāng)對組織者、領(lǐng)導(dǎo)者追究刑事責(zé)任。因此,傳銷案中對傳銷人員的層級結(jié)構(gòu)分析是取證及鑒定的重點之一。
一般傳銷網(wǎng)站并不提供查詢?nèi)我鈺T所有下線明細的功能,有的甚至查詢會員直接下線的功能都沒有,這種情況下,我們可對依法獲取的網(wǎng)站后臺數(shù)據(jù)庫進行查詢分析。對數(shù)據(jù)庫的分析可借助第三方工具進行輔助,例如:IBM i2 Analyst's Notebook,也可直接利用SQL語言進行查詢分析,SQL的優(yōu)點是簡潔、直觀,在筆者出具的多起網(wǎng)絡(luò)傳銷案鑒定報告中,均是直接利用SQL。
傳銷人員均具有上下線層級關(guān)系,這種關(guān)系一般記錄在數(shù)據(jù)庫中某一個或多個表中,利用SQL可查詢其層級結(jié)構(gòu)。例如,某網(wǎng)絡(luò)傳銷網(wǎng)站后臺數(shù)據(jù)庫中有一個會員表MEMBERS,其關(guān)鍵字段有:mID(會員編號)、mAcName (會員名)、mUplineMID (上線編號)、mUplineMAcName(上線會員名),查詢會員的直接下線,簡單的利用 “Select*From MEMBERS Where mUplineMID=會員編號”即可,查詢會員的下線層級數(shù)和下線人數(shù),可利用SQL Server的遞歸公用表表達式(CTE),SQL程序及結(jié)果如圖1所示。
圖1 查詢會員下線人數(shù)及下線層級數(shù)
對上述SQL語句進行修改,可圖形化展示傳銷會員的下線層級結(jié)構(gòu),將傳銷會員的下線層級結(jié)構(gòu)以圖形化的方式提供給檢察院、法院,有助于網(wǎng)絡(luò)傳銷案的訴訟。SQL程序如圖2所示。
圖2 圖形化展示會員下線層級結(jié)構(gòu)的SQL程序
程序運行結(jié)果(部分截圖)如圖3所示。
圖形化展示傳銷會員的層級結(jié)構(gòu)還可借助第三方工具軟件,例如:ECharts,圖4是用ECharts生成的一個傳銷會員的下線層級結(jié)構(gòu)圖,過程不贅述。
《關(guān)于辦理組織領(lǐng)導(dǎo)傳銷活動刑事案件適用法律若干問題的意見》中關(guān)于“情節(jié)嚴重”的認定,規(guī)定“組織、領(lǐng)導(dǎo)的參與傳銷活動人員累計達一百二十人以上的”、“直接或者間接收取參與傳銷活動人員繳納的傳銷資金數(shù)額累計達二百五十萬元以上的”等情形認定為“情節(jié)嚴重”。因此,在傳銷案的分析鑒定中,對犯罪嫌疑人組織、領(lǐng)導(dǎo)的參與傳銷活動人員數(shù)量和其直接或者間接收取參與傳銷活動人員繳納的傳銷資金數(shù)額的統(tǒng)計尤其重要。
圖3 圖形化展示會員下線層級結(jié)構(gòu)(部分截圖)
圖4 ECharts生成的會員下線層級結(jié)構(gòu)圖
傳銷案中的匯款金額、提現(xiàn)金額、各類獎金數(shù)額、各類轉(zhuǎn)換幣金額等往往記錄在多個數(shù)據(jù)表中,可以參照網(wǎng)頁源代碼,逐一分析表中各字段含義,編寫適當(dāng)?shù)腟QL語句及程序進行統(tǒng)計。
例如,筆者曾參與取證及鑒定的一個傳銷網(wǎng)站數(shù)據(jù)庫共包含481個表、136個視圖、281個存儲過程、62個表函數(shù),數(shù)據(jù)量非常大,經(jīng)過分析,我們編制了多個SQL查詢程序,提取了該公司大量重要數(shù)據(jù),數(shù)據(jù)顯示公司共有會員119900余人,遍布全國20余省市自治區(qū),其中最高級別(七星級)會員多達57人,層級數(shù)最大224層,公司非法資金總額超過63億元,圖5示例的是統(tǒng)計該公司某會員的各項資金數(shù)據(jù)。
圖5 統(tǒng)計某會員的各項資金數(shù)據(jù)
近年來,網(wǎng)絡(luò)傳銷案件呈多發(fā)態(tài)勢,該類案件電子證據(jù)眾多,其所涉數(shù)據(jù)庫中的數(shù)據(jù)量大且數(shù)據(jù)間的關(guān)系復(fù)雜,對其分析具一定難度。本文結(jié)合筆者近年參與的多起網(wǎng)絡(luò)傳銷案的取證和鑒定,力求探尋出網(wǎng)絡(luò)傳銷案中數(shù)據(jù)庫的取證和分析的一般方法,以期為公安實戰(zhàn)部門打擊該類案件提供一點借鑒