根據(jù)RBS安全公司的報(bào)道,安全研究人員發(fā)現(xiàn)了6338臺被惡意軟件感染的Redis服務(wù)器,由于此前Redis服務(wù)器中存在的多個(gè)安全問題沒有得到及時(shí)解決,使得Redis數(shù)據(jù)庫服務(wù)器成為了攻擊者們優(yōu)先選擇的攻擊目標(biāo)。
Redis是一種NoSQL類型的數(shù)據(jù)庫服務(wù)器,非常適合存儲“鍵-值”形式的數(shù)據(jù)。Redis是一個(gè)開源的數(shù)據(jù)庫服務(wù)器,先進(jìn)的“鍵-值”存儲機(jī)制可用于構(gòu)建高性能、可擴(kuò)展的 Web 應(yīng)用程序解決方案。Redis支持主從同步,數(shù)據(jù)可以從主服務(wù)器向任意數(shù)量的從服務(wù)器上同步,從服務(wù)器可以是關(guān)聯(lián)其他從服務(wù)器的主服務(wù)器。這使得Redis可執(zhí)行單層樹復(fù)制。存盤可以有意無意的對數(shù)據(jù)進(jìn)行寫操作。由于完全實(shí)現(xiàn)了發(fā)布/訂閱機(jī)制,使得從數(shù)據(jù)庫在任何地方同步樹時(shí),可訂閱一個(gè)頻道并接收主服務(wù)器完整的消息發(fā)布記錄。值得一提的是,同步對讀取操作的可擴(kuò)展性和數(shù)據(jù)冗余很有幫助。
因?yàn)镽edis將數(shù)據(jù)庫性能作為優(yōu)先考慮的因素。所以在其默認(rèn)配置下,數(shù)據(jù)庫不僅沒有提供任何形式的身份驗(yàn)證機(jī)制,而且也沒有部署其他的安全防護(hù)措施。Redis 的開發(fā)者之所以放棄解決未授權(quán)訪問導(dǎo)致的不安全性,是因?yàn)?99.99%使用Redis的場景都是在沙盒化的環(huán)境中, 為了0.01%的可能性增加安全規(guī)則的同時(shí)也增加了復(fù)雜性, 雖然這個(gè)問題的并不是不能解決的, 但是這在他的設(shè)計(jì)理念中仍是不劃算的。
利用SSH密鑰生成漏洞來攻擊Redis服務(wù)器
這也就意味著,只要能夠知道目標(biāo)服務(wù)器的IP地址以及端口號,任何人都可以訪問到數(shù)據(jù)庫中存儲的數(shù)據(jù)。使情況變得更糟糕的是,在2015年年底又出現(xiàn)了一個(gè)安全漏洞。對于任何一臺Redis服務(wù)器,只要它沒有設(shè)置任何的身份驗(yàn)證機(jī)制,那么這個(gè)漏洞將允許第三方程序可以將SSH密鑰存儲于 authorized_keys文件中。
據(jù)統(tǒng)計(jì),目前在互聯(lián)網(wǎng)中,總共有超過三萬臺Redis數(shù)據(jù)庫服務(wù)器沒有設(shè)置身份驗(yàn)證系統(tǒng)。根據(jù)RBS公司的安全研究人員透露的信息,其中有6338臺這樣的服務(wù)器已經(jīng)被惡意軟件感染了。
RBS公司的安全研究人員通過Shodan引擎進(jìn)行了一次非入侵式的掃描檢測。在此過程中, 一臺設(shè)置了“crackit” SSH密鑰的服務(wù)器成功引起了安全研究人員的注意。當(dāng)然了,這臺服務(wù)器在當(dāng)時(shí)已經(jīng)被攻擊了。之所以這臺服務(wù)器能引起他們的注意,是因?yàn)檠芯咳藛T在此前遇到的攻擊事件中,這個(gè)密鑰曾與一個(gè)地址為“[ryan@exploit.im]的電子郵郵箱進(jìn)行了綁定。”
通過Shodan引擎,安全研究人員掃描到了配置非標(biāo)準(zhǔn)SSH密鑰的開放Redis數(shù)據(jù)庫。安全研究人員發(fā)現(xiàn)了5892個(gè)實(shí)例,這些服務(wù)器的SSH密鑰全部與電子郵件地址ryan@exploit.im綁定在一起。除此之外,他們還發(fā)現(xiàn)了385個(gè)與root@chickenmelone.chicken.com郵箱地址綁定的SSH密鑰以及211個(gè)與root@dedi10243.hostsailor.com地址綁定的SSH密鑰。
最常見的非標(biāo)準(zhǔn)密鑰有"crackit", “crackit_key”, “qwe”, “ck”和 “crack”。據(jù)統(tǒng)計(jì),RBS公司的安全研究人員總共發(fā)現(xiàn)了14個(gè)不同的電子郵箱地址以及40種不同的SSH密鑰組合。RBS公司的安全研究人員解釋稱,這些被攻擊的服務(wù)器基本上屬于獨(dú)立組織所有。
攻擊者并不會針對特定版本的Redis服務(wù)器,他們可以對任何Redis數(shù)據(jù)庫服務(wù)器進(jìn)行攻擊。
在對這些被攻擊的Redis數(shù)據(jù)庫版本進(jìn)行了分析之后,安全研究人員發(fā)現(xiàn)了106個(gè)不同的Redis版本,從最早期的1.2.0版本到最新的3.2.1版本Redis都包括在了其中。
安全公司建議所有使用了Redis數(shù)據(jù)庫的網(wǎng)站管理員盡快將數(shù)據(jù)庫版本更新到最新版本,并開啟數(shù)據(jù)庫的“保護(hù)模式”。根據(jù)Redis的更新文檔,從Redis 3.2版本開始,Redis允許用戶使用“保護(hù)模式”。
目前為止,這6338臺服務(wù)器仍然沒有得到修復(fù)。這也就意味著,攻擊者仍然可以對它們實(shí)施攻擊。