网上银行“安全登录控件”分析(zt)
?
國內的一些銀行的網上銀行系統為了用戶信息的安全,在登錄頁面上使用了名為“安全登錄控件”的東西,取代了傳統的 HTML 的輸入控件(Input),下面就對用戶量較大的招商銀行和工商銀行的登錄界面及“安全登錄控件”做一下對比。1、招商銀行
招商銀行的網上銀行系統做的比較早,用戶也很大,深受大部分用戶歡迎,其在安全控制手段上也一直比較嚴格。
在進入正題之前,先來一點題外話:招商銀行的有些安全控制辦法很值得我們學習,例如專業版證書,據我猜想,可能是在標準的 X.509 證書上又做了一些安全保護,即對標準的證書又進行加密(加密方式不是公開的),這樣在計算機中保存/備份的證書是不能通過 Windows 提供的程序去打開的,只有在專業版軟件中輸入正確的密碼后才能導入,這樣即遵循了標準,保證了擴展性,又在安全措施上大大加強了。
招商銀行的大眾版不象專業版那樣版本更新很快(可見招商銀行的專業版用戶量很大,而大眾版并不是其發展的重點),大眾版自誕生之日起,界面一直比較簡單樸素,但基本功能都具備。通過對大眾版登錄界面的的分析,得到了一下信息:
1) 在登錄界面上有數字驗證碼來防止暴力攻擊
2) 安全登錄控件中包含兩個控件:帳戶和密碼輸入控件
3) 用戶輸入登錄信息后,提交時 Javascript 從安全登錄控件中取出的帳戶和密碼是經過加密的,即在 SSL 加密的基礎上,又做了自定義的加密,完全做到了端到端的保密通訊(這一點可以通過 ieHTTPHeaders 查看出來)
4) 在登錄 Form 中還有一個 ClienNo 和 SerialNo 等字段,這些值被設置為安全登錄控件的 Option,估計是做為加密所用 Key 的一部分
5) 登錄 Form 的提交地址是一個 DLL(ISAPI?),Web Server?IIS 5.0 (招商銀行的主頁似乎運用了 Content Management Server ,從其頁面源碼中可以看出來)
6) 安全登錄控件的 CAB 包(CMBEdit.CAB),大小有 117 KB,包含控件 CMBEdit.DLL ,應該是使用 VC 編寫的,版本 1.1,經過 VeriSign 代碼簽名
7)最關鍵的是,不管是?MVM?的基于 .NET 的鍵盤 Hook 程序,還是另外一個基于 VB 的鍵盤 Hook 程序,都無法捕捉用戶在安全登錄控件里輸入的鍵值,這也許是最重要的一點
8) 由于在頁面中使用 ActiveX ,可能給一些用戶帶來登錄問題(如安全設置不同或安裝 XP?SP2 都可能阻止 ActiveX 的安裝),招商銀行的頁面上明確給出了解決登錄的鏈接文檔。
總之,招商銀行的網上銀行登錄界面在安全上的確做的不錯。
2、中國工商銀行
工商銀行網上銀行近兩年發展很快,成了其不可或缺的一個重要渠道,且被國外一些媒體評為中國最佳網上銀行。
1) 工商銀行的個人網上銀行系統登錄界面中沒有使用驗證碼來防止暴力攻擊,這種成本非常低,但安全性回報很高的做法竟然都不用(扣1分)
2) 登錄界面中,只有密碼域使用了安全控件,難道帳號信息就不重要(扣1分)
3) 在 ieHTTPHeaders 捕捉到的登錄 Form 提交的信息中,帳號和密碼是未加密的明文,且沒有任何其它的信息來防止安全攻擊(扣3分)
4) 有意思的是,在登錄界面的 HTTP Response 信息中,不但有 IIS 5.0 的信息,還有 WebSphere Application? Server 4.0 的信息,看來其 Web Server 是 IIS,而 Application Server 又是 WebSphere ,這一對組合 ...
5) 登錄安全控件的 CAB 包(AxSafeControls.CAB) 大小約為 174 K,經過 VeriSign 代碼簽名,里面有三個 DLL :InputControl.dll 似乎就是界面控件,msvcp60.dll 應該是Microsoft? C++ Runtime Library,SubmitControl.dll 應該是與提交有關的控件,在 SubmitControl.dll 中發現有 addPair 方法,應該與加密有關,在頁面提交的 Javascript 中,也確實發現是SubmitControl 發揮了作用,但為什么就是明文的呢? (扣2分)
6) 在登錄頁面的源碼中,發現了一段被注釋的 Javascript 代碼,仔細一看,原來是以前登錄界面未使用安全登錄控件時,使用 Html Input 控件時的處理代碼,界面改了之后,處理代碼沒有刪除,只被注釋,這些源代碼中暴露系統的一些信息,很不專業,也很危險,因為通過分析就可以發現,其界面更改前后的服務器端代碼沒有任何變化(扣2分)
7) 最關鍵的是,雖然?VB 的鍵盤 Hook 程序不能 Hook 密碼域中輸入的值,但是基于.NET 的鍵盤 Hook 程序竟然完全可以捕捉到用戶輸入的任何鍵值,這難道就是大家前幾天討論的捕捉的作用域問題?這樣的話,安全控件幾乎就成了擺設(扣10分)
8) 沒有在登錄頁面中給出如何解決登錄問題的鏈接文檔,可能使得很多用戶由于 ActiveX 不能正確安裝而不能正確登錄系統
經過對登錄界面的一些初步比較,就能發現兩者在安全性上的差別,也說明了安全是要靠實實在在的技術手段去保證的。
以上信息基于公開的、可獲取的現狀提供,不提供其它明示與保證。
轉載于:https://www.cnblogs.com/davidwang456/articles/8665837.html
總結
以上是生活随笔為你收集整理的网上银行“安全登录控件”分析(zt)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 匿怨而友其人,左丘明耻之,丘亦耻之。我不
- 下一篇: 王者荣耀服务端