Rootkit 是什麼?6 大類別與 4 種預防方式
隱匿軟體 Rootkit 可在不被發現的情況下,造成目標電腦嚴重損害。但 Rootkit 是什麼?還有哪些可怕之處?Rootkit 如何運作?有什麼辦法可以偵測或預防嗎?本文將詳細介紹 Rootkit 惡意軟體。
Rootkit 是什麼?
Rootkit 是由一種或多種軟體組成的工具套組,駭客可用來獲得目標電腦系統的最高管理權限,來存取所有檔案並進行系統中所有的操作。大多數的 Rootkit 惡意軟體設計精密複雜,難以被偵測到,還可以協助隱藏其他惡意軟體蹤跡。因此,也有人稱 Rootkit 為隱匿軟體。而更廣義上來說,Rootkit 也可以被視為一種技術。
Rootkit 一詞源自於 Unix 作業系統的管理者名稱 Root(根;根本),以及 Kit(工具套件),意指具有管理者權限的工具套件。駭客透過在目標電腦植入 Rootkit 惡意軟體,可長期潛伏於其中,並從「根本」作業系統操控目標,進行遠端控制;藏匿惡意軟體;建立繞過安全措施的後門,讓駭客輕鬆控制目標;滲入系統竊取資料;把目標電腦變成殭屍網路,進行 DDoS 攻擊;進行間諜監控活動等等網路惡意攻擊。雖然 Rootkit 現在多被用於網路攻擊,過去也有部分企業或組織應用 Rootkit 於營運管理。
早期 Rootkit 主要用於 Unix/Lunix 作業系統,直到 1990 年代末,出現了第一個針對微軟作業系統的 Rootkit 軟體 NTRootkit。NTRootkit 由資安研究人員設計出,目的為測試與研究 Rootkit 軟體在微軟作業系統上的效果。隨後又出現 He4Hook、Hacker Defender、Vanquish 等 Rootkit 軟體,可以在受感染的電腦上隱匿不同類型的檔案,Rootkit 相關的網路攻擊也開始日漸普遍。
認識 Rootkit 種類
依照攻擊與感染目標和運作方式,Rootkit 惡意軟體可以分為 6 大類:
一、硬體/韌體 Rootkit(Hardware/Firmware Rootkits)
攻擊目標為電腦系統的硬體和韌體,也就是我們實際上看得見、摸得到的設備,以及用來鑲嵌至硬體內,驅動硬體設備作業的韌體,例如硬碟、路由器或是 BIOS(基本輸入輸出系統)。安裝在硬體或韌體的 Rootkit 從比作業系統更底層處獲得權限,以至於偵測和移除的困難度相對更高。也因為硬體/韌體 Rootkit 惡意程式直接針對電腦硬體,還可以進行硬體監控,獲得目標鍵盤敲擊資訊或是控制電腦鏡頭和麥克風等器材。
知名硬體/韌體 Rootkit 惡意程式「LoJax」,隱藏在統一可延伸韌體介面裡的 SPI Flash 記憶體中,可讓駭客遠端控制受感染電腦或系統。LoJax 難以清除,即使重新安裝作業系統也不會被移除,只能透過消除 SPI Flash 記憶體或是丟棄受感染的主機板。
二、啟動程式 Rootkit(Bootloader Rootkits)
啟動程式(Bootloader)在電腦開啟時,負責將作業系統加載到電腦之上。而啟動程式 Rootkit 即以電腦啟動程式為目標,將原本正常的啟動程式替換成經駭客篡改過的惡意版本,讓 Rootkit 惡意程式可以在作業系統完全啟動前,開始運作。
代表性的啟動程式 Rootkit「Alureon」(簡稱為 TDSS 或 TDL-4),同時為 Rootkit 和木馬程式,可用來竊取機敏資訊。Alureon 感染電腦開機後首先訪問的磁碟 MBR(Master Boot Record,主開機紀錄),能在作業系統啟動前運行,並隱藏自身。曾被視為無法清除的惡意程式,但實際上可用 TDSSKiller 專屬工具清除。
三、記憶體 Rootkit(Memory Rootkits)
記憶體 Rootkit 惡意程式的攻擊目標為主記憶體中的隨機存取記憶體(Random-Access Memory,RAM),隱藏於 RAM 上,消耗電腦資源在背景中執行惡意程式,還會降低電腦 RAM 性能。但大多數情況下,電腦一旦重開或用別的方式清除 RAM,記憶體 Rootkit 惡意程式也會跟著消失。雖然感染電腦的時間較短,記憶體 Rootkit 也可能對於目標電腦的資料和性能造成嚴重損害。
四、應用程式 Rootkit(Application Rootkits)
應用程式 Rootkit 攻擊目標電腦的方式為將目標電腦中存有的正常檔案掉包成感染 Rootkit 惡意軟體的檔案,再藉由感染了 Rootkit 的檔案進攻電腦上的軟體與應用程式,像是 NotePad、Word、小畫家等等。舉例來說,電腦受應用程式 Rootkit 感染的使用者,每次開啟特定程式就能讓駭客遠端操控自己的電腦。受影響的程式仍會照常運作,因此要發現應用程式 Rootkit 的存在並非易事。
五、核心模式 Rootkit(Kernel Mode Rootkits)
核心模式 Rootkit 為一種針對作業系統的核心層(Kernel Level)進行攻擊,較為複雜的 Rootkit 工具套件。駭客可透過核心模式 Rootkit 惡意程式來存取電腦中的檔案,甚至還能增減與竄改目標電腦作業系統的程式碼。
以核心模式 Rootkit 進行網路攻擊,通常需要一定技術水準。而核心模式 Rootkit 工具的設計中,若出現了程式錯誤或小故障,也都會直接影響目標電腦的性能表現,但一方面也會讓偵測 Rootkit 惡意程式更加容易。
FU Rootkit 為 Windows 平台上的核心模式 Rootkit,可竄改目標的核心資料結構,隱藏進程和改變文件屬性。而 Knark Rootkit 針對 Linux 系統設計,同樣可以隱藏連接埠、檔案、進程,不讓系統管理者看到。
五、虛擬 Rootkit(Virtual Rootkits)
虛擬機技術(Virtual Machine Technology)可在單一實體硬體上,建立並運行多個獨立操作系統和應用程式,而個別建立出來的獨立運算環境即為虛擬機(Virtual Machines,VMs)。雖然建構於同一硬體裝置,每個虛擬機運作有如一台獨立的實體電腦,各自有各自的操作系統、應用程式和運算資源。
虛擬 Rootkit 利用虛擬機技術將自身藏匿於作業系統和主機硬體,假扮成虛擬機讓作業系統安裝於自身之上,攔截硬體和作業系統之間的資料傳輸。因此虛擬 Rootkit 不用修改核心就可以竄改作業系統,且偵測困難度高。
Rootkit 惡意程式傳遞方法
Rootkit 惡意軟體的傳播方式和其他惡意軟體相同,可以透過電子郵件、USB 隨身碟、行動硬碟,以及軟體、硬體和韌體資安漏洞感染目標電腦或系統。常見的 Rootkit 傳播方式包含以下:
-
社交工程:透過釣魚電子郵件或是釣魚網站誘騙目標下載並執行 Rootkit。
-
木馬程式:將 Rootkit 偽裝成正常軟體,讓目標下載。
-
安全漏洞:針對軟硬體系統設計不良的漏洞傳遞 Rootkit,甚至搭配滲透測試工具(Exploit Kits)找出軟體的弱點,再加以利用。
-
外接設備:將 Rootkit 惡意軟體藏在 USB 隨身碟或是行動硬碟等外接設備,趁使用者將其連上電腦時傳遞。
如何檢測是否遭受 Rootkit 侵入?5 種判斷跡象
Rootkit 惡意軟體以善於隱藏聞名,偵測困難,但感染電腦系統後,還是有跡可循。電腦若是出現以下症狀,有可能受到 Rootkit 影響:
-
藍白當機畫面:微軟作業系統出現系統錯誤時,螢幕會顯示藍底白字的畫面。通常表示有大量錯誤訊息,需重新開機。
-
異常瀏覽器活動:瀏覽器出現非自己設定的書籤、自動跳轉的連結或其他設定選項。
-
網路連線失效:網路連線經常中斷,或因為巨量流量無法連線。
-
電腦效能較低:電腦開機或執行指令速度緩慢,甚至經常當機,而連至其他硬體如鍵盤、滑鼠也有同樣的問題,無法及時反應其指令。
-
未授權的作業系統設定更改:出現不是自己設定的螢幕保護程式、工作列自行消失、顯示錯誤的時間和日期等等,任何非自己更改的作業系統設定都可能是感染 Rootkit 的跡象。
怎麼移除 Rootkit?
電腦或裝置不幸感染了 Rootkit 惡意程式,可以依照以下的步驟處理並移除 Rootkit:
-
備份重要資料:清除 Rootkit 也可能會同時清除電腦中的重要資料,因此在清除前,首先確定已經將系統中的重要資料複製存為備份。
-
使用安全模式開機:部分 Rootkit 惡意軟體會阻止使用者在電腦中安裝資安系統和移除惡意軟體,以安全模式重新開啟電腦可以防止 Rootkit 加載,避開此問題。
-
使用多種 Rootkit 掃描工具:利用掃描工具找出 Rootkit 所在之處。且因 Rootkit 惡意軟體的種類和變種眾多,也各有不同特性,建議同時使用多種掃描工具,避免出現漏網之魚。
-
清除 Rootkit 惡意軟體:掃描確認 Rootkit 種類後,可以針對其特性進行移除。
-
硬體/韌體 Rootkit:使用官方提供的工具重刷韌體或是更換硬體。
-
啟動程式 Rootkit:重建主引導記錄(MBR)或 GUID 分區表(GPT)。在某些情況下,也可以選擇重新安裝作業系統,並清除所有分區。
-
記憶體 Rootkit:重新啟動電腦即可清除 RAM 裡的 Rootkit 惡意軟體。
-
應用程式 Rootkit:使用防毒軟體和 Rootkit 清除工具。
-
核心模式 Rootkit:使用特定 Rootkit 清除工具,或是重新安裝作業系統,並格式化硬碟。
-
虛擬 Rootkit:檢查電腦中是否有非自己設定的虛擬機監視器(Virtual Machine Monitor,VMM,用來建立與執行虛擬機),若有的話,先將其移除,再重新安裝作業系統和重刷韌體。
如果遇到難以清除的 Rootkit,需要使用進階的移除工具,或將所有資料都刪除,重新安裝所有系統。另一方面,移除 Rootkit 之後,電腦還是有可能藏有其他惡意軟體。因此,建議清除 Rootkit 之後,再使用其他掃描和惡意程式移除工具,徹底將電腦中所有的惡意軟體剷除。
預防 Rootkit 攻擊的 4 方法
Rootkit 惡意程式在偵測和清除上都相對困難,所以最好的處理辦法還是事先做好資安措施,杜絕 Rootkit 入侵,將感染電腦的機會降到最低。以下整理了預防 Rootkit 攻擊的最佳做法:
-
提高警覺性:Rootkit 也經常以社交工程的方式傳播,不點擊可疑電子郵件中的連結,或下載夾帶檔案。下載軟體以官方網站提供的正版程式為主,不要從來路不明的網站下載非法軟體。
-
定期更新系統:更新軟體硬體修補系統漏洞,減少 Rootkit 程式透過因設計不良而產生的弱點入侵電腦的機會。
-
使用防毒軟體:防毒軟體可以偵測掃描電腦,建立資安的第一道防護。
-
注意電腦異常活動:Rootkit 惡意軟體善於躲避偵測,除了使用防毒軟體以外,也可以透過多留意電腦運作時是否有異常活動,來判斷有沒有可能已遭 Rootkit 入侵。
-
掃描及過濾網路流量:Rootkit 程式可能從外部網路入侵電腦系統,因此過濾流量可以第一時間阻止惡意軟體傳播。
晟崴科技提供電腦系統資安服務,有效降低 Rootkit 惡意軟體威脅。例如弱點掃描服務,找出電腦系統中可能感染 Rootkit 的漏洞;協助您設置 Web 防火牆及 API 防護,過濾流量;以及 MDR 威脅偵測應變服務,隨時偵測系統異常活動並即時對應。
立即聯絡晟崴科技幫您加強資安防護