如今,在人們的安全意識(shí)日趨加強(qiáng)的情況下,黑客們繼續(xù)開發(fā)新的侵入方式。以下介紹黑客入侵的三種方式,以及人們進(jìn)行反擊的方法。
黑客們使用一些基本的技術(shù)將其惡意軟件在防病毒(AV)軟件的掃描和防御中隱藏起來。以下將介紹黑客所采取更加先進(jìn)的混淆方法,并展示人們可用于檢測(cè)惡意軟件規(guī)避的新策略和技術(shù)。
(1)反-反匯編和調(diào)試器(保護(hù)器)
惡意軟件的編寫者了解惡意軟件研究人員的工作原理以及他們用來尋找威脅的工具。例如,研究人員和程序員通常使用反匯編器和調(diào)試器來確定某些代碼的作用。目前有許多可以檢測(cè)反匯編器和調(diào)試器的工具和技術(shù),包括內(nèi)置的Windows功能。這些技術(shù)通常是為了幫助打擊盜版而創(chuàng)建的,他們也會(huì)使用這些工具來幫助破解受保護(hù)的軟件。然而不幸的是,惡意軟件的編寫者可以使用這些技術(shù)來查看它們是否在惡意軟件分析師的計(jì)算機(jī)上運(yùn)行。如果惡意軟件檢測(cè)到這些工具,他們可以停止運(yùn)行或改變自己的行為,使分析師的工作更加難以實(shí)施。
(2)Rootkit
在最高級(jí)別中,rootkits是一種工具或技術(shù)的組合,允許惡意軟件深入系統(tǒng),并隱藏在對(duì)方的操作系統(tǒng)中。計(jì)算機(jī)處理器具有各種級(jí)別的特權(quán)(ring0- ring 3),攻擊者可以利用這些級(jí)別的權(quán)限來欺騙以更高級(jí)的運(yùn)行的程序。例如,Windows和Linux等操作系統(tǒng)具有用戶空間和內(nèi)核空間。在最高級(jí)別,只需要知道內(nèi)核空間(ring0)具有比用戶空間(ring3)更高的權(quán)限。如果有一個(gè)程序需要列出目錄中的文件,那么可以調(diào)用一個(gè)用戶空間函數(shù)去實(shí)施,但也可以調(diào)用一個(gè)內(nèi)核函數(shù)去實(shí)施。
如果一個(gè)惡意程序可以獲得內(nèi)核權(quán)限,它實(shí)際上可以“欺騙”運(yùn)行在用戶空間中的程序。因此,如果你有一個(gè)程序使用用戶空間函數(shù)調(diào)用來掃描文件系統(tǒng),那么內(nèi)核rootkit能夠在解析文件時(shí)欺騙這個(gè)程序。當(dāng)用戶空間函數(shù)掃描到惡意文件時(shí),rootkit可以欺騙說“這些不是所要查找的文件”,更具體地說,只是這些文件繞過檢查,而不是將其作為結(jié)果返回給用戶空間程序。更糟糕的是,虛擬化為rootkit增加了新層次的保護(hù),因?yàn)樘摂M機(jī)具有比內(nèi)核權(quán)限更高的權(quán)限。
總之,惡意軟件有時(shí)可以使用rootkit功能來隱藏起來,通過從操作系統(tǒng)本身隱藏文件,網(wǎng)絡(luò)連接或其他東西等措施和手段,避開本地反病毒軟件(AV)的掃描,也就是說,大多數(shù)反病毒軟件(AV)現(xiàn)在都運(yùn)行著自己的內(nèi)核模式驅(qū)動(dòng)程序和保護(hù)措施,以識(shí)別這些常見的rootkit的把戲。
(3)代碼,進(jìn)程和DLL注入
進(jìn)程或動(dòng)態(tài)鏈接庫(kù)(DLL)注入代表程序可以用于在另一進(jìn)程的場(chǎng)景下運(yùn)行代碼的各種技術(shù)。惡意軟件的編寫者經(jīng)常利用這些技術(shù)來獲取惡意軟件代碼,以便在必要的Windows應(yīng)用程序中運(yùn)行。例如,他們可能會(huì)注入explorer.exe,svchost.exe,notepad.exe或其他合法的Windows可執(zhí)行文件。通過選擇Windows需要的進(jìn)程,惡意軟件可能會(huì)使反病毒軟件檢測(cè)和查殺變得更加困難。惡意軟件還可以使用已知網(wǎng)絡(luò)功能掛接進(jìn)程,以幫助屏蔽任何惡意流量。隨著時(shí)間的推移,微軟公司已經(jīng)修復(fù)了許多被利用的進(jìn)程或代碼注入技術(shù),但研究人員和攻擊者不斷地開發(fā)新技術(shù),如最近發(fā)現(xiàn)的AtomBombing。
惡意軟件有一些可以逃避反病毒軟件的技術(shù)。例如包括綁定(附加到合法程序)和計(jì)時(shí)攻擊(通過休睡以避免自動(dòng)分析),但還有更多的方法。
那么反惡意軟件如何檢測(cè)或關(guān)閉這些漏洞?不幸的是,沒有簡(jiǎn)單的答案,這種技術(shù)競(jìng)賽仍將持續(xù)下去。然而,人們的反病毒武器庫(kù)中有一件很好的武器——行為惡意軟件檢測(cè)。
許多惡意軟件規(guī)避的措施是到改變惡其代碼,以避免基于簽名的檢測(cè)和靜態(tài)分析,或者實(shí)施在事后看起來顯然是惡意的行為。雖然惡意軟件可能會(huì)讓自己改頭換面,但并不能改變它的作用,因?yàn)樗獙?shí)現(xiàn)感染計(jì)算機(jī)的目標(biāo),創(chuàng)建后門或加密文件。因此,許多先進(jìn)的檢測(cè)解決方案創(chuàng)建了一種基于其行為識(shí)別惡意軟件的系統(tǒng)。
一般來說,這些解決方案可以創(chuàng)建一個(gè)“沙盒”,就像受害者的計(jì)算機(jī)一樣,具有所有正常的附帶軟件。當(dāng)這個(gè)系統(tǒng)收到新的可疑的文件時(shí),就會(huì)在這些沙盒環(huán)境中執(zhí)行它們,以查看它們的作用。通過監(jiān)控?cái)?shù)百種已知的惡意軟件行為(包括已知的規(guī)避技術(shù)),這些解決方案可以主動(dòng)地準(zhǔn)確判斷可執(zhí)行文件是否是惡意的。行為分析(將會(huì)由機(jī)器學(xué)習(xí)進(jìn)一步驅(qū)動(dòng))可能是防御惡意軟件的未來。
也就是說,犯罪分子知道沙箱的作用,采取了一些最新的專門針對(duì)沙箱的規(guī)避措施。它們包括沙箱指紋測(cè)試系統(tǒng)(使用從CPU定時(shí)檢查到已知注冊(cè)表項(xiàng)的許多技術(shù)),延遲或定時(shí)執(zhí)行,甚至檢測(cè)人類交互行為(檢查是否有人最近移動(dòng)鼠標(biāo),以查看電腦是由人員操作還是自動(dòng)化操作的)。如果惡意軟件可以使用這些技術(shù)檢測(cè)到沙盒,則就運(yùn)行惡意行為以避免分析。
此外,一些惡意軟件的賣家已經(jīng)創(chuàng)建了可以檢測(cè)一些沙箱的保護(hù)器。然而,一些先進(jìn)的檢測(cè)解決方案也考慮到這一點(diǎn)。而不是僅僅使用現(xiàn)成的虛擬化環(huán)境,一些解決方案可能會(huì)使用完整的系統(tǒng)代碼來仿真和創(chuàng)建沙盒環(huán)境,在這些環(huán)境中,他們可以看到惡意程序發(fā)送到物理CPU或內(nèi)存的每個(gè)指令。這種真實(shí)的可見性允許采用更高級(jí)的惡意軟件解決方案來檢測(cè)并查殺惡意軟件更復(fù)雜的規(guī)避技術(shù)。
惡意軟件與安全廠商的技術(shù)競(jìng)賽是永無止境的,而人們加強(qiáng)防御的第一步之一就是了解黑客的最新措施和手段。人們需要了解網(wǎng)絡(luò)犯罪分子使用的一些技術(shù),才能更好地清除惡意軟件,而行為分析已經(jīng)成為現(xiàn)代安全技術(shù)的關(guān)鍵組成部分。