Dalil是一款類似於Truecaller的智慧電話本應用程式,但使用者僅限於沙特和其他阿拉伯地區。由於該應用所使用的MongoDB資料庫可以在不輸入密碼的情況下線上訪問,導致使用者資料洩露時間持續一週!安全研究人員Ran Locar和Noam Rotem發現,該漏洞暴露的資料庫中包含這款APP的所有資料:從使用者個人詳細資訊到活動日誌,一應俱全。
外媒ZDNet對樣本進行審查之後,發現該資料庫中包括以下資訊:
- 使用者手機號碼
- 應用註冊資料(完整姓名、電子郵件地址、Viber賬號、性別等等)
- 裝置資訊(生產日期和型號、序列號、IMEI、MAC地址、SIM號碼、系統版本等等)
- 電信運營商細節
- GPS座標(不適用於所有使用者)
- 個人通話詳情和號碼搜尋
基於與每個條目相關聯的國家/地區程式碼,資料庫中包含的大多數資料屬於沙特使用者,此外還有少部分使用者來自埃及,阿聯酋,歐洲甚至一些以色列/巴勒斯坦人。顯然這些資料非常的敏感,甚至可以通過GPS座標資料進行跟蹤。
目前仍然有大約585.7GB的資訊在暴露中。 Locar說每天都會新增新記錄,這意味著這是應用程式的生產伺服器,而不是廢棄的測試系統或冗餘備份。研究人員告訴ZDNet,僅在上個月就已經註冊了大約208,000個新的獨特電話號碼和4400萬個應用事件。根據Play商城顯示的APP資訊,Dalil的下載次數已經超過500萬。
MongoDB近年“醜聞不斷”
MongoDB長期以來,作為“最受歡迎的 NoSQL 資料庫”,MongoDB 的安全問題一直備受關注,而近年來的它卻多次在安全事件報導中以“負面”形象露面。
2016 年 12 月曝出的“MongoDB 啟示錄”事件引發熱議。GDIFoundation 安全研究人員 Victor Gevers 的一條推文將 MongoDB 勒索事件送入公眾視野。多方黑客開始攻擊無須身份驗證的開放式MongoDB 資料庫例項,並加密攻破的資料庫內容,繼而藉此索取贖金,金額為 0.15 到 1 個比特幣不等,所涉資料庫例項上萬。
2017 年 9 月,三個黑客團伙劫持了 2.6 萬餘臺 MongoDB 資料庫伺服器,其中規模最大的一組超過 22000 臺,安全專家分析表明這一波仍屬於此前事件的輻射延續。
2018年12月28日,推特使用者BobDiachenko爆料稱,一個包含2.02億份中國人簡歷資訊的資料庫洩露,這些簡歷內容非常詳細,包括姓名、生日、手機號碼、郵箱、婚姻狀況、政治面貌和工作經歷等。關於此次事件具體詳情可戳文章《你的簡歷安全嗎?2.02億中國求職者簡歷遭洩露》瞭解更多。
安全站點HackenProof的報告曾稱,這是由於MongoDB資料庫沒有采取任何安全保護措施,所以致使了損失。
但也有很多人認為MongoDB只是躺槍,真實的原因是使用資料庫的人沒有做必要的安全配置。
那麼我們應該如何保證MongoDB的安全性?
保護MongoDB的3個簡單方法:
版本3.6之前,MongoDB預設繫結的是0.0.0.0,這就意味著我們可以通過網際網路訪問MongoDB,那黑客當然也可以。這樣的預設配置是一個很大的安全漏洞,因此,如果你使用的MongoDB是3.6之前的版本,就要特別注意這一點了。
從3.6開始,MongoDB預設繫結localhost,這就意味著我們只能在本機訪問MongoDB。在開發環境下,MongoDB繫結localhost沒毛病。但是,在生產環境下,我們通常會有多個節點,這時需要修改MongoDB繫結的IP,通過配置net.bindIp可以實現。正確的做法應該是繫結區域網IP,這樣只有區域網內的節點可以訪問MongoDB。除非黑客端掉了你的伺服器,否則他是沒法訪問你的MongoDB的。
MongoDB預設使用的是27017埠,我們應該配置本地防火牆把這個埠保護起來,禁止外部IP訪問。27017埠是”open”的,這就意味著我們可以遠端訪問MongoDB資料庫。
預設情況下,MongoDB並沒有配置賬號和密碼,黑客只要登陸你的伺服器之後可以直接檢視資料庫。給MongoDB配置賬號密碼,可以有效解決這個問題。
具體操作方法可參見:
https://blog.fundebug.com/2019/01/21/how-to-protect-mongodb/
參考來源:
- cnBeta.COM
- fundebug
- https://blog.csdn.net/csdnnews/article/details/86486355
更多資訊: