某網站被曝“信息泄露”事件,使拖庫、撞庫這兩個黑產中的專有術語再次呈現于公眾輿論面前。本文從攻擊實現角度,對拖庫、撞庫攻擊進行簡單分析;從安全防護設計、建設運維角度,給出針對這兩種攻擊實踐總結的安全防御40條策略。希望本文能夠拋磚引玉,給互聯網網站開發、設計、運維的IT工作人員擴展思路,從而提高互聯網網站防范信息泄露的綜合安全能力。什么是拖庫、撞庫?
拖庫、撞庫名詞并無標準權威的定義,但實際理解起來卻是極易接受的。 拖庫就是指黑客通過各種社工手段、技術手段將數據庫中敏感信息非法獲取,一般這些敏感信息包括用戶的賬號信息如用戶名、密碼;身份信息如真實姓名、證件號碼;通訊信息如電子郵箱、電話、住址等。 撞庫是黑客通過收集互聯網已泄露的拖庫信息,特別是注冊用戶和密碼信息,生成對應的字典表,嘗試批量自動登錄其他網站驗證后,得到一系列可以登錄的真實賬戶。
拖庫、撞庫如何實現?
拖庫實現起來比撞庫復雜得多,手段和方法也更加豐富多樣。 從實踐角度,可以分為技術流拖庫和社工流拖庫。常見的技術流以入侵、攻擊為主實現拖庫,如遠程下載數據庫,利用Web Code 漏洞、Web Services 漏洞、服務器漏洞,掛馬、病毒、木馬后門等;社工流則以欺詐、網站仿冒、釣魚、重金收購、免費軟件竊取等為主要手段實現拖庫。 再來看一下撞庫,存在撞庫的根本原因是很多互聯網用戶在不同網站使用的是相同的賬號密碼,因此攻擊者可以通過獲取用戶在A網站的賬戶從而嘗試登錄B網站。高水準的撞庫攻擊不易發現,實現起來需很高的技術能力,因此成本較高,當前多數的撞庫還是以單腳本登錄驗證、分布式腳本登錄驗證,自動代理登錄驗證,甚至人肉驗證等方式來現實。 如何能夠降低拖庫與撞庫風險? 對于拖庫、撞庫攻擊防范亦如APT攻擊一樣,非一朝一夕一技一法就可解決,需要安全攻與防的綜合能力、不同維度的立體保障,才能做到較好的防范效果。具體內容筆者后續會單獨講。
拖庫、撞庫安全防御策略
筆者經過個人思考以及尋求多方安全專家的意見,參考互聯網各類有關拖庫、撞庫技術文章,結合上述文中提到的各種場景、安全設計等措施,整理出下列安全防御策略供讀者參考、學習并提出您的寶貴意見。 第1 條 禁止數據庫在互聯網裸奔,防范遠程暴力猜解、非授權訪問及遠程登錄。 第2 條 禁止管理員賬號啟動數據庫,建立數據庫自己的低權限賬號運行。 第3 條 及時安裝、升級數據庫補丁、做好版本管理、備份/ 災備管理,定期銷毀備份的數據。 第4 條 修改默認數據庫安全配置,特別是賬號口令、默認路徑頁面等。 第5 條 設置數據庫內帳戶權限、實例權限、表權限等,保證權限最小化。 第6 條 刪除無用的數據庫實例文件、說明文件、安裝文件、注釋文件等。 第7 條 敏感值(密碼)的存儲務必加密,并保障其足夠強壯。 第8 條 建立數據庫讀、寫、查詢的監控黑名單、白名單,并實時監控告警。 第9 條 在數據庫中構造陷阱庫、陷阱表、陷阱字段、陷阱值,便于監控和發現入侵。 第10 條 注冊真實的賬號用于監控,標記或跟蹤。 第11 條 嚴格控制真實數據的測試應用,務必進行脫敏或模糊處理。 第12 條 數據庫管理員與系統管理員權限分離、職責分離。 第13 條 設置系統內的文件保護,防非法拷貝,或使用專用工具防拷貝。 第14 條 及時安裝、升級操作系統補丁、做好帳號管理,避免弱口令。 第15條:應用網站安全防御工具,針對性地保護信息安全!