Компания
532,93
рейтинг
8 сентября 2015 в 10:59

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



Два года подряд во время международного форума 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.
Автор: @ptsecurity
Positive Technologies
рейтинг 532,93

Комментарии (13)

  • 0
    Потребительский вопрос. :) А почему у вас на сайте нет технической документации на продукт, с подробными описаниями настроек и возможных конфигурации. Только реклама.
    • +2
      Для знакомства с общими функциональными возможностями бывает достаточно почитать Data Sheet:
      www.ptsecurity.ru/appsecurity/application-firewall/AF_DS_A4.RUS.0002.02.JUL.14.2015.pdf

      Если же вам хочется познакомится с продуктом поближе, то пожалуйста записывайтесь на демонстрацию, пилотный проект или бесплатное тестирование – дадим и сам продукт, и самую подробную документацию. Записаться можно здесь: af.ptsecurity.ru
  • 0
    Переработка архитектуры ядра продукта, с целью получения возможности встраивания в любые Proxy web-servers, такие как nginx, apache, lighttpd, IIS.


    т.е. работа не как HW или VE appliance, а как плагин для уже работающего у клиента веб-сервера?

  • 0
    и еще пара вопросов.
    ваш кластер подразумевает отказоустойчивость, подхват соединений и синхронизацию конфигов между членами кластера?
    если ставить как reverse-proxy, поддерживается ли балансировка между группой серверов и health checking?

    и последний вопрос)) оборудование продается под проект через партнера или заказчикам можно обращаться к вам напрямую?

    спасибо!
    • 0
      т.е. работа не как HW или VE appliance, а как плагин для уже работающего у клиента веб-сервера?

      Да, планируется работа AF не только как hardware или virtual appliance, но и как плагин к веб-серверу.

      ваш кластер подразумевает отказоустойчивость, подхват соединений и синхронизацию конфигов между членами кластера?
      если ставить как reverse-proxy, поддерживается ли балансировка между группой серверов и health checking?

      Да, конечно, кластер реализован со всеми необходимыми технологиями отказоустойчивости.

      оборудование продается под проект через партнера или заказчикам можно обращаться к вам напрямую

      Только через авторизованных партнёров.
  • 0
    Версию kibana на 4 будете обновлять?
    • 0
      Нет, будем писать свою кибану.
    • 0
      Набираем команду в том числе и для этого :)
  • 0
    А сейчас что используется, если есть пункт «Переход на более быстрые библиотеки/драйвера получения данных с сетевых карт»?
    • 0
      возможно, рассматривается переход с обычных серверов на custom-built железо с L2 коммутаторами, с аппаратными L4 и SSL оффлоадом.
      если продукт выстрелил, то это один из очевидных этапов развития.

      это лишь мой взгляд со стороны. посмотрим, что ответ вендор.

      • 0
        Нет, Netmap никакого отношения к custom железу не имеет, он работает исключительно на серверах общего назначения. А про offload в статьей итак сказано.
        • 0
          да, вы правы. не увидел упоминания netmap в вашей цитате.
    • 0
      Сейчас используем libnids + libpcap, также есть работающая версия на netmap, но ее нужно развивать.

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

Самое читаемое Разработка