什麼是撞庫?

溢出?撞庫是什麼
我小白


什麼時候知乎成為超越google 百度的知識搜索引擎了?
讓我們來看一個之前對撞庫一無所知的人應該怎麼去了解撞庫吧
首先,百度(高端大氣上檔次的google有些人可能不夠適應,就從度娘處下手吧)
撞庫_百度搜索
第一條請問現在黑客向網站發起攻擊時候,用的方法有「刷庫」和「撞庫」,請問這兩種方法怎麼解釋?什麼意思?
看了一下來源,什麼,百度知道,可信度-20%
再看了一下回答的長度和專業長度,內容極簡單,還有錯別字,明顯是個個人臨時編輯的內容(關鍵不是引用的),可信度-20%
最後看一下內容,含糊其辭,可信度-20%
也就是,這個答案的可信度大概只有40%左右,並且完整度很低,但是即使這樣, 它也足夠告訴我們一些基本的相關信息了

1 這個應該是和資料庫相關的(其實看著這個名字應該就知道了吧..)
2 這個應該是對資料庫的入侵攻擊方法(其實和上一條一樣看名字就大概知道了..)
3 這個使用的方法應該是溢出(這一點尚存疑問,我們繼續查)

接著,最簡單的途徑已經使用過了(知道 百科),緊接著開始查高端點兒的內容(實際上也是很低級的方法)
查文章
百度搜索撞庫的第二條
「CSDN(微博)泄密門」引發的思考
發現一個重要的描述

撞庫:以大量的用戶數據位基礎,利用用戶相同的註冊習慣(相同的用戶名和密碼),嘗試登陸其它的網站

這篇文章的專業性明顯要比之前的百度知道要專業得多,可行度已經超過了60%。國內的學術現狀(天下文章一大抄)在這方面的優越感就比較凸顯了,這種內容一般情況下都不會是作者自己寫的,應該也是抄自某個比它更專業的地方,所以一般這樣的文章引用的內容可信度還是比較高的
但是,細心的人已經發現了,這篇文章明顯是一個引用文章,甚至於引用得很不專業連圖片都忘記帶上了。
那為了找出更多的內容(文章的原文),也是為了讓我們進一步的了解的關鍵的內容確定可信性,我們繼續通過度娘找
可是很不幸的是,撞庫這個關鍵詞和撞球上的一個詞重疊,再往後翻很難找到什麼相關的內容,於是乎,我們需要增加一個描述關鍵詞來去掉撞球的內容
我選擇的是撞庫 入侵_百度搜索
撞庫+入侵 是一種方案,其實還有諸如 撞庫+資料庫 等等,不重要,因為任何一個和撞球無關的關鍵詞都足夠讓我找到我需要的範圍了,然後我找到了,對於內容比較少關鍵詞不明確專業化又比較高的內容,你可能要多嘗試一下關鍵片語合才能找出你要的內容
好的,很快,在新的搜索關鍵詞的幫助下,我找到了文章的原文
86析與啟示-啟明星辰安星web安全運維團隊和缺失的那張圖

這圖明顯高端大氣上檔次了,一般般隨手編個文章的人都畫不出(懶得畫)這樣的專業介紹圖,頓時可信度又+20%
於是乎,對於一般的人而言,80%可信度的信息量已經足夠了(實際上,考慮到這是一個概念性的內容而不是一個實驗成果或者是分析性的內容,可信度應該已經有90%了),你已經大體的知道了什麼叫做撞庫,甚至於對撞庫的一些相關信息也有了了解諸如怎麼用,如何用,幹什麼用。
整個過程複雜嘛?我會告訴你我一共花了半個小時嗎?我會告訴你這30分鐘中有25分鐘的時間是在給你碼字嘛!我會告訴你如果你照著我這樣去搜索一下還能了解到很多很多相關的內容嘛
SO...伸手黨...以下內容自行腦補

-------------------------------------------14年4月10日坑爹的分割線--------------------------------------------

聽說現在百度撞庫第一個結果是這個答案了....考慮了一下還是在最後放上完整的答案吧
撞庫是一種針對資料庫的攻擊方式,方法是通過攻擊者所擁有的資料庫的數據通攻擊目標資料庫可以理解為用戶在A網站被盜的賬戶密碼來登陸B網站,因為很多用戶在不同網站使用的是相同的賬號密碼因此可以起到獲取用戶在B網站的用戶賬戶從而達到目的


0x00 背景

撞庫掃號攻擊已經是Top 10 Security Risks for 2014之一,不管你的網站密碼保存的額多好,但是面試已經泄露的賬號密碼,撞庫掃號防禦還是一個相當重要的環節。之前一篇普及了掃號的基本防止防範和危害。

