網際網路金融大戰黑客

ityouknow發表於2017-06-28

在網際網路行業裡,如果你們的系統還沒有被黑客們練過,說明你們的系統還不夠成熟。

在以往的工作經歷中,大都做後端服務,較少經受到黑客們的光顧。但是自從2014年進入網際網路金融行業之後,和黑客們打交道已經成了我們日常工作的一部分。2015年應該是網際網路金融行業受黑客攻擊最多的一年,各互金公司都深受其害,其中網貸之家有一段時間被黑客攻擊的太厲害,連續幾天網站都無法開啟。部分互金公司選擇了出錢消災,讓極客們嚐到了甜頭,吸引了更多的黑客們躍躍欲試。

當然了我們也未能倖免,什麼DDOS攻擊、SQL隱碼攻擊、尋找系統漏洞等幾乎都被經歷過了,有的黑客還比較好,應該是出於善意或者展示自己,將漏洞放到烏雲上面或者漏洞盒子裡面讓廠商來修復。但更多的是一些黑產完全就是威脅、敲詐想撈一筆錢。

先看看下面這位吧:

這個傢伙潛伏到我們公司的客戶群裡面,冒充我們的客戶代表將頭像和資料替換成一樣,然後給群裡所有的客服傳送資訊,想讓客服把公司內部的後臺地址發給他,想通過這種方式來尋找突破口,當然了這個算是裡面的小菜鳥吧。

DDOS攻擊

DDOS攻擊我們也是遇到了很多次,確實也沒有比較好辦法,最後都是通過一些笨辦法來儘量的避免,先說說我們的經歷吧。有一次我正在敲程式碼,客服QQ又閃爍了起來,還沒來得及開啟檢視資訊,客服經理電話就直接打了過來,立刻就有了一種不祥的預感,說官網打不開了,後臺也登入不了。

掛了電話,我在本機進行了測試果然不行,立刻準備登入VPN檢視伺服器各項指標,結果登入不上去,馬上上樓找運維經理,他也登入不上,剛準備給機房打電話的時候,機房來電話了,說我們的一個IP正經歷著1G多的流量訪問,問我們是否正在做什麼活動,剛話沒有說完就說流量已經到5G,不到一分鐘之後流量已經到達18G之多。因為我們的機房和集團共用了一個寬頻入口,結果陸續的集團上面反饋他們的網站、服務也都出現了問題,機房服務商害怕引起更大的衝擊,直接把我們官網對外的IP封掉,集團的其它業務才慢慢都恢復了過來,我們也緊急的更換了外網IP,重新切換了域名解析才恢復。

事後我們根據apache分析了日誌,流量來自N多個不同的IP地址根本無法應對,因為這次攻擊讓領導們重視了起來,才將公司機房的網路和公司集團徹底分離,這樣的話不管那方受到大流量攻擊都不會相互影響,我們也想了一些笨辦法,因為上次我們更換了外網IP之後攻擊也就停止了,那麼我們認為肯定是針對我們外網來攻擊的,所有我們就多準備了6個外網IP,當監控到對某一個外網進行攻擊的時候馬上切換到另一個外網地址,就這樣跟他們玩,可以起到非常有限的一點作用,如果黑客真的想跟我們玩,這個辦法就像是小孩子捉迷藏。

週年慶的DDOS攻擊

還有一次我們正在做週年慶活動,突然有人在QQ群裡面給我們客服說了一句,叫你們的技術負責人來找我,然後我們的網站就掛了,我還保留了當時的一個截圖如下:

完了之後客服就來找我,然後按照往常的策略處理完之後,我根據客服給我的QQ號碼加上了那個人,開口就來嚇我,我依稀記當年的對話如下:

黑客:你是平臺的技術負責人嗎?
我:算是吧
黑客:你信不信我可以讓你們官網在5秒之內掛掉?
我:...(沉默,還真害怕又把官網搞掛了)
黑客:你們的官網漏洞很大
我:如果有好的建議請您賜教
黑客:你們的伺服器是不是什麼防護軟體都沒有裝?
我:...(繼續沉默,這會在想不會是那個安全廠商來推廣產品的吧,當然我們基礎的防護肯定有)
黑客:我們有非常多的肉雞,想攻擊誰,幾秒之內肯定搞定
我:...
黑客:我們已經給很多網際網路金融行業做了滲透測試,花點錢幫買你們平安,保證以後不會在出事情
我:...
黑客:免費的策略也有很多,比如360、百度雲的安全產品可以免費低檔10G左右的流量

......(中間省略)

黑客:我說了這多,你們也是不是給包煙錢,表示表示。

......

後來也和領導進行了商議,堅決不能給他們錢,不能助漲這種囂張氣焰,實在不行就報警!

曝光一下當年使用的假QQ號,剛查了下變了個頭像和描述,如下:

後來我一直在想為什麼DDOS攻擊總是喜歡根據外網IP來攻擊呢,慢慢好像是理解了。如果針對域名來攻擊的話,那不就是攻擊到域名商的伺服器,一般域名商比較強大,黑客不太搞的定,也確實沒有必要。當然記的前一段時間,某著名域名服務商被攻擊,導致國外twitter等著名的網際網路公司訪問中斷到達半天以上,還是很嚴重的。但是對於我們這些小公司,倒不至於搞這麼大的動作。

