Традиционный подход к обеспечению безопасности веб-приложений, основанный на аппаратных WAF, плохо работает с современными облачными системами, когда система размещается в инфраструктуре провайдера, использует контейнеры или вовсе не имеет серверной части. Компания Trend Micro предложила решение этой задачи, внедрив функции Web Application Firewall внутрь целевого приложения.
- Введение
- Возможности Trend Micro Cloud One
- 2.1. Workload Security
- 2.2. Network Security
- 2.3. Container Security
- 2.4. File Storage Security
- 2.5. Open Source Security
- 2.6. Conformity
- 2.7. Application Security
- Современные методы обеспечения безопасности веб-приложений
- Практика использования Trend Micro Cloud One для защиты веб-приложений
- 4.1. Malicious Payload
- 4.2. SQL Injection
- 4.3. Illegal File Access
- 4.4. Remote Command Execution
- 4.5. Open Redirect
- 4.6. Malicious File Upload
- 4.7. IP Protection
- 4.8. Просмотр информации о событиях
- Выводы
Введение
Компания, принявшая решение использовать облачные технологии в своих бизнес-процессах, сталкивается на этом пути с рядом проблем. Количество сервисов постоянно увеличивается, число людей, вовлечённых в процесс миграции на новые платформы, растёт, а набор средств безопасности расширяется день ото дня. При этом сохраняется необходимость соответствия системы безопасности как требованиям регуляторов, так и внутренним регламентам. На фоне постоянно меняющегося ландшафта угроз и появления новых векторов утечки информации разработчики сталкиваются с необходимостью максимально оперативно реализовывать новые функции своих приложений.
При миграции в облачную инфраструктуру компания сталкивается с тремя базовыми задачами, от решения которых зависит успешная реализация этого процесса. В первую очередь, это необходимость эксплуатировать одновременно объекты физической, виртуальной и облачной инфраструктур — проблемы их взаимодействия и обеспечения безопасности совместной работы. Второй важной задачей построения облачной экосистемы является разработка и эксплуатация приложений для работы в такой среде. На этом пути команда DevOps должна преодолеть ряд проблем, связанных с использованием облачных хранилищ, контейнеров, репозиториев кода, бессерверных приложений и других специализированных объектов. Наконец, третьей составляющей этого процесса является необходимость постоянного мониторинга и поддержания эффективности работы облачной инфраструктуры, контроль правильности её настройки и соответствия требованиям внешних и внутренних регламентов.
Компания Trend Micro разработала облачную платформу, которая обеспечивает безопасность на каждом из трёх определённых выше направлений, рассматривая облачные проекты комплексно, через призму их преимуществ для бизнеса организации. Trend Micro Cloud One поддерживает все основные облачные платформы, а её службы можно напрямую интегрировать в процессы и инструменты DevOps.
Возможности Trend Micro Cloud One
Trend Micro Cloud One состоит из семи блоков, по сути — отдельных продуктов, связанных единым входом, общей системой регистрации пользовательских и облачных аккаунтов, а также возможностями масштабирования в соответствии с потребностями организации.
Workload Security
Система защиты серверов и контейнерных платформ, своего рода антивирус, способный работать в гибридных средах. Workload Security создан на базе флагманского решения Trend Micro Deep Security и обеспечивает комплексную защиту и возможность реагирования на киберинциденты. Система включает в себя межсетевой экран, функции выявления и предотвращения вторжений (IDS / IPS), контролирует целостность приложений, проверяет журналы, а также обнаруживает вредоносный код и программы-вымогатели при помощи поведенческого анализа и машинного обучения. Помимо этого, Workload Security интегрирован с XDR-системой Trend Micro Vision One, что позволяет значительно увеличить скорость и качество реагирования на угрозы за счёт существенного расширения состава данных для анализа.
Network Security
Предназначен для оперативной защиты сегментов облачной сети и частного облака (Virtual Private Cloud, VPC) в целом. Он может быть быстро интегрирован в облачную сетевую инфраструктуру, чем выгодно отличается от многих других систем, не создававшихся специально для облачной среды. Network Security инспектирует весь входящий и исходящий трафик облака, оперативно блокируя такие угрозы, как обмен данными с командным центром вредоносной программы. Система может быть развернута в режиме «inline», без внесения изменений в существующую архитектуру.
Container Security
Этот модуль предназначен для сканирования образов контейнеров в процессе разработки и для обнаружения уязвимостей, вредоносных элементов, всевозможных «закладок» и бэкдоров, иных индикаторов компрометации. Помимо этого Container Security контролирует развёртывание контейнеров на основе установленных правил и политик, а также защищает их во время работы. Система способна выявлять эксплуатацию уязвимостей и проводить мониторинг выполнения запрещённых команд.
File Storage Security
Безопасность работы с облачными хранилищами обеспечивает компонент File Storage Security. Система перехватывает загружаемый в облачное хранилище файл и сравнивает его метаданные и хеш-сумму с информацией из Smart Protection Network — облачной базы данных о киберугрозах, поддерживаемой Trend Micro.
Open Source Security
Процесс разработки с использованием сторонних библиотек защищает система Open Source Security, созданная в сотрудничестве с компанией Snyk. Она позволяет проводить мониторинг кода, размещённого в репозитории, на предмет наличия в нём уязвимостей и вредоносных элементов, а также обеспечивает непрерывную проверку открытого кода на наличие лицензионных рисков.
Conformity
Задача этого модуля — отслеживать правильность работы облачной инфраструктуры предприятия и её соответствие требованиям регуляторов. Система собирает информацию от множества специализированных ботов и в ряде случаев способна автоматически корректировать настройки, устраняя потенциальные угрозы безопасности корпоративного облака.
Application Security
Для обеспечения безопасности веб-приложений и бессерверных вычислений в Cloud One отвечает система Application Security, о которой мы подробнее поговорим ниже.
Современные методы обеспечения безопасности веб-приложений
Традиционный подход к защите веб-ресурсов, предполагающий размещение корпоративных сайтов на собственной аппаратной инфраструктуре организации, окончательно стал историей. Говоря сегодня о сайте, мы почти всегда подразумеваем веб-приложение, размещённое в облаке, использующее контейнеры и микросервисную архитектуру, имеющее собственный API и другие элементы современного ПО. Такую систему уже нельзя защитить установив аппаратный файрвол, поскольку вся инфраструктура находится на стороне провайдера.
Безусловно, практически все поставщики облачных сервисов предоставляют услуги Web Application Firewall (WAF), однако зачастую они обеспечивают лишь базовый уровень безопасности — защиту от DDoS-атак и другие ключевые возможности. Другой подход — встраивать безопасность внутрь приложения, так чтобы можно было диагностировать каждый инцидент с точностью до конкретной строчки исходного кода. Именно так работает один из компонентов комплексной платформы Trend Micro Cloud One, который называется Application Security.
В отличие от накладных средств защиты веб-приложений такая идеология позволяет интегрировать безопасность системы в цикл её разработки, установить связь между возможностями WAF и потребностями создателей программы. Встроенный WAF предоставляет разработчикам понятную им информацию об уязвимостях их приложения и даёт возможность минимизировать путь от выявления проблемы до её устранения.
Идея Trend Micro Cloud One Application Security состоит в выявлении атак (например, SQL-инъекций) в настоящем времени. Речь идёт не об анализе кода, но о предотвращении конкретных вредоносных действий в контексте конкретного приложения. Традиционные WAF-системы не могут похвастаться такой индивидуализацией: они имеют дело с трафиком, который нужно расшифровать и в котором нужно отыскать вредоносные элементы среди огромного массива данных. Проводить такой анализ необходимо с минимальными задержками, чтобы не оказывать влияния на скорость работы программы.
Встроенному WAF от Trend Micro не нужно расшифровывать пакет данных, чтобы распознать в нём, например, адрес вредоносного сайта: являясь частью приложения, он проверяет такие адреса напрямую. Это существенно снижает нагрузку на систему и позволяет обеспечивать безопасность приложения вне зависимости от его типа.
Современный подход к обеспечению безопасности веб-приложений отличается высокой экономической эффективностью. Традиционные аппаратные WAF являются весьма дорогостоящими решениями, поскольку выполняют сложные и ресурсоёмкие задачи анализа зашифрованного трафика. Для крупных заказчиков, использующих веб-приложения для массовых финансовых транзакций или других критически важных задач, высокая стоимость не является ограничивающим фактором, однако даже средний бизнес уже не может позволить себе такую защиту. Application Security не требует приобретения аппаратных средств, что значительно снижает затраты на его развёртывание и эксплуатацию.
Модуль Application Security позволяет обнаруживать и устранять такие типы угроз, как SQL-инъекции, удалённое выполнение кода (RCE), загрузка вредоносных файлов, открытый редирект и другие уязвимости.
Практика использования Trend Micro Cloud One для защиты веб-приложений
Интеграция Trend Micro Cloud One Application Security в веб-приложение занимает всего несколько минут и в общем случае состоит из трёх простых шагов: установка соответствующей библиотеки, добавление её в исполняющую среду и определение значения двух ключей — «AP_KEY» и «AP_SECRET».
В панели управления Application Security платформы Trend Micro Cloud One необходимо создать для приложения новую группу безопасности, которая будет содержать параметры и политики, касающиеся конкретной программы. После создания группы система сформирует для неё уникальные значения ключей «AP_KEY» и «AP_SECRET», которые необходимо добавить в переменные окружения или INI-файл защищаемого приложения.
Рисунок 1. Создание новой группы и определение значения ключей в Trend Micro Cloud One Application Security
После подключения приложения к Application Security администратор получит возможность наблюдать за срабатываниями системы, а также настраивать механизмы защиты. В разделе «Policies» панели управления собраны инструменты для определения политик безопасности, которые включают в себя семь типов угроз:
- Malicious Payload,
- SQL Injection,
- Illegal File Access,
- Remote Command Execution,
- Open Redirect,
- Malicious File Upload,
- IP Protection.
Рисунок 2. Настройка политик безопасности в Trend Micro Cloud One Application Security
Администратор может включить или отключить отслеживание каждого из типов угроз, а также настроить реакцию системы при наступлении события. После активации все типы угроз в системе имеют статус «Report», информируя администратора системы в случае срабатывания. Для автоматической блокировки вредоносной активности необходимо нажать кнопку «Mitigate». Настройка каждого пункта имеет свои особенности, связанные со спецификой конкретной угрозы.
Malicious Payload
Выявление вредоносной нагрузки выполняется на основании фильтров, поставляемых и регулярно обновляемых компанией Trend Micro. Каждый из фильтров имеет краткое описание, а также, где это возможно, снабжён кодом CVE и оценкой CVSS. Пользователь Application Security может самостоятельно отключить любой из фильтров, если по каким-то причинам не хочет контролировать эксплуатацию отдельной уязвимости.
Рисунок 3. Список фильтров раздела «Malicious Payload» платформы Trend Micro Cloud One Application Security
SQL Injection
В разделе «SQL Injection» можно настроить работу группы фильтров, которые отвечают за выявление атак связанных с внедрением SQL-кода. Администратор системы может активировать один или несколько фильтров, каждый из которых реагирует на определённый тип вредоносной активности.
- «Always False» — обнаруживает запросы, в которых результат выполнения всегда ложен, например AND 1=0.
- «Always True» — обнаруживает выражения, где результат выполнения будет всегда верным, например OR 1=1.
- «Bad Function» — обнаруживает SQL-функции, которые злоумышленники обычно используют в инъекциях, например sleep() или load_file().
- «HTTP Params» — обнаруживает параметры HTTP GET или POST, которые дословно копируются в SQL-оператор и не могут безопасно содержаться в строке или числе.
- «Stacking Queries» — обнаруживает попытку объединить несколько SQL-запросов в одном вызове к базе данных.
- «Syntax Error» — выявляет SQL-запросы с синтаксическими ошибками.
- «Trailing Comment» — срабатывает при обнаружении комментария в конце SQL-запроса.
- «Union Set» — обнаруживает операторы SELECT UNION, которыми часто злоупотребляют при SQL-инъекциях.
Рисунок 4. Параметры настройки политик «SQL Injection» в Trend Micro Cloud One Application Security
Illegal File Access
В настройках этой политики мы можем задать папки, группы файлов или конкретные объекты, к которым запрещён доступ на запись или чтение. Application Security поддерживает отдельные списки «Read Protection» и «Write Protection», в каждый из которых можно добавить произвольное количество шаблонов с использованием конкретных последовательностей и регулярных выражений.
Рисунок 5. Настройки политики «Illegal File Access» платформы Trend Micro Cloud One Application Security
Remote Command Execution
Механизм противодействия удалённому выполнению кода позволяет обнаруживать параметры HTTP GET или POST, дословно размещённые в коде выполняемого запроса. Для этого необходимо активировать переключатель «HTTP Params» раздела «Remote Command Execution».
Дополнительно администратор системы может задать собственные правила, которые будут блокировать удалённое выполнение определённой команды. После активации переключателя «Exec Control» появляется возможность задать шаблоны с использованием регулярных выражений, по которым Application Security будет фильтровать выполнение команд.
Рисунок 6. Настройка политики реагирования на удалённое выполнение кода в платформе Trend Micro Cloud One Application Security
Open Redirect
Trend Micro Cloud One Application Security даёт возможность заблокировать переадресацию на внешние ресурсы как по определённой маске, так и с указанием конкретных URL.
Рисунок 7. Панель конфигурации раздела «Open Redirect» платформы Trend Micro Cloud One Application Security
Malicious File Upload
Для предотвращения загрузки вредоносных файлов используется облачное антивирусное ядро, параметры работы которого задаются для каждого приложения, куда интегрирован модуль Application Security. Администратор системы может задать размер буфера, глубину проверяемых архивов и другие переменные. Дополнительно можно установить ограничения на размер любого загружаемого через приложение файла вне зависимости от вердикта антивируса.
Рисунок 8. Настройка политик «Malicious File Upload» в платформе Trend Micro Cloud One Application Security
IP Protection
Функция «IP Protection» позволяет настраивать политики для определения действий, которые должны выполняться при использовании заданных IP-адресов. В рамках настройки этой политики можно включить три алгоритма:
- «IP Filtering» — содержит стоп-лист запрещённых IP-адресов или подсетей, которые будут блокироваться при обращении к веб-приложению. В рамках реагирования на срабатывание фильтра Application Security может как автоматически разрывать соединение, так и предлагать пользователю пройти CAPTCHA для подтверждения доступа.
- «IP Feeds» — фильтр предназначен для блокировки или обработки через CAPTCHA запросов с IP-адресов, известных как выходные узлы сети TOR.
- «Trusted IPs» — список доверенных IP-адресов или подсетей, для которых Application Security пропускает выполнение всех алгоритмов безопасности.
Рисунок 9. Настройка раздела «IP Protection» платформы Trend Micro Cloud One Application Security
Просмотр информации о событиях
Информация обо всех обнаруженных событиях в информационной безопасности отображается в разделе «Events» — как в виде диаграммы, которая может обновляться в режиме реального времени, так и в виде списка всех срабатываний установленных политик безопасности. Диаграмма показывает количество запросов или вызовов, проверенных и защищённых агентом Application Security, а также число событий по безопасности, инициированных агентом. Консоль может отображать данные по всем контролируемым системой приложениям или по отдельно выбранной программе.
Рисунок 10. Диаграмма событий и запросов в Trend Micro Cloud One Application Security
Поскольку Application Security напрямую работает с данными веб-приложения, существует возможность детально расшифровать информацию о событии, вплоть до конкретной строки кода, которая с ним связана. Для доступа к детализации данных необходимо выбрать соответствующее событие в списке, который расположен ниже диаграммы.
Для всех событий доступна информация о типе атаки, приложении, которое она затрагивает, и реакции Application Security на него. Кроме того, администратор системы может узнать приоритет события, IP-адрес злоумышленника и детали запроса, включая данные из базы MITRE. Для запросов доступны сведения о типе операции, типе вызова, имени и порте сервера, исходном IP-адресе и заголовке хоста.
Выводы
Развитие технологий заставляет искать новые подходы к решению проблем информационной безопасности. Современные веб-приложения работают в облачной среде, используют механизмы контейнеризации и микросервисную архитектуру, а иногда и вовсе обходятся без серверной части. Для защиты таких систем нужны новые решения, ведь стандартный WAF в данном случае установить просто негде, а сервисные провайдеры зачастую предоставляют лишь ограниченные средства обеспечения безопасности.
Компания Trend Micro в рамках своей платформы Cloud One по новому взглянула на эту проблему. Продукт Application Security интегрирует средства для взаимодействия с облачными средствами безопасности Trend Micro непосредственно в код защищаемого приложения. С одной стороны, это позволяет не зависеть от инфраструктуры, в которой работает веб-приложение: платформа поддерживает большинство облачных сред, а механизмы работы с инструментами безопасности располагаются в самом приложении. С другой — подобная архитектура даёт возможность работать с данными непосредственно в месте их возникновения, не разбирая трафик, как это делают накладные средства WAF.
Продукт Application Control содержит развитые средства выявления и блокировки различных типов угроз — от удалённого выполнения кода до загрузки вредоносных файлов. Система быстро интегрируется в код практически любого веб-приложения, а настройка её работы из консоли Trend Micro Cloud One пусть и требует осмысленного подхода со стороны специалиста, но технически не представляет проблемы для любого человека, имеющего опыт работы с современными веб-приложениями.
Использование Application Control даёт разработчикам корпоративных веб-приложений возможность значительно сократить сроки выхода новых релизов, переложив часть забот об обеспечении безопасности системы на плечи сервисов Trend Micro. Кроме того, обнаруженные уязвимости теперь можно устранять быстрее и эффективнее, ведь Application Control предоставляет понятные разработчику данные о проблеме, вплоть до конкретной строчки кода, в которой она возникла.