Заказать поиск уязвимостей

Здравствуйте. Меня зовут Антон Кузьмин. Я занимаюсь созданием и защитой веб-приложений. Опыт работы в данной области более 7 лет.

Список предоставляемых мною услуг состоит из следующих пунктов:

  1. Внешнее исследование веб-сайтов или отдельных веб-приложений
  2. Исследование исходных кодов веб-приложений на предмет наличия в них уязвимостей
  3. Консультации в области защиты веб-приложений
  4. Стоимость
  5. Связь

 

1. Внешнее исследование веб-сайтов или отдельных веб-приложений
В данном случае тестирование проводится методом «чёрного ящика». Я исполняю роль атакующего, которому ничего неизвестно о системе (или известно, но очень мало). Обнаружение изъянов производится как автоматизированными методами (использование специализированных утилит, сканеров), так и вручную. По желанию заказчика ПО, автоматизирующее какие-либо действия злоумышленника, может быть исключено из списка используемых инструментов. Например, необходимость в этом может возникать, когда постоянная нагрузка на сервер, на котором находится проверяемое приложение, очень высока.
Данная услуга предоставляется в трёх вариантах, различающихся расположением целевых приложений.

 

1.1 Когда приложения располагаются на рабочем сервере
В данном случае все действия по поиску уязвимостей будут произведены «по живому» — на рабочих экземплярах приложений, с которыми в момент проверки взаимодействуют реальные пользователи. Это очень опасно, так как при исследованиях методом «чёрного ящика» всегда есть вероятность нарушения работы приложения по причине незнания его архитектуры. А в данном случае, при столь неблагоприятном развитии событий, это напрямую затронет реальных посетителей, что может нанести материальный ущерб заказчику. Со стороны тестировщика здесь также имеется множество неудобств — необходимо действовать очень аккуратно и отказываться от многих проверок, дабы свести риск появления ущерба для заказчика к нулю. К тому же, в случае успешного проникновения высока вероятность того, что в руки к исполнителю случайно могут попасть персональные данные или другая чувствительная информация, принадлежащая реальным людям.

 

1.2 Когда приложения располагаются на тестовом сервере заказчика
Думаю, название этого варианта говорит само за себя. Заказчик располагает целевые приложения в тестовом окружении и даёт к ним доступ исполнителю. Основным условием здесь является то, что всё, что происходит с тестовыми копиями приложений, никак не должно влиять на их рабочие экземпляры. Это даёт тестировщику полную свободу действий, а также сводит к нулю вероятность попадания в его руки какой-либо чувствительной информации (хеши паролей реальных пользователей, их имена, почтовые адреса), персональных данных и т. д. Ведь заказчик просто может изменить их на фиктивные.

 

1.3 Когда приложения располагаются на моём тестовом сервере
Тоже самое, что и вариант описанный выше, только здесь тестовые экземпляры приложений располагаются на моём оборудовании. В случаях когда заказчик понимает всю опасность тестирования рабочих копий приложений, но по каким-либо причинам не может организовать тестовое окружение, я бесплатно предоставляю ему для этого одну или более VDS (количество и характеристики подбираются для каждого случая отдельно). Контролировать их работу (по VNC/SSH) заказчик может с самого начала установки. При этом, если виртуальных серверов несколько, они будут объединены друг с другом в локальную сеть, доступ к которой осуществляется по зашифрованному VPN-соединению. Вся работа по настройке серверов и развёртыванию тестовых копий целевых приложений может производиться как специалистами заказчика, так и мною под его руководством.

 

2. Исследование исходных кодов веб-приложений на предмет наличия в них уязвимостей
Так как тестирование происходит методом «белого ящика», вероятность обнаружения уязвимостей значительно возрастает. Возьмусь за исследование приложений написанных на языке PHP. Знаком с фреймворками ZendFramework и Kohana.

По окончанию работ связанных с вышеописанными услугами заказчику предоставляется отчёт, в котором содержится общая оценка защищённости приложения(ий) и список найденных уязвимостей с их подробным описанием, демонстрационными примерами и рекомендациями по устранению.
Предвидя распространённый вопрос «А на какие виды уязвимостей проводятся проверки?», могу сказать, что всё зависит от конкретного случая, ведь в разных приложениях могут использоваться разные технологии, и проводить проверки, связанные с неиспользуемой технологией, бессмысленно. Поэтому весь список проводимых проверок формируется непосредственно в процессе работы. Думаю, полезнее будет указать классы знакомых мне изъянов:

  • Уязвимости инъективной группы (XSS, всевозможные инъекции (MX, CRLF, LDAP, SQL и т.д.), RFI/LFI)
  • Нарушения логики работы приложения
  • Проблемы авторизации и идентификации пользователей
  • Уязвимости связанные с устройством файловой структуры сайта
  • Небезопасная настройка ПО (как самого приложения, так и его окружения — СУБД, веб-сервера и т. д.)
  • Ошибки, позволяющие осуществить атаки направленные на отказ в обслуживании (не путайте с DDoS-атаками)
  • Остальное (раскрытие информации, JavaScript Hijacking, возможность обхода CAPTCHA, возможность сбора почтовых адресов и пр.)

 

3. Консультации в области защиты веб-приложений
Помощь с вопросами идентификации и устранения каких-либо уязвимостей, защиты веб-приложений и пр. Связь возможна как по электронной почте, так и по телефону или Skype.

В случае работы с услугами 1.1 и 1.2 заказчику предоставляется телефон для экстренной связи, по которому меня можно найти в любое время суток.

На каждую из вышеприведённых услуг с заказчиком заключается договор. Его подписание возможно двумя способами — с помощью ЭЦП или через пересылку Почтой России. В последнем случае письмо высылается экспресс-почтой (EMS), так что времени на само заключение договора уходит немного. По желанию заказчика возможно использование договора его образца.
В случае заказа услуг №1.3 (если установкой целевых приложений занимаюсь я) и №2 оформляется акт приёма-передачи исходных кодов.
В конце работы заказчику предоставляется счёт на сумму, оговариваемую при подписании договора, а также акт сдачи-приёмки оказанных услуг/работ. По желанию может быть предоставлен товарный чек.

4. Стоимость

Каких-то фиксированных сроков и цен у меня нет. Всё это определяется в ходе ознакомления с целевым приложением. Если вдруг цена для заказчика оказывается слишком высокой, всегда есть возможность её корректировки. В среднем месяц моей работы с одним заказчиком стоит 20 000 рублей. Но заказы с таким временем выполнения встречаются редко. Чаще всего всё решается в течении 1-3 недель.
Работаю только с фиксированной оплатой, то есть на схемы «n рублей за уязвимость» не соглашусь.

Оплата производится любым удобным для заказчика способом — банковским переводом, WebMoney, YandexMoney и т. д.

5. Связь

Любые вопросы можете задать мне по Skype на логин anton.kuzmin.russia или по электронной почте на адрес anton.kuzmin.russia@gmail.com . Обязательно отвечу на все поступившие сообщения.