В 7 из 10 проверок серверов компаний обнаруживаются уязвимые приложения

Сегодня установить антивирус, межсетевой экран и средства защиты периметра уже недостаточно. Даже если внешне инфраструктура компании выглядит защищённой, точка входа для злоумышленника может находиться внутри веб-приложения, серверного компонента или программного кода, который используется годами.

По данным RTM Group, как минимум одно уязвимое приложение обнаруживается примерно в 70% проведённых проверок серверного контура организаций.

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

В 7 из 10 проверок серверов компаний обнаруживаются уязвимые приложения

Где обнаруживаются наиболее опасные уязвимости

Критические недостатки специалисты чаще всего выявляют во внутреннем периметре компаний и в веб-приложениях.

Эксплуатация таких уязвимостей может позволить злоумышленнику:

  • получить доступ к корпоративным или персональным данным;
  • повысить свои привилегии в системе;
  • перемещаться между узлами инфраструктуры;
  • получить контроль над несколькими связанными системами;
  • нарушить работу критичных для бизнеса сервисов.

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

Более 2100 уязвимостей на сто проектов

За последние 12 месяцев RTM Group выполнила более 100 проектов по анализу защищённости и тестированию на проникновение. В рамках этих работ специалисты выявили около 2100 уязвимостей.

Из общего количества обнаруженных недостатков:

  • 360 получили критический уровень опасности;
  • 920 – высокий уровень;
  • остальные были отнесены к среднему и низкому уровням риска.

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

При этом количество уязвимостей само по себе не всегда отражает реальный уровень риска. Одна критическая ошибка в системе удалённого доступа или веб-приложении может оказаться опаснее десятков менее серьёзных недостатков.

Почему уязвимости в программном коде особенно опасны

Отдельное направление проверок – анализ безопасности программного кода.

За последние 12 месяцев специалисты RTM Group выявили более 600 подтверждённых уязвимостей.

Среди них:

  • 127 уязвимостей получили критический уровень опасности;
  • 305 – высокий;
  • остальные были отнесены к среднему и низкому уровням при наличии подтверждённого влияния на безопасность системы.

Около 72% недостатков, обнаруженных при анализе кода, относились к критическому или высокому уровню риска.

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

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

Почему защиты внешнего периметра недостаточно

Многие компании по-прежнему концентрируются на системах, доступных из интернета. Это важная, но не единственная область риска.

Даже если внешний периметр защищён, злоумышленник может проникнуть во внутреннюю сеть через:

  • скомпрометированную учётную запись сотрудника;
  • фишинговое письмо;
  • уязвимое рабочее устройство;
  • неправильно настроенный VPN;
  • подрядчика или интеграционный сервис;
  • старое приложение, которое не обновлялось несколько лет.

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

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

Управляющий RTM Group Евгений Царёв.

Какие системы необходимо проверять в первую очередь

При планировании аудита безопасности приоритет стоит отдавать системам, компрометация которых может привести к утечке данных, финансовым потерям или остановке бизнес-процессов.

Что проверять в первую очередь:

  • веб-приложения и сервисы, доступные из интернета;
  • корпоративные порталы и личные кабинеты;
  • системы удалённого доступа;
  • приложения, обрабатывающие персональные и финансовые данные;
  • внутренние административные панели;
  • интеграции с внешними сервисами;
  • устаревшие и редко обновляемые системы;
  • объекты критической информационной инфраструктуры.

Проверка должна включать не только поиск технических ошибок, но и анализ бизнес-логики, настроек доступа, используемых компонентов и возможных цепочек атак.

Как встроить безопасность в процессы компании

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

Поэтому работа с уязвимостями должна быть регулярным процессом:

  1. Инвентаризация систем и приложений
  2. Выделение наиболее критичных активов
  3. Регулярное тестирование внешнего и внутреннего периметра
  4. Анализ защищённости веб-приложений
  5. Проверка программного кода до выхода продукта в эксплуатацию
  6. Контроль устранения обнаруженных недостатков
  7. Повторная проверка после внесения изменений

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