Пентест: классический и «багбаунти»
Одним из наиболее стремительно развивающихся в последние годы направлений услуг в сфере ИБ является, что и неудивительно, тестирование на проникновение. Это обусловлено общей тенденцией мирового сообщества к тотальной цифровизации всей жизнедеятельности. Соответственно, чем больше становится электронных услуг, девайсов и приложений – тем больше в них потенциальных уязвимостей и угроз. Это эволюционный процесс, предпосылок к сворачиванию которого сейчас объективно не имеется. Скорее, будет наблюдаться глобальная тенденция к проникновению «цифры» во все сферы жизнедеятельности человека, от «Интернета вещей» до образовательного процесса даже в начальных классах.
Типовое оборудование имеет типовые уязвимости, это же касается и типового программного обеспечения. Тут, видимо, следует принимать во внимание два основных фактора: собственная криворукость создателя ПО и системные баги приложений и библиотек для создания ПО. По «личной криворукости» всё понятно – если человек в принципе весьма далёк от понимания ИБ как сущности, в создании кода он не станет придерживаться даже минимальных процедур и рекомендаций, потому что не знает о них. Ну и поэтому конечно же оставит изрядное количество классических дыр и уязвимостей. По второму фактору – для создания веб-ресурсов и веб-приложений используются вполне конкретные инструменты, список которых отнюдь не бесконечный. Можно сказать, что основных инструментов (сред разработки) для веба всего 4-5. Соответственно, каждый из таких инструментов уже разобран до последнего винтика людьми, проявляющими интерес к ИБ. Поэтому те баги, которые оставляют такие инструменты, тоже хорошо известны. Их можно устранить только путем внедрения соответствующих ограничений и политик непосредственно в коде (к примеру – запрет на использование определенных символов при любом вводе информации). Таким образом, для того, чтобы не «наступить на грабли», нужно знать все без исключения такие системные баги не только создаваемого ПО, но и применяемых при его создании инструментов.
Очень многие (да почти все!) компании, которые специализируются на создании веб-ресурсов и веб-приложений, да и вообще любых приложений, у которых имеется веб-интерфейс с минимальным функционалом, в последние 2-3 года стали уделять самое пристальное внимание тестированию на проникновение перед релизом очередного продукта. Некоторые компании всё ещё склоняются к онлайн-тестированию самого кода, некоторые закупают специализированное ПО для статического и динамического анализа кода приложений, однако всё больше и больше компаний склоняется к привлечению команд пентестеров для непосредственной «боевой» проверки созданного ими программного продукта.
Пентестер не может гарантировать заказчику 100-процентную безопасность проверенного им веб-приложения или веб-ресурса. Помимо использования стандартных методик и наборов (таких как OWASP TOP-10 и другие), каждый пентестер использует свои собственные «фишки» и опыт, полученный в ходе тестирования предыдущих приложений и ресурсов. Разумеется, базовые уязвимости, например SQL и XSS, не останутся без внимания в любом случае. Однако все мы понимаем, что ЛЮБАЯ СИСТЕМА МОЖЕТ БЫТЬ ВЗЛОМАНА. Открытым остается только вопрос о количестве времени и ресурсов, которые будут затрачены на такой взлом. Плюс вопрос человеческого фактора, когда «дырявый админ» ресурса будет именно тем самым слабым звеном, при наличии которого не спасешься никакими пентестами. Поэтому основная задача пентестера состоит в том, чтобы довести проверяемый им ресурс до такого уровня безопасности, когда его взлом станет экономически нецелесообразным.
Классический пентест включает в себя использование методов OSINT, нескольких видов сканеров, сопоставление результатов, планирование векторов атак, прохождение всего перечня уязвимостей согласно принятой методологии, а также предоставление детализированного отчета.
Помимо классики, отдельным большим направлением является пентест по принципу «багбаунти» - то есть тестирование, оплата за которое производится при обнаружении существенной уязвимости, сведения о которой оцениваются владельцем соответствующего ресурса. Что характерно, основными игроками на рынке «багбаунти» являются именно те компании, которые можно охарактеризовать как технологических гигантов – это Apple, Google, Eset и другие. Такие компании в официальной политике прямо призывают всё мировое сообщество тестировать и тестировать не покладая рук все без исключения свои продукты, доступные на рынке, и сообщать об обнаруженных багах владельцу – то есть корпорации. При выявлении определенного бага лицу, его обнаружившему, выплачивается вознаграждение. Сумма варьируется в зависимости от степени критичности. Эта передовая практика является мощным инструментом, который позволяет, во-первых, максимально обезопасить собственные значимые для общества продукты, во-вторых, не привлекая в штат компании большое число сотрудников-пентестеров фактически получить доступ к лучшим «мозгам» из этой сферы.
Сейчас в мире имеется ряд онлайн-ресурсов, которые привлекают пентестеров для совместной скоординированной работы по направлению багбаунти. Это общеизвестные HackerOne или BugCrowd и многие другие.
Вместе с тем, данные платформы характеризуются достаточно серьезным порогом вхождения. Начинающим пентестерам, а также пентестерам «средней руки» делать там нечего, поскольку они не выдержат конкуренции от тех «динозавров пентеста», которые там регулярно пасутся и, по сути, выгребают весь ресурс денежных вознаграждений.
Для трезвой оценки собственных сил и возможностей представляется целесообразным пробовать регистрацию на Платформах поменьше, которые работают по тому же принципу, однако не дают, разумеется, таких же больших вознаграждений за обнаруженные баги.
Одной из таких Платформ для талантливых ребят, вся вина которых заключается только в том, что они не родились на 15-20 лет раньше и не успели занять лидирующие позиции на HackerOne и BugCrowd, является Платформа «БагБаунтиБай» (
Ссылка скрыта от гостей
). В октябре 2020 года состоялся релиз бета-версии данной Платформы.Эта площадка позволяет владельцам веб-ресурсов и веб-приложений сэкономить колоссальные деньги на производство пентеста в его стандартном виде, а также сэкономить время на поиски удобных кандидатур и согласование договоров.
В бета-версии Платформы прямая монетизация не предусмотрена. Целями бета-версии являются: обкатка самой Платформы и устранение выявляемых ошибок логики и неудобств для пользователей; определение круга наиболее талантливых молодых пентестеров для формирования своего сообщества; наглядная демонстрация «среднего скилла» для заказчиков. Поэтому на этапе бета-версии работа ведется за баллы репутации. Три репутационные группы на Платформе (1-100, 101-500, 500+) обладают совершенно разными возможностями и полномочиями. Исполнители с рейтингом 500+ получают доступ к самым интересным Заказам в первую очередь, а Заказчики с рейтингом 500+ могут не только самостоятельно назначать приглянувшегося им в процессе работы Исполнителя, но и право на размещение своей формы Отчета для заполнения.
Каждый зарегистрировавшийся на стадии бета-версии в качестве Заказчика участник получает в подарок от Платформы или от партнера Платформы 100 баллов на свой аккаунт, которые могут быть им потрачены на 1 срочный пентест своего ресурса или на 2 обычных пентеста своих ресурсов. Таким образом, Платформа фактически дарит владельцам веб-ресурсов и веб-приложений 1-2 бесплатных пентеста по методологии «багбаунти» (обнаружение самых суровых багов, если таковые имеются).
Каждый зарегистрировавшийся на стадии бета-версии в качестве Исполнителя участник получает в подарок от Платформы возможность быстро прокачать собственный аккаунт до приемлемого уровня репутации: за каждый выполненный Заказ мы начисляем не стандартные +1, а +5 или +10 баллов (в зависимости от стоимости Заказа в баллах: 50 или 100). Таким образом, можно быстро перейти в следующую репутационную группу, что очень пригодится впоследствии. После релиза основной версии (предварительно в феврале-марте 2021), баллы репутации за любой заказ вне зависимости от его срочности и сложности начисляются стандартно: +1 за каждый выполненный заказ. Для тех, кто прокачает свой рейтинг в период бета-тестирования, такие баллы репутации, разумеется, перейдут на аккаунты полной версии.
На Платформе «Багбаунтибай» без проблем может зарегистрироваться любой Заказчик. При размещении Заказа надо будет только подтвердить право владения ресурсом, который размещается в Заказе. Что касается Исполнителей, им придется включить мозги и проявить смекалку, чтобы зарегистрироваться на Платформе. Это стандартная практика. Нужно немного покреативить и обойти ловушки, чтобы завершить процесс регистрации. Скажем так, пентестер даже «средней руки» без труда сможет их преодолеть. Но более никаких подсказок не будет. Подтверждено опытом, что преодоление данных препятствий вполне реально, поэтому должен быть какой-то минимальный естественный отбор.
В целом, выполнение Заказов (или попытки их выполнения) на любой Платформе «багбаунти» дают всем желающим начинающим пентестерам возможность получить бесценный практический опыт совершенно легальным способом – с прямого разрешения владельца тестируемого ресурса. Это отличная прокачка скиллов для тех, кто планирует связать свою жизнь с тестированием на проникновение.