2-4 часа в неделю, 8 семестр
Требования к выполнению
- Работа над проектом должны быть организована в репозитории Github.
- Проект должен включать в себя:
- Модуль загрузки данных (ETL)
- Модуль обработки данных и ML
- Модуль визуализации данных
- Документацию
- Модули проекта должны быть реализованы на языке программирования R. Допускается использование любых пакетов R.
- Допускается использование дополнительных необходимых модулей (микросервисы, СУБД, LLM и т.д.) при условии включения сценариев их развертывании и настройки в Проект, а также их описания в документации Проекта.
Команда
- Команда может состоять из 3-5 человек
- Формирование команд завершается до этапа №1
- В каждой команде участники выбирают капитана команды
- По окончанию формирования команды и выбора задачи, капитан команды создает группу в Телеграм, добавляет участников группы, высылает ссылку преподавателю для обсуждения хода работы над заданием и консультаций по техническим вопросам.
- Каждый член команды должен внести не менее 25% вклада в работу над проектом для команд из 3 человек,
- 20% для команд из 4 человек
- 15% для команд из 5 человек
- Вклад каждого члена команды оценивается по коду/документации (LoC) в репозитории Проекта
- Работа над проектом в репозитории для каждого члена команды должны начаться до этапа №2
- Каждый член команды должен представить Проект хотя бы 1 раз в ходе демо на этапе или модуль Проекта на нескольких презентациях этапов (при помодульном разделении ответственности внутри команды).
Тайминг
- Этап 1: Демонстрация концепции проекта и программной архитектуры – 2 занятие
- Этап 2: Демонстрация Модуля ETL – 4 занятие
- Этап 3: Пререлиз чекап – 6 занятие
- Этап 4: Демонстрация проекта – 7-8 занятия
Темы задания
Построение системы обнаружения вторжений
Обнаружение аномалий в сетевом трафике:
- сбор данных о сетевом трафике (zeek, NetFlow)
- очистка и нормализация данных, удаление несущественных данных
- обогащение контекстной информацией, такой как геолокация или известная репутация IP-адресов.
- Используйте статистический анализ для идентификации базовых показателей активности в зависимости от времени суток или ролей пользователей.
- Применяйте модели машинного обучения (например, кластеризация, аномалий-детектирование) для обнаружения отклонений от нормы.
- Создайте дашборды (shiny, shinydashoard, flexdashboard, Quarto dashboard), демонстрирующие нормальные и аномальные патерны сетевого трафика со временем.
- Подчеркните конкретные аномалии на картах потоков данных и в сводных докладах о предупреждениях.
Классификация вредоносного программного обеспечения
Атрибуция неизвестных образцов ВПО по их схожести с известными образцами
- Соберите образцы вредоносного программного обеспечения из публичных репозиториев (например, VirusTotal, MalwareBazaar).
- Извлеките признаки, такие как файловые подписи, вызовы API и бинарное содержимое (с помощью существующих инструментов).
- Метками обозначьте известные семейства малвари.
Выполните исследовательский анализ данных для понимания распределений признаков. Обучайте модель классификации (например, Random Forest, SVM) для классификации неизвестных образцов.
Создайте матрицы ошибок классификации и ROC-кривые для оценки производительности модели. Визуализируйте наиболее репрезентативные показатели в пространстве признаков.
Анализ Git репозиториев
Создание поведенческого профиля разработчика, анализ аномалий
- Извлеките информацию о комитах.
- Очистка и нормализация данных.
- Постройте хронологически последовательную историю изменений файлов репозитория.
- Проанализируйте характер вносимых изменений (код, комментарии, конфигурация, документация…).
- Создайте профиль разработчика (предпочитаемый язык, статистические характеристики LoC на коммит, размер комментариев к комиту, рабочие часы… )
- Покажите возможные аномалии в поведенческом патерне разработчиков
- Покажите профиль разработчиков (тепловые карты, радар-карты…), оцените проект(репозиторий) в целом.
Исследование глобальной маршрутизации Интернета
Построение карты маршрутов между автономными системами (AS) Интернета
- Используйте открытые данные из таких ресурсов, как Route Views, CAIDA, DBIP
- Извлеките информацию об AS
- соберите/сравните данные о маршрутах с использованием
traceroute
- Очистка и нормализация данных.
- Реализуйте алгоритмы для извлечения информации о наиболее распространенных путях передачи трафика
- Создайте интерактивные карты, которые показывают связи между различными AS. Используйте визуальные инструменты для отображения изменений в топологии сети со временем.
- Разработайте графы, которые демонстрируют основные и альтернативные маршруты для данных.
Экспресс-анализ бинарных файлов с использованием Radare2
Классификация бинарных файлов вредоносного программного обеспечения для экспресс анализа в ходе расследования инфцидентов информационной безопасности
- Создайте набор тестовых бинарных файлов с различными типами содержимого (полезные программы, потенциально зловредные исходники - например, VirusTotal, MalwareBazaar)
- Составьте базу данных известных зловредных доменов и IP-адресов, используя различные источники обмена информацией о киберугрозах
- Используйте Radare2 для разбора и анализа выбранных бинарных файлов
- Очистка и нормализация данных.
- Автоматизируйте поиск строк доменных имен или IP адресов в бинарном коде
- Используйте статические анализаторы для выявления популярных видов уязвимостей
- Разработайте дашборды, которые отображают найденные IoC, уязвимости и оценку их опасности.
Суммаризация сообщений с помощью LLM групп Telegram
Анализ тональности сообщений, активности участников группы за опеределенный период. Представление информации в виде RSS потока
- Используйте Telegram Bot API для получения истории сообщений из определенных групп за заданный период.
- Настройте автономное собирание данных регулярно, чтобы постоянно обновлять базу для анализа.
- Извлеките важную информацию (например, имя пользователя, время отправки) из каждого сообщения для дальнейшего анализа.
- Очистка (HTML, эмодзи…) и нормализация данных.
- Примените модели генеративного обучения (например, Llama, Qwen) для создания кратких сводок из длинных чата.
- Используйте модели анализа тональности для определения настроений (положительного, отрицательного или нейтрального) каждого сообщения.
- Разработайте сервис для генерации RSS-потоков сводок групп Telegram, основанными на анализе и суммаризации данных.
- Создайте интерактивный интерфейс, позволяющий пользователям просматривать анализируемую информацию: суммаризации сообщений, активности и тональности.
- Включите графики для визуализации изменений тональности и активности со временем.