Мониторинг атак

    Каким образом можно мониторить количество атак, которые проводятся по отношению к инфраструктуре компании? Один из способов это установка специальных систем, которые называются honeypot. Honeypot это ловушка, позволяющая полностью или частично записать последовательность действий, которые выполняются атакующим. В данной статье попробуем выбрать и настроить honeypot, а в качестве системы мониторинга будем использовать ELK стек.

    Выбор honeypot

    Любая атака на информационную систему возможна в случае наличия в этой системе уязвимости. Классов уязвимостей достаточно много, для примера можно использовать TOP 25 MITRE. Это только самые популярные уязвимости. Если проанализировать список, то можно заметить, что уязвимости в списке могут быть обнаружены в разных частях операционой системы и любого программного обеспечения.

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

    1. Атаки на веб-приложение

    2. Атаки на операционные системы серверов и пользователей

    3. Атаки на сетевое оборудование

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

    Ловушки для веба

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

    Ловушки для сервисов ОС

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

    • Ловушка, которая представляет собой ADB сервис ОС Androidl

    • Ловушка эмулирующая SMB протокол;

    • Ловушка для мониторинга атак на RDP.

    Настройка

    Для полноты покрытия атак попробуем настроить ловушку, которая включает в себя все типы ловушек. Проводить настройку нашей ловушки будем на базе операционной системы Ubuntu 20.04, которая запущена на виртуальной машине Virtual Box. Чтобы максимально упросить процесс настройки и не терять времени на поиск зависимостей для ловушки, будем использовать готовые Image, которые доступны на Docker Hub. Для быстрого обнаружения уже собранных Image воспользуемся поисковиком Google и введем следующий запрос:

    honeypot ELK inurl:hub.docker.com
    

    Поисковик на Docker Hub не работает гибко с критериями, которые необходимо найти в описании Image. В итоге у нас есть обширный набор Image с уязвимыми версиями ELK и Image с ELK в качестве системы накопления и визуализации.

    Для экспериментов возьмем вот этот проект. Он сразу включает в себя ELK+honeypot. Клонируем проект на машину с предустановленным Docker:

    git clone https://github.com/kobadlve/underworld.git
    

    Зайдем в склонированную директорию и выполним команды:

    docker-compose build
    docker-compose up
    

    Но не всё так просто, чтобы сборка прошла успешно придется локально выкачать Logstash отсюда. И отредактировать вот этот файл.

    FROM logstash
    
    MAINTAINER kobadlve
    USER root #<= new line
    ADD conf/ /root/conf
    ...
    

    И после этого можно перезапускать команды на сборку и запуск ловушки. По результатам, если провести сканирование машины с ловушкой будет вот такой результат nmap:

    Теперь отправляя запросы на открытые порты можно наблюдать в Kibana (порт машины с ловушкой 5601). Все действия, которые выполняются в процессе отправки данных на каждый из портов. Таким образом можно теперь мониторить атаки, которые могут быть проведены на информационную систему.


    Прямо сейчас в OTUS открыт набор на новый поток курса "Мониторинг и логирование: Zabbix, Prometheus, ELK". Уже сегодня пройдет бесплатный вебинар в рамках которого вы сможете узнать о карьерных перспективах в данной области.

    Записаться на вебинар

    Также предлагаем посмотреть запись демо-урока курса по теме: "ELK стэк"

    OTUS
    Цифровые навыки от ведущих экспертов

    Похожие публикации

    Комментарии 0

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

    Самое читаемое