写在前面的话:

    在日渐强大的处理器运算能力面前,密码的设置方式正在受到严峻的考验。但是相信很多搞安全运算、破解的朋友面对着目前市场价位还是偏高的4核CPU都会多少觉得有些无语,有什么办法可以提升无线WPA加密破解速率呢?本文不讨论关于密码算法强弱的问题,也不讨论破解的分类,而是着重介绍一下在全球安全界/***圈已经开始流行的破解新趋势——显卡GPU用于无线加密破解。

 

一.GPU概念

 

1.1 GPU基本概念

    GPU英文全称Graphic Processing Unit,中文翻译为“图形处理器”。GPU是相对于CPU的一个概念,由于在现代的计算机中(特别是家用系统,游戏的发烧友)图形的处理变得越来越重要,需要一个专门的图形的核心处理器。

 

1.2 GPU的作用

    GPU是显示卡的“心脏”,也就相当于CPU在 电脑中的作用,它决定了该显卡的档次和大部分性能,同时也是2D显示卡和3D显示卡的区别依据。2D显示芯片在处理3D图像和特效时主要依赖CPU的处理能力,称为“软加速”。3D显示芯片是将三维图像和特效处理功能集中在显示芯片内,也即所谓的“硬件加速”功能。显示芯片通常是显示卡上最大的芯片(也是引脚最多的)。现在市场上的显卡大多采用NVIDIA和ATI两家公司的图形处理芯片。

 

    GPU相当于专用于图像处理的CPU,正因为它专,所以在处理图像时它的工作效率远高于CPU,但是CPU是通用的数据处理器,在处理数值计算时是它的强项,它能完成的任务是GPU无法代替的,所以不能用GPU来代替CPU。

    从下图中我们可以看到,当双核发展到3.2GHz时,同样时间下GPU的发展。

 

 

    GT200 = GeForce GTX 280 G92        = GeForce 9800 GTX
    G80   = GeForce 8800 GTX G71       = GeForce 7900 GTX
    G70   = GeForce 7800 GTX NV40      = GeForce 6800 Ultra
    NV35  = GeForce FX 5950 Ultra NV30 = GeForce FX 5800

 

1.3 GPU可用显卡列表

    作为NVIDIA公司,已经在其官方网站上公开了可用于GPU运算的显卡,下表只列出部分出名或常见的显卡型号。

 

详细列表请参考网址: [url]http://www.nvidia.com/object/cuda_learn_products.html[/url]。

 

工作中的GeForce 9800 GX2显卡

 

1.4 来自NVIDIA的Tesla系列

    随着高效能运算技术在地球科学、分子生物学及医疗诊断等领域日新月异的发展,造就了许多全新的发现,也造福了全球数十亿人类的生活。但不论是专注于以上范畴,以及其它领域的大学院校、研究机构和企业皆面临了令人怯步的挑战,这就是当各种仿真模型的复杂度已现超乎常理时,他们则需要庞大的运算资源才能让研究得以延续。

    NVIDIA于过去一两年宣布发表以全新革命性绘图处理器(GPU)为开发基础的全新处理器,为克服此一挑战向前迈进一大步。在NVIDIA® Tesla™ 品牌下,NVIDIA将推出一系列GPU运算产品,将以往仅能出现在超级计算机的效能带给每位科学家与工程师,让现今的工作站摇身一变成为「个人超级计算机」(“personal supercomputer”)。

 

二.GPU破解操作实例

    众所周之,随着图形芯片技术的不断突飞猛进,目前家用计算机的GPU,在晶体管数量以及运算速度上都不输于最先进的CPU。而在此前,NV在推出最新图形芯片时也宣称将利用GPU强大的浮点运算能力,代替一部份CPU的处理工作。

    目前大部分密码恢复仍然采用“暴力破解”或称为“穷举法”的技术,通过一定的时间理论上是可以恢复某些软件的密码。比如最微软最新的操作系统Windows Vista中,登录密码若为8位含有大小写混合字符串,则将有55万亿种可能的密码。

    Windows Vista默认采用NTLM散列技术,所采用是新的双核处理器每秒最多测试10,000,000个密码,在完成所有测试时大约需要2个月时间。而采用诸如ElcomSoft所研发的GPU运算新技术后,该过程将只需要花三到五天时间,当然,这也取决于CPU和GPU的好坏。

    ElcomSoft是一家俄罗斯软件公司,出品过众多密码破解软件,涉及Office、SQL、PDF、EFS等等。2009年1月15日ElcomSoft推出了“Wireless Security Auditor 1.0”,号称可以利用GPU的运算性能快速攻破无线网络WPA-PSK及WPA2-PSK密码,运算速度相比使用CPU可提高最多上百倍。

 

不同测试环境性能对比

测试环境:

使用事先捕获的WPA-PSK握手验证数据包作为破解对象。
    操作系统: Windows XP 32-bit v5.1.2600 SP2
    软件版本: Elcomsoft Wireless Security Auditor v1.0
    预装载字典文件大小: 13.4MB(纯数字及符号类字典)

    下表为在不同配置机型下进行WPA-PSK破解速率对比,供大家参考(节取自ZerOne安全团队无线安全组内部完整测试报告数据) 。

CPU

主频

内存

显卡型号

破解速率

CPU模式

 

AMD 5000+

2×2.61GHz

1GB

--------

270 pass /s

Intel 双核T7100

2×1.80GHz

4GB

--------

380 pass /s

Intel 双核 E7300

2×2.66GHz

2GB

--------

576 pass /s

Intel 四核Q9300

4×2.50GHz

2GB

--------

1076 pass /s

GPU模式

 

AMD 5000+

2×2.61GHz

1GB

GeForce 8500GT

1222 pass /s

Intel 双核 E7300

2×2.66GHz

2GB

GeForce 8500GT

1597 pass /s

    可以看到,单纯使用CPU计算和加上GPU一同计算的速率有着明显的不同,对于使用Intel双核E7300的用户而言,加上一块GeForce 8500GT的显卡已经相当于额外加了一块Intel四核Q9300 CPU。这还只是GeForce 8500GT!

    下为使用python开发的GPU计算工具在不同显卡下的表现。

结论及前景

    在此之前,显卡的GPU还不能被像密码恢复这样的软件所利用。老的图形芯片只能进行浮点运算,而最好的密码破译算法则需要定点数学。当今的图形芯片则可以进行定点运算。而这些有拥有最高1.5GB板载显存以及最高128条处理单元的图形芯片GPU,在进行密码运算时将有着比CPU更加强大的能力。

    ElcomSoft公司已将其独家开发的GPU加速技术向美国专利局提交了该专利申请。据称,EWSA采用的正是此项突破性的计算机技术,将能够大大降低密码恢复的时间。而该项技术的核心便是结合PC的中央处理器(CPU)以及其显卡(GPU)的能力。而二者相结合后的软件/硬件系统将使一台家用PC的密码解译速度如同超级计算机一般。作为第一款针对无线WPA-PSK破解的商业GPU运算工具EWSA1.0,可以说从诞生起就已经呈现出令人惊异的表现。按照推测,只要再经过进一步的改进即可担当起未来高速破解运算的重任,WPA/WPA2的破解也真正算是指日可待。