JPEG病毒如何發(fā)作?都是內(nèi)存地址惹
剛才提到內(nèi)存的應(yīng)用程序空間中有對(duì)JPEG操作的模塊,打開(kāi)我們?cè)诖蜷_(kāi)*.jpg文件的時(shí)候,系統(tǒng)就要將文件中的相關(guān)數(shù)據(jù)裝載到這個(gè)模塊中,而如果有人故意把這些相關(guān)數(shù)據(jù)部分做得異常的大,會(huì)怎么樣呢?
如果軟件方面比較完善的話(huà),會(huì)對(duì)這個(gè)區(qū)域有保護(hù)措施,不允許這些超出范圍的數(shù)據(jù)從模塊中“溢出來(lái)”,否則的話(huà)這些溢出的數(shù)據(jù)會(huì)一直向著內(nèi)存中其他部分延伸,可能造成藍(lán)屏等癥狀。
但是,微軟在這里恰恰沒(méi)有保護(hù)措施!以至于攻擊者可以做到將任意長(zhǎng)度的數(shù)據(jù)、代碼從JPEG操作模塊中一直覆蓋到核心空間,而核心空間有一個(gè)特點(diǎn):允許執(zhí)行極高權(quán)限的代碼。這樣一來(lái)攻擊者就能夠做到完全控制目標(biāo)主機(jī),刪文件、格硬盤(pán)……

但利用單純的溢出漏洞,要想做到這一點(diǎn)也不是那么容易,因?yàn)楣粽卟恢来罅康漠惓4a要多長(zhǎng)才合適。如果在進(jìn)入核心空間之前就執(zhí)行惡意代碼,是沒(méi)有足夠權(quán)限的。而我們剛才提到,微軟的操作系統(tǒng)和很多應(yīng)用軟件的相關(guān)地址非常固定,因此攻擊者可以輕易的計(jì)算出所需的代碼長(zhǎng)度,并“嚴(yán)絲合縫”地在核心空間處執(zhí)行。<
關(guān)注我們


