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