BSD для нетерпеливых: LiveCD и десктопные варианты BSD-систем
Баг-хантинг
У баг-хантера три пути развития (на мой скромный взгляд):
Вариант 1. НТП/НИИ/НПО имени кого-то там при чем-то там. Да-да. В принципе, кибер-война — это уже не шутки, и нашей стране нужно все то же самое, что и МОССАДу с ЦРУ. Поэтому баг-хантер и эксплойт-райтер — полезный человек. Так как в ФСБ просто так не попасть, можно найти работу в каком-либо учреждении, которое работает, выполняя заказы "сами-знаете-кого". Уверен, что они там делают полезную и важную работу :). Попасть туда можно из универа (если кафедра соответствующая), по "протекции" или при внимательном поиске работы. В принципе, и в само ФСБ после такого универа попасть реально (после года собеседований и тестов получишь офицерскую ЗП и командировки раз в год черт знает куда, и не факт, что тебе дадут ту работу, которую хочешь ты).
Вариант 2. Блэк-Хат. Если вариант 1 был для любителей милитаризма и шлема Дарта-Вейдера, то данный вариант для любителей рискнуть свободой и здоровьем :). Эксплойт-паки нуждаются в пополнении новыми зеро-деями, и если у тебя есть связи, то ты легко можешь продать свежую багу/эксплойт (0day) кому надо за много-много $$$. Этот вариант я не поддерживаю, и потому не жди никаких деталей. К тому же, кто захочет, сам найдет и освоит эту дорогу; только помни, как опасен и коварен путь Темной Стороны...
Вариант 3. Свободная продажа. В мире существует множество фирм, которые с удовольствием купят у тебя инфу о зеро-дее и эксплойте. Причем все это абсолютно законно и легально. Такие компании используют эту информацию длявключения ее в сигнатуры своих IDS/IPS-устройств, или включают в сплойт-паки для пентестеров. Конечно, платят они чуть меньше, чем на черном рынке, зато ты в ряде случаев получаешь еще и всякий PR в виде авторства уязвимости (но уже без прав на нее) и возможность посещать всякие конференции и прочие фишки. К тому же этот вариант можно совмещать с обычной работой и ничем, по сути, не отягощать жизнь. Так как в первом и втором варианте присутствует скрытность и не всегда свобода, а во втором — еще и криминал, то я лично поддерживаю вариант номер 3, поэтому статья будет посвящена именно этому пути. Рынок 0day
Существует множество компаний, которые хотят купить у тебя 0day. Процедура покупки может отличаться, но примерно суть одна и та же. О ней мы поговорим чуть позже, а пока рассмотрим рынок на основе опроса от unsecurityresearch.com. Результат показывает, что в среднем за 0day-уязвимости на клиентской стороне можно получить от 1000/2000 долларов. Это средняя цена, потолок же может доходить и до 30000 долларов. Зависит от того, в каком продукте обнаружена проблема. Из всех компаний, покупающих уязвимости, наиболее высокий средний показатель у ребят из ZDI (Zero Day Initiative), где большинство клиентских уязвимостей в промежутке от одной до трех тысяч долларов. Кроме того, ZDI сохраняют авторство в публикации, и когда инфа выходит в паблик, твое имя не сотрется (если ты сам этого не желаешь). Кроме прочего, ZDI (а вернее, компания TippingPoint, основатели ZDI) являются спонсорами ежегодного конкурса PWN to OWN на CanSecFest, и именно они платят призовые фонды за взлом браузеров. Так что лично я для себя выбрал работу именно с этими парнями.
С точки зрения статьи УК РФ 273 анализ бинарного кода с анализом уязвимости не является ПО, и уж тем более вредоносным. Несмотря на то, что эта информация позволяет написать эксплойт или червь, законом такая информация не описывается, поэтому продажа ZDI такой инфы — дело не преступное. Более того, PoC-эксплойт, например, для браузера, который запускает калькулятор и предупреждает об этом пользователя, также вредоносным кодом не считается (запуск калькулятора — это ж не опасно, но помни, что "эксперты" у нас в стране могут вообще не разбираться в предмете). ZDI
Фактически TippingPoint является "подразделением" компании 3COM (а те, в свою очередь, продались Hewlett-Packard) и занимается разработкой системы IPS, в которую они и включают сигнатуры от купленных ими 0day-проблем. Фактически сигнатура в их IPS появляется задолго до того, как выйдет патч. Кроме того, ZDI уведомляет разработчика и проходит полный цикл от уведомления до ожидания патча и скоординированной публикации о проблеме. До того, как информация станет доступной, ZDI может делиться деталями проблемы с партнерами-вендорами решений по защите информации. Таким образом, продав 0day-багу ZDI, ты помогаешь всем владельцам железки TippingPoint защититься от потенциальной угрозы. Но хватит рекламы, рассмотрим, каким же образом поднять лавэ.
Для начала надо найти уязвимость. В эпоху вездесущего фаззинга это может быть не так уж и сложно, но все же это требует определенных знаний и навыков, а иногда даже и чутья с везением. Но, как бы то ни было, про поиск уязвимостей уже написано немало букв. Вспомни хотя бы мою статью в апрельском ][ про эксплуатацию брешей в ActiveX-компонентах. Итак, как найти уязвимость более-менее понятно, но не рвись в бой, сначала надо определиться с жертвами. Очень большое значение имеет, ГДЕ именно найдена уязвимость. ZDI четко описывает требования к багам, которые они готовы купить: Удаленные уязвимости, связанные с выполнением кода Уязвимости, связанные с парсингом доверенных файлов Уязвимость должна быть в последней версии релиза ПО Уязвимое ПО должно быть широко распространено
Это значит, что можно забыть про XSS-, LFI- и SQL-инъекции в популярных движках. Нас интересует настоящая жесть вроде ошибок с указателями, переполнения буфера, ошибки формата строки внедрение команд и прочих багов, которые приводят к выполнению произвольного кода. Нас интересуют знаменитые FTP/веб-сервера, базы данных, системы бэкапа, а также браузеры, ActiveX и плагины популярного ПО для браузеров, ПО корпоративных систем и т.д. В этот список могут входить как платные, так и опенсорсные продукты, главное, чтобы они были популярны и широко распространены. Ну вот, собственно, и все...
А вот и не все. На самом деле найти уязвимость — это зачастую задача более простая, нежели проэксплуатировать ее. Поэтому надо показать, что найденная тобой уязвимость реально опасна. Для этого можно написать Crash-PoC или эксплойт с запуском калькулятора, а можно выслать подробный бинарный анализ проблемы с выводами. От качества этой писанины зависит скорость, с которой ZDI отреагирует на твой товар и, возможно, качество этой реакции. Очевидно, что этот шаг являются самым трудным и, фактически, это и есть основная твоя работа. Чтобы выполнить его, требуется опыт и знания, за что собственно и платят деньги.
Компания NSS анонсировала открытие портала-аукциона для пен-тестеров и эксплойт-девелоперов. На этом портале эксплойт-райтеры могут продавать эксплойты к не-0day-уязвимостям в формате модулей для Metasploit. Никто не знает, выживет ли эта идея, но проект стоит оценить, откроется он уже скоро. Шаг 1. Регистрация
Если нулевой шаг не поддается описанию в теме моей статьи (только затрагивает область твоих интересов), то дальше я опишу сам процесс работы с ZDI. От регистрации до вывода денег. Итак, шаг первый — регистрация. Для этого идем на сайт zerodayinitiative.com, где видим простой и понятный интерфейс. Смело жми ссылку на "Researcher Login". Нас просят ввести логин и пароль, но понятное дело, что у нас их нет... ищем в верхнем правом углу ссылку "Register". Отлично! Тут мы вводим свой e-mail, пароль и желаемый логин. В принципе, этого достаточно, но чуть ниже есть поле "Referal". На него можно забить, но я рекомендую ввести туда мой логин :). Как только ты сдашь свой первый 0day, и тем самым покажешь, что твой аккаунт имеет смысл, тот, кого ты указал в качестве реферала, получит 2500 очков вознаграждения (о них позже), так что смело вводи в это поле "asintsov", а я буду ждать твоих успехов :).
После регистрации ты сможешь войти в систему, но этого недостаточно — необходимо официально подтвердить свою сущность. Для этого в закладке "My Account" надо отправить несколько форм. Первая — "My Profile". Тут ты заполняешь свои настоящие ФИО, указываешь адрес и страну, откуда ты. Обрати внимание на то, что если ты из Кубы, Ирана, Северной Кореи, Сирии или, например, из Судана, то ZDI не будет с тобой работать. Отправив эти данные, знай, что на веб-сайте они не хранятся, а шифруются PGP-ключом и отправляются по e-mail'у в офис ZDI. Таким образом, на веб-сервере нет никакой информации о тебе, кроме логина и e-mail'а.
После отправки профайла нужно подтвердить свою личность. Для этого иди и заполняй следующую форму — "Copy of Government Issued ID". Кликнув по этой ссылке, ты получишь PDF-файл, который надо распечатать, вписать ручкой свой логин от системы, приложить свой паспорт (разворот с фоткой) и засунуть эту художественную композицию в сканер. Полученную форму отправить по электронной почте на zdi@3com.com, предварительно зашифровав на открытом ключе — https://www.zerodayinitiative.com/documents/zdi-pgp-key.asc (если не параноик, то можешь и не шифровать). В общем, паспорт должен быть обычным, хотя можно и загран — судя по всему, им там пофиг.
Следующий пункт — самый приятный — про то, каким путем ты хочешь получать вознаграждение. Раньше было доступно три варианта: перевод Western Union, чеком или банковским переводом. Вариант с WU был шикарен, но в итоге от него отказались, и теперь существует только два варианта — чеком или банковским переводом. Я выбрал банковский перевод; для этого надо знать номер своего счета в банке (ну, и иметь этот счет), название банка, SWIFT- позывной и адрес. Все это можно узнать как в самом банке, так и в интернете. Счет должен быть открыт в долларах США. В идеале, если к этому счету привязана карточка, то деньги можно снимать без комиссии в фирменных банкоматах банка. После того, как вся эта информация заполнена и подтверждена, напротив данных форм появятся большие зеленые кружочки с галочкой — мол, все ОК. Это значит, что можно работать. На самом деле, даже пока галочек еще нет, уже можно слать инфу о багах, так как они проверять уязвимости будут намного дольше, чем тебя регистрировать. Шаг 2. Процесс
Итак, ты нашел уязвимость, написал эксплойт и описание на английском, и что дальше? Дальше все просто — кликай по "Open Case" и заполняй эту форму. Не бойся, никто у тебя уязвимость не украдет. Желательно рассказать, какие привилегии нужны для реализации уязвимости, в конфигурации по умолчанию или нет (лучше, если да), нужны ли элементы социальной инженерии при атаке (типа, надо ли заманить на свой веб-сайт и т.д.). После того, как ты отправил уязвимость, не жди моментального ответа, а начинай искать следующую багу. Дело в том, что теперь твой "отчет" ждет проверки, и ждать он может больше месяца, поэтому не стоит терять время. Через месяц тебя могут попросить по e-mail'у уточнить какие-нибудь детали и опять исчезнуть на неделю-две, а могут сразу высказать предложение купить твою багу и права на нее. Прямо в письме будет указана и сумма. Если ты согласен, то ответь на письмо, что, мол, согласен. После этого статус баги в меню "My Cases" обновится, а еще через неделю тебе на счет в банке упадет ровно та сумма, на которую вы договорились. В меню "My Cases" можно следить за судьбой проданной тобой дырки — тут через какое-то время будет сказано и о факте уведомления разработчика, и о том, когда уже можно делать публичное сообщение о проблеме, и тогда ты можешь на своем сайте воспроизвести его — авторство уязвимости сохранено, нельзя только говорить больше, чем сказано в публичном сообщении ZDI. Награда
Кроме суммы на счет ты получишь очки вознаграждения. Эта фигня показывает твою полезность для ZDI. За первый баг ты получаешь 2500 очков, потом 2500 можно получать с тех, кто указал тебя в качестве реферала и уже сдал свой первый баг. А потом с каждой новой проданной уязвимостью ты получаешь эти очки. Зачем они нужны? А за тем, что, набрав 10000 очков, ты становишься бронзовым партнером, 20000 — серебряным, 35000 — золотым и, наконец, 50 000 — платиновым. Например, всем известный хакер @WTFuzz имеет двойной платиновый статус. Эти статусы дают разные полезные и вкусные плюшки, которые начисляются в конце календарного года с момента начисления первых очков. Плюшки представляют собой следующие бонусы.
Бронзовый: +10% к денежным наградам за все баги в следующем году $1000 бонус
Серебряный: +15% к денежным наградам за все баги в следующем году +25% к начисляемым очкам вознаграждения в следующем году $5000 бонус Оплачиваемая путевка (перелет + регистрация) на DEFCON в Лас-Вегасе
Золотой: +20% к денежным наградам за все баги в следующем году +50% к начисляемым очкам вознаграждения в следующем году $10000 бонус Оплачиваемая путевка (перелет + регистрация) на BlackHat и DEFCON в Лас-Вегасе
Платиновый: +25% к денежным наградам за все баги в следующем году +100% к начисляемым очкам вознаграждения в следующем году $20000 бонус Оплачиваемая путевка (перелет + регистрация) на BlackHat и DEFCON в Лас-Вегасе + запись на курсы BlackHat
Как видишь, бонусы достаточно вкусные и приятные. Кроме того, не забывай про основное вознаграждение, которое достаточно адекватно оценивает твою работу. За простое переполнение буфера в ActiveX-компоненте, которое находится за пять минут COMRaider'ом, могут заплатить 2500 — 3000 долларов. Если находить по две уязвимости в месяц, то можно жить — не тужить вообще. Многие западные ресерчеры только за счет ZDI и живут.
Однако нельзя же всю жизнь только баги искать... Выводы
Если ты хочешь начать свою баг-хантерскую жизнь, то я рекомендую начать ее с ZDI. После года-двух успешной работы ты получишь опыт, знания, новые интересные контакты и шанс попасть на работу ресерчером/пен-тестером/консультантом куда угодно, ведь нет лучшего резюме, чем связка адвайзори от ZDI с твоей фамилией. Главное — не зацикливаться на однообразных задачах, а развиваться. Желаю тебе удачи!
Компаний, которые хотят купить у тебя уязвимости, достаточно много; помимо ZDI в список входят такие конторы, как iDefense — labs.idefense.com, SecuriTeam — securiteam.com или NetraGard — netragard.com. Кроме прочего, уязвимости в браузерах FireFox или Google Chrome можно продать самим вендорам. Правда, думается мне, что за code execution больше можно выручить у тех же ZDI.
|
Категория: Общие Статьи | Добавил: aka_kludge (16.02.2011)
| Автор: Алексей Синцов, Digital Security
|
Просмотров: 1748
| Рейтинг: 0.0/0 |
Добавлять комментарии могут только зарегистрированные пользователи. [ Регистрация | Вход ]
|