Защита web-приложений

ИБ-аутсорсинг
на базе DLP-системы

СёрчИнформ КИБ
30 дней для тестирования ИБ-аутсорсинга ОФОРМИТЬ ЗАЯВКУ
Время чтения
Шрифт

Большинство web-приложений уязвимы для хакеров. Многие помнят нашумевшие случаи взлома аккаунтов политиков в Twitter. При коммуникации на уровне «клиент – сервер», когда пользователь с ПК или мобильного устройства обращается к серверу, на котором размещено приложение, происходит обмен информацией. При этом не всегда применяются современные способы обеспечения информационной безопасности. 

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

Понятие

Веб-приложение – это техническое решение, с помощью которого клиент (пользователь) коммуницирует с сервером в режиме реального времени, например, через личный кабинет в электронном банке или страницу в социальной сети. 

В формате веб-приложений, работают:

  • социальные сети;
  • поисковики;
  • почтовые клиенты;
  • онлайн-программы для бизнеса, выстроенные по модели «клиент – сервер» (CRM-система Bitrix-24 и аналоги);
  • интернет-магазины.

Исходя из технических характеристик и модели работы, приложения делятся на следующие типы:

1. Back-end. Под этим термином понимается серверная часть программного продукта, установленная на сервере, располагающемся на любом удалении от пользователя. Программа пишется на любом популярном языке программирования – PHP, Python, Ruby, C#.

2. Front-end. Этот тип приложения запускается в браузере пользователя. Программа пишется на языке Javascript и от back-end отличается тем, что данные пользователя не хранятся дольше одной сессии. К такому варианту относятся фоторедакторы и игры.

3. Single-page application. Этот вариант совмещает клиентскую и серверную версии.

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

Основные угрозы 

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

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

Популярные способы защиты 

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

Среди них самые популярные:

  • аудит (превентивная мера);
  • использование защищенных протоколов передачи данных;
  • применение ПО, обеспечивающего безопасность.

Все способы необходимо применять в комплексе.

Проверка сайта на уязвимости

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

Среди самых эффективных бесплатных инструментов-приложений следует назвать: 

  • OpenVAS сканирует локальные сети на уязвимости; 
  • OWASP Xenotix XSS Exploit Framework проверяет сайт на XSS-уязвимость, – возможность внедрения в веб-страницу вредоносного кода, похищающего данные аккаунтов пользователей и иную информацию. Код внедряется через уязвимости на сервере или устройстве пользователя;
  • Approof от Positive Technologies изучает конфигурацию веб-приложения и находит лишний или вредоносный код.

Также с аудитом справятся бесплатные онлайн-сервисы: 

  • SecurityHeaders.io проанализирует ответы сервера на запросы и выявит уязвимые места;
  • Observatory by Mozilla – бесплатный сервис с открытым кодом для выявления брешей в безопасности. Может привлекать ресурсы других сервисов проверки безопасности и добавлять их данные к отчету. Оценивает степень безопасности по шкале от A до F, где F – самый низкий уровень. В 2016 году 91% проверенных сайтов был на уровне F;
  • One button scan отвечает за сканирование таких элементов сервера, как DNS, HTTP-заголовки, SSL, проверяет на уязвимости используемые сервисы;
  • SSL Server Test проверяет наличие SSL-уязвимостей;
  • Snyk проконтролирует наличие уязвимостей в JavaScript, Ruby и Java-приложениях, самостоятельно исправляет недочеты в безопасности. Успешно работает вместе с GitHub-репозиторием.

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

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

После исправления серьезных уязвимостей сканирование следует провести повторно. Закончив автоматическую проверку, можно организовать взлом веб-приложения вручную. Для этого нужно изменить значение запросов POST (отправка данных на ресурс) и GET (запрос данных у ресурса) в HTTP. Лучше использовать прокси-сервер, перехватывающий HTTP-запросы. Также необходимо обойти валидацию данных (проверку соответствия запроса заданным требованиям) и внедрить на сайт SSL-инфекцию, перехватывающую данные пользователей. Если системы мониторинга показывают существенные уязвимости, необходимо усиливать защиту в выявленных областях.

Используя платные или бесплатные ресурсы мониторинга систем безопасности необходимо проверить гипотетическую возможность хакера обойти требования обязательной аутентификации, предусмотренные для некоторых страниц веб-приложения. Для этого нужно использовать такие традиционные способы взлома как смена параметров URL (в частности, ID пользователя) или смена Cookie.

HTTPS

Вторым по популярности способом защитить данные пользователя после идентификации является применение защищенного протокола передачи данных HTTPS. Hyper Text Transfer Protocol Secure защищает информацию о пользователе веб-приложения при помощи шифрования трафика. Он обеспечивает сохранение конфиденциальности и целостности информации, не допуская утечку или подмену данных. 

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

HTTPS необходим, если пользователи передают сервису такие сведения, как:

  • номера кредитных карт;
  • персональные данные;
  • адреса страниц, на которые они заходят.

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

Решить задачу несложно, потребуются следующие шаги:

  • сгененировать SSL-сертификат, на некоторых ресурсах это делается бесплатно;
  • получить и установить сертификат;
  • подключить для веб-приложения поддержку HTTPS.

Дополнительной возможностью после настройки HTTPS станет применение Hyper Strict Transport Security (HSTS). Это опция принудительного использования протокола HTTPS, даже если сервер не поддерживает его применение. Однако и защищенные протоколы не спасут веб-приложение, если само программное обеспечение устарело.

Обновление ПО

Владелец приложения должен держать руку на пульсе обновлений программного обеспечения. Хакеры тестируют все обновления и находят в них уязвимости иногда раньше, чем разработчики. Особенно активно взламываются операционные системы, технологии управления HTTP и системы управления контентом (CMS).

В ситуации, когда сервис установлен на чужом хостинге, задача своевременной замены операционной системы ложится на плечи провайдера. Если хостинг собственный, ОС требуется менять сразу после выхода обновлений. Сайт может работать на операционной системе, предназначенной для этого типа веб-приложений (движка), стороннего производителя, особенно это характерно для интернет-магазинов. Необходимо отслеживать все обновления ПО и устанавливать новую версию сразу после ее выхода. Разработчики оповестят об этом владельца ресурса рассылкой, а наиболее популярные авторы движков, WordPress и Umbraco, сообщают об обновлениях в момент входа в панель управления сайтом.

Web-сайты часто имеют зависимые компоненты (программные модули менеджмента контента). Для управления ими используются менеджеры пакетов, например, Composer, NPM или RubyGems. За их обновлениями во избежание проблем безопасности также необходимо следить.

Защита от SQL-инъекций

Безопасность веб-приложения зависит от того, насколько эффективно владельцу удается избежать SQL-инъекций. Этот метод хакерской атаки выглядит как запрос к сайту и его базе данных при помощи поля формы или параметра URL. Если при конструировании ресурса применялся язык Transact SQL, в запрос вставляется вредоносный код, с легкостью меняющий или уничтожающий данные, содержащиеся в таблицах.

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

Дополнительные способы обеспечения безопасности

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

  • шифрование паролей;
  • избегание межсайтового скриптинга;
  • контроль загрузки файлов на сервер.

Совместное применение всех доступных решений обеспечит безопасность на максимально доступном уровне. 

22.11.2019

ПОДПИШИТЕСЬ НА ПОЛЕЗНЫЕ СТАТЬИ

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