黑客攻擊(撞庫)事件復盤:黑客都比你努力

3 評論 6543 瀏覽 30 收藏 9 分鐘

在電商、互聯網金融、OTA等平臺,黑客攻擊很常見。針對黑客攻擊,我們能做什么?一起來看看作者的親身經歷。

一直知道有黑客的存在,一直知道有“黑產”的存在,但沒想到過有一天我如此近距離的接觸黑客以及所謂的黑產。

事情的經過大概是這樣的:

昨天晚上10點登錄系統突然收到告警短信,告警信息表明,目前有異常大流量請求;由于時間比較晚,花了點時間才聯系到核心的研發人員;登錄系統查看了下,發現確實有接近平時200倍的異常登錄請求。初步看了下請求的IP來源都是比較分散的,特征是在不斷的嘗試用戶名、密碼登錄,并且已經破解了我們的圖形驗證碼。

綜合上面的信息,我們初步判斷這應該是一次典型的黑客撞庫行為。

何為撞庫?

所謂撞庫行為,就是黑客在別的地方,一般是安全程度不高的網站被入侵,拿到了這個網站所有用戶的用戶名,密碼信息。然后拿這些用戶名、密碼在其他網站進行登錄嘗試,因為有不少人是存在一個普遍行為,即在不同的網站用的是同一個用戶名,密碼。

這樣A網站如果被入侵,泄露了用戶的個人信息,黑客可以拿這些用戶名、密碼到B網站去登錄,如果同一個用戶既注冊了A網站又注冊了B網站,這樣黑客就可以用A網站得到的信息登錄B網站,從而進入用戶在B網站的賬號。

以為解決掉了

發現了這個行為后,我們先想的是如何禁止黑客的暴力登錄;這樣不僅存在撞庫風險,由于請求量比較大還會影響普通正常用的體驗。

研發抓了日志,經過分析,基本可以確定黑客是通過工具進行批量進行登錄。

黑客的請求,來源IP比較分散,每次都嘗試不同的用戶名和密碼,想簡單的采用封IP的方案是不行了,最后發現所有的異常請求里面,有一個http header是有相同的特征,拉上運維人員一起商量,最后決定在nginx這里對這類的請求進行攔截。

整個流程花費了大概1個半小時,最后nginx策略生效后確實有效的把異常流量給封住了,那會也快晚上12點了,又觀察了一會,發現對方沒有新的動作,以為這件事就這樣結束了。

噩夢才真正開始

第二天上午接到用戶投訴,說我們的網站泄露了用戶的隱私,有人打電話給用戶,冒充網站的客服人員,對用戶進行欺詐。

經過跟幾個被詐騙的客戶了解,基本搞清楚了黑客的詐騙手段。

首選黑客登錄用戶的賬號,看了下用戶最新的訂單信息,然后打電話給用戶,冒充網站的客服人員,說這個客戶買的某個商品質量有問題,網站要進行召回,請進行退貨處理。退貨地址的詳細地址在用戶的個人地址里面。黑客特意修改了用戶的個人收貨地址,并在里面藏了一個釣魚網站的連接,誘導用戶點擊這個釣魚網站。這個釣魚網站完全模仿支付寶登錄界面,除了域名不一樣,其他一模一樣,有些用戶沒注意,就在這個界面輸入了自己的支付寶賬號信息,黑客通過這個辦法拿到了用戶的支付寶賬號,然后自己登錄用戶的支付寶賬號——下面就不說了,大家懂的。。。

對于這種欺詐行為,有一定的迷惑性,因為對方可以清晰的報出用戶買的東西以及訂單號、下單時間、收貨地址,有些警覺性比較低的用戶就真的會相信這是網站“官方”的行為,然后按照引導去操作,最后支付寶賬號信息被盜取。

一上午的時間,客服陸續接到近10起類似投訴,其中有一個用戶支付寶被盜了2萬塊,要求我們進行補償——這個時候,我們才意識到問題的嚴重性:首先我們不知道黑客具體拿到了多少我們網站的用戶信息,然后還不知道即將有多少用戶因此受騙。。。

魔高一尺道高一丈

我們緊急先找了下昨晚攻擊時間段的請求日志,嘗試發現哪些用戶被黑客撞庫成功了。

由于我們沒有記錄詳細的登錄日志,所以單從日志上看不出來這個信息,最后只能把攻擊的那個時間段內,所有成功登錄過的用戶信息全部拉出來,悲觀的認為這些都是被黑客攻擊的賬號;然后批量給這些用戶發短信進行提醒,為了防止黑客還能登錄這些賬號進行欺詐,我們立刻把這些賬號的密碼置空,要求用戶立即修改密碼。

我們以為這樣黑客就沒辦法再登錄這些賬號進行欺詐了,結果又被現實狠狠的打臉,因為還陸續有客服反饋有用戶來投訴,這就讓我們很不理解:為什么黑客都不能登錄了,還能看到用戶的信息進行詐騙呢?難道黑客把這些信息存下來拉?

我們立刻又去翻日志,最后發現:黑客在撞庫成功后,立刻就把用戶的訂單信息,個人信息全部用腳本查詢了一遍,并且把這些信息存了下來。

這時候才發現,黑客在攻擊我們之前,已經對我們網站的接口進行了細致的分析,制定了一套相對完整的攻擊方案。

黑客都比你努力

經過這次攻擊,發現黑客還是很用心的做了很多準備工作。

  1. 首先分析我們的接口信息。
  2. 寫撞庫的工具,成功登錄后,立刻將用戶的關鍵信息落地。
  3. 選擇在深夜進行攻擊,我們發現異常到找到相關的人,到制定響應方案時間比較長,可以盡量爭取攻擊的時間。
  4. 針對我們的網站,執行針對我們網站用戶的詐騙方案。

現在看下來,整個流程事先都是準備好的,而我們的響應方案確實漏洞百出。

吃一塹長一智

這次攻擊也暴漏了系統很多的問題,總結幾點。

  1. 沒有任何安全防護措施,對于這種典型的異常流量響應很被動。現在市面上有很多成熟的waf,可以自動識別這種惡意工具,從而將惡意流量進行有效清洗。
  2. 協議沒有加密,讓別人很容易拿到協議的內容,進行模擬。
  3. 圖形驗證碼沒有難度,很容易被破解,需要增加級別更好的驗證方式。語音驗證或者滑動驗證。
  4. 沒有基本的風控模型,比如用戶正常是在上海登錄,突然在新疆登錄了一次,這個時候應該有異常的標記或者告警。

#專欄作家#

DearNicole,人人都是產品經理專欄作家,前京東產品經理、研發經理,主攻電商的方方面面。

本文原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自 Unsplash ,基于 CC0 協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 我平時也自娛自樂kali linux,都是自己玩自己的。

    來自河北 回復
  2. 好奇是什么網站

    回復