圖片來自于 Hacker News
根據(jù)Qualys提供的報(bào)告,在電腦上執(zhí)行的每個程序都會使用到內(nèi)存堆棧,該區(qū)域會根據(jù)程序的需求自動擴(kuò)充。但是如果擴(kuò)充太多以至于太靠近另一個內(nèi)存堆棧區(qū)域,那么程序就會被搞亂,那么黑客就可以趁亂覆蓋該內(nèi)存堆棧區(qū)。
這種攻擊方式(CVE-2010-2240)在2005-2010年期間已經(jīng)被發(fā)現(xiàn),直到Linux系統(tǒng)發(fā)展堆棧保護(hù)頁(stack guard-page)大幅降低了此類攻擊,這是一個4KB大小的內(nèi)存頁面會映射當(dāng)前的堆棧。 不過Qualys在最新的測試中打造了7款攻擊程序,證明這種保護(hù)形式是完全不夠的。
Stack Clash的主要漏洞為CVE-2017-1000364,次要漏洞為VE-2017-1000365,此外還有一個可獨(dú)立開采的CVE-2017-1000367。漏洞情報(bào)公司Risk Based Security的首席研究專家表示:“Qualys本次發(fā)布的這種攻擊方式,最主要的原因是內(nèi)存堆棧分配可以被一些非連續(xù)方式進(jìn)行控制。意味著能夠跳過堆棧保護(hù)頁并操縱相鄰的內(nèi)存區(qū)域。”
包括Red Hat、Debian、Ubuntu和SUSE等很多Linux發(fā)行機(jī)構(gòu)已經(jīng)修復(fù)了這個漏洞。更多更詳細(xì)信息可以訪問:
SUSE
https://www.novell.com/support/kb/doc.php?id=7020973
Red Hat
https://access.redhat.com/security/vulnerabilities/stackguard
Debian