和黑客鬥爭的 6 天!
網際網路公司工作,很難避免不和黑客們打交道,我呆過的兩家網際網路公司,幾乎每月每天每分鐘都有黑客在公司網站上掃描。
有的是尋找 Sql 注入的缺口,有的是尋找線上伺服器可能存在的漏洞,大部分都是各個黑客檢測工具來掃描,當然更高階一點的入侵需要很多人工協助。
一般情況下,網站被黑客入侵都是因為開發人員平時沒有安全意識導致的,厲害的黑客往往會對平臺的業務和內部流程非常熟悉,很多漏洞是從邏輯上分析出來的。
當然了,所有的黑客攻擊行為都是有目的,99% 都是因為其中隱藏著暴利。
比如2015-2017年,很多網際網路金融公司遭遇黑客敲詐,最後都是打錢了事。
和黑客線上上鬥爭過很多年,積累了一些案例,網際網路金融公司工作期間,分享過一系列黑客攻擊的案例,檢視案例文章可以在公號內回覆:003
今天給大家分享的是,去年一家公司發生的事情。
1
一個客戶反饋操作很慢引發的事件
第 1 天
2018年的某一天,客服接到個別使用者反饋,公司某款 App 操作時某個介面響應很慢,客服將此問題反饋給了公司的相關技術人員。
技術人員接到這個反饋之後,在生產環境多次測試並沒有復現這個問題,於是給客戶反饋有可能是網路的問題,可以換個網路再試試。
第 2 天
客服接到更多使用者反饋,手機操作某個功能時很慢,最長時間要等待超過 1 分鐘。客服又將相關資訊反饋到技術,並且將問題級別提高了一級。
技術這邊將問題上升到技術經理,開始排查問題原因,技術經理通過大量測試發現,這個緩慢現象在測試 10 次會復現 1 次。
看來又是一個偶現的問題,偶現的 Bug 是最難處理的,技術經理帶著研發人員在伺服器調了一下前端業務日誌,分析之後也沒有找到具體的原因。
第 3 天
公司有一個核心代理商將此問題反饋到技術老總,老總安排技術總監來關注此問題。技術總監要求把訪問路徑的關鍵節點都打上日誌,看看具體是哪部分操作慢了。
經過技術經理的排查,是在 App 操作某一個功能的時候出現偶發性的慢,但是這塊的操作也有快取作為支撐,快取的使用率並不是很高。
既然問題是偶發並且後面的快取使用率並不高,那麼應該不是程式哪塊出現 Bug 了,應該是其它方面的問題,遂要求排查是否是伺服器問題。
先給大家畫一下一張圖,方便大家瞭解一下技術背景。
前端使用者使用手機操作某一個功能時,請求經過防火牆路由器分發到最前端的 Nginx,Nginx 又通過均衡負載分發到後面的五臺業務伺服器。
業務操作的時候需要呼叫一組資料,這些資料會根據業務規則快取到背後的快取伺服器叢集中,用來緩解後端資料庫的壓力。
第 4 天
經過和運維人員配合調查發現,在分發的這 5 臺業務伺服器中,其中有 1 臺伺服器的壓力比較大,凡是請求分發到這臺伺服器的時候就會出現慢的情況。
因為線上的伺服器已經用了很多年,懷疑是不是伺服器配置老化導致的問題,隨後將壓力比較大的伺服器進行下線,無縫切換到新的伺服器上。
過了半個小時後繼續觀察,又發現另外的一臺伺服器也出現負載壓力大的問題。後面變了很多方案,比如減少到 3 臺伺服器來支撐,或者增加到 9 臺伺服器來支撐。
總是切換半個小時到兩個小時的時候,其中的 1-2 臺伺服器的壓力會突然上來,一直保持比較高的訪問量,經過這些測試排除是伺服器的問題。
緊接著排除 Nginx 是不是分發的策略有問題,導致某個伺服器分發的請求過多,試著變了幾次 Nginx 的分發策略後,還是會復現出問題,排除 Ngingx 分發異常。
第 5 天
技術人員繼續跟蹤,負載壓力比較高的伺服器執行緒 Down 出來和正常的伺服器對比,發現在負載壓力比較大的伺服器上某個執行緒的呼叫數量異常的高。
再繼續跟蹤這個執行緒,原來是某一個忘記密碼的功能被頻繁的呼叫,忘記密碼應該是一個普通的介面,為什麼會被這樣高頻率的呼叫呢?
然後再繼續跟蹤是哪些 IP 在頻繁的呼叫這些介面,不跟蹤不知道,一跟蹤嚇一跳,把呼叫最頻繁的 Top 100 IP 列出來查了一下,發現都是國外的 IP。
什麼 巴黎、孟買、菲律賓、泰國,幾乎所有的外國的IP都有,但是作為一家國內的第三方支付公司,怎麼可能會出現國外的 IP 呢?
大家都知道在手機上填忘記密碼的時候,絕大部分平臺都是使用手機號作為其中的一個條件,如果你沒有在這家平臺註冊,那麼就會反饋手機號不存在。
這是一個非常常見的功能,但是對於黑客來講,這個功能夠暴利了。
很多同行業的競爭者需要挖角其它公司客戶,但是怎麼知道這些平臺的客戶有哪些?
直接通過這個介面,暴力破解就可以了。
是不是很黃很暴力!
因為公司處理的業務都是國內業務,所以只要直接在 Nginx 寫指令碼,把所有來自國外的 IP 都給遮蔽,可以暫時解決被國外 IP 攻擊的問題。
上線後果然消停了,伺服器也不過載了,App 訪問也正常了。
第 6 天
可能黑客過了一晚上也反應過來了,又開始使用國內的伺服器代理 IP 高頻呼叫此介面,既然黑客使用了國內的 IP 地址,肯定不能把國內 IP 都封了吧。
不過在 Nginx 之後還有一個前置伺服器,在前置伺服器中加一個非常簡單的過濾器:設定一個 IP 地址在某個時間段內(可配置)只能訪問此介面 5 次,即可解決此問題。
然後再以使用者為維度加限制,一個使用者在某個時間段內(可配置)只能訪問此介面 5 次。
上面這些手段都上完之後,一切都安靜了,再也沒有出現過服務過載或者使用者反饋操作反應慢的問題了。
但是如果黑客有足夠多的國內 IP 呢,為了防止出現這樣的問題,我們再接著對產品進行升級,來防止黑客的這種可能性。
我們都知道現在很多 APP 頁面,為了方便使用者操作在忘記密碼的時候沒有圖形驗證碼,或者有圖形驗證碼卻比較簡單可以機器破解。
所以需要升級新一代的智慧驗證措施,現在很多創業公司都可以提供這種服務,這樣就從各個維度防止了黑客通過暴力手段獲取客戶資訊。
2
總結
其實據我所知,很多網際網路公司到現在仍然存在這種漏洞,很容易讓黑客通過暴力破解就拿到使用者註冊的手機號,只要拿到了使用者的手機號後面就可以採用各種營銷策略。
這是目前很多公司,採用的一種競爭手段。
有的時候,產品的易用性和安全性其實是有衝突的,產品在設計的時候,其實就應該和技術多考慮風控的相關設計,不然在產品運營的後期容易出現問題。
一個大型網際網路公司中風險點非常多,伺服器風險點、業務風險點都需要做提前考慮,同時公司必須配備相應的安全人員,對公司網站做常規安全巡檢。
監控公司所有的訪問介面頻次,定期把公司裡面所有的 IP 訪問情況做成圖表進行分析,看哪些是正常的請求,哪些是異常的訪問。
定期排查統計分析訪問的所有請求,可以提前發現很多問題。
開發人員和黑客鬥爭其實是一個長期的工作,任何一個訪問量比較大的公司都會遇到類似的問題,遇到問題不要驚慌,仔細排查每一個細節,最終肯定會找到問題的答案。
在我的職場經歷中,和黑客有過非常多交手的經歷,現在回過頭來看,這些經歷才是我提升最快的最好養分。
解決問題是程式設計師成長的第一動力,解決大問題是成為大牛的關鍵。程式設計師的一生,也就是不斷解決問題的一生。
這樣看來,我們要感謝職場上遇到的那些困難!
所有能爬過去的問題都成為了經歷和談資,只有那些越不過的 BUG 才能稱之為問題。
宣告:轉載本公號原創文章,請於原文釋出48小時後經授權轉載,謝謝!
作者簡介:純潔的微笑,一個有故事的程式設計師(????詳細瞭解)。曾在網際網路金融,第三方支付公司工作,現為一名自由職業者,和你一起用技術的角度去看這個世界。我的微訊號puresmilea,歡迎大家找我聊天,記錄你我的故事。
< END >
純潔的微笑
一個有故事的程式設計師
微信掃描二維碼,關注我的公眾號
相關文章
- 學習是一場鬥爭
- 與黑客的鬥智鬥勇-一次伺服器被攻擊的實錄黑客伺服器
- 第五章與JS(奸商)鬥爭的日子JS
- PC 2019年報——明爭暗鬥的一年
- 幽默:容器派與無伺服器派的爭鬥伺服器
- 一哥爭奪戰:激進的鬥魚,剋制的虎牙
- IPv6,看不見的全面戰爭
- 戰鬥解析完成!「#COMPASS戰鬥天賦解析系統」公測開啟
- 影響Linux發展的四位天才黑客Linux黑客
- EGS下架風波:平臺戰爭背後的勾心鬥角
- 亞馬遜同微軟谷歌開始了新一輪的「雲鬥爭」亞馬遜微軟谷歌
- 龍爭虎鬥,360數科金融科技輸出的強者恆強定律
- 《荒野亂鬥》國服,6月9日見!
- 反對不公平競爭 虎牙鬥魚被禁止合併
- 彭博社:團隊內鬥和資金壓力導致《魔獸爭霸3 重製版》的失敗
- 美、中、法:主導人工智慧的鬥爭與科技民族主義的興起人工智慧
- Python學習第6天Python
- EF和Dapper之爭的關鍵APP
- 趁老王不在,和隔壁鄰居鬥鬥地主,比比大小
- 逆天程式設計師,6 天面試了 6 家矽谷頂級公司並拿下 6 份 Offer !程式設計師面試
- 物理幾何的魅力,構成趣味遊戲世界,製作人與玩家之間的巧妙鬥爭遊戲
- 00 後 10 後和防沉迷系統的「鬥智鬥勇」,堪比諜戰大片
- 遊戲開發第6天遊戲開發
- 吃雞的FPP和TPP模式之爭模式
- 鬥魚財報:內容競爭依然坎坷、雲遊戲突圍打響遊戲
- 與大科技公司極權主義作鬥爭:路線圖(附下載)
- 馭神激鬥!《諸神幻想》“天啟”公測全面開啟!
- 為了挖掘加密貨幣 兩個黑客組織爭奪Linux伺服器加密黑客Linux伺服器
- 只用幾天時間,黑客成功破解Switch 最新版本!黑客
- 《鬼鬥》Steam: “純粹”的格鬥遊戲遊戲
- 華為CFO孟晚舟終於被保釋 但更艱苦的鬥爭還未到來!
- 橋本和久 魂鬥羅祕籍之外的故事
- 【阿里聚安全·安全週刊】戰鬥民族黑客入侵德國政府|“貓臉識別”門禁阿里黑客
- 第6天--金剛長壽功
- 雲服務市場龍虎鬥:入華或入歐,暗奪轉明爭
- SNK《侍魂 曉》正式發售 格鬥電競世界爭霸賽即將開戰
- 透過IPv6隧道實現天翼云云主機IPv4和IPv6雙棧接入
- 淺談社會學驅動下的網路遊戲,傳統與現代文化的明爭暗鬥遊戲