Безопасность веб-приложений – одна из самых горячих тем. Ежедневно мы узнаем об очередной хакерской атаке на сайты крупных компаний, банков и интернет-магазинов. Наш опыт аудита веб-приложений на уязвимости показывает, что около 70% тестируемых веб-приложений содержат уязвимости со статусом «most critical» (высокая степень опасности).

Наш опыт подтверждается и исследованиями. По данным Cyberthreat Defense Report, количество организаций, которые пострадали от успешных кибератак, увеличилось с 62% до 77% в период с 2013 по 2017 год.

Каким же образом действуют злоумышленники и какие типы уязвимостей представляют наибольшую угрозу? Методология OWASP выделяет следующие риски для веб-приложений:

  • Инъекции (Injection)
    Уязвимости, связанные с внедрением кода (SQL, NoSQL, OS, and LDAP и прочие инъекции), возникают, когда ненадежные данные отправляются интерпретатору как часть команды или запроса. Атаки, связанные с эксплуатацией подобной уязвимости, сопровождаются выполнением интерпретатором произвольных команд или получением несанкционированного доступа к информации, к примеру, доступ к базе данных.

По данным исследования компании SiteLock за 2017 год, из 6 миллионов проанализированных сайтов более 300 тысяч подвержены SQL или XSS атакам, при этом, примерно 90 миллионов сайтов по всему миру имеют схожие проблемы, что делает SQL-уязвимости одними из самых часто встречающихся.

  • Ошибки в механизме аутентификации (Broken Authentication)
    Прикладные функции, связанные с аутентификацией и управлением сеансами, часто имеют ошибки в реализации, позволяя злоумышленникам получить неавторизованный доступ к системе или веб-приложению.
  • Раскрытие чувствительных данных (Sensitive Data Exposure)
    Многие веб-приложения и API не защищают должным образом конфиденциальные данные. Злоумышленники могут украсть или модифицировать слабо защищенные данные для мошенничества с кредитными картами, кражи личных данных или других преступлений.
  • Внешние объекты XML (XML External Entities)
    Вид уязвимости, основанный на внедрении кода в XML-запрос к серверу, позволяющий получить неавторизованный доступ к данным.
  • Ошибки контроля доступа (Broken Access Control)
    Некорректная настройка ограничений приводит к получению несанкционированного доступа к данным.
  • Ошибки настройки безопасности (Security Misconfiguration)
    Ошибки настройки безопасности являются одной из самых распространенных причин компрометации веб-приложений.
  • Межсайтовый скриптинг (Cross-Site Scripting, XXS)
    Недостатки XSS возникают всякий раз, когда приложение включает ненадежные данные в новую веб-страницу без надлежащей проверки или экранирования, что может привести к выполнению вредоносного сценария на стороне сервера или клиента и получению злоумышленником неавторизованного доступа к данным.
  • Небезопасная десериализация (Insecure Deserialization)
    Небезопасная десериализация часто приводит к удаленному выполнению кода. Десереализация преобразует последовательность бит в структурированные данные. На данном этапе, зачастую, не уделяется достаточного внимания безопасности, например, отсутствует проверка и подтверждение типов данных, что приводит к их подмене.
  • Использование компонентов с известными уязвимостями (Using Components with Known Vulnerabilities)
    Использование библиотек или модулей, имеющих уже известные уязвимости, может серьезно повлиять на безопасность сайта. В связи с этим необходимо своевременно устанавливать обновления.
  • Недостаточный мониторинг (Insufficient Logging & Monitoring)
    Отсуствие автоматизированных систем мониторинга и журналирования событий приводит к невозможности быстрого реагирования на инциденты.

В дополнении ко всему стоит выделить одну из самых распространенных уязвимостей - слабую парольную политику, позволяющую злоумышленнику произвести подбор пароля (brute-force attack), в том числе с использованием распределенных сетей (distributed brute-force attack). Тенденция использовать популярные или нестойкие пароли увеличивается из года в год. По данным журнала «Хакер», который опирается на результаты исследования компании SplashData, на данный момент самыми популярными паролями пользователей являются: 123456, password, 12345678, qwerty, 12345.

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