银行U盾攻击思路

好久没写文章了,今天带来一篇银行U盾攻击思路

很直观的说, 银行U盾攻击这种思路,从外壳上来看,基本上很难攻破

我和一些行业内高级安全工程师也讨论过这个问题,但得到的答案都是否定的

主要有以下几大难点

1、由于可能会涉及到公民的金融安全,这块的安全是非常重视的,哪怕一分钱,一元被任意转走,都是天大的事情
(针对支付安全)

2、银行u盾的产生原理:利用身份识别代码原理,使用第二代身份证去验证当前的key,那么也就是说,一个u盾代表着一个特殊的用户身份识别代码,我们在本地是无法伪造的
(曾经讨论中提出的观点:本地模拟1个jre环境,写入身份识别的代码,模拟一个session,模拟用户插入u盾这个动作,然后分析数据包,不过要明白,这个数据流向问题,看起来还是不好办,最后失败告终)

3、那么一个外壳页面,提示:插入u盾进行验证,别无其他页面,那么你在扫描基本是无用功
(那么1个正常员工或者1个用户登入后,协议大部分是https,那么这里就有了原始cookies和session
那么,这时候又会涉及到一个算法问题,是否真的可以伪造session,通过它的认证,就像1开一扇门,这个门只能主人去开)

4、暴力开锁(这类手段就是盲目性的黑盒测试,效果不太好,你可能什么也得不到)

针对这些难点,我们目前可以实施的银行u盾攻击
我觉得可以有几种思路可供参考

1、在用户拔掉u盾和插入u盾,数据包有什么变化(观察并分析)

2、用户已经成功认证了一个key,那么同时登入2个key去测试,是否可以发现一些猫腻,如果当前认证的用户,点击某1个页面转账给某个用户,那么用另外一个key去覆盖去付这笔钱(针对支付安全)

3、u盾是基于函数认证的,结构很复杂,通过反推理,效果是不大的,因为每产生的一个函数,都是取随机数去认证的(需要兴奋狗去猜想)


就写到这里,谢谢各位!