網絡取證原理與實戰
一、分析背景
網絡取證技術通過技術手段。提取網絡犯罪過程中在多個數據源遺留下來的日志等電子證據。形成證據鏈,依據證據鏈對網絡犯罪行為進行調查、分析、識別,是解決網絡安全問題的有效途徑之中的一個。眼下,傳統的計算機取證模型和方法比較成熟。而應用於大數據時代則須要OSSIM等集成分析平台對海量數據盡心網絡取證分析。
二、取證分析特點
網絡取證不同於傳統的計算機取證,主要側重於對網絡設施、網絡數據流以及使用網絡服務的電子終端中網絡數據的檢測、整理、收集與分析,主要針對攻擊網絡服務(Web服務等)的網絡犯罪。計算機取證屬於典型的事后取證,當事件發生后,才會對相關的計算機或電子設備有針對性的進行調查取證工作。而網絡取證技術則屬於事前或事件發生中的取證。在入侵行為發生前。網絡取證技術能夠監測、評估異常的數據流與非法訪問。因為網絡取證中的電子證據具有多樣性、易破壞性等特點,網絡取證過程中須要考慮一下問題:
(1)依照一定的計划與步驟及時採集證據。防止電子證據的更改或破壞。網絡取證針對的是網絡多個數據源中的電子數據,能夠被新數據覆蓋或影響,極易隨着網絡環境的變更或者人為破壞等因素發生改變,這就要求取證人員迅速依照數據源的穩定性從弱到強的順序進行取證。
(2)不要在要被取證的網絡或磁盤上直接進行數據採集。
依據諾卡德交換原理。當兩個對象接觸時,物質就會在這兩個對象之間產生交換或傳送。取證人員與被取證設備的交互(如網絡連接的建立)越多、越頻繁,系統發生更改的概率越高,電子證據被更改或覆蓋的幾率越大。這就要求在進行取證時不要任意更改目標機器或者目標網絡環境。做好相關的備份
工作。
(3)使用的取證工具必須得到規范認證。網絡取證能夠借助OSSIM這樣的安全分析平台。
因為業內水平不一且沒有統一的行業標准。對取證結果的可信性產生了一定的影響。這就要求取證人員使用規范的取證工具。四處在網上下載的小工具是沒有說服力的。
網絡取證的重點是證據鏈的生成,其過程一般都是層次性的或基於對象的,一般可分為證據的確定、收集、保護、分析和報告等階段,每個階段完畢后都會為下一個階段提供信息,下一個階段得到的結果又為前一個階段的取證提供佐證。網絡取證的每個階段都是相互聯系的。這就須要這些信息相互關聯,主要由關聯分析引擎實現。
三、網絡證據的數據源
網絡取證的對象是可能記錄了網絡犯罪過程中遺留下來的數據的多個網絡數據源。人們無論是使用Web 服務、雲服務或社交網絡服務。都須要包括服務提供端(如雲server)、client(PC、手機等智能終端設備)以及網絡數據流。
在網絡取證證據的提取的過程中,首要的問題就是確定捕獲什么樣的數據。依照計算機取證的方法。為了准確地構造證據鏈,須要捕獲網絡環境中全部的數據(通過SPAN實現)。
四、網絡證據分析
網絡取證中證據鏈的開端是被入侵站點記錄的非法訪問數據。因為針對網絡服務的犯罪往往是以竊取網絡服務管理員的權限為突破口的。因此。進行網絡取證工作時,首先就是針對用戶權限以及用戶訪問點的調查。
取證者在能夠進入程序管理模塊調查用戶賬戶的可疑記錄。比如是否有管理員賬戶是用萬能password登陸的。后台是否有錯誤的管理賬戶登錄記錄以及可疑的文件記錄,是否實用戶載入了XSS 跨站session 腳本等異常腳本。進行邊界數據監測如文件的上傳與下載等用戶活動。在進行證據收集的過程中,分析電子證據體現的可疑行為。從而判斷犯罪者的攻擊方式與信息,以作為下一步的取證活動的指導。
發現有可疑行為的用戶記錄后,收集該用戶訪問點的全部訪問記錄。包含認證用戶的權限與相應的會話管理等,記錄該用戶的全部會話ID。對於可疑的行為記錄,以截圖、錄屏、存儲等方式將證據固化到取證設備中,並使用Hash函數對數據進行計算得到信息摘要並保存在基准數據庫中。在證據分析之前,對要分析的證據再做一次Hash 計算,比較兩者的結果,假設同樣則說明數據完整性未被破壞。分析並相應用戶與會話ID 之后。則以其作為指示信息收集網絡server及應用server日志中有關該用戶及其全部的會話信息記錄。
假設后台應用管理模塊中的可疑已經被攻擊者刪除而無法取得可疑會話信息時。則以收集與分析可疑訪問的日志作為取證主體。可疑的訪問包含記錄的訪問頻率異常、錯誤信息處理記錄、日志審核報告、站點重定向、管理員監控警報、收集站點信息的爬蟲記錄以及表單隱藏域等。
收集分析日志信息的最大難點在於怎樣在站點龐大的數據中檢索出須要的信息,網絡取證技術主要採用日志精簡與人工忽略兩種思想進行篩選。日志精簡主要是依據比如犯罪發生的時間等犯罪信息作為篩選信息進行日志篩選。另外,能夠有針對性的查找特定的攻擊手段
留下的痕跡。
當攻擊時間前后發布了某一系統漏洞或者在當時某種攻擊手法正在流行時,用這樣的針對性比較強的調查手段會取得更好的效果。
針對站點日志的分析是Web 取證在站點server端的主要應用。除此之外,取證者還能夠應用其它技術作為輔助手段協助完畢證據鏈。
五、針對網絡數據流的取證
網絡取證須要監測網絡環境信息與網絡流,進行數據包的捕獲與分析。網絡環境的相關信息主要依靠OSSIM系統中的IDS等進行獲取。
這一系列的工具能夠用來進行網絡信息收集與網絡安全監測、IP/MAC 地址的分析與定位、監測TCP/UDP port與DHCP 列表、SMTP 活動記錄等。
在進行網絡包捕獲方面,使用的技術包含基於Libpcap 庫、PF_RING 接口、直接使用系統調用等多種。
在被捕獲的網絡流中。網絡包會依照其在網絡上傳輸的順序顯示。相關網絡取證工具能夠對這些包進行重組。即將這些包組織成兩個網絡連接點之間的傳輸層連接。
盡管非常多取證工具能夠對未重組的原始數據進行分析。可是這樣會造成非標准port協議的丟失以及無法應對數據編碼與加密傳輸干擾的問題。
網絡取證中的相關性分析研究主要由於網絡攻擊行為往往是分布、多變的。因此對結果的認定須要將各個取證設施和取證手法得到的數據結合起來進行關聯分析以了解當中的相關性以及對結果產生的因果關系和相互確證,才干夠重構過程。
對於這樣的情況全然由人工分析非常顯然不太現實,所以我們能夠利用開源OSSIM平台得以實現。這樣你面對的是多緯度以及大視角的海量數據分析, 採用多數據緯度關聯分析,比如假設防火牆檢測到非正常業務邏輯的文件上傳同一時候主機Hids 檢測到非正常業務CGI 生成,非常大可能是攻擊者在利用文件上傳漏洞上傳可疑Webshell(由Snort負責分析) 。以上述檢測規則作為給定規則,構建規則模式,形成規則模式集,繼而分析證據集。
六、取證案例
為了讓大家可以理解各種網絡取證方法,在10多年Unix/Linux運維經驗中筆者出版《Unix/Linux網絡日志分析與流量監控》一書中,例舉了二十一個常見網絡故障。每一個案例完整地介紹了故障的背景、發生、發展。以及終於的故障排除過程。
其目的在於維護網絡安全。通過開源工具的靈活運用。來解決運維實戰工作中的各種復雜的故障。
精彩案比例如以下:
-
案例一:閃現Segmentation Fault為哪般
-
案例二:誰動了我的膠片
-
案例三:邂逅DNS故障
-
案例四:站點遭遇DoS攻擊
-
案例五:“太囧”防火牆
-
案例六:圍堵Solaris后門
-
案例七:遭遇溢出攻擊
-
案例八:真假root賬號
-
案例九:為rootkit把脈
-
案例十:當網頁遭遇篡改之后
-
案例十一:UNIX下捉蟲記
-
案例十二:泄露的裁員名單
-
案例十三:后台數據庫遭遇SQL注入
-
案例十四:大意的程序猿之SQL注入
-
案例十五:修補SSHserver漏洞
-
案例十六:無辜的“跳板”
-
案例十七:IDS系統遭遇IP碎片攻擊
-
案例十八:智取不速之客
-
案例十九:無線網遭受的攻擊
-
案例二十:無線會場的“不速之客”
-
案例二十一:“神奇”的加密指紋
因為篇幅所限就不一一詳述,各位讀者能夠到新華書店和圖書館獲取該書詳情。
七、后記
眼下,網絡取證技術還沒有統一的、比較完備的網絡取證流程,這對應的造成了沒有比較統一的取證工具以及對應的評價指標。但筆者通過多年研究開發和應用OSSIM系統發現。該系統的確能夠解決眼下網絡安全取證環節遇到的一些問題。
