在開(kāi)源緩存軟件 memcached 修復(fù)了三個(gè)關(guān)鍵漏洞的八個(gè)月之后,仍有超過(guò) 70000 臺(tái)未打補(bǔ)丁的緩存服務(wù)器直接暴露在互聯(lián)網(wǎng)上。安全研究員警告說(shuō),黑客可能會(huì)在服務(wù)器上執(zhí)行惡意代碼或從其緩存中竊取潛在的敏感數(shù)據(jù)。
memcached 是一個(gè)實(shí)現(xiàn)了高性能緩存服務(wù)的軟件包,用于在內(nèi)存中存儲(chǔ)從數(shù)據(jù)庫(kù)和 API 調(diào)用中獲取的數(shù)據(jù)塊。這有助于提高動(dòng)態(tài) Web 應(yīng)用程序的響應(yīng)速度,使其更加適合大型網(wǎng)站和大數(shù)據(jù)項(xiàng)目。
雖然 memcached 不是數(shù)據(jù)庫(kù)的替代品,但它存儲(chǔ)在內(nèi)存中的數(shù)據(jù)包括了來(lái)自數(shù)據(jù)庫(kù)查詢的用戶會(huì)話和其他敏感信息。因此,該服務(wù)器在設(shè)計(jì)上并不能直接暴露在互聯(lián)網(wǎng)等不受信任的環(huán)境中,其最新的版本已經(jīng)支持了基本身份驗(yàn)證。
去年 10 月份,memcached 的開(kāi)發(fā)者修復(fù)了由 思科 Talos 部門(mén) 安全研究員發(fā)現(xiàn)并報(bào)告的三個(gè)遠(yuǎn)程代碼執(zhí)行漏洞(CVE-2016-8704、CVE-2016-8705 和 CVE-2016-8706)。所有這些漏洞都影響到了 memcached 用于存儲(chǔ)和檢索數(shù)據(jù)的二進(jìn)制協(xié)議,其中一個(gè)漏洞出現(xiàn)在 Simple Authentication and Security Layer (SASL)的實(shí)現(xiàn)中。
在去年 12 月到今年 1 月期間,成隊(duì)的攻擊者從數(shù)萬(wàn)個(gè)公開(kāi)的數(shù)據(jù)庫(kù)中擦除數(shù)據(jù),這包括 MongoDB、CouchDB、Hadoop 和 Elasticsearch 集群。在很多情況下,攻擊者勒索想要恢復(fù)數(shù)據(jù)的服務(wù)器管理員,然而沒(méi)有任何證據(jù)表明他們的確對(duì)所刪除的數(shù)據(jù)進(jìn)行了復(fù)制。
Talos 的研究人員認(rèn)為, memcached 服務(wù)器可能是下一個(gè)被攻擊的目標(biāo),特別是在幾個(gè)月前發(fā)現(xiàn)了漏洞之后。所以在二月份他們決定進(jìn)行一系列的互聯(lián)網(wǎng)掃描來(lái)確定潛在的攻擊面。
掃描結(jié)果顯示,大約有 108000 個(gè) memcached 服務(wù)器直接暴露在互聯(lián)網(wǎng)上,其中只有 24000 個(gè)服務(wù)器需要身份驗(yàn)證。如此多的服務(wù)器在沒(méi)有身份驗(yàn)證的情況下可以公開(kāi)訪問(wèn)已經(jīng)足夠糟糕,但是當(dāng)他們對(duì)所提交的三個(gè)漏洞進(jìn)行測(cè)試時(shí),他們發(fā)現(xiàn)只有 200 臺(tái)需要身份驗(yàn)證的服務(wù)器部署了 10 月的補(bǔ)丁,其它的所有服務(wù)器都可能通過(guò) SASL 漏洞進(jìn)行攻擊。
總的來(lái)說(shuō),暴露于互聯(lián)網(wǎng)上的 memcached 服務(wù)器有大約 80%,即 85000 個(gè)都沒(méi)有對(duì) 10 月份的三個(gè)關(guān)鍵漏洞進(jìn)行安全修復(fù)。
由于補(bǔ)丁的采用率不佳,Talos 的研究人員決定對(duì)所有這些服務(wù)器的 IP 地址進(jìn)行 whois 查詢,并向其所有者發(fā)送電子郵件通知。
本月初,研究人員決定再次進(jìn)行掃描。他們發(fā)現(xiàn),雖然有 28500 臺(tái)服務(wù)器的 IP 地址與 2 月份時(shí)的地址不同,但仍然有 106000 臺(tái) memcached 服務(wù)器暴露在因特網(wǎng)上。
在這 106000 臺(tái)服務(wù)器中,有大約 70%,即 73400 臺(tái)服務(wù)器在 10 月份修復(fù)的三個(gè)漏洞的測(cè)試中仍然受到攻擊。超過(guò) 18000 個(gè)已識(shí)別的服務(wù)器需要身份驗(yàn)證,其中 99% 的服務(wù)器仍然存在 SASL 漏洞。
即便是發(fā)送了成千上萬(wàn)封電子郵件進(jìn)行通知,補(bǔ)丁的采用率也僅僅提高了 10%。
Talos 研究人員在周一的博客中表示:“這些漏洞的嚴(yán)重程度不能被低估。這些漏洞可能會(huì)影響到小型和大型企業(yè)在互聯(lián)網(wǎng)上部署的平臺(tái),隨著最近大量的蠕蟲(chóng)利用漏洞進(jìn)行攻擊,應(yīng)該為全世界的服務(wù)器管理員敲響警鐘。如果這些漏洞沒(méi)有修復(fù),就可能被利用,對(duì)組織和業(yè)務(wù)造成嚴(yán)重的影響。”
這項(xiàng)工作的結(jié)論表明,許多網(wǎng)絡(luò)應(yīng)用程序的所有者在保護(hù)用戶數(shù)據(jù)方面做得不好。首先,大量的 Memcached 服務(wù)器直接暴露在互聯(lián)網(wǎng)上,其中大多數(shù)都沒(méi)有使用身份驗(yàn)證。即使沒(méi)有任何漏洞,這些服務(wù)器上緩存的數(shù)據(jù)也存在著安全風(fēng)險(xiǎn)。
其次,即使提供了關(guān)鍵漏洞的補(bǔ)丁,許多服務(wù)器管理員也不會(huì)及時(shí)地進(jìn)行修復(fù)。
在這種情況下,看到 memcached 服務(wù)器像 MongoDB 數(shù)據(jù)庫(kù)一樣被大規(guī)模攻擊也并不奇怪。