到底如何正確的防止DDOS攻擊:

  • 第一種方案,隱藏伺服器外網地址,伺服器前端加CDN中轉,免費的有百度雲加速、360網站衛士、加速樂、安全寶等,如果資金充裕的話,可以購買高防的盾機,用於隱藏伺服器真實IP,域名解析使用CDN的IP,所有解析的子域名都使用CDN的IP地址。此外,伺服器上部署的其他域名也不能使用真實IP解析,全部都使用CDN來解析。

  • 第二種方案,買一些安全產品來進行流量清洗,主要是阿里雲、騰訊雲這種大廠商提供的一種服務。

  • 第三種方案,有很多的防火牆產品聲稱可以防止Ddos攻擊,但是我個人使用感覺效果非常有限。

SQL隱碼攻擊

我們的官網使用的是PHP開發,因為框架比較老舊的原因,存在著一些SQL隱碼攻擊的點,我們發現了一些進行了修補,沒想到還是被一些黑客找到了突破點,這塊還是比較感謝一些黑客在漏洞盒子上面提交的bug(如下圖),最後我們根據提示進行了緊急修復,後來也在WAF防火牆配置了一些攔截SQL隱碼攻擊的策略,起到雙保險的作用。

我一直在想為什麼PHP一般比較容易出現SQL隱碼攻擊呢,而Java較少暴漏出來SQL漏洞的情況,我估摸著有兩方面的原因:第一,PHP一般前端使用較多,受攻擊的機會更多一些,Java一般做為後端服務攻擊的可能性會比較少;第二,PHP框架較多而且很雜,很多早期的框架並沒有特別考慮SQL隱碼攻擊的情況,Java大量普及了mybaits\hibernate這種orm框架,框架本身對常見的SQL隱碼攻擊有防範的功能,但不是說mybaits/hibernate框架就沒有被sql注入的可能,大部分場景下是OK的。另外引數化查詢可以有效的避免SQL隱碼攻擊。

通過一段時間的學習,我發黑客一般先使用工具對網站做整體的掃描類似Acunetix,在根據掃描出來的漏洞做個大概的分析,但是比較深入的漏洞都需要根據網站的業務在進行調整,比如sql注入會根據頁面的查詢使用sqlmap等工具來進一步的滲透。當然我對這方面還是外行,描述的可能不夠清晰。

簡訊攻擊

驗證碼漏洞,我們當初有一個很小的失誤,有一個程式設計師在H5的小網頁中將傳送簡訊驗證碼返回了前端,最後被haker發現了,利用這個漏洞可以給任意的使用者重置登入密碼。那一晚上我們幾百多個使用者收到了密碼重置的簡訊,雖然黑客最終也沒有改使用者的密碼,只是發簡訊玩了一把,但是對於平臺來講無形的價值(信譽度)損失不小。

簡訊攻擊,現在的網站幾乎都有傳送簡訊或者簡訊驗證碼的功能,如果前端不做校驗,haker會隨便寫一個for迴圈來發簡訊,一般系統的簡訊會進行全方位的防控,比如:1、前端加驗證(字元驗證碼,有的是拖拽的動畫);2、後端根據使用者或者IP加限制,比如使用者一分鐘只可以傳送一條簡訊,忘記密碼的簡訊一天只能傳送10條、一個IP地址限制每天只能傳送100條簡訊等。

如何防範

黑客攻擊公司的網站未必完全是一件壞事,一方面說明了公司已經吸引到了很多人的關注,另一方對我們技術團隊是一次檢驗,黑客有時候會給你帶來完全不同的一種思路想法。但是被黑客攻擊而影響了業務,那就不是一件愉快的事情了,如果攻擊導致頻繁的出現問題,對內對外都會造成大的影響,那就是嚴重的事件了。

安全防範是一個全面且持久的工程,也是需要在硬體和軟體上都要投入的一件事情。

硬體方面

需要做好網路安全規劃,機房常用的安全裝置有:VPN伺服器、防火牆、WAF防火牆。

  • VPN伺服器:主要用於運維人員通過口令可以登入到機房內網中進行日常運維工作,也可以用做不同機房網路互通,保證在特定的網路下資訊傳輸安全。
  • 防火牆 :外網訪問進入機房的第一道大門,負責三層網路的安全檢測,隔離內網和外網環境,外網為非信任區,內網為信任區。
  • WAF防火牆:最重要的安全裝置之一,WAF防火牆主要是對Web特有入侵方式的加強防護,如DDOS防護、SQL隱碼攻擊、XML注入、XSS等。屬於應用層的安全防護,我們經常遇到的黑客攻擊行為,主要就靠它的防護能力。

現在的防火牆技術更新特別快,以前的防火牆都是基於特徵庫來進行防護的,最新一代的防火牆可以根據平臺的使用者行為來檢測分析是否為攻擊行為。

軟體方面

軟體方面的防護主要有兩方面,一方面使用證照保證傳輸層的資料安全,另一方面所有對外的介面都需要做好安全規劃。

  • HTTPS證照:在web伺服器部署HTTPS證照,保證使用者在互動的過程中資料沒有被串改。

  • 網路規劃:所有非必須的服務都不要開放外網訪問,需要開放外網訪問的伺服器僅開放需要的埠,比如常用的80。和合作公司有資料互動或者介面呼叫的需求,需要繫結固定的外網訪問地址。

  • 技術選擇:選擇成熟的框架可以避免很多安全問題,早期的很多PHP框架根本就沒有考慮SQL隱碼攻擊的相關問題,當初strust2的安全漏洞多少企業被坑。選擇成熟穩定的技術體系可以避免很多低階的問題。


作者:純潔的微笑
出處:www.ityouknow.com/
版權歸作者所有,轉載請註明出處

相關文章