Теперь, когда драйвер установлен и настроен должным образом, настало время создать среду разработки CUDA. Создание среды разработки не является необходимым шагом, особенно если вы заинтересованы только в запуске утилиты pyrit. Но если ваши планы несколько шире и вы будете разрабатывать приложения с поддержкой CUDA, среда разработки будет вам необходима. Для установки среды разработки достаточно с помощью утилиты apt-get ее скачать и установить. Установка потребует от вас около 250мб свободного пространства на жестком диске, поэтому убедитесь, что вы обладаете этим пространством для реализации этих действий.

cudatoolckitstdk

После успешной установки, в системе будут все необходимые инструменты для программистов под CUDA. Так как программирование под CUDA выходит за рамки данного документа, в конце документа, я приведу ряд ссылок, которые могут быть полезны программистам использующим данную технологию. Здесь я продемонстрирую основную навигацию в среде разработки. Инструменты разработки для CUDA расположены в следующих директориях: /opt/cuda и /opt/cuda/bin. Бинарный компилятор nvcc от NVIDIA используется для создания приложений.

nvcc

Пакет cuda-sdk содержит примеры кода, чтобы помочь вам начать программировать под CUDA. Среда программирования находится в директории: /opt/cuda/NVIDIA_CUDA_SDK. Я уже подготовил для вас все необходимые инструменты в этой папке, если же вы хотите откомпилировать все инструменты самостоятельно, перейдите в папку SDK и скомандуйте make clean. Эта команда удалит все откомпилированные мной утилиты.

makeclean


Команда make запущенная в папке SDK создаст все необходимые утилиты в директории с проектом. Нужную утилиту можно найти в папке с проектом.

project

Для данного примера воспользуемся DeviceQuery. Для компиляции перейдите в паку DeviceQuery и запустите команду make. Инструмент будет создан. Результат компиляции будет расположен в директории: /opt/cuda/NVIDIA_CUDA_SDK/bin/linux/release. Для запуска только что созданного инструмента, нужно перейти в указанную директорию и запустить бинарный файл в нормальном режиме.
В этом примере инструмент DeviceQuery запущен в системе с двумя картами Nvidia 8800 GT.

deviceqery

Как я уже говорил выше команда make запущенная в каталоге со sdk создаст образцы всех необходимых инструментов. Все созданные инструменты можно найти в директории release.
Технологии параллельных вычислений CUDA можно найти множество применений. Некоторые применения описаны ниже.

Инструментарий CUDA

CUDA-multiforcer:

CUDA-multiforcer является одним из новых инструментов в Backtrack 4. Это инструмент для подбора пароля с поддержкой MD4 / MD5 и NTLM хэшей. Этот инструмент невероятно быстр и может существенно снизить время атаки на хэш пароля во время пентеста. Установить multi-forcer достаточно просто:

multiforcer

Утилиту можно запустить как, непосредственно из KDE, так и перейдя в директорию /pentest.

multiforcerstart

Для того, чтобы начать атаку, вам нужно создать файл содержащий хэш или список хэшей. Инструмент может работать одновременно с несколькими хэшами. Я добавил два NTLM хэша в файл с названием hashfile. Кодировка файла так-же должна быть выбрана. Все доступные кодировки находятся в директории charsets. Для этого примера я выбрал кодировку "full". Теперь просто запустите утилиту с нужными параметрами и поразитесь скорости работы утилиты.

hashcrack

Единственным недостатком данного инструмента является поддержка только одного графического процессора карты. Этот пример был протестирован на карте 8800 GT, но когда я запустил утилиту на 295 gtx, то ощутил значительный прирост в производительности. Домашняя страница cuda-multiforcer – http://www.cryptohaze.com.
Я хочу выразить огромную благодарность создателю утилиты - Bit Weasil за саму утилиту и за помощь оказанную, когда я пытался разобраться в CUDA.

Pyrit

Что такое Pyrit?