Мне всегда нравилось, как люди совершенно легально зарабатывают деньги на околохакерских сервисах. Полностью автоматизированные механизмы избавляют от рутинных действий — надо лишь поддерживать работу софта и серверов. Деятельность ведется в рамках закона, что исключает возможное давление со стороны органов. Аспект работы в области ИБ греет душу :). Примеров таких разработок можно привести множество.
Веб-фронтенд для криптора, который упаковывает исполняемые файлы, тем самым усложняя анализ и обнаружение малвари антивирусами. Или сервис для взлома CAPTCHA, предлагающий разработчикам ботов специальный API, через который можно загрузить на сервер картинки, которые практически мгновенно будут распознавать кропотливые китайцы за ошеломляюще низкую таксу вроде «1000 CAPTCHA = $1». Последний тренд — это облачные сервисы для выполнения ресурсоемких задач. Хорошим примером тут является WPA Cracker (wpacracker.com), который за небольшую плату ($17) позволяет выполнить брутфорс-атаку на защищенную WPA-PSK беспроводную сеть.
Напомню, перебор — это единственный способ подобрать ключ для закрытой сети Wi-Fi (да и то исключительно при наличии дампа трафика с перехваченной последовательностью авторизации, так называемого WPA Handshake). А занять он может дни, месяцы, годы. Для увеличения эффективности перебора сначала использовались специализированные словари, потом были сгенерированы радужные таблицы, позже появились утилиты, задействовавшие технологии NVIDIA CUDA и ATI Stream для аппаратного ускорения процесса за счет GPU, и вот теперь в нашем распоряжении — облачные сервисы. Тот же WPA Cracker предлагает доступ к кластеру из 400 CPU, осуществляющему перебор по словарю со 135 миллионами слов. На обычном двухъядерном компе такой перебор занял бы 5 дней, а на мощностях кластера — 20 минут.
Может показаться, что реализовать чтото подобное — чрезвычайно сложная задача. На самом же деле все в точности наоборот. С развитием облачных платформ создать такой сервер и даже начать на этом зарабатывать стало реально как никогда. В статьях прошлого номера мы рассказывали о PR-акции от Amazon Web Services (aws.amazon.com), в рамках которой каждый может бесплатно попробовать облачные технологии компании, а также на примере разобрались, как легко и быстро использовать технологию, запустив сервер и подняв на нем VPN-демон (см. PDF-версию статьи на диске). Чем это лучше обычного хостинга или дедика? Очень просто: AWS за считанные секунды позволяет запустить сколько угодно таких серверов (или, если говорить в терминах технологии, инстансов) и платить только за фактическое время их использования.
При таком раскладе идея создать кластер для решения ресурсоемких задач, который включался бы по требованию, напрашивается сама собой. Тем более, что Amazon предоставляет мощный и понятный API, позволяя автоматизировать управление серверами с помощью элементарных скриптов. Начинает вырисовываться понятная схема: один инстанс, самой простой конфигурации, должен работать постоянно и принимать от пользователя запросы на выполнение перебора. А непосредственно кластер автоматически включается по требованию, причем строго на то время, которое потребуется для решения задачи. Но это еще не все.
С недавнего времени компания пополнила ряд возможных конфигураций инстансов, добавив в него так называемые Cluster GPU Instances. Эта конфигурация оснащена сразу двумя GPU-картами NVIDIA Tesla Fermi M2050, каждая из которых содержит 448 ядер и 3 Гб памяти. Надо ли говорить, что это настоящее сокровище для тех пока немногочисленных утилит, которые умело используют технологии акселерации за счет GPU? Впрочем, даже если не брать в расчет этот приятный факт, конфиг инстанса как нельзя более подходит для решения ресурсоемких задач: 22 Гб оперативной памяти, 2 четырехъядерных процессора, 1690 Гб памяти локального диска, 64-битная система. В том, как начать работу с сервером и запустить свои инстансы, можно разобраться за десять минут. По сути, нужно только выбрать готовый образ с операционной системой.
Проверенный вариант — Cluster Instances HVM CentOS 5.5, для которого поддержка CUDA является встроенной по умолчанию, поэтому потребуется минимум дополнительных настроек. В момент создания сервера выбираем AMI-образ с идентификатором ami-aa30c7c3 и тип инстанса Cluster GPU (cg1.4xlarge, 22GB). Вот так: всего несколько кликов мыши — и мы имеем в распоряжении мощный сервер, к которому легко подключиться по SSH и установить приложения, которые используют технологию CUDA.
Для примера можно попробовать хэш-крякер CUDA-Multiforcer (на официальном сайте cryptohaze.com помимо дистрибутива ты найдешь еще и радужные таблицы) или, если возвращаться к нашему примеру, прогу для брута WPA/WPA2-PSK — Pyrit (code.google.com/p/pyrit). Для запуска, правда, придется чуть поработать напильником. Но все необходимые правки конфига подробно описаны в мануале bit.ly/ec2-gpu.
Запустить такой сервер для нас — дело пары секунд. Но самое главное, что еще через пару секунд мы можем получить второй такой же инстанс. Вот уже и кластер. Добавляем третий, четвертый и так далее.
По умолчанию каждый аккаунт в Amazon может использовать до восьми инстансов Cluster GPU, но этого вполне должно хватить. Тем более, что за использование каждого сервера придется платить. И немало — $2.10 за час.