Вакансия: ML/DS-инженер (Network Fingerprinting & Anomaly Detection)
Коротко о проекте:
Мы разрабатываем сервис, который по низкоуровневым отпечаткам (
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.center/Siemons8