GPGPUのセキュリティ分野への応用

http://journal.mycom.co.jp/articles/2008/03/07/cuda/index.html

GPUは、シンプルな演算ユニットを多数搭載しているため、並列演算処理を行う場合、同規模のCPUと比べて高い処理性能を達成することができる。そのため、近年グラフィックスを得意としていたGPUを汎用のコンピューティング処理に用いるGPGPU(General Purpose GPU)という考え方が登場、物理シミュレーションや信号処理、データベース管理といったさまざまな分野への応用展開が進んでいる。

実はGPGPUはセキュリティ分野でもいろいろと応用されている。多分一番有名なのはパスワードクラック。パスワードハッシュの計算を大量にこなす必要があるため、GPUを用いた並列演算処理に向いている。ロシアのELCOMSOFTが実際にこのようなツールを販売している。その説明によると、Intel Core2DuoNVIDIA GeForce 8800GTXを比べた場合、15倍から60倍程度のパフォーマンスが得られるらしい。G80クラスになると数百GFlOPSからTFLOPS単位の浮動小数点演算性能を持っているので、このくらいでてもおかしくはない。


パスワードクラック以外でちょっと変わったところでは、File Carvingに応用した例がある。これは昨年のDFRWS2007で発表されたものだが、File Carvingツールの ScalpelGPU対応にして Carvingの速度をあげている。(発表資料: paper, slide)


あと似たような話では、PS3のCellプロセッサを用いた例もいくつかある。ひとつはMD5のハッシュ衝突の脆弱性を利用したノストラダムス攻撃(Nostradamus Attack)。昨年、アイントホーフェン工科大学の研究者が「アメリカ大統領選挙の結果を正確に予知した」というネタを発表して話題になった。この研究ではMD5の計算にPS3を利用している。


もう一つはやはりパスワードクラックのネタで、オーストラリアの研究者がPS3を使ったパスワードクラックを試みている。その紹介記事によると、PS3の6つのSPU(Synergistic Processing Unit)コアを利用し、各コアで平行して4つの演算処理を行っている。つまり同時に24の演算が実行できるということ。MD5のハッシュの計算で、1秒あたり14億回という演算性能をだせるらしい。


いずれも興味深いネタではあるが、応用例のほとんどがパスワードクラックというのはちょっとね…

Technorati: , ,