Рамазан Рамазанов, DeteAct: Багбаунти — дело добровольное

erid: 2SDnjcbfz1H
Рамазан Рамазанов, DeteAct: Багбаунти — дело добровольное
Рамазан Рамазанов, DeteAct: Багбаунти — дело добровольное
12.03.2024

Рамазан Рамазанов, руководитель отдела внешних пентестов DeteAct, лауреат премии «Киберпросвет», автор блога Bounty On Coffee и один из самых результативных российских багхантеров, рассказал порталу Cyber Media о своем опыте участия в багбаунти-программах и специфике анализа защищенности банковских систем.

Cyber Media: Почему вам наиболее интересны багбаунти-программы компаний, которые относятся к банковской/финансовой отрасли?

Рамазан Рамазанов: Для меня банковская отрасль интересна, во-первых, своими сложными архитектурными системами. Из-за сложности не все хотят в этом разбираться и поэтому остается много багов. А, во-вторых, я сам клиент многих банков, которые тестирую. «Ломать» продукт, которым ты пользуешься в повседневной жизни — вдвойне интересно, хочется сделать его лучше и безопаснее. 

Также стоит отметить, что у банков, как, впрочем, и у всех финансовых сервисов, присутствует целый пласт специфических уязвимостей — баги платежных сервисов, связанные с действиями с деньгами. Например, подмены цен, подписей, race condition, ошибки с округлением и т. д.  

Cyber Media: Насколько часто в банках встречаются логические баги и насколько критичны уязвимости, связанные с бизнес-логикой?

Рамазан Рамазанов: Логические баги — это недостатки в бизнес-логике приложения. С каждым годом их становится все больше. Это напрямую связано с архитектурой приложений. Чем сложнее архитектура банковских приложений, тем больше логических багов. Но продумать и реализовать приложение со сложной архитектурой без ошибок практически невозможно. Они есть в 99% случаев. 

Логические баги могут быть простыми и сложными. Например, есть баги вообще без security impact. Встречаются очень простые уязвимости, например, IDOR, которые легко найти и эксплуатировать. И из-за низкой сложности эксплуатации таких багов растет риск security impact. Также можно встретить достаточно сложные недостатки, для эксплуатации которых нужно реализовать длинные цепочки недостатков. При этом одно из главных условий нахождения сложных логических недостатков — глубокое изучение приложения.

Cyber Media: Какие банковские сервисы наиболее привлекательны с точки зрения исследователя безопасности? Почему?

Рамазан Рамазанов: Для меня наиболее привлекательны три вида банковских сервисов. Первые — те, которые люди используют чаще всего. Например, сервисы онлайн-банкинга для физлиц. Они интересны тем, что их используют часто и массово. Клиенты банка могут несколько раз в день заходить в приложение и выполнять какие-то действия — от оплаты парковки до заказа продуктовой доставки на дом. Такие сервисы сложные и интересные.

Также меня привлекают труднодоступные сервисы, требующие каких-то специфических доступов. Например, сервисы онлайн-банкинга для юридических лиц. Чтобы получить доступ и протестировать их, потребуется оформить ИП или ООО. Но мало кто из исследователей готов пойти на это. Если кто и исследовал такие банковские сервисы, то только внутренние безопасники в рамках пентестов и внешние пентестеры. И если тестирования проводились не очень хорошо, в таких сервисах обнаруживается много багов. 

Отдельно хотелось бы выделить банковские сервисы оплаты. Они есть у каждого банка и, по сути, это огромный пласт работы для исследователей. Обычный пользователь видит 1% того, что есть на самом деле в сервисах оплаты. Фактически клиент банка видит ссылку на оплату, вводит номер карты, оплачивает — на этом взаимодействие заканчивается. На самом деле процессов, которые происходят до и после транзакции, огромное количество. Плюс у подобных сервисов практически нет интерфейсов, к ним сложно добраться, и их сложно-доступный функционал требует тщательного изучения. Но если исследователю удается дойти и разобраться с модулями сервиса оплаты, то можно найти баги с большим импактом, за которые полагается щедрое вознаграждение.  

Cyber Media: Можно ли маркетплейсы отнести к банковской отрасли? Ведь сейчас многие маркетплейсы имеют свои платежные сервисы, а некоторые даже собственные банки.

Рамазан Рамазанов: Частично, да. Дело в том, что у платежных сервисов маркетплейсов очень ограниченный функционал — есть только то, что нужно и ничего лишнего. Это хороший способ защиты — нет ничего лишнего, значит, и риск возникновения багов минимальный.

Если рассматривать крупных ретейлеров, уже имеющих свои багбаунти-программы, например, Ozon или Wildberries, то их платежные сервисы похожи на банковские, но в плане функционала более упрощенные.  

Cyber Media: Вернемся к банкам. Они часто выпускают какие-то новые сервисы. С точки зрения багхантера, как нужно действовать — сразу идти тестировать новинку или стоит немного подождать?

Рамазан Рамазанов: В сложных системах скорость не имеет значения. Конечно, если зайти сразу, можно найти какие-то поверхностные баги. Но если мы говорим о более сложных уязвимостях, придется долго изучать приложение. Я не говорю, что не стоит сразу же идти тестировать новые сервисы. Но нужно понимать, что при быстром поверхностном изучении можно найти только простые баги, которые пропустили внутренние безопасники или внешние пентестеры. Чтобы найти сложные и импактовые баги, потребуется глубокое погружение. 

Cyber Media: В последнее время все чаще всплывают проблемы багхантеров с вилками оплат в багбаунти-программах и концептами обоснования. Насколько это систематические сложности и решаемы ли они?

Рамазан Рамазанов: На мой взгляд, такие сложности не системные, а субъективные. Если мне что-то не нравится в багбаунти-программе, я просто прекращаю искать баги. Моя позиция очень простая — не нравится, не делай. Если программа действительно недобросовестная, то в ней никто не будет хантить, никто не будет нести туда уязвимости. Но бывают проблемы персонального восприятия. То есть конкретному пользователю программа кажется недобросовестной, но при этом другие исследователи продолжают тестировать и нести уязвимости. Значит, программа их устраивает. 

Если говорить о моем личном опыте, то есть программы, которые мне не нравятся. Например, у одной крупной онлайн-площадки мне платили достаточно много за найденные SQL-уязвимости. Но логические баги, которые по импакту были не хуже, не оплачивались вообще — они не входили в область действия программы. 

Поэтому, если у багхантера есть проблемы с оплатой или обоснованием, например, по уровню критичности бага, советую просто выбрать другую программу.  

Cyber Media: На багбаунти платформах представлены закрытые и открытые программы. Как вы считаете, в закрытых программах выше вероятность найти больше уязвимостей?

Рамазан Рамазанов: В приватных программах больше шансов найти какие-то простые баги. Это обусловлено тем, что закрытые программы ранее не были протестированы багхантерами и в них можно быстро найти какие-то легкие уязвимости. Но нужно учитывать, что закрытые программы зачастую имеют ограниченный скоуп. 

Cyber Media: Расскажите, что именно привлекает багхантеров в программах, кроме выплат? Есть какие-то дополнительные предпочтения?

Рамазан Рамазанов: В своем блоге я недавно проводил опрос на эту тему. На первом месте, естественно, были высокие выплаты. Но это не единственное, что привлекает исследователей. Среди популярных вариантов также были — право пользоваться услугами самой программы, быстрота выплат, доступ к сложному архитектурному приложению, на котором можно учиться искать баги.  

Cyber Media: В работе багхантеров нередко случаются расхождения между собственными ожиданиями и мнением компании, которая оценивает баг? Из-за чего это происходит?

Рамазан Рамазанов: Основная причина — выплаты. Все остальное, так или иначе, с этим связано. Например, расхождение в оценке уровня критичности напрямую влияет на размер выплаты. То есть единственная причина разногласий — это выплаты. Сколько выплатят и выплатят ли вообще. 

erid: 2SDnjcLt8zP erid: 2SDnjcLt8zP
Популярные материалы

Комментарии 0