国内的一些银行的网上银行系统为了用户信息的安全,在登录页面上使用了名为“安全登录控件”的东西,取代了传统的 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)相关推荐

  1. 银行登录控件仿制--防钩子,防嗅探

    银行登录控件仿制--防全局钩子,防嗅探 类似于支付宝登录控件.工商.招商银行登录控件,这个是一个DLL钩子,用于注入其他进程 另外有一个控件,用来模拟INPUT控件,近期发布! 变量定义 unit h ...

  2. SilverLight学习笔记--如何在xaml文件中操作用户在后台代码定义的类(2)--示例篇:创建一个登录控件(原创)(转载本文请注明出处)...

    本文将示例如何运用前篇所写知识来建立一个用户自定义的登录控件.此控件界面非常简单,主要涉及的知识点是:   如何创建用户控件(包括对此控件的自定义事件和属性的编写,此处我们将创建一个名为LoginBo ...

  3. VS2017中创建使用 XRM 工具常用登录控件的WPF应用程序,适用CRM9.X版本

    VS2017中创建使用 XRM 工具常用登录控件的WPF应用程序,适用CRM9.X版本 前提条件 创建WPF项目和修改版本 添加按钮调用登录控件进行调试 总结 微软dynamics官网之前有个CRM ...

  4. 网上银行App登录使用短信验证码,属不属于超范围收集用户信息?

    网上银行App登录该不该用短信验证码? 全国信息安全标准化技术委员会日前公布<信息安全技术 移动互联网应用(App)收集个人信息基本规范(草案)>,面向社会公开征求意见. 该标准明确了移动 ...

  5. Delphi皮肤控件分析与QQ的皮肤变色功能

    关于界面美化方面,一直是一个脑壳疼的问题!以前一直偷懒,使用的三方控件!但是在使用了一段时间之后,都或多或少的有些问题!不是我说三方控件如 何如何的不好!只是三方控件多是庞大的一个肢体,要兼顾的用户群 ...

  6. 教你用ActiveReports报表控件分析京东双十一数据的价值

    随着双十一购物盛会落下帷幕,各大电商平台纷纷公布出自己今年的成绩.与其它同行不同的是,京东除了公布1598亿的线上下单金额,还公布了线上线下融合的战果. 面对京东线上.线下海量数据源,我们该如何进行整 ...

  7. 用友登录控件Vbs脚本

    ' 郁闷啊.用C# 用 U8Login调 控件 始终Ui线程刷新不足. 总是 象没装显卡的电脑 总是不能刷新界面.' 没想到 Vbs宿主脚本调用 都没有什么问题.调用参照控件也是一样..郁闷啊 ' c ...

  8. 认识登录控件(Login、CreateUserWizard、LoginStatus和LoginName)

    QQ交流群:13033480 一.新建网站Web 二.窗体配置文件中修改 <authentication mode="Forms" /> 三.新建文件夹Manager, ...

  9. login控件authenticate_ASP:Login控件(登录控件)

    Login控件是一个复合控件,它有效集成了登录验证页面中常见的用户界面元素和功能.通常情况下,Login控件会在页面中呈现3个核心元素,即用于输入用户名的文本框.用于输入密码的文本框和用于提交用户凭证 ...

  10. ASP.NET登录控件login。

    2019独角兽企业重金招聘Python工程师标准>>> 1.Login控件.通常情况下会出现3个核心元素.用户名文本框.密码输入框.提交凭证的按钮. 1>.比较重要的属性:Cr ...

最新文章

  1. The Innovation | Volume 2 Issue 2 正式出版
  2. SSH Web工程环境搭建总结
  3. python的openpyxl库如何读取特定列_通过渲染一百万个网页,来了解网络是如何崩溃的...
  4. 对照片进行边缘化处理,并将边缘化处理后的结果保存
  5. linux socket ip层配置,Linux下Socket通信(TCP实现)
  6. 走出浮躁的泥沼:浮躁的社会原因 控制好自己的物欲
  7. 《梦断代码》随笔第2篇
  8. python 在线培训费用-在线Python编程培训哪家机构比较好?
  9. 脏数据-数据量纲差异
  10. 12306第一波春运售票高峰:“云查询”每秒40万次
  11. 叛乱2 linux服务器,叛乱沙漠风暴怎么开服?开服操作指南详解
  12. String.Empty、string=”” 和null的区别
  13. [今日阅读] [TSE 2019] - Mining Fix Patterns for FindBugs Violations
  14. 快速分析出京东快递大量单号物流是否延误
  15. 3d打印技术改变生活的影响
  16. python老师培训课
  17. 树莓派3B和攀藤PMS5003ST
  18. 全球台式计算机出货量,Gartner:2020年全球PC电脑出货量达到2.75亿台 同比增长4.8%...
  19. 简单了解一些分布式术语,分享给大家
  20. python夯实基础日记-序列、列表、元组

热门文章

  1. PHP和原生JS实现九型人格在线测试(144题)
  2. 火山PC大漠插件源码开源学习--木塔老师
  3. Axure 8.0/9.0 注册码 激活码 授权码 License
  4. 一文带你了解 HTTP 黑科技
  5. 交换机端口tagged与untagged
  6. 复杂网络作业六:Louvain社区发现算法原理,细节以及实现
  7. Linux内核编程11期:设备树(device tree)
  8. IDEA如何设置背景色?
  9. 惠普打印机换硒鼓图解_惠普打印机墨盒更换步骤
  10. [代码整洁之道].(美)马丁.扫描版pdf