| 网站首页 | 资讯 | Hack | 漏洞 | 网管 | 编程 | 培训 | 品黑页 | 软件 | 论坛 | 动画 | 视频 | 经典 | 教学站 | 黑客点睛 | 
服务导航 我要发布 主力频道 空间域名 精华收集 服务器出租 黑客培训 光盘刻录 特色服务 解决方案 我要投诉
您现在的位置: 华夏黑客同盟 >> 资讯 >> 最新新闻 >> 正文 用户登录 新用户注册
网上银行等电子支付平台的WEB登陆安全性简要分析
作者:不详 文章来源:华盟收集 点击数: 更新时间:2007-1-10
编辑评语:

          编辑评语:前言:本文还是去年年初写的,当时出于安全考虑没放出来。现在部分网上银行已大幅度降低了无高级别安全措施情况下的转账限额,并建议用户使用动态口令卡或者USB Key,总体安全系数有所提高。

        随着子商务的普及,网上银行以及在线电子支付等方式逐渐被网民所接受和喜爱。但是网上银行以及电子商务支付平台的安全性不容乐观。尽管各网上银行采取 SSL加密防止通过嗅探网络封包的方式截取密码;对于防止WEB登陆时密码被窃取,网上银行采取了安全控件或者动态软键盘的方法,但考虑的仍不全面,我们还是能采取相应的方法截获用户输入的密码。

       下面就以具有代表性的四大银行:中国工商银行、中国农业银行、中国建设银行、中国银行;商业银行:招商银行;电子支付平台:阿里巴巴支付宝等为例,分别就客户端密码方面进行脆弱性分析。网上银行以及其他电子商务支付平台的WEB登陆安全性直接与用户的经济利益相关,所以有必要不遗余力的加强WEB登陆安全性的建设。另外由于不是所有的用户都使用数字证书和U盾之类安全认证产品,所以“黑客”只要截取到用户的登陆密码以及支付密码就能随心所欲的转帐/支付,危害甚大。

本文谈的是采用纯技术截取密码,而不是用假页面假接口等钓鱼方式骗取密码的方法。

网上银行对于防止密码被盗分别采用了安全控件和动态软键盘的方法:

1、采取安全控件的,典型代表有:中国工商银行、招商银行、阿里巴巴支付宝等

这类安全控件考虑还算全面,防止了键盘/消息钩子,而且使通过IE的COM接口获取密码的方法也无能为力。但是这类安全控件做得不够底层,考虑得欠深入。

        我们采用键盘过滤驱动的方法就可以突破安全控件的保护记录密码了。除了键盘过滤驱动方法外还可以挂接IDT(中断描述符表)的键盘入口,或者挂钩键盘驱动 Dispatch例程以及Inline hook相应IRP分发函数。 当然,更深入点的话还可以挂钩i8042prt.sys。

        不过由于编写驱动程序不同与开发普通的应用程序,难度稍大,所以目前还未见公开的采用此技术截取这些网上银行密码的木马。但是开发起来也并不是太困难,相对而言采取键盘过滤驱动的方法较通用稳定。

        基本原理是我们的驱动创建一个设备附加到键盘驱动Kbdclass下的设备,这样所有的IRP(输入输出请求包)包都将先发给我们的驱动程序,然后再转发给系统中的键盘驱动,我们的驱动程序获取IRP后就可以从中获得键盘的scancode扫描码,这样就能在系统内核的层面获得键盘输入信息。键盘过滤驱动的部分代码如下:

CODE:

