林翔
(福建警察學院計算機與信息安全管理系 福建省福州市 350007)
物證作為我國所有案件中最具法律依據的證據,是警方破案最為根本的保障。證據保管鎖鏈是確認物證真實性的重要制度,它是指某項證據從獲取到法庭出示的整個過程中,其收集、保管和轉移等各個環節及所有涉及到的經手人員都有完整記錄,且各環節都能得到證據證明,從而形成保管鎖鏈,保管鏈以鏈條的周密性來排除物證篡改或偽造的可能[1]。我國在20世紀90年代開始研究物證信息化管理方式,但在一些縣級地區對物證的管理辦法仍采用手工作業模式,物證的管理效率低下,物證流轉的記錄不夠完整,這使得物證的真實性、客觀性和合法性難以得到保證,且隨著物證數量的增加,容易占用大量的物理空間資源。為了加快地方所隊物證管理的效率,降低物證管理系統建設成本,更好地保障證據保管鎖鏈制度的實施效用,設計了以Spring Boot 為框架,基于IDEA 平臺及MySQL 數據庫管理系統的警用物證管理系統。
IntelliJ IDEA(簡稱IDEA),是Java 語言開發的IDE 集成環境,在智能代碼助手、代碼自動提示、重構、J2EE 支持、CVS 整合、創新的GUI 設計等方面具有諸多獨創性優勢[2]。
Spring 框架是Java 平臺上的一種開源應用框架,提供具有控制反轉特性的容器[3]。它最突出的特點就是能夠最大化的簡化配置和編碼。在系統已經選用數據庫MySQL 和開發工具IntelliJ IDEA 的前提下,Spring Boot 框架與這兩者一起使用,效果更佳。
數據庫系統選擇MySQL 的原因包含兩個方面:
(1)它兼容多種編譯環境,源代碼具有高度可移植性;
(2)MySQL 優化了SQL 查詢算法,極大地保證了數據查詢效率。
物證管理系統作為公安警署的信息化管理系統,應當具備添加物證、物證標題(作案人或某案件的指紋、腳印、血跡等)、物證描述(案件名、案發地、案發時間、作案人、物證類型等具體描述信息)、上傳附件(圖片)、創建時間、物證流向(物證借閱、物證移交、物證銷毀等)、物證查詢(按標題或是描述支持模糊查詢)等功能。因此,物證管理系統總體設計為添加物證、物證刪除、物證流向、物證修改、物證查詢五大模塊。其中添加物證模塊主要包含物證標題、物證描述、物證上傳,主要登記與物證相關的所屬案件、作案人、案發地、物證類型等信息,以防物證信息過于冗余而導致無法被記錄的情況;物證流向則主要包含物證借閱、物證移交和物證銷毀,來應對物證不同的處理情況,以便跟蹤去向;在物證查詢模塊上,為了能夠便捷地獲取物證信息,系統支持用戶按物證標題或是物證描述模糊查詢,系統總體框架如圖1所示。

圖1:系統總體框架
在實際工作中,由于警用物證管理系統面向用戶的信息化水平參差不齊,因此一個結構清晰、層次分明的的界面尤為關鍵。在界面設計上,采用了可自主定制主題界面的方式,即用戶在登陸系統界面上可以根據用戶喜好選擇和預覽主題(收起菜單、固定頂部、固定寬度)或是皮膚的樣式,如圖2 主題設置圖所示。另外,用戶界面設計簡潔直觀,操作導向清晰,能幫助用戶快速掌握使用要領,以管理員物證列表操作界面為例,如圖3所示。

圖2:主題設置圖

圖3:管理員物證列表界面
為了更加清楚的表示每一個對象,系統對每一個對象設計了相對應的數據表,對表中不同的字段設置不同的類型及長度,使其能更符合物證管理的需求,同時在一定程度上保證了數據的高效存取。以物證信息數據表為例,如圖4所示。

圖4:物證信息數據表
物證管理系統作為公安警署的信息化管理系統,安全是第一保障,系統一旦出現安全問題,所有的工作都等于零。
數據庫中存放著網站中所有的物證信息,包括用戶信息、密碼,因此數據庫安全的重要性是不言而喻的。在物證管理系統設計中,除了對用戶注冊的密碼使用MD5 算法進行加密外,還對數據庫進行防SQL 注入攻擊保護。SQL 注入漏洞產生的原因是Web 應用程序沒有將用戶提交的參數和SQL 查詢語句進行隔離,以至于惡意用戶提交的數據被Web 應用程序當做數據庫查詢代碼解析執行。系統通過設置占位符來防止SQL 注入,即使用prepareStatement 方式讓用戶輸入的語句和原SQL 語句被當作一個整體來接收并進行代碼的編譯和執行,從而保證惡意語句無法拼接進原本的SQL 執行語句中,達到有效防止SQL 注入攻擊。為了確保所做的數據庫防注入工作真實有效,使用自動注入工具對系統進行SQL 注入攻擊及檢測,圖5 顯示無法對系統數據庫進行注入攻擊。由此可見,在數據庫防注入方面,該系統有著一定的保障,能有效防止惡意者對數據庫的注入攻擊。

圖5:數據庫SQL 注入失敗結果截圖
系統審計日志可以說是系統安全的第一道同時也是最后一道防線,通過設計審計日志查詢,幫助管理員在系統異常出現的第一時間根據日志內容進行排查、追根溯源。通過實驗測試,日志能夠記錄下用戶的所有操作,且有詳細的時間、訪問用戶、操作內容、SQL 執行語句等。例如,圖6 顯示在2020年4月28日11 點43 分系統捕獲異常:用戶名或者密碼錯誤,圖7 顯示在2020年4月28日11 時46 分,管理員賬戶添加并查看了物證流向情況。
同時,從圖6 后面紅色字體記錄可以看出,該用戶嘗試使用admin 用戶名登錄系統,但是密碼與數據庫不匹配。圖7 中藍色字體網址信息flow 表示流向,add 表示添加,紅色字體則顯示添加的具體流向信息,如內容、編號、時間、添加人,最后一行紅色字體記錄的是SQL 數據庫在該操作下執行的具體語句。

圖6:登陸異常日志記錄圖

圖7:添加物證流向日志圖
文件上傳漏洞是指利用系統對上傳的文件未進行嚴格的驗證和過濾的情況,用戶通過上傳惡意代碼文件,如一句話木馬等,實現對服務器控制等系統安全威脅操作。因此,我們通過在物證管理系統中設置文件類型白名單,限制文件上傳類型以及限制文件大小,來防止文件上傳漏洞帶來的威脅。
通過前期對物證管理流程的調研,設計并實現了警用物證管理系統。該系統實現了案件及物證基本信息的增刪改查功能,如編號、名稱、創建人等信息。在系統的安全方面,對數據庫安全、系統審計日志和文件上傳漏洞問題進行設計和測試,在一定程度上,提高了系統的安全性。網絡沒有絕對的安全,技術層面上,攻防永遠是“矛”與“盾”的關系,光依靠計算機系統信息安全設備和技術保障來加固系統安全是遠遠不夠的,更多的時候還需要依靠用戶安全管理意識的提高以及管理模式的更新。