本篇講詳細解決面對技術同步在進步的黑色產品如何更好地防止撞庫掃號。由於涉及相關內部策略,也只是拋磚引玉。

撞庫掃號,無非是自動化或者腳本化執行用戶名密碼來進行登陸,通過頁面跳轉302狀態或者返回特徵及包的大小,是否重新set-cookies來判斷是否登陸成功。 那麼可以通過哪些方式來緩解惡意用戶的批量行為?

0x01 細節

一般,傳統企業會在登陸頁面直接增加驗證碼,不過由於自動化驗證碼識別腳本早已出現,簡單的驗證碼識別已經不是什麼問題。這種方式很難作為防止有針對性的惡意攻擊。

其次,一些考慮用戶體驗的企業會在用戶賬戶或者密碼輸入錯誤幾次後,跳出一個比較難腳本識別的驗證碼(當然用戶也不太好識別),由於維度較少,也比較容易繞過。

那麼我們就需要更多的維度去做策略,來提高攻擊者的成本防止惡意撞庫掃號行為。

我們可以捕獲識別用戶的唯一參數來控制。

基本要求為:難偽造,易獲取,保留時間較長等。

當前帆布指紋識別炙手可熱,同一機器,相同瀏覽器Canvas都是一樣的,甚至是重裝。詳見騰訊安全應急響應中心,具體是用就看各自需求。


Flash cookies是很多防止撞庫掃號經常是用的一個方式,但有一個缺點,safari不支持flash。不過可以作為一個重要的維度之一。

Cookies的話不用多說,最多是用的一個方式,且有多種玩法,如是否含有cookies,對cookies的某個值進行驗證等。

(1) Flash Cookies和Cookies有什麼區別?

1、存儲大小不同 cookies僅允許存儲4KB,而flash cookies則存儲100KB—這只是默認的,還可以調整大小。
2、存儲時長不同 一般來說,cookies是有消亡期的,它會在一段時間後自動消失;而flash cookies並不,如果你沒有刪除它,它就永遠保留在你的電腦上。
3、存儲位置不同 普通cookies的位置人們並不需要知道,因為他們可以通過許多軟體進行刪除,甚至瀏覽器本身都內置了這一功能。而flash cookies則是存儲在C:Documents and Settings用戶名Application DataMacromediaFlash Player文件夾下。其中#sharedobjects文件夾用於存儲flash cookies,macromedia.com存儲flash cookies的全局設置。

(2) 要實現Flash Cookie永遠存儲的功能,顯然,首先要實現Flash Cookie與Http Cookie的互通,所以,在技術上使用JavaScript與ActionScript的來進行溝通顯然是最好的選擇,因為在這兩種語言之間,除了語法上相近,從溝通上也有著完美的實現。下面我們來看看實現流程(如圖所示):

ActionScript實現實現參考:用戶數據跟蹤之Flash Cookies

最後還有一些js獲取用戶相關數據的方法,如用戶行為軌跡,用戶點擊事件等來判斷人機行為。

這塊可以根據不同需要使用js相關keydown,keyup,mousedown,mouseup等事件記錄即可。

當然,有了那麼多維度參數的同時還有一個參數不可忘記,就是ip,雖然對於現在的用戶,這個限制已經是亡羊補牢,但是運用的好也會有出奇的效果。

下面我就對撞庫掃號規則的制定稍微涉及下,具體還需要大家以自己的實際業務,通過數據分析,去制定符合自己業務的策略。

不過我們要了解攻防是2個不斷持續,不斷改進的過程,策略也是要應勢而變,不斷優化。

1 針對用戶輸入密碼錯誤,輸入賬號不存在制定相關策略,以不同層級出現不同等級驗證碼,和進行相應阻斷。
2 針對同一個ip的請求數和時間維度,,以不同層級出現不同等級驗證碼,和進行相應阻斷。
3 如使用帆布指紋識,則判斷請求是否提交該參數,如沒有考慮相應不同安全措施。(此項在未成熟應用情況下只是維度之一)
4 使用flash cookies,則判斷請求提交是否含有該參數,並且統計單一flash cookies請求量給予合理的安全策略。
5 使用cookies,則判斷請求是否含有cookies,或者cookies某個值,並統計單一cookies或cookies某值請求量,給予合理的安全策略。
6 使用js獲取參數提交,則判斷請求是否含有該參數,比如是否有滑鼠位置移動,鍵盤輸入,輸入等待等,給予合理的安全策略。

0x02 總結

