撞庫攻擊:一場需要用戶參與的持久戰(zhàn)
一、背景:
用戶數(shù)據(jù)泄露一直是如今互聯(lián)網(wǎng)世界的一個(gè)焦點(diǎn),從最近的京東撞庫抹黑事件,到之前的CSDN,如家用戶數(shù)據(jù)的泄露,服務(wù)商和黑客之間在用戶數(shù)據(jù)這個(gè)舞臺上一直在進(jìn)行著曠日持久的攻防戰(zhàn)。
對于大多數(shù)用戶而言,撞庫可能是一個(gè)很專業(yè)的名詞,但是理解起來卻比較簡單,撞庫是黑客無聊的“惡作劇”,黑客通過收集互聯(lián)網(wǎng)已泄露的用戶+密碼信息,生成對應(yīng)的字典表,嘗試批量登陸其他網(wǎng)站后,得到一系列可以登陸的用戶。
以京東之前的撞庫舉例,首先京東的數(shù)據(jù)庫并沒有泄漏。黑客只不過通過“撞庫”的手法,“湊巧”獲取到了一些京東用戶的數(shù)據(jù)(用戶名密碼),而這樣的手法,幾乎可以對付任何網(wǎng)站登錄系統(tǒng),用戶在不同網(wǎng)站登錄時(shí)使用相同的用戶名和密碼,就相當(dāng)于給自己配了一把“萬能鑰匙”,一旦丟失,后果可想而知。所以說,防止撞庫,是一場需要用戶一同參與的持久戰(zhàn)。
關(guān)于撞庫事件的始末下文中也會(huì)有詳細(xì)的闡釋。
提及“撞庫”,就不能不說“脫褲”和“洗庫”。
在黑客術(shù)語里面,”拖庫“是指黑客入侵有價(jià)值的網(wǎng)絡(luò)站點(diǎn),把注冊用戶的資料數(shù)據(jù)庫全部盜走的行為,因?yàn)橹C音,也經(jīng)常被稱作“脫褲”,360的庫帶計(jì)劃,獎(jiǎng)勵(lì)提交漏洞的白帽子,也是因此而得名。在取得大量的用戶數(shù)據(jù)之后,黑客會(huì)通過一系列的技術(shù)手段和黑色產(chǎn)業(yè)鏈將有價(jià)值的用戶數(shù)據(jù)變現(xiàn),這通常也被稱作“洗庫”。最后黑客將得到的數(shù)據(jù)在其它網(wǎng)站上進(jìn)行嘗試登陸,叫做”撞庫“,因?yàn)楹芏嘤脩粝矚g使用統(tǒng)一的用戶名密碼,”撞庫“也可以是黑客收獲頗豐。
下圖是黑客,在“脫褲”“洗庫”“撞庫”三個(gè)環(huán)節(jié)所進(jìn)行的活動(dòng)。
二、用戶數(shù)據(jù)與黑色產(chǎn)業(yè):
隨著地下產(chǎn)業(yè)鏈日漸成熟,用戶數(shù)據(jù)可以被迅速地轉(zhuǎn)變成現(xiàn)金。
(1)用戶賬號中的虛擬貨幣,游戲賬號,裝備,都可以通過交易的方式變現(xiàn),也就是俗稱的“盜號”。
(2)金融類賬號比如,支付寶,網(wǎng)銀,信用卡,股票的賬號和密碼,則可以用來進(jìn)行金融犯罪和詐騙。
(3)最后一些可歸類的用戶信息,如學(xué)生,打工者,老板等,多用于發(fā)送廣告,垃圾短信,電商營銷。也有專門的廣告投放公司,花錢購買這些分門別類的信息。
快速收益和高回報(bào)也讓越來越多的黑客鋌而走險(xiǎn)。(刑法里非法入侵計(jì)算機(jī)系統(tǒng)罪會(huì)被判處三年到七年有期徒刑)
而對于,信息被泄露的受害者,根據(jù)泄露信息的種類不同,生活也會(huì)受到不同程度的影響。
如上圖,如果你的多種網(wǎng)站和服務(wù)的用戶名密碼相同,那可能會(huì)蒙受更大的損失。
三、黑客怎樣獲取用戶數(shù)據(jù):
黑客為了得到數(shù)據(jù)庫的訪問權(quán)限,取得用戶數(shù)據(jù),通常會(huì)從技術(shù)層面和社工層面兩個(gè)方向入手。
技術(shù)方面大致分為如下幾種:
(1)遠(yuǎn)程下載數(shù)據(jù)庫文件
這種拖庫方式的利用主要是由于管理員缺乏安全意識,在做數(shù)據(jù)庫備份或是為了方便數(shù)據(jù)轉(zhuǎn)移,將數(shù)據(jù)庫文件直接放到了Web目錄下,而web目錄是沒有權(quán)限控制的,任何人都可以訪問的;還有就是網(wǎng)站使用了一些開源程序,沒有修改默認(rèn)的數(shù)據(jù)庫;其實(shí)黑客每天都會(huì)利用掃描工具對各大網(wǎng)站進(jìn)行瘋狂的掃描,如果你的備份的文件名落在黑客的字典里,就很容易被掃描到,從而被黑客下載到本地。
(2)利用web應(yīng)用漏洞
隨著開源項(xiàng)目的成熟發(fā)展,各種web開源應(yīng)用,開源開發(fā)框架的出現(xiàn),很多初創(chuàng)的公司為了減少開發(fā)成本,都會(huì)直接引入了那些開源的應(yīng)用,但卻并不會(huì)關(guān)心其后續(xù)的安全性,而黑客們在知道目標(biāo)代碼后,卻會(huì)對其進(jìn)行深入的分析和研究,當(dāng)高危的零日漏洞發(fā)現(xiàn)時(shí),這些網(wǎng)站就會(huì)遭到拖庫的危險(xiǎn)。
(3)利用web服務(wù)器漏洞
Web安全實(shí)際上是Web應(yīng)用和Web服務(wù)器安全的結(jié)合體;而Web服務(wù)器的安全則是由Web容器和系統(tǒng)安全兩部分組成,系統(tǒng)安全通常會(huì)通過外加防火墻和屏蔽對外服務(wù)端口進(jìn)行處理,但Web容器卻是必須對外開放,因此如果Web容器爆出漏洞的時(shí)候,網(wǎng)站也會(huì)遭到拖庫的危險(xiǎn)。
社工方面大概有如下幾種:
(1)水坑攻擊
黑客會(huì)利用軟件或系統(tǒng)漏洞,在特定的網(wǎng)站上進(jìn)行掛馬,如果網(wǎng)站管理員在維護(hù)系統(tǒng)的時(shí)候不小心訪問到這些網(wǎng)站,在沒有打補(bǔ)丁的前提下,就會(huì)被植入木馬,也會(huì)引發(fā)后續(xù)的拖庫風(fēng)險(xiǎn)。
(2)郵件釣魚
黑客會(huì)利用一些免殺的木馬,并將其和一些管理員感興趣的信息綁定,然后通過郵件發(fā)送給管理員,而當(dāng)網(wǎng)站管理員下載運(yùn)行后,也會(huì)導(dǎo)致服務(wù)器植入木馬,引發(fā)后續(xù)的拖庫風(fēng)險(xiǎn)。
(3)社工管理員
對目標(biāo)網(wǎng)站的管理員進(jìn)行社會(huì)工程學(xué)手段,獲取到一些敏感后臺的用戶名和密碼。從而引發(fā)的后續(xù)拖庫。
(4)XSS劫持
有時(shí)黑客也會(huì)為了獲取某一些網(wǎng)站的帳號信息,他們會(huì)利用網(wǎng)站釣魚的手段去欺騙用戶主動(dòng)輸入,但這種方式只能獲取部分帳號的真實(shí)信息,并沒有入侵服務(wù)器。
四,黑客怎樣解密得到的數(shù)據(jù):
通常情況下,數(shù)據(jù)庫中的個(gè)人信息如,郵箱 電話 真實(shí)姓名 性別 等都是明文存儲(chǔ)的。而密碼通常經(jīng)過MD5加密之后存儲(chǔ)。黑客可以很輕易地把他需要的且是明文存儲(chǔ)的數(shù)據(jù)從數(shù)據(jù)庫中剝離出來。而MD5加密之后的數(shù)據(jù)這需要一定的解密流程才能看到明文。通常解密MD5的方法有,暴力破解,字典破解和彩虹表。
(1)暴力破解
暴力破解這是一種"時(shí)間消耗型"的破解方法,確定了密文的加密方式的前提下,使用相同的加密算法,計(jì)算
M = H(P)
P為所有的明文空間
H為加密算法
M為密文
然后將計(jì)算得到的M和待破解的密文進(jìn)行比較,如果匹配成功,則對應(yīng)的明文P即為待破解密文的明文。值得注意的是,這個(gè)枚舉P和比較M的過程往往是在內(nèi)存中進(jìn)行的,也即在計(jì)算的過程中一邊產(chǎn)生,一邊比較,這次破解結(jié)束后,下一次破解又要重新開始從頭枚舉,效率不太高。
(2)字典破解
字典破解本質(zhì)上還是"暴力破解"的一種,在字典破解中,攻擊者是對所有的明文(M)進(jìn)行預(yù)計(jì)算,將所有的明文的HASH都事先計(jì)算好,并保存起來。典型的MD5字典如下:
....
password 5f4dcc3b5aa765d61d8327deb882cf99
admin 21232f297a57a5a743894a0e4a801fc3
cnblog efbc3548e65e7225dcf43d3918d94e6f
....
在進(jìn)行破解的時(shí)候,破解程序?qū)⒆值溆成銶apping到內(nèi)存中,然后將HASH和待破解的密文進(jìn)行逐條比較(這點(diǎn)和暴力破解是一樣的),直到找到某條HASH和待破解的密文相同為止。
值得注意的是,基于字典的暴力破解時(shí)間上比單純的內(nèi)存計(jì)算型暴力破解更有效率,只要一次的"字典生成"花費(fèi)一定的時(shí)間,后續(xù)的多次破解都可以重復(fù)使用這個(gè)字典。
注意,這里說的"字典"指的對應(yīng)某個(gè)算法的字典: MD5 Directory、SHA1 Directory、NTLM Directory等等。
總的來說,字典攻擊是對單純的內(nèi)存型暴力破解的一個(gè)改進(jìn),它引入了預(yù)處理的思想,但缺點(diǎn)也很明顯,需要占用及其龐大的磁盤空間,以至于對于長度16以上的密碼字典,完整存儲(chǔ)根本不可能。
(3)彩虹表
這是對暴力破解和字典破解的一種折中的破解技術(shù),在2003年瑞典的Philippe Oechslin 在Making a Faster Cryptanalytic Time-Memory Trade-Off一文中首次被提出,它有效的利用了預(yù)處理的優(yōu)點(diǎn),同時(shí)又克服了字典破解消耗太大磁盤空間的缺點(diǎn),在這兩者中找到了一個(gè)平衡點(diǎn)。(具體實(shí)現(xiàn)技術(shù)請讀者自行百度)
五,黑客怎樣利用得到的數(shù)據(jù):
除了販賣數(shù)據(jù)得到金錢上的利益之外,黑客還會(huì)把得到的數(shù)據(jù)進(jìn)行整理,制作成社工庫。利用社工庫對其他網(wǎng)站進(jìn)行撞庫攻擊。撞庫攻擊實(shí)質(zhì)上就是,以大量的用戶數(shù)據(jù)位基礎(chǔ),利用用戶相同的注冊習(xí)慣(相同的用戶名和密碼),嘗試登陸其它的網(wǎng)站。
隨著社工庫的日益龐大,越來越多的用戶和網(wǎng)站受到來自撞庫攻擊的威脅。(現(xiàn)在網(wǎng)上流傳的數(shù)據(jù)庫已經(jīng)超過千萬級別,不過這和某些黑客手中所掌握的數(shù)據(jù)比較起來只不過是冰山一角,詳情參見“道哥的黑板報(bào):中國黑客傳說:游走在黑暗中的精靈”)
不單單是賬戶密碼的泄露,在龐大的社工庫面前,用戶的個(gè)人隱私也是岌岌可危。比如如家賓館2000w數(shù)據(jù)泄露事件,導(dǎo)致眾多會(huì)員開房記錄曝光于互聯(lián)網(wǎng)。
QQ群用戶信息的泄露,也影響到了幾乎所有QQ用戶的隱私。
再來看最近的京東撞庫事件,網(wǎng)上流傳了一張所謂的京東數(shù)據(jù)被泄露的圖片,其中涉及到少量京東用戶名密碼。
網(wǎng)上的白帽子分析了其中用戶名密碼的出處,發(fā)現(xiàn)圖片中的用戶名密碼均在,之前別的網(wǎng)站泄露的數(shù)據(jù)庫中存在。
這也說明了,撞庫攻擊在本身擁有大量用戶名密碼的基礎(chǔ)上,可以在不攻破目標(biāo)系統(tǒng)的前提下,獲取目標(biāo)系統(tǒng)一定的用戶信息。
六、用戶怎樣保護(hù)自己的隱私:
作為中國千萬網(wǎng)民中的一個(gè),你可能覺得,我不用網(wǎng)銀,打游戲不充錢,我沒有什么被黑的價(jià)值,所以黑客是不會(huì)來光顧我的。其實(shí)不然,每一個(gè)使用互聯(lián)網(wǎng)服務(wù)的用戶,在享受快捷方便的時(shí)候,都把自己暴漏在了風(fēng)險(xiǎn)之下。不是黑客會(huì)不會(huì)值得黑你,而是你有沒有可能被波及。下面是幾條建議有利于你規(guī)避風(fēng)險(xiǎn)。
(1)重要網(wǎng)站/APP的密碼一定要獨(dú)立,猜測不到,或者用1Password這樣的軟件來幫你記憶;
(2)電腦勤打補(bǔ)丁,安裝一款殺毒軟件;
(3)盡量不使用IE瀏覽器
(4)支持正版,因?yàn)楸I版的、破解的總是各種貓膩,后門存在的可能性很大;
(5)不那么可信的軟件,可以安裝到虛擬機(jī)里;
(6)不要在公共場合(如咖啡廳、機(jī)場等)使用公共無線,自己包月3G/4G,不差錢,當(dāng)然你可以用公共無線做點(diǎn)無隱私的事,如下載部電影之類的;
(7)自己的無線AP,用安全的加密方式(如WPA2),密碼復(fù)雜些;
(8)離開電腦時(shí),記得按下Win(Windows圖標(biāo)那個(gè)鍵)+L鍵,鎖屏,這個(gè)習(xí)慣非常非常關(guān)鍵;