NTSTATUS HookKeyboard(IN PDRIVER_OBJECT pDriverObject)
{
PDEVICE_OBJECT pKeyboardDeviceObject;
NTSTATUS status = IoCreateDevice(pDriverObject,sizeof(DEVICE_EXTENSION), NULL, FILE_DEVICE_KEYBOARD, 0, true, &pKeyboardDeviceObject);
pKeyboardDeviceObject->Flags = pKeyboardDeviceObject->Flags | (DO_BUFFERED_IO | DO_POWER_PAGABLE);
pKeyboardDeviceObject->Flags=pKeyboardDeviceObject->Flags& ~DO_DEVICE_INITIALIZING;
RtlZeroMemory(pKeyboardDeviceObject->DeviceExtension, sizeof(DEVICE_EXTENSION));
PDEVICE_EXTENSION pKeyboardDeviceExtension=(PDEVICE_EXTENSION)pKeyboardDeviceObject->DeviceExtension;
CCHAR ntNameBuffer[64] = "\\Device\\KeyboardClass0";
STRING ntNameString;
UNICODE_STRING uKeyboardDeviceName;
RtlInitAnsiString( &ntNameString, ntNameBuffer );
RtlAnsiStringToUnicodeString( &uKeyboardDeviceName, &ntNameString, TRUE );
IoAttachDevice(pKeyboardDeviceObject,&uKeyboardDeviceName,&pKeyboardDeviceExtension->pKeyboardDevice);
RtlFreeUnicodeString(&uKeyboardDeviceName);
return STATUS_SUCCESS;
}
[Copy to clipboard]

       下面以工商银行的网上银行为例,演示我们的程序。为了演示,我们的驱动程序将实时打印出获得的键盘记录的信息,并且把完整的信息记录到磁盘文件上。招商银行、阿里巴巴支付宝等效果等同,支付密码用此法同样能截取。截取时实时打印的信息 如图1:,记录到文件里的完整信息:如图2:。合发送邮件或者ASP/PHP留言的方式我们就能远程的得到密码。

2、采取动态软键盘的,典型代表有:中国建设银行、中国银行、中国农业银行

采用动态软键盘技术初看确实能使攻击者无法截获密码,但是截取密码的方法不仅仅是接截获键盘记录一种方法。我们可以通过IE的COM获取的密码。

        对于中国建设银行,通过IE的COM接口获取的密码框里的内容就是密码,其他大部分采用软键盘技术的网站大都也是这样。但是中国农业银行WEB程序中做了一点处理,通过鼠标点击软键盘传入密框的内容不是实际密码而是按钮序号,所以我们只要枚举当前窗口,发现是中国农业银行的网上银行页面时,我们的程序就自动截图发给我们,我们根据所截获得的图象和通过IE的 COM接口所获得的序号伪密码之间的关系进行转换(抽象为一个简单的函数映射),很容易的。这样便获得了农行网上银行的密码。下面是截取中国建设银行网上银行密码的演示截图,利用动态软键盘的其他网站效果相同。如图3:(衍生:对付应用程序的部分软键盘可以运用Hook TextOutW/A的类似屏幕取词的方法来截取。)

后记:
         尽管网上银行等电子支付平台在密码防盗方面做了安全考虑,但是还是不够安全。不过大家也大可不必因此不使用网上银行,采取数字证书以及USB Key(比如U盾)等安全措施相对而言还是比较安全的。

相关资讯
倒挂国旗博客作者被捕
美学生改分数判入狱38年
网上支付警惕假银行网站
网上投简历被骗传销窝
网上祭祀遭遇现实尴尬
男孩网上盗取48万元
艺人不雅照光碟难禁绝
攻击银行的新木马出现
英国网站热卖银行资料
假淘宝网兑奖丢银行密码
责任编辑:胡浪  联系方式  Email:胡浪
电话:51228163
  • 上一篇资讯:

  • 下一篇资讯:
  • (只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
    姓 名:
    * 游客填写  ·注册用户
    主 页:
    评 分:
    1分 2分 3分 4分 5分
    评论内容:
    验证码: *
  • 请遵守《互联网电子公告服务管理规定》及中华人民共和国其他各项有关法律法规。
  • 严禁发表危害国家安全、损害国家利益、破坏民族团结、破坏国家宗教政策、破坏社会稳定、侮辱、诽谤、教唆、淫秽等内容的评论 。
  • 用户需对自己在使用本站服务过程中的行为承担法律责任(直接或间接导致的)。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表网友个人观点,与本网站立场无关。
  • 最新hack更新
    最新推荐资讯
    相关资讯
    倒挂国旗博客作者被捕
    美学生改分数判入狱38年
    网上支付警惕假银行网站
    网上投简历被骗传销窝
    网上祭祀遭遇现实尴尬
    男孩网上盗取48万元
    艺人不雅照光碟难禁绝
    攻击银行的新木马出现
    英国网站热卖银行资料
    假淘宝网兑奖丢银行密码
    最新会员软件
    最新推荐视频
    最新推荐动画

    Copyright @ 2005 77169.Net Inc. All rights reserved. 华夏黑客同盟 版权所有
    北京市电信通提供网络带宽

    mailto:webmaster@77169.net
    咨询QQ号:836982 / 59280880
    联系站长 QQ38588913
    热线电话: 86-10-67634029/676229433
    京ICP证041431号