С увеличением числа приложений, доставляемых потребителям, перспектива проведения тестирования на проникновение для каждого приложения с ограниченным бюджетом становится все более невозможной для большинства организаций. Тем не менее, кибер-риски приложений никогда не будут в достаточной степени снижены, если полагаться исключительно на автоматическое сканирование из-за персонализированного характера современных приложений. Это может привести к тому, что ваша команда будет принимать трудные решения, когда дело доходит до создания рентабельной стратегии безопасности приложений.
В этой статье рассматриваются основные проблемы тестирования безопасности приложений, различные недостатки автоматического сканирования, а также потенциальные решения для организаций с ограниченными ресурсами для защиты своих мобильных или веб-приложений от кибератак.
Какой подход лучше всего подходит для ваших нужд?
Все профессионалы отрасли утверждают, что приложения не могут быть достаточно безопасными, если они полагаются исключительно на автоматическое сканирование. Использование автоматических анализов не является проблемой само по себе, а представляет собой контекст, в котором они часто используются. Это может быть отличной отправной точкой для тех, у кого нет бюджета на частое тестирование на проникновение для всех своих приложений, но это не должно быть вашим единственным выходом. Как правило, для проверки безопасности приложения используются три основных подхода, различающихся по глубине, точности и стоимости.
Чтобы определить, какой вариант подходит для каждого из ваших приложений, обычно используют подход, основанный на оценке риска, для определения приоритетов приложений. Этот риск-ориентированный подход используется для определения типа оценки, необходимой каждому приложению, на основе множества факторов, таких как: конфиденциальность обрабатываемых данных, последние изменения в приложении, количество сторонних интеграций и т. д. В зависимости от этих факторов ваши заинтересованные стороны могут выбрать полностью автоматизированный анализ или обширное ручное тестирование.
Хотя подход, основанный на оценке риска, является эффективным способом определения типа оценки, который следует использовать для приложения, он часто приводит к выводу, что для некоторых приложений приемлем только автоматизированный анализ, хотя на самом деле так бывает редко. Подавляющее большинство приложений по-прежнему требуют ручного тестирования на проникновение на регулярной основе, хотя его частота может быть скорректирована в зависимости от ряда ранее упомянутых факторов.
Следующий пункт касается некоторых причин, по которым автоматическое сканирование не должно быть вашим единственным средством для тестирования вашего приложения.
Использование сканеров подвергает вас кибератакам
Хотя автоматизированное сканирование играет важную роль в эффективной стратегии кибербезопасности, оно не должно быть единственным вариантом оценки кибербезопасности вашего приложения. Причина проста: большинство приложений содержат слишком много проприетарных элементов и специально разработанной логики приложения. Поэтому автоматический сканер не может точно контекстуализировать эти уязвимости. Проверки, выполняемые сканером, не могут точно и последовательно идентифицировать наиболее критические уязвимости, присутствующие в современных приложениях, такие как обходы аутентификации или недостатки контроля доступа.
Автоматизированное тестирование дает ложное чувство безопасности организациям, которые полагаются на него на 100%, поскольку оно создает иллюзию того, что их приложение было успешно защищено, в то время как многие критические уязвимости были упущены.
Когда отдавать предпочтение ручному тестированию
Хотя автоматизированное сканирование может помочь выявить различные уязвимости, требующие исправления, этого далеко не достаточно для успешной защиты критически важного приложения. Вместо того, чтобы спрашивать себя: «Какие из моих приложений следует протестировать вручную?» вы должны спросить себя: «Как часто каждое приложение нуждается в ручном тесте на проникновение?».
Учитывая постоянное развитие киберугроз, важно, чтобы все приложения тестировались вручную опытными и сертифицированными специалистами не реже одного раза в год, что позволит вам быть в курсе последних хакерских инструментов и методов, используемых для обхода безопасности вашего приложения. Именно по этой причине многие стандарты, такие как PCI-DSS, требуют ежегодного проведения пентеста для сохранения соответствия.
Кроме того, крайне важно, чтобы ваши приложения тестировались вручную, когда вводятся новые функции или вносятся серьезные изменения в инфраструктуру, поскольку могут быть введены новые уязвимости, которые сделают вас уязвимыми для потенциального инцидента.
Когда использовать автоматические сканеры
Если ваше приложение недавно подвергалось ручному тесту на проникновение, разумно полагать, что ваше приложение достаточно безопасно. Однако технологии и фреймворки, на которых построены ваши приложения, постоянно сталкиваются с новыми, иногда критическими, уязвимостями. Ваша компания, может быть, не в состоянии ежемесячно проводить ручное тестирование на проникновение для систематического выявления этих новых уязвимостей в системе безопасности, но, тем не менее, важно, чтобы ваша команда регулярно устраняла эти уязвимости. Именно в этот момент автоматизированное сканирование уязвимостей становится особенно полезным.
Автоматическое сканирование хорошо подходит для выявления определенных типов уязвимостей приложений, перечисленных в OWASP, включая межсайтовые сценарии, внедрение SQL и подделку запросов на стороне сервера. Автоматическое сканирование также эффективно для выявления некоторых неправильных конфигураций, включая неправильную реализацию TLS или отсутствующие заголовки HTTP и рекомендуемые атрибуты файлов cookie для обеспечения безопасности. Проверка сканеров выполняется с использованием больших баз данных уязвимостей, связанных с каждой из ваших технологий, что позволяет обнаруживать все уязвимости, связанные с установленной вами версией программного обеспечения. Они могут выполняться на регулярной основе и не требуют специальных знаний, что делает их экономически эффективным решением для обеспечения безопасности вашего приложения до тех пор, пока не будет выполнено следующее полное тестирование на проникновение.
Автоматизированные сканеры с ручной проверкой
Основным недостатком сканеров является большое количество ложных срабатываний, которые они генерируют. Это может привести к неэффективному использованию ваших ресурсов, поскольку ваша команда может тратить время на исправление уязвимостей, которые представляют небольшой или нулевой риск для вашего бизнеса. Ручная проверка автоматических анализов, проводимая сертифицированным специалистом, позволяет вам скорректировать уровни риска, назначенные каждой из уязвимостей, в соответствии с вашим контекстом и расставить приоритеты для ваших следующих шагов, что поможет вам сэкономить ресурсы в долгосрочной перспективе. Однако важно отметить, что ручная проверка не улучшает глубину анализа, что не делает автоматизированные тесты столь же надежными, как ручные тесты для обеспечения безопасности критически важных приложений.