python

Защита корпоративных приложений: как стать разработчиком PT Application Firewall

  • среда, 9 сентября 2015 г. в 02:10:47
http://habrahabr.ru/company/pt/blog/266415/



Два года подряд во время международного форума Positive Hack Days проходил конкурс WAF Bypass по обходу межсетевого экрана PT Application Firewall. Мы публиковали в блоге разбор заданий этого соревнования (2014 год и 2015 год).

За год популярность соревнования значительно выросла: этой весной для участия зарегистрировалось 302 человека (годом ранее — 101), которые за время конкурса отправили 271390 запросов (вдвое больше, чем в предыдущем году).

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

Немного истории


Наша компания уже 13 лет занимается борьбой с киберугрозами, за это время мы разработали целый ряд программных решений, которые сейчас обеспечивают безопасность более 1000 компаний в 30 государствах.

Одним из таких проектов является интеллектуальный межсетевой экран Positive Technologies Application Firewall (PT AF) — он помогает защищать веб-порталы, ERP-системы и мобильные приложения. Продукт уже неплохо показал себя в «боевых» условиях: например, при защите сайтов медиа-холдинга ВГТРК во время зимней Олимпиады-2014. А международная аналитическая компания Gartner, изучив наш защитный экран, назвала компанию Positive Technologies «Визионером» в своем исследовании «Magic Quadrant for Application Firewalls 2015».

Мы хотим сделать продукт еще лучше, и для этого нам нужны увлеченные люди.

Технические подробности


Продукт разрабатывается и поставляется как Hardware Appliance или Virtual Appliance (с режимами работы Reverse Proxy, Mirrored SPAN и Forensics) — поэтому все части системы должны дополнять друг друга. Решение «заточено» на работу с высоконагруженными системами (трафик 10 Gbps). Предусмотрена возможность кластерной установки с горизонтальным масштабированием для увеличения производительности.



Рассматривая PT AF как многокомпонентную систему, можно выделить несколько направлений разработки:

  • Система сборки и установки продукта;
  • User Interface. Frontend;
  • User Interface. Backend;
  • Ядро продукта. Логика анализа трафика;
  • Сетевая инфраструктура. Логика получения и разбора трафика;
  • Машинное обучение. Эвристические алгоритмы по оценке пользовательского поведения и отправляемых данных.

Для дальнейшего развития системы мы ищем разработчиков C++, Python/JS и тестировщиков. И вот какими задачами им (то есть вам) предстоит заниматься.

Разработчики C++


  • Реализация алгоритмов машинного обучения для выделения аномалий в передаваемом трафике, аномалий пользовательского поведения, bot detection, DDoS detection.
  • Использование GPU для ускорения математических обсчетов, технологии CUDA, OpenCL (используется в алгоритмах машинного обучения). Предполагается исследование Xeon Phi.
  • Переработка архитектуры ядра продукта, с целью получения возможности встраивания в любые Proxy web-servers, такие как nginx, apache, lighttpd, IIS.
  • Интеграция SSL acceleration device в appliance PT AF.
  • Анализ трафика к базам данных, разбор протоколов, выявление аномалий в трафике, разграничение возможности доступа пользователей.
  • Переход на более быстрые библиотеки/драйвера получения данных с сетевых карт, такие как Netmap, SPDK.
  • Внедрение технологии Load balancing traffic.

Разработчики Python/JS


  • Проработка и реализация SaaS-архитектуры PT AF.
  • Реализация возможности разграничения полномочий пользователей по управлению политиками безопасности для большого числа установленных копий продукта (multitenance).
  • Работа над REST API — инструментом управления PT AF, который используется как для собственного UI, так и для интеграции с любыми другими внешними системами.
  • Развитие систем Orchestration и Provisioning, позволяющих создавать достаточное количество копий продукта для обслуживания пользовательского трафика.
  • CLI – консольный интерфейс управления продуктом на основе REST API.
  • Разработка и поддержка новой версии Frontend для UI. Язык преимущественно AngularJS, Node.JS.
  • Развитие системы обновления продукта. Интеграция с собственным сервером управления лицензиями. Организация доступа для технической поддержки на сервер PT AF. Сбор статистической информации с PT AF на сервер сбора данных.
  • Доработка системы отчетности — генерация отчетов об инцидентах, статусе системы, нагрузке, шаблонизирование пользовательских отчетов.

Инженеры по качеству


  • Ручное и автоматизированное тестирование всего перечисленного выше;
  • Проверка защиты L7 через WAF от всевозможных типов атак;
  • Поддержка фермы нагрузочного тестирования и его проведение (десятки тысяч HTTP RPS);
  • Анализ сложной функциональности и разработка подходов к её тестированию.

Что мы предлагаем


Команда проекта пока небольшая, а значит, каждый ее член может принимать ключевые решения. Помимо прочего, работа в Positive Technologies — это:

  • Оформление согласно ТК РФ;
  • 6 недель оплачиваемого отпуска;
  • ДМС, включая стоматологию;
  • Возможность выбрать время начала рабочего дня;
  • Офис в 30 шагах от метро Преображенская площадь (Москва);
  • Возможность посещать профильные международные и российские конференции;
  • Отсутствие дресс-кода и уважение к ценностям каждого сотрудника.

Рассказ о себе и проектах, в которых удалось поучаствовать, присылайте в текстовом формате в теле письма на адрес электронной почты career@ptsecurity.com.