上面所說的策略也只是拋磚引玉,具體的還是要根據當前自己的日誌從實際出發,慢慢進行策略調優,達到一個可接受點。

掃號風險會一直持續,之前剛剛公布某國外黑客有用12億人登陸密碼。互聯網賬戶安全事件頻發,更讓我們應該關注到掃號撞庫這個本非屬於漏洞的漏洞。


撞庫是一個提起來就讓人有點小激動的話題。


撞庫和暴破有啥區別?

有區別,但也不是特別大,個人覺得基本思路和原理差不多,都是掛上字典去對網站的登錄界面不停地嘗試登錄。區別主要在字典這塊,暴破的字典質量不高,很多是YY出來的,而撞庫的字典都是從別的網站搞到的真實用戶賬號密碼對。如果你能搞到一手的原信,那就更NB了,之後越洗價值越低。


如何繞過網站風控

很多網站被暴破搞半死了,因此大多商業網站都有風控。撞庫首先就是要繞過這些風控。風控的普遍原理其實就是訪問控制,不管是基於IP的還是更高業務層面的。繞過風控首先需要繞過這些訪問控制。

(1)代理

對於最常見的IP風控,代理伺服器是一個比較好的方式,代理伺服器可以幫你一定程度上避開基於IP地址的風控。當然,你要是碰上某寶、某貓,某東這樣的養了一大幫風控技術的網站,會有更為嚴格的風控體系。這個不是重點,這裡不討論。

(2)打碼平台

打碼是撞庫過程中非常重要的一個補充手段。打碼主要是幫助撞庫的一方繞過應用層的風控,比如驗證碼,包括圖形驗證碼、文字驗證碼還有需要計算的驗證碼(代碼運行,加減乘除等)。這個是比繞過IP風控更為高階的手段。現在有很多打碼平台,背後有機器打,有要人工打的。很多打碼平台承諾SLA,這不禁讓讓鄙人感嘆——真尼瑪與時俱進,這分明就是反向MSP的業務模式嘛。下圖是某打碼平台的收費,可見其業務的細緻程度:

最後說說防禦,Neeao說了不少(網站被黑客掃描撞庫該怎麼應對防範? - Neeao 的回答),大家千萬不要信他,因為他自己就是搞風控的,LOL!開個玩笑了,大牛還是蠻靠譜的。撞庫雖然看上去挺簡單,但是防禦起來還是蠻看功力的。過多的不說了,防禦撞庫實際考驗的是防護一方的數據能力和計算能力——你是否能夠收集到足夠多的攻擊數據以及IOC,計算能力就是匹配能力,還有風險值的計算。特別是繞開很多坑,比如笛卡爾積。


更多可以參見Freebuf上文章:阿里雲安全發布2015年度態勢感知報告:預警撞庫攻擊


專業的有人回答了,我就打個比喻吧。就是你從大樓保安那裡複製了一大串鑰匙,然後跑到樓里(確切的是隔壁同一家建築公司同一批設計人員造的樓)一把把試著去開不同的門。


關於撞庫,給大家推薦一篇寫的深入淺出的——


一、什麼是撞庫攻擊?

撞庫攻擊沒有那麼高深,舉個例子來說,假設我有一個XX郵箱的賬號,用戶名是abc@xx.com,密碼是x6!00AL5y@(很複雜,很安全)。同時因為懶癌晚期的緣故,我還用這個賬號註冊了新浪微博、攜程、淘寶、微信等等,都採用郵箱註冊並且是同一個密碼(這種情況很常見,因為懶得記不同的賬號)。
於是某天,這個賬號被黑客知道了(不管是由於坑爹的XX郵箱泄露用戶信息,還是我自己不小心)。黑客就會用這個賬號來碰碰運氣:嘗試用它登陸一下你的各類賬號,於是你的微博、微信、淘寶、理財賬戶、12306、遊戲賬號……他就都知道了,接下來的事情,你懂的。

二、撞庫和我的公司有什麼關係?

上面是從個人用戶角度來說,那麼從企業用戶的視角來看,撞庫的玩法更多。從撞庫攻擊誕生的那一天起,黑客們就在維護一些所謂的「社工庫」。這些庫里保存了大量真實的、配對的用戶名/密碼信息。當黑客想要針對一家特定的網站「搞事情」的時候,他會用這個庫里所有的條目去挨個嘗試登陸。當這個庫的信息足夠多時,量變到質變,黑客就會得到很多的正確賬號了。

被撞庫的站點一般都是「躺槍」,對於很多企業,尤其是初創企業而言,安全團隊的人數和能力還遠遠不足以應對突如其來的撞庫攻擊。設想如下場景:


