“溢出”在計(jì)算機(jī)領(lǐng)域是一個(gè)非常重要的概念,而在安全領(lǐng)域,“溢出”往往意味著風(fēng)險(xiǎn)和漏洞,近期的GDI+、MS08067漏洞,甚至幾年前的“沖擊波”、“震蕩波”等病毒,就是溢出漏洞的“杰出作品”,今天我們就來揭開“溢出漏洞”的面紗。
溢出的原理
如果用一個(gè)木桶來裝水,裝滿以后水就會(huì)流出來。同樣的道理,在計(jì)算機(jī)內(nèi)部中輸入的數(shù)據(jù),通常被存放在一個(gè)臨時(shí)空間內(nèi),這個(gè)臨時(shí)存放空間就稱為Windows系統(tǒng)的“緩沖區(qū)”,緩沖區(qū)的長度事先已經(jīng)被程序或者操作系統(tǒng)定義好了。緩沖區(qū)就很像那個(gè)木桶,用來裝東西而且大小已經(jīng)被固定。
如果向緩沖區(qū)內(nèi)填充數(shù)據(jù)的長度很長,超過了緩沖區(qū)本身的容量,那么結(jié)果就如同水流—樣,數(shù)據(jù)也會(huì)溢出存儲的空間內(nèi)部。裝不下的水會(huì)流到地面上,而裝不下的數(shù)據(jù)則會(huì)覆蓋在合法數(shù)據(jù)上,這就是“緩沖區(qū)溢出”。理想的情況下,程序檢查每個(gè)數(shù)據(jù)的長度,并目不允許超過緩沖區(qū)的長度。但有些程序會(huì)假設(shè),數(shù)據(jù)長度總是與所分配的存儲空間相匹配,因此不作檢查,從而為緩沖區(qū)溢出埋下隱患。
溢出的數(shù)據(jù)會(huì)覆蓋掉系統(tǒng)中任何的數(shù)據(jù)、指針或內(nèi)容表面看上去除了數(shù)據(jù)破壞之外,并不會(huì)有其他的實(shí)際作用。但是黑客往往可以在溢出的數(shù)據(jù)中加入指令,如果這些指令被溢出到內(nèi)存中的執(zhí)行區(qū)域(核心區(qū)),那么計(jì)算機(jī)就會(huì)執(zhí)行溢出部分的任何命令。
溢出攻擊的基本模式
溢出攻擊主要分為遠(yuǎn)程溢出和本地溢出兩種。“本地溢出”造成的后果就是,普通的用戶可以利用漏洞,進(jìn)行賬戶權(quán)限的提升以獲得更多的操作權(quán)限。而遠(yuǎn)程溢出的后果則是被黑客遠(yuǎn)程控制。所以說遠(yuǎn)程溢出攻擊的危害要比本地溢出高許多。
前面提到要進(jìn)行溢出攻擊,需要精心構(gòu)造一段數(shù)據(jù),而該數(shù)據(jù)通常稱之為ShellCode,它實(shí)際上就是一組可以完成黑客想要獲得的功能的機(jī)器代碼。這些代碼通常都是以十六進(jìn)制的數(shù)組形式存在的。最常見的ShellCode執(zhí)行結(jié)果,就是打開一個(gè)遠(yuǎn)程的命令提示符窗口。然后黑客就可以在該窗口里面,通過FTP、TftP等命令上傳木馬程序并執(zhí)行,最終達(dá)到遠(yuǎn)程控制該計(jì)算機(jī)的目的。
溢出攻擊是當(dāng)前最流行的一種攻擊手段,因?yàn)檫@種方法不但可以對個(gè)人電腦進(jìn)行攻擊,還可以對某些服務(wù)器進(jìn)行攻擊。除此以外,溢出攻擊在操作使用上也非常簡單,任何人只需要利用黑客編寫的攻擊程序,就可以輕易獲得一臺計(jì)算機(jī)系統(tǒng)的控制權(quán)限,這也是溢出攻擊泛濫的原因。
溢出攻擊的防范
最簡單最有效的方法當(dāng)然是第一時(shí)間安裝漏洞的安全補(bǔ)丁。如果一用戶不方便補(bǔ)丁安裝,也可以使用金山清理專家、360安全衛(wèi)士、第三方軟件來修復(fù)漏洞。另外,防火墻也相當(dāng)重要。必須定期對開放端口和程序進(jìn)行排查。
病毒急救站
病毒名稱:圖片殺手
病毒類型:數(shù)據(jù)破壞類病毒
病毒目的:破壞系統(tǒng)設(shè)置,感染程序圖片
病人:彈出色情王爺信息
今天幫助一個(gè)朋友檢測系統(tǒng),發(fā)現(xiàn)當(dāng)連接到互聯(lián)網(wǎng)以后,瀏覽器會(huì)自動(dòng)打開大量的色情網(wǎng)頁。除此之外我還發(fā)現(xiàn),系統(tǒng)中所有的圖片都被病毒破壞,而且除C盤之外其他磁盤的程序也被感染。請問這是“磁碟機(jī)”病毒重生還是新的病毒啊?
病毒:彈出廣告來刷流量
其實(shí)我并不喜歡別人叫我“病毒”,因?yàn)槲业哪康氖菑棌V告來刷流量。不過為了更好地“工作”,我還是進(jìn)行了很多的破壞性操作。比如首先通過檢查窗口,如果窗口名稱與其列表中的安全軟件名稱同名,則發(fā)送消息來關(guān)閉該程序的窗口,這樣會(huì)令殺毒軟件不能正常工作,接著修改注冊表中的信息,從而破壞系統(tǒng)的安全模式。
當(dāng)我加載成功以后會(huì)遍歷并修改除C盤之外的其他驅(qū)動(dòng)器存在的圖片文件。然后我會(huì)嘗試改寫除C盤之外,其他磁盤分區(qū)內(nèi)的所有EXE文件,將文件頭部重新寫為病毒的數(shù)據(jù),這樣雖有的可執(zhí)行文件就被破壞。另,我還會(huì)搜索后綴為GHO的文件,如果發(fā)現(xiàn)這些文件就將它們刪除。這樣用戶想通過Ghost程序來還愿系統(tǒng)也就不可能了。
當(dāng)做完上面的這些操作以后,我就會(huì)調(diào)用系統(tǒng)默認(rèn)的網(wǎng)頁瀏覽器,自動(dòng)連接到設(shè)置的色情網(wǎng)站。這樣隨著網(wǎng)站訪問量的增加,我的主人的收入也會(huì)隨之增加。
醫(yī)生:數(shù)據(jù)破壞病毒再現(xiàn)
這是一款近來非常少見的數(shù)據(jù)破壞類病毒,因此大家一定要提高警惕。如果用戶不幸中了該病毒,你們下載金山獨(dú)霸推出的專殺工具,對該病毒進(jìn)行快速的查殺。如果系統(tǒng)已經(jīng)感染該病毒,第一次運(yùn)行專殺工具會(huì)有重新啟動(dòng)系統(tǒng)。重新啟動(dòng)以后,專殺工具就會(huì)開始查殺。清楚完成以后再利用殺毒軟件對整個(gè)磁盤進(jìn)行一次徹底的掃描,最后使用“金山清理專家”來完成注冊破壞項(xiàng)的修復(fù)。