近年來個人隱私意識高漲,許多匿名技術因此快速發展。然而,不法份子若利用匿名技術進行駭客攻擊時,如何找出數位證據並發現真正的幕後黑手將是一大重要議題。本文針對利用Cross-Site Scripting進行攻擊的攻擊端主機進行數位鑑識,以記憶體鑑識方法證明攻擊端之不法行為,串聯整起資安攻擊事件。
對於線上購物的商家而言,若系統因不安全而遭受到網路攻擊,可能會不慎將會員的機密資料外洩,不僅造成使用者的損失,更會破壞自身的信譽。例如知名購物車管理系統Magento即因有Cross-Site Scripting(XSS)漏洞,使得有心人士可以透過此漏洞竊取會員資料、會員信用卡資訊,亦可取得管理員帳號進而管理整個購物網站。
當人們需要使用網際網路時,必須透過瀏覽器,如同大門一般,瀏覽器是人們進入網際網路的世界的媒介。而藉由瀏覽器業者所提供的無痕瀏覽模式(Private Browsing),可以幫助人們在關閉瀏覽器後,不會留下絕大多數的紀錄,如瀏覽紀錄、Cookies等資訊,這可以保護人們在網際網路的世界中隱藏自己真實的身分。
然而,事情總是一體兩面。有心人士也藉由無痕瀏覽模式讓瀏覽器不會記錄使用者瀏覽網頁紀錄的特性進行網路犯罪,或者藉由網際網路的匿名性,有心人士可假冒他人的身分進行不法行為。而這也增加了數位鑑識人員調查的難度,有鑑於此,該如何證明不法者的犯罪行為,無疑是一大挑戰。
根據2017年OWASP TOP 10報告顯示,最關鍵的Web應用程式安全風險中,常見的前三個漏洞為SQL Injection、Broken Authentication and Session Management以及Cross-Site Scripting(XSS)。
這裡將著重於在無痕瀏覽模式下進行的XSS攻擊,並且從攻擊端主機和網站伺服器中找出不法行為之相關證據。
背景知識介紹
首先,介紹與本次數位鑑識有關的知識與軟體工具,包括Google Chrome無痕瀏覽、Cross-Site Scripting(XSS)攻擊手法、記憶體鑑識,以及會使用到的軟體工具。
Google Chrome無痕瀏覽
Google Chrome在其官方網站上說明,其瀏覽器在無痕模式下,並不會儲存易洩漏隱私的瀏覽紀錄、下載清單、Web Cache、Cookies、自動填入表單及帳號密碼等資訊。
Cross-Site Scripting攻擊手法
Cross-Site Scripting(XSS)是常見的Web應用程式攻擊手法,為程式碼注入的一種,主要是由於Web應用程式在開發的過程中設計不良或者疏於檢查,導致Web應用程式存有漏洞,而使得攻擊者能夠透過注入使用者端腳本語言,如VBscript、JavaScript等的惡意程式碼,讓使用者瀏覽網頁時,會自動執行攻擊者所注入的惡意程式碼。
依據其攻擊類型,主要可區分兩大類型,分別是需要使用者點擊特定連結的反射攻擊(Reflected Attack)以及因瀏覽已植入惡意語法之網頁的持續性攻擊(Persistent Attack)。
反射攻擊(Reflected Attack)
反射攻擊又稱為非持續性(Non-persistent)攻擊,主要是指惡意的網頁並非存在於目標網站中,而是被動地需要使用者點擊觸發。例如,攻擊者透過傳送電子郵件,藉由吸引人的標題和內容,如某知名品牌線上特賣會等等資訊,誘使使用者點擊信件中的網址,而此網址所導向的網站,即為攻擊者所製作的惡意網站。當使用者欲購買商品時,所輸入的個人資料甚至信用卡資訊,便會落入攻擊者手中。
持續性攻擊(Persistent Attack)
持續性攻擊又稱為儲存性XSS(Stored XSS)攻擊,主要是指所注入的惡意程式碼,被儲存在目標網站的伺服器中,此種攻擊手法常見於網站內留言格式不拘的留言板中。攻擊者先將惡意語法藉由網頁中的XSS漏洞存入網站伺服器中,當使用者正常地瀏覽目標網站時,網站會從伺服器中讀取惡意攻擊者事先注入的惡意程式碼並執行。若惡意程式碼的指令為取得使用者Cookies,攻擊者即可不需要知道使用者的帳號密碼便能冒用使用者的身分。
記憶體鑑識
記憶體可區分為兩種,分別是揮發性記憶體(Volatile Memory)以及非揮發性記憶體(Non-volatile Memory)。揮發性記憶體意指在中斷電源供應後(如電腦關機),記憶體中所儲存的資料便會消失。而這類記憶體如動態隨機存取記憶體(DRAM)和靜態隨機存取存儲器(SRAM)。因此可得知,此種記憶體中所儲存的資料為系統執行程序、開機時所執行程式之執行程序等。而非揮發性記憶體,則是若不提供電源,依舊會保有儲存之資料,如隨身碟、硬碟等。
對於鑑識人員而言,相較於非揮發性記憶體,若能取得揮發性記憶體所儲存之資料,便可從中推測出攻擊者在攻擊當下執行那些程式並進行了什麼行為,這將有助於釐清案情的原貌,因此更為重要。本次實作為了取得揮發性記憶體的資料,因此在電腦未關機的情況下,立即使用已普遍被多國執法單位採用的FTK Imager進行記憶體萃取(Memory Dump),並以一套十六進制編輯器WinHex分析暫存於記憶體中的資訊。經過實驗實際操作結果,可以發現當瀏覽器開啟無痕模式,進行網頁瀏覽動作時,確實可在記憶體中發現殘存的網頁瀏覽紀錄。
軟體工具
以下簡單介紹兩種數位鑑識時將會使用到的軟體工具,包括FTK Imager和WinHex。