Коротко о проекте:
Мы разрабатываем сервис, который по низкоуровневым отпечаткам (TLS/JA3, HTTP2, TCP/IP и т.д.) определяет:
- Использует ли пользователь VPN/прокси?
- Подделывает ли User-Agent (говорит, что у него Windows, а на самом деле Linux)?
- Какая настоящая ОС клиента, исходя из сетевых особенностей?
Всё это необходимо для профилактики злоупотреблений и фрода. У нас есть база отпечатков в JSON (и возможность собирать их), хотим построить ML-модель (XGBoost, PyTorch, scikit-learn и т.п.), внедрить её в микросервис (REST API), чтобы она в реальном времени выдавала предсказания.
---
### Задачи:
1. Анализ данных (EDA) и фича-инжиниринг
- Разобраться в имеющихся наборах данных (TLS, TCP/IP, HTTP2, JA3 и т.д.).
- Разработать способ извлекать ключевые признаки (MSS, Window Size, набор cipher suites, HTTP2 SETTINGS и т.п.) из сырых логов или JSON-дампов.
- При необходимости помочь доработать процесс сбора данных.
2. Разработка и обучение моделей
- Выбрать подходящие алгоритмы (XGBoost, Random Forest, нейронные сети или комбинацию).
- Настроить процесс обучения и валидации: train/test split, кросс-валидация, подбор гиперпараметров.
- Оценить метрики (Accuracy, Precision/Recall, F1, ROC-AUC и т.д.), предложить способы улучшить качество предсказаний.
3. Построение ML-сервиса
- Обернуть модель в сервис (REST API/gRPC) для интеграции в наше приложение.
- При необходимости настроить окружение (Docker, CI/CD).
- Продумать базовый MLOps-процесс (сбор новых данных, мониторинг качества, периодическое переобучение).
4. Детект VPN/прокси и аномалий
- Определять, что клиент сидит за прокси/VPN, исходя из набора признаков (TTL, JA3, открытые порты, IP-блеклисты и т.д.).
- Анализировать mismatch между User-Agent и реальной ОС (по TCP/IP флагам, JA3, HTTP2).
- Предложить систему порогов (threshold) и/или вероятностных предсказаний (score).
5. (Опционально) Автоматизация & поддержка
- При желании и наличии опыта — помочь настроить инфраструктуру для масштабирования.
- Участвовать в обсуждении и доработке архитектуры приложения.
---
### Требования:
1. Уверенные знания ML и статистики
- Понимание классических алгоритмов (деревья, бустинги), умение выбирать и тюнить модели.
- Желательно опыт с глубинными фреймворками (PyTorch/TensorFlow).
2. Инструменты Data Science
- Python: библиотеки
scikit-learn
, XGBoost
/LightGBM
, pandas
, numpy
. - Умение визуализировать данные, проводить EDA (matplotlib, seaborn и т.п.).
3. Навыки обработки сетевого трафика (желательно, но можно прокачаться по ходу)
- Основы TCP/IP (MSS, Window Size, TCP Options).
- Понимание TLS ClientHello, JA3-сигнатур.
- Базовое представление о HTTP/2.
4. DevOps / MLOps (на базовом уровне)
- Docker, Git, Linux; плюсом — CI/CD.
5. Дополнительно приветствуется
- Опыт DS-наставничества.
- Базовые знания по безопасности, понимание работы VPN/прокси-сервисов.
- Хорошая математическая база (статистика, матан, вероятностные модели).
---
### Формат работы:
- Удалённо, частичная или полная занятость (обсуждается).
- Работа в небольшом коллективе (сети/бэкенд + ML-часть).
- Задачи в трекере, стендапы/созвоны по мере необходимости.
### Что предлагаем:
- Возможность глубоко разобраться в сетевых отпечатках, работать с интересными данными.
- Гибкость в выборе инструментов: не ограничиваем стектом — главное результат.
- Поддержка с инфраструктурой и сбором данных (с сетевой стороны).
- Конкурентная компенсация (по результатам собеседования).
---
Как откликнуться:
- Напишите о себе, прикрепите резюме/портфолио (GitHub/Kaggle и др.).
- Поделитесь примером ML-проекта, где вы делали пайплайн обучения/деплоя.
- Укажите опыт в сетевых протоколах или безопасности (VPN, прокси), если есть.
Контакт https://t.me/Siemons8