網銀撞庫安全問題簡析
業務角度
單純的從業務安全形度去看這個問題,可能沒有什麼意義,就算能夠成功登入進去,最多也就是獲取一些使用者資訊,如果想要進行動賬操作還要支付密碼和手機驗證碼。
但從使用者的角度來分析危害性很大,這裡指的使用者包括但不限於一些安全意識較弱的中老年人。在爆破的過程中,使用者會收到如下資訊:
1. 您正在嘗試網銀登入,已經輸錯兩次密碼,錯誤五次後將鎖定使用者。 2. 您的賬戶已被鎖定,請到櫃檯辦理解鎖。
一些中老年人收到該資訊後會很害怕自己的錢會丟失,而去銀行詢問有很麻煩,這就會有如下流程:
老年人收到資訊——–報警——–公安部——-通知銀行解決問題
這樣的流程會導致兩點問題:
1. 使用者不信任銀行,感覺錢放在銀行是不安全的,導致資金流失。 2. 銀行被銀監會通報,造成惡劣影響。
安全形度:
我們開啟網銀介面基本都要安裝輸入控制元件,這個控制元件的功能讓我們輸入的密碼加密並且一次一密,從而保證傳輸過程中被截獲不會丟失密碼,主要防中間人攻擊,而不是防止爆破,登陸介面層次防止爆破的手段是驗證碼。
爆破的方式:
1. 人工手動。 你沒看錯,就是通過人力來做。但是通過這種方法的目的並不是想要爆破出成果,可能只是噁心一下行方運維人員。感覺有攻擊,但是分析流量感覺又很正常。或者是為了封停幾個賬號,對於部分銀行,知道銀行卡號是可以做到銀行卡常鎖狀態的(每天手動輸錯幾次密碼就做到了)。
2. 指令碼爆破。 對於網銀登入的爆破並不是簡單的burpsuite跑一下就能夠實現的。基本所有網銀都有輸入控制元件,這些控制元件並不需要去破解,自己構造頁面單純呼叫即可。而驗證碼可以通過指令碼識別或者打碼平臺來實現。
防止爆破的方式:
登入方式
網銀的登入方式其實不多:
1. 銀行卡號/密碼登入。 2. 自定義使用者名稱/密碼登入。 3. 掃描二維碼登入。(比較安全)
安全的驗證碼
所謂安全,也就是每次登入後服務埠都返回給客戶端一個新的驗證碼且舊的作廢。
還有就是驗證碼的種類,可以使用簡單數字加減,圖片識別拖動等。
複雜的登入帳號和密碼
登入帳號如果是卡號的話,還是比較容易獲取的。可以實行許可權控制,如果用卡號登入許可權較低,或者無動賬許可權。
登入密碼應進行大大於7位的設定。
硬體防護
這裡說的就是一些硬體防護裝置,防火牆、IDS的之類,可以設定訪問的閾值,如超過可以暫時封鎖ip。
通過以上幾種方式真的能防止爆破攻擊嗎?
傳統的登陸方式只有很少幾家銀行不在使用,驗證碼可以通過打碼平臺進行識別,複雜的密碼也會人用弱密碼,封ip可以呼叫代理。
從不計成本來看,這種防護措施不是絕對安全。
通過對各個銀行的瞭解,以下幾種方式比較安全:
1. 使用app掃描二維碼登陸網銀。 2. 使用簡訊驗證碼驗證,驗證方式為:使用銀行卡預留手機號給銀行傳送一條固定格式簡訊,銀行收到後返回給客戶驗證碼。登陸時候先驗證此驗證碼和卡號是否符合,如果符合再驗證密碼。
結論
系統是給使用者使用的,只從安全的角度來看對使用者負責,也是對使用者不負責。要在安全的角度上再考慮使用者的體驗性,還要根據不同行方的行情來看,有的行方程式碼迭代比較多,而且一些語言版本較低,不能從程式碼方面進行根本修改,只能加強某些裝置策略。有的行方對網路安全需求較強,並且接收新技術可以從多方面進行防護。
*本文作者: