Каким должен был быть RASP

Каким должен был быть RASP

Каким RASP должен был быть анализ данных PlatoBlockchain. Вертикальный поиск. Ай.

В последние годы безопасность приложения мир стал свидетелем подъема самозащита приложений во время выполнения (RASP) технологии. Как описывает Gartner, RASP — это технология безопасности, интегрированная в приложение или его среду выполнения, способная контролировать и предотвращать атаки в реальном времени. К сожалению, многие Брандмауэр веб-приложений (WAF) компании увидели возможность использовать этот термин. Они представили «RASP-подобные» агенты на сетевом уровне, что не полностью охватывает определение технологии RASP.

Напротив, подлинная технология RASP работает на прикладном уровне, где она имеет полный контекст пользователя, логику приложения и информацию о домене. Этот контекст позволяет RASP принимать обоснованные решения о безопасности приложения и предотвращать эксплойты до того, как они смогут причинить вред. В результате настоящий RASP должен иметь нулевое количество ложных срабатываний и уменьшенную задержку, обеспечивая немедленное повышение производительности. Настоящий RASP требует наличия списка неизменяемых правил, которые используют контекст, чтобы понимать, когда появляется новая уязвимость, и действовать соответствующим образом. Эта неизменность возможна, когда правила встроены в базу кода на уровне приложения и не требуют никаких изменений после развертывания.

Три области, в которых RASP пошла не так

1. Проблема лающей собаки: большинство предупреждений являются ложными срабатываниями

Проблема с WAF в том, что они работают на сетевом уровне, что является запаздывающим индикатором выполнения приложения. В результате отсутствие контекста приводит к высоким показателям ложных срабатываний, длительному времени ожидания и низкой производительности, поскольку WAF могут только догадываться о характере уязвимости на основе того, с чем они ранее сталкивались.

Представьте себе сторожевую собаку во дворе, которая лает всякий раз, когда слышит шум за забором. Эти звуки могут свидетельствовать о приближении злоумышленника, но также могут быть и проезжающими мимо автомобилями. Сторожевая собака не может точно оценить разницу, поэтому интенсивность любого данного шума теряется, из-за чего люди в доме не могут узнать, какие предупреждения являются подлинными, а какие - ложными. Этот сценарий, по сути, является возможностью стандартного предложения RASP.

2. Проблема 999 плохих парней: можно протестировать только образец

Хотите верьте, хотите нет, но некоторые поставщики советуют запускать их решения безопасности в производственных средах только в том случае, если вы защищаете только образец. Это означает, что он извлекает образец — возможно, один из каждых 1,000 запросов — и тестирует этот образец, отслеживая, что происходит для следующих 999. Это означает, что если вы хороший актер, ваша подпись будет проверена. Но независимо от того, имеют ли следующие 999 актеров плохие намерения или нет, они добьются своего. Это отсутствие согласованности связано с тем, что RASP на основе WAF не могут удовлетворить требования к производительности, связанные с необходимостью тестировать каждый запрос.

3. Проблема «это занимает слишком много времени»: задержка влияет на производительность

Каждый раз, когда у вас есть RASP на основе WAF, вы испытываете повышенную задержку, поскольку она никак не может повлиять на кодовую базу приложения. Между тем широко распространенные RASP должны отправлять целые текстовые данные в свой веб-анализатор, а затем ждать, пока они будут отправлены обратно, что может занять много времени. И если ваши клиенты ждут оплаты, они могут сдаться и вместо этого искать ваших конкурентов.

Улучшение этого процесса похоже на оптимизацию кода. При создании списка разработчики настроили его так, чтобы новые элементы добавлялись в начало списка, а не в конец. Эта оптимизация не позволяет виртуальной машине перестраивать весь список каждый раз, когда добавляется новый элемент, предотвращая увеличение задержки по мере роста списка. Инженеры-компиляторы решили эти проблемы, внедрив в начале 2000-х JIT-компиляцию, которая автоматически оптимизирует код с учетом особенностей данного языка.

Почему определение RASP было таким разбавленным?

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

True RASP оптимизирует код для повышения производительности и безопасности

Поскольку большинство платформ RASP ведут себя как WAF, это связано с большими накладными расходами, что требует запуска их в демонстрационном режиме. Напротив, настоящий RASP выполняет фактическую защиту во время выполнения.

Эти операции существуют в памяти, что очень эффективно, и поскольку они находятся в том же пространстве, что и ваши приложения, они очень производительны. Выполняя защиту во время выполнения, нет необходимости ограничивать скорость или выполнять защиту в размерах выборки, поскольку фактическая операция занимает всего несколько миллисекунд.

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

RASP по определению соответствует многим принципам инфраструктуры как кода. Эта параллель возможна благодаря глубокому контекстуальному пониманию приложения и языка, на котором оно построено. Нравиться инфраструктура как код, настоящий подход к RASP может и должен использовать неизменность, чтобы гарантировать, что правила применяются независимо от изменений в кодовой базе.

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

Такой подход позволяет безопасности быть независимой от развертывания и не требует внесения изменений в код приложения, настройки или ожидания окон развертывания.

Выполняя защиту во время выполнения, исправляя результаты с немедленной защитой на всех запущенных экземплярах приложения, устраняется необходимость в постоянных ложных срабатываниях и устраняется риск будущих эксплойтов.

RASP может и должен соответствовать более высоким стандартам

Короче говоря, RASP должен соответствовать более высоким стандартам. Когда это сделано, можно защитить тысячи приложений, снизив общую стоимость владения вашими WAF и помогая предотвратить выгорание ваших групп безопасности.

Отметка времени:

Больше от Темное чтение