註:以下文章非本人撰寫為中國大陸網路轉載文章,只做繁簡轉換整理。
來源:赛迪网 IT技术 正面应对 迎战Rootkit造成的安全威胁
作者:茫然的风
##CONTINUE##
Rootkit可以說是最新的安全威脅之一。任何聽說過它的人都知道它臭名昭著:無法刪除,在一台電腦內部存在數年而不被發現,而且可通過作業系統發動攻擊。
Rootkits:隱藏的安全威脅
什麼是Rootkit呢?根據www.whatis.com的觀點,一個Rootkit就是一個允許以管理員身份訪問電腦或電腦網路的工具的集合(a Rootkit is “a collection oftools that enable administrator-level access to a computeror a computer network.”)。根據安全專家Greg HogLund的觀點,Rootkit是一個設計出來在一個系統中隱藏自身和/或其它過程資料/活動的工具。雖然名聲不好,Rootkit實際上卻可以擁有十分重要的應用,如管理許可證或隱藏一些管理員不想讓其他人看見的文件等。Rootkit的問題在於那些隱藏一些東西並為遠端使用者提供訪問服務的程式,它們可被濫用引起各種安全問題。如今Rootkit可被用來危及電腦的安全,因此電腦使用者必須清楚這些Rootkit。Rootkit基本上可作為間諜軟體、特洛伊木馬、釣魚軟體和其它有害程式的一個基礎平臺。關於Rootkit的好話我們就不多說了,先重點談談Rootkit被用來犯罪的工具問題。
電腦犯罪的理想工具
因為眾所周知的經濟方面上的原因,近年來Rootkit已經成為一個日益嚴重的問題。Rootkit的力量在於它允許遠端使用者控制受害人的系統。一旦它在你的系統上製造或發現一個後門,就可以收集各種各樣的個人資訊,如信用卡號等。
Rootkit常被用來利用間諜軟體和鍵盤記錄程式進行犯罪活動。Rootkit還可以作為蠕蟲和病毒的快速啟動的跳板。實際上,一些蠕蟲就包含Rootkit,這些Rootkit安裝在被感染蠕蟲的電腦上,從而通過網路進一步擴散。Rootkit的最大危險在於它們可以給遠端使用者一種能夠對系統實施“外殼訪問”(shell access)的許可權,也就是說駭客可以完全地控制目標系統。如此一來,Rootkit就可以擁有一種幾乎無限的破壞潛力。
Rootkit陰險地潛入
Rootkit可存在於內核、庫、和應用程式的層次上。內核級的Rootkit特別危險,是人們注意的中心,因為它們十分地難於檢測。Rootkit的一個真正狡猾的特點就是:有一些類型的Rootkit可以將其自身與作業系統緊密地綁定,實際上,幾乎不可能檢測它們。其結果是,Rootkit可以以這種方式取代作業系統,如此一來,使用者就不能相信作業系統傳給使用者的資訊。
傳統的反間諜軟體和反病毒程式在這種情況下是無能為力的,因為它們依靠作業系統自身來尋求狀態資訊,而作業系統卻已被控制。雖然一些Rootkit實際上相當陰險,不過,事實上許多Rootkit可通過關機,然後從另一個乾淨的磁片重新開機來檢測到。畢竟一個非活動的Rootkit是無法隱藏自己的。
感染了Rootkit怎麼辦?
有一種觀點認為,在感染之前(或者沒有被安裝Rootkit)),只需備份系統,然後重新格式化磁片再恢復系統是個好辦法。無可否認,這是針對此問題的一個極端的方法。現在有多種免費的或開源的Rootkit檢測工具來解決問題,不過這並非是真正的安全之道。使用者應謹慎地選擇這種軟體。特別是免費的Rootkit檢測工具並不能像商務軟體那樣及時更新,而此Rootkit的發展步伐又是如此之快,因此我們還要尋求其它的方法。
因為Rootkit經常被用作間諜軟體的平臺,配置最好的可以解決Rootkit問題的商務軟體或硬體廠商通常是那些有著豐富的間諜軟體檢測和清除經驗的公司。一個Rootkit的檢測和清除程式使用多維向量來確認問題。這種程式還應該有最新的被確認的Rootkit的列表,從而確保那些新出現的Rootkit不會成為漏網之魚。這也就是用戶及時更新其簽名檔的重要原因。
記住下面一點也是很重要的:並非所有的Rootkit都是惡意的。使用者並不想要一個Rootkit檢測程式只是檢測那些它所能夠發現的惡意的Rootkit。一個良好的Rootkit檢測程式還應該分辨善意和惡意的Rootkit,並能讓管理員禁用或啟用這些Rootkit程式。
檢測和清除Rootkit的策略
從一定意義上講,Rootkit是難於清除的,特別是對於那些處於作業系統級的Rootkit來說。不過,這又依賴於Rootkit的執行、實施方法。使用者可以在作業系統內核級上安裝工具軟體,也可以在使用者模式水準上放置一些工具。總的來說,Rootkit的目的地是對使用者隱藏資訊、過程和檔,因此無論是檢測還是清除都是相當困難的、複雜的。一般說來,刪除比檢測更難於實施,因為你要確保作業系統在清除Rootkit後還能正常工作。當今的大多數Rootkit都是可以從系統中安全地清除的,但今後一、兩年內,清除Rootkit可能會是一個相當重大的挑戰。
那麼檢測和清除Rootkit的最困難的方面是什麼呢?我們說過,Rootkit就是來隱藏資訊的。這樣你就再也不能真正的相信作業系統本身。一旦你的機器感染了惡意的Rootkit,那麼作業系統所告訴你的任何東西都不再是真正可信的資訊。因此,從作業系統中清除一個Rootkit的首要一步就是引入能夠理解作業系統最低級資訊的技術。例如,磁片如何被格式化。因此對作業系統之下的技術所掌握的能力能夠使你確認任何可認為是Rootkit的蛛絲馬跡。換句話說,對一個作業系統的更高深的知識和能力是非常關鍵的。
科學的檢測技術應位於作業系統之下,我們可以將作業系統在機器上所看到的與檢測軟體在作業系統最低層上所看到的相比較。如果二者匹配,作業系統極有可能是乾淨的、安全的,但如果二者有差異,那你就應該好好看一下了,因為這有可能是一個潛在的Rootkit感染的跡象。
使用者可以採取以下幾方面的步驟來減少總體的暴露程度和被Rootkit感染的風險:
- 通過儘快地確保電腦打上最新的補丁來保證系統的健康,特別是如果你採用微軟的作業系統的話。不過,這條忠告適用於任何其它的作業系統或應用程式。
- 建議用戶以非超級用戶的身份登錄。說來容易做來難。不過,事實是:如果你減少登錄用戶的許可權,你就是在大大地減少被Rootkit感染的風險。
- 總是同時地、及時地更新你的反間諜軟體和反病毒軟體。
筆者(註:原作者)還要建議此文的閱讀者:一定要小心所謂的免費下載!一些所謂的免費下載並不是真得免費。因為你是要付出代價的。很多所謂的“免費”下載可能會包含惡意軟體或Rootkit,使用者完全應該採取預防措施以防止這種事情的發生。儘量從可信任的網站下載,因為它們可為用戶提供一定的安全保障,但並非絕對。
其它相關文章:
詳談 HOOK API 的技術
認識使用 Rootkit 技術的木馬
木馬程式是如何實現隱藏的
Anti-Rootkits 工具整裡包