我们大多数人都用信用卡线上刷卡过,线上刷卡除了要输入卡号之外,还要输入到期日的月年,以及信用卡背后的一组检查码,才能成功支付。而为了不让别人利用多次尝试来猜到你的输入资讯,因此通常猜测几次错误后,就会不让你继续输入。

不过,最近英国的研究人员发现了一种作法,可以破解VISA信用卡的到期月年,以及检查码的方式,并且还可以不受到输入次数的限制,进而在线上“帮你”刷卡,这份研究发表在IEEE Security & Privacy 期刊上。

英国新堡大学(Newcastle University)的测试方式称为“分散式猜测攻击(Distributed Guessing Attack)”,原理与一般分散式运算的原理差不多,就是将信用卡的所需输入资讯,丢到不同的网站去猜测处理。每个网站的猜测次数都保持在安全范围内,那么就不会被锁住。

详细地说,一般信用卡的有效期限大约为五年,因此猜测的次数为六十次(5年x12个月)。至于三位数的检查码,最多则要猜测1000次。

研究人员测试了389 个人们常用到的线上电商网站,然后利用多工输入的方式来进行猜测信用卡资讯,发现了两个目前信用卡会有的弱点:

第一,目前的VISA支付系统不会侦测同一张信用卡在不同网站多重输入错误的情况,这也暗示了目前信用卡无法有效防止骇客利用多个网站进行分散式猜测攻击。

第二,虽然电商网站提供的输入资料字段各不相同,但是这个攻击依然奏效。

在这个研究测试的389 个电商网站中,其中仅有 47 个网站成功阻挡了分散式攻击,而有 291 个网站只会验证到期日和检查码,其中 238 个网站还可以让使用者输入错误六次以上,其中还有 26 个网站只验证到期日,不做检查码的验证。而依照现在电脑的运算能力,估计利用这种分散式攻击大约不到六秒钟的时间就可以得到结果。

值得一提的是,同样的问题在MASTERCARD上不会发生,因为他们会检查多重输入的问题。

不过VISA对于这个研究结果不觉得很严重,他们表示学术研究归学术研究,这个研究并没有将现存的电子支付系统中,多重防护诈骗的方式考虑进去。研究者必须将这些因素都考虑进去,才能够符合现实世界中的实际交易状况。

此外,VISA也强调,他们也有更安全的机制,电商可以使用 3D Secure技术 (就像是 Visa 或 MasterCard 的安全码)来防止这些攻击。