1.某P2P網站被撞庫攻擊,上萬用戶賬號里的資金被全部轉走(現在地下黑產操作資金鏈的手段已經非常成熟),這基本就是老闆跑路,用戶買單的節奏。
2.某遊戲論壇被撞庫攻擊,大量玩家的遊戲賬號泄露,剛買的裝備不翼而飛,一邊黑客偷偷數錢,一邊管理員哭暈在廁所。
3.即使不對被盜用戶有直接的利益損失,黑客可以把搞來的賬號以及賬號里包含的大量信息拿到網上去賣,比如身份證號、手機號、銀行卡號等,還可以利用這些個人信息來進行詐騙,發小廣告、站內信、黃賭毒信息等等。這些事情一旦發生,對一家企業的聲譽、形象、用戶體驗都有巨大的負面影響。

根據阿里云云盾安全團隊的撞庫檢測模型統計,日均檢測攻擊事件數千起,每起攻擊事件平均包括數千次撞庫登錄請求。在每天發起的攻擊事件里,賬號密碼組合去重後仍有幾十萬對。更嚴重的是,這些賬號密碼組合就像「黑客」的彈藥庫一樣,隨著更多的企業被拖庫而不斷更新迭代。

尷尬的是,撞庫攻擊的成本和技術門檻都非常低,從黑客論壇下載社工庫,掛個腳本即可實施,目前也沒有針對性的法律法規予以懲戒。

三、阿里云云盾 Web 應用防火牆是如何搞定撞庫的?


問世間,有沒有一種既不需要安全知識和安全團隊,也不需要額外開發,又不需要部署硬體設備,關鍵還能很快很精準的搞定撞庫的方法?

阿里云云盾 · Web應用防火牆(DDoS高防IP_DDoS攻擊防護_大流量攻擊_雲盾-阿里雲)就正在為用戶提供應對撞庫的「10分鐘解法」首先,WAF用戶可以在5分鐘完成上線接入,2分鐘配置規則生效,10分鐘內,用戶的Web應用即可處在雲盾防護之下,一鍵解決各類常見的SQL注入、XSS、木馬後門webshell等攻擊,還能有效防護當今的各類CC攻擊。


WAF3.0版本最近推出了黑科技——數據風控,將阿里云云盾的網路安全防護能力,和業務安全風控相結合,專門解決下列問題:

  • 撞庫攻擊、暴力破解引起的用戶信息泄露
  • 黃牛黨、羊毛黨等惡意刷票、刷優惠券、刷紅包行為
  • 惡意刷簡訊驗證碼、簡訊介面等產生大量簡訊費用
  • 惡意大量註冊垃圾賬號
  • 通過機器人惡意干擾秒殺、搶購等活動


WAF是如何搞定撞庫和這些頭疼的攻擊呢?要知道黑客也是很懶的,他們不會親自去手動提交這上億條撞庫信息,往往會採用一些自動化的方式(如腳本、程序機器人等)代替他們去工作,並且會使用大量的代理(所謂的肉雞),更有甚者為避免傳統安全設備的防護會控制撞庫的速度,避免撞的太快而引起安全策略的懷疑。

WAF會從一個請求第一次訪問您的站點開始,就會套用一個非常複雜的人機識別模型去分析該訪問者是否符合一個正常用戶的行為特徵,比如說,一個正常用戶不會在沒有頁面訪問或停留的情況下直接就提交一個登陸請求,但撞庫攻擊會。除了行為分析,還會結合用戶的各種流量信息、瀏覽器特徵,以及阿里雲的大數據信息(包含大量肉雞、惡意IP、惡意腳本、惡意軟體等信息),最終綜合判斷一個請求是否正常可信。

這套分析過程對於合法用戶的訪問是沒有任何感知的,他們依然會像往常一樣完成各種登陸、註冊、驗證、秒殺等動作,但對於行為可疑的用戶,WAF會在數據風控防護的關鍵介面(比如註冊、登錄等)進行人機識別驗證,直到確認該用戶合法才會放行,從而真正達到精確防護的同時,又最大限度降低了對正常用戶的干擾。


比如我在某知名網站拿了2000萬用戶的郵箱和密碼。
然後以碰運氣的心態去其他網站試著拿這些郵箱密碼登陸。
試試看是不是有人倆網站的郵箱密碼一樣。
這就是撞庫。


用撞大運的方法破解資料庫。也挺不容易的。大數據時代,呵呵。


推薦閱讀:

TAG:互聯網 | 資料庫 | 信息安全 | 入侵 | 撞庫 |