В мероприятии участвуют Григорий Васильев, руководитель направления Application Security, компания «СолидЛаб», Сергей Трунов, руководитель направления по работе с партнёрами, компания «СолидСофт».
Компания SolidSoft уже более 10 лет существует на рынке. Начинали работу с группы специалистов выходцев из ВМК МГУ (это факультет вычислительной математики и кибернетики). И до сих пор выпускники ВМК МГУ составляют основу коллектива, среди них есть даже специалисты, которые продолжают работу на кафедре ВМК. Начинали мы с анализа защищенности приложений, анализа защищенности инфраструктуры, пин-тестов. Т.е. опыт знакомства с защитой был поначалу через попытки ее преодоления. Эти компетенции у нас до сих пор активно развиваются в группе компаний. Но, работая с решениями для защиты, сталкиваясь с ними, мы увидели, что решения для защиты web-приложений недостаточно эффективны по той причине, что либо слишком просты по настройке (а это уровень защиты только от базовых атак), либо есть решения с большим количеством опций по защите, но при этом они недостаточно хорошо сконфигурированы и настроены. И настройки бывают зачастую устаревшими. И поэтому их несложно преодолеть за какие-нибудь полчаса. Глядя на это, мы поняли, что у нас есть возможность для развития собственного продукта, о котором мы сегодня и поговорим.
Но, прежде чем начнем, хочу упомянуть еще и том, что наша компания предлагает также другие решения и сервисы. Никуда не делся анализ защищенности приложений и инфраструктуры, тестирование на проникновение. Есть экспертиза, которую активно предлагаем нашим клиентам. Это внедрение процессов разработки защищенных приложений. Защищаем приложения в процессе эксплуатации.
Наши продукты это SolidWall WAF - безусловный флагман, SolidWall DAST - сканнер защищенности, который мы выводим на рынок. Также выводится на рынок решение по on-line обучению "Практика защищенной разработки". И это далеко не все. Есть еще целый ряд, связанных друг с другом решений для анализа защищенности приложений, для обеспечения защиты в процессе эксплуатации web-приложений. И в этом направлении мы продолжаем активно развиваться.
Но вернемся к Application Firewall. Сомнений нет в том, что они сейчас нужны, с этим сейчас уже никто не спорит. Особенно после того, как Россия столкнулась с массовыми атаками после начала СВО. И в целом нужно понимать, что защищать надо практически все web-приложения, с которыми сейчас связано не только представление страниц визитки сайта, как это было раньше, но и бизнес-процессы внутри самих организаций. Т.е., если лет 15 назад, для того, чтобы проникнуть в инфраструктуру компании, злоумышленники иногда пытались пройти через web-приложения, а сами приложения их практически не интересовали, то сейчас их внимание привлекают как раз сами приложения. Потому что именно на них сейчас завязан весь бизнес. Т.е. уже внутри самих web-приложений есть бизнес-процессы, прерывание которых критично для компании и для организации. Уже внутри web-приложений есть критическая информация, потеря которой будет очень серьезной для организации и будет являться лакомым кусочком для злоумышленников. И сами простои, недоступность web-приложений сейчас тоже ведет к прямым рискам для бизнеса, и является прямой угрозой для репутации компании. Поэтому сейчас web-приложения и мобильные приложения (как один из ее вариантов) уже не являются сквозной, проходной точкой для злоумышленников, пытающихся проникнуть внутрь корпоративной инфраструктуры. Сейчас именно приложения являются целью атак злоумышленников. И защита должна этим атакам противостоять в должной мере.
Теперь давайте разберемся, какой скрипт нужен для выбора этого решения. Посмотрим по секторам. На слайде слева: Финансы, Медиа, Госсектор и заказчики. Это то, что мы активно умеем защищать. И не просто защищать. В каждом из этих секторов у нас есть клиенты, давно и успешно пользующиеся нашим продуктом, и обратная связь от них позволяет развивать наши решении в том направлении, чтобы специфика набора угроз, с которыми сталкиваются эти организации, учитывалась в нашем продукте, и чтобы этим угрозам клиенты могли успешно противостоять. Понятно, что угрозы эти разные. В E-commerce есть угроза попытки скрапинга, т.е. определения информации с помощью бота ценных предложений, интересных для конкурентов, или попытка подобрать промо-код или какие-то еще данные, которые позволят произвести некие финансовые транзакции, выгодные для злоумышленников. В каждом секторе есть своя специфика угроз, и мы ее всегда учитываем. Сюда можно еще добавить и промышленные организации, которые во многом государственные, и поэтому не выделены в отдельный сектор.
Теперь про сценарий использования, про технологии. То, что обозначено на слайде синим цветом слева, это то, что должно быть в любом web-application в firewall. Это защита от типовых атак OWASP top 10 (Open Web Application Security Project). Это типовой набор коммерческой организации, которая регулярно обновляет самые актуальные и профильные атаки и угрозы для web-приложений. Топ 10 - не означает, что их всего десять, и на этом все заканчивается. Их гораздо больше. Это просто наиболее актуальные, от которых надо защищаться.
Защита от синтаксических атак, от атак на пользователя, на сессию. Защита от атак нулевого и первого дня - все это должно быть. И у нас это тоже есть. Но есть еще технологии, в которых мы чувствуем себя увереннее, чем наши конкуренты. Это логические атаки. Здесь есть понимание того, что web-приложения все больше привязываются к бизнес-процессу, и, соответственно, к бизнес-логике внутри web-приложений. И она всегда индивидуальна. В отличие от технологий, в которых используются типовые наборы фреймворков. И угрозы, уязвимости, которые там есть, патчатся, и это общая история, часто скрываемая сигнатурными технологиями. Но бизнес-логика в каждом приложении своя. И уязвимости, которые строят разработчики, а они зачастую их все-таки оставляют без внимания, потому что написать web-приложение, порог входа в которое существенно ниже, чем порог входа для написания безопасного защищенного web-приложения, которое требует навыков в security, много сложнее. И здесь мы умеем учитывать эти особенности бизнес-логики как при настройке, так и при обучении системы, и защищать эти web-приложения. Такая защита получается индивидуальной.
Защита от ботов. Здесь использованы уникальные технологии, о которых мы чуть дальше расскажем. Предотвращение мошенничества.
Защита внутрикорпоративных сайтов. Даже если это приложение используется внутри организации, часто это приложения, которые доступны через web-интерфейс или через мобильные приложения. Т.е. это технологии те же самые. Защищать корпоративные приложения тоже нужно, но здесь специфика может быть связана с защитой от утечки корпоративных данных, от активности инсайдеров, возможна и такая ситуация. Мобильные приложения - это тоже web-приложения. Т.е. то, что мы на мобильном телефоне видим как приложение, по сути это только средство общения с серверной частью мобильного приложения. Основные действия происходят на web-сервере и, соответственно, его тоже нужно защищать.
Про ресурсы обслуживания. Дело в том, что экспертиза, о которой я говорил выше, может быть доступна для заказчика в рамках сопровождения нашего продукта. Заказчик может выбрать любой набор сервисов начиная от базового сервис-деска (вопросы-ответы). Это в случае, если заказчик планирует самостоятельно работать с продуктом и если у него достаточная компетенция для этого, но просто иногда требуются консультации с нашими специалистами. И заканчивая вариантом, когда приложения защищаются нашими инженерами. Т.е. некий аутсорсинг, удаленный доступ, мониторинг. И при возникновении атак и инцидентов наши специалисты информируют заказчика, сами настраивают защиту, блокируют атаки, при изменении самих web-приложений донастраивают модифицируют наши правила защиты. А в результате атак дают рекомендации по тому, как можно защитить существующие приложения на уровне разработки, вплоть до того, что наши эксперты рекомендуют вносить некоторые изменения в web-приложения с тем, чтобы они сами по себе стали менее уязвимыми. И вся экспертиза, которая есть у нас, в рамках этих сервисов, становится доступной для заказчика.
Активный цикл разработки web-приложений. То, что сейчас является сложившейся тенденцией, web-приложения очень активно обновляются и меняются, приводит нас к тому, что и защита должна успевать за этими изменениями. Если для нас неприемлемы такие ситуации, когда, например, выходит новый релиз, автоматическая донастройка защиты еще не произошла, а пока приложение не обновило свои настройки, оно в большей степени, чем обычно, уязвимо, то делается настройка еще на тестовом сервере и потом она вместе с новым релизом переносится в систему. Это не настройка с нуля, это эмплиментарная настройка, относительно менее трудоемкая. Получается, что защиту web-приложения в рамках активного цикла разработки удается обеспечивать постоянно.
Мы, естественно, сталкиваемся с требованиями регуляторов и здесь у нас существенным фактором является сертификация ФСТЭК. У нас этот сертификат получен примерно год назад. И в этом плане требованиям регуляторов мы соответствуем. Также мы находимся в Реестре отечественного ПО. И с этой точки зрения соответствуем требованиям указа президента о необходимости использования российских продуктов.
Системы, которые используют наш SolidWall WAF, должны будут аттестовываться. И в этом контексте наш продукт вместе со всей системой, готов к аттестации, и проходит аттестации за счет того, что там реализованы нужные технологии. В частности, требование маскирования и требование постоянной проверки всего трафика.
Когда речь идет о целенаправленных атаках, о попытках защитить еще более тонко приложения и более качественно, то заказчик сталкивается с ситуацией, что эти решения просто не имеют такой возможности. Т.е. "ручек", которые позволяют тонко настроить защиту таких решений и технологий, которые это обеспечивают, не оказывается. На другом полюсе мощные решения, у которых как раз "ручек" очень много, но они требуют человеческих ресурсов, вплоть до того, что приходится использовать встроенные скриптовые языки для того, чтобы настраивать правила. Т.е. это требует дополнительные компетенции и расходует экспертное время. С этим мы как и раз сталкивались. Когда используются мощные решения, они используются не на полную силу из-за того, что, либо не хватает экспертизы и ресурсов, чтобы использовать в полной мере их потенциал, либо их настроили один раз, и их защита отстала из-за того, что изменились векторы угроз, и приходится защищать само приложение, которое стало сильно отличаться от того, что было прежде. И мы снова сталкиваемся с тем, что от целенаправленных атак такие WAF плохо защищают. Их защита отстаёт или в принципе не соответствует предъявляемым требованиям. Либо очень много ресурсов тратится на то, чтобы эту защиту поддерживать в актуальном состоянии.
Наше решение не является компромиссом между этими двумя полюсами. Оно сочетает требования и к оперативному внедрению и защите практически сразу после того, как решение инсталлировано, и сочетает возможности по тонкой настройке от практически всех атак на web-приложения. И эта защита не столь трудоемка. Она не требует больших усилий от инженеров потому что есть технологии, которые экономят человеческие ресурсы. Конечно же, здесь идет речь о машинном обучении.
Основные сценарии, которые мы используем, это типовые атаки, атаки ботов, OWASP top 10, логические, zero-day, one-day атаки, защита от ботов, от мошенничества, защита мобильных приложений. Упомянем отдельно защиту от DOS и DDOS атак. Когда речь идет о массовой атаке с огромным количеством http запросов, пусть и простых, но массовых, например, распределенных атаках, то в этом случае, при столкновении с такими атаками, нужен реальный типовой продукт anti DDOS. И мы настоятельно рекомендуем перед WAF ставить решения класса anti DDOS. Но есть атаки, которые, проходя через фильтр грубой очистки, которым является anti DDOS, с точки зрения защиты web-приложений, могут через нее пройти. Например, атаки, направленные на исчерпание неких ресурсов web-приложения. В частности, если запустить несколько запросов, которые будут сравнивать не одно-два предложения продуктов, например товаров на сайте интернет-магазина, а 1000 или 2000. Такие запросы пройдут через anti DDOS потому, что они не массовые, но при этом могут перегрузить вычислительные мощности самого web-приложения. И вот защита от таких атак умного DOS на уровне L7 является спецификой нашего решения, спецификой Web Application Firewall.
Про исчерпание ресурсов можно сказать, что это могут быть атаки не только на исчерпание вычислительных ресурсов. Это могут быть атаки на бронирование некоторых ресурсов. Таких, например, как бронирование товаров, билетов или номеров в гостиницах. Эти атаки связаны с бизнес-логикой.
О наших преимуществах. Максимальный спектр сценариев использования. В различных сегментах мы умеем хорошо защищать приложения специализированные практически под любые бизнес-задачи. Здесь мы можем по сути отразить в правилах настройки бизнес-логику web-приложения, учитывать и последовательность действия, т.е. последовательность запросов. Очевидно, что для того, чтобы залогиниться, пользователю нужно сначала запросить страницу авторизации. И, если он сразу кидает запрос, в котором есть логин - пароль, то это странно, это требует внимания. Это можно просто запретить. Есть возможность отслеживать ответы такие, как попытки перебора. При попытке перебора, возникает масса отрицательных ответов от web-сервера. Мы отслеживаем эту ситуацию, видим, что идет перебор, попытка подобрать пароль или промокод, или какую-то еще информацию. Мы можем отслеживать даже то, какой именно параметр пытаются подобрать и такую атаку мы можем блокировать. Мы смотрим на результаты этих запросов, и также смотрим по самой структуре запросов то, какой именно параметр пытаются перебрать.
Интерпретированное машинное обучение. Это как раз то, что позволяет освободить руки инженеров для более интересной работы. Наше решение - это не черный ящик, который создает правила и, если они чем-то не устраивают заказчика, понять инженеру, что происходит, и почему, и что-то настроить самому - очень трудно. Потому все это скрытые правила. В нашем случае правила, создаваемые web-приложением в рамках машинного обучения интерпретируемы и корректируемы администратором. Т.е. они выглядят так, как если бы пользователь создавал их сам. Естественно, что пользователь назвал бы правила, например, "вход в систему" или "оплата". Сам Web Application Firewall правила так не назовет, но создаст модель, которая будет практически неотличима от модели, создаваемой администратором, и в этом случае администратору легче работать с такими результатами, донастроить их относительно просто. Если изменилось web-приложение, не надо переделывать все правила. Мы понимаем, в какой части оно изменилось, можем машинное обучение натравить именно в этой части, можем сами руками что-то донастроить.
Мощные технологии противодействия ложным срабатываниям заключаются в том, что, если мы видим, что какое-то правило вызывает ложное срабатывание, то для нас это не является основанием для того, чтобы правило отключить. Мы можем посмотреть, в чем именно это ложное срабатывание отражается, например, в определенном параметре. И для этого параметра для каких-то особых настроек запроса, вплоть до того, что, например, до определенного лимита какого-то параметра. Например, это может быть оплата до 100 рублей или ниже 100 рублей. Мы это правило можем заблокировать. А в остальном это правило будет работать, и не вызывать ложных срабатываний. И таким образом уровень защиты за счет противодействия ложным срабатываниям мы не понизим. Здесь баланс между ложными срабатываниями и уровнем защиты получается более эффективным.
Дальше можно рассказать о технологиях. Модели для всех аспектов работы приложения. Они уникальны, причем на разных уровнях. На всем уровне стека от базовых вещей таких, как анализ выполнения правил, по которому составляется запрос соответствия, требованиям к ним, до уровня бизнес-логики и уровня сессии. Мы можем, если это необходимо, модель авторизации последовательно отобразить на настройках WAF, и понимать, что эти действия относятся к последовательности сессии данного пользователя. Вот он зашел, вот он отработал, вышел, все это можно отразить в рамках продукта.
Ложные срабатывания. Здесь есть целый спектр инструментов, которые делают эту работу удобной. От блокирования ложных срабатываний одной кнопкой до тонкой настройки, выбирающей уровень, на котором ложное срабатывание происходит, и для которого мы делаем эту настройку актуальной. Отражение бизнес-логики, в том числе и с позитивной последовательностью бизнес-действий, и с негативной. Мы можем даже сделать цепочку действий, которая не должна происходить в жизни, и при появлении такой последовательности запросов, мы будем соответственно реагировать.
Комплексный алгоритм защиты от переборных атак и ботов – это тоже мощный инструмент. Это и возможность по различным параметрам блокировать источник атак, и не просто блокировать IP, а выявлять некий актуальный для выявленного бота параметр, причем автоматически. Причем, это работает как для браузерных web-приложений, так и для мобильных приложений. Например, один из параметров, который можно учитывать, это не цель атаки, а версия мобильного приложения. Мы с этим тоже сталкивались, когда злоумышленники распарсивали мобильное приложение, и с помощью распарсенного мобильного приложения организовывали атаку. Понятно, что у них версия приложения была более старая, и даже по одной этой информации можно было противодействовать атаке. Здесь настройки очень тонкие. И также можно кроме источников работать с целями перебора, определять, что именно злоумышленник пытается перебрать, и тут же блокировать эти действия.