Обо мне

Некоторые технологий, которые я использую в разработке

  • ADAPTIVE Communication Environment, Boost 

Разработка отказоустойчивых серверных приложений с использованием решений: реактивная, проактивная работа с дескрипторами; демультиплексор событии; межпроцессное взаимодействие (IPC); Пул потоков, Thread Specific Storage

  • ANTLR

Генерация парсеров для структурированных данных с использованием EBNF синтаксиса.
Имеет возможность генерировать парсер с единым синтаксическим деревом для различных структур данных, что подходит для решении задач где "множество  грамматик - единый обработчик".
В последствии, занимался расширением самого генератора (Си) ANTLR, чтобы он собирал парсеры для более быстрого, менее затратного парсинга больших объемов данных.

  • Libpcap, WinDivert, NPCAP

Разработка приложении для прослушивания и анализа данных (DPI) из сетевого интерфейса. 

  • IDA Pro, Olly, Snowman

Отладка и патчинг исполняемых файлов. Исследование библиотек для разработки приложений-агентов (перехваты вызовов).   

  • OpenSSL, GSS

    Разработка MITM-приложений для анализа данных через защищенный трафик. Использование API в приложениях где нужно шифровать аппликативные данные. 

    • ODBC, JDBC, Libpq, Libmysql, OLEDB, S3 SDK etc

    Использование API для разработки приложений с доступом в хранилище данных.  

    • Fernflower, DirtyJOE, Procyon

    Декомпияция Java байт кода, исследование и обратный патчинг.

    • Java Native Interface

    Взаимодействие с JVM через нативные приложения. Применял когда бэкенд был на C/C++, и нужно было использовать готовые Java решения, например Apache Tika.  

    • SSPI, OpenLDAP, GSS-API

    Использование API для разработки приложений с доступом к службе каталогов (Active Directory, OpenLDAP)

    ------------------------------

    Опыт в исследовании СУБД

    PostgreSQL, Hive, Greenplum, Netezza, Redshift, Impala, Vertica, Firebird, Heroku, Oracle, MsSQL, MySQL, MariaDB, DB2 - 

    • реверсинг сетевого протокола
    • парсинг SQL запросов с построением дерева (AST)
    • разбор аутентификации: hash, kerberos, sspi, gssapi, active directory, AWS IAM user
    • получение метаданных базы
    • декодирование защищенного трафика
    • анализ на сетевом уровне работы репликации и кластеров
    • использование API 

    ------------------------------
    Опыт работы с облачными сервисами

    Amazon Web Services (AWS), Alibaba Cloud, Microsoft Azure  

    Организация работы серверных приложений внутри облачных систем, используя механизмы: Load Balancer, Auto Scaling, Directory Service, Virtual Server, RDS, S3, VPC

        Опыт работы
        ООО Армор
        Казань
        Ведущий инженер-программист (c/c++)
        Сентябрь 2014 — По настоящее время (6 лет и 1 месяц)
        • Разработка межсетевого экрана для защиты баз данных от взлома и утечки информации.
        • Управление отделом разработки файрвола 

        Свяжитесь со мной, что бы узнать подробности.

        ITO
        Уфа
        Software Reverse Engineer
        Февраль 2009 — Март 2014 (5 лет и 2 месяца)

        Разработка эмулятора официального сервера для MMORPG клиента.

        В основу проекта легли решения от MaNGOS, ScriptDev2, ACID, YTDB.
        К MMORPG клиенту авторы часто выпускали новые патчи,  из-за этого постоянно приходилось «анализировать» их бинарники с отладчиками и исследовать сетевой трафик.

        Сервер писался на C/C++, c использованием сторонних open-source библиотек: ACE(Adaptive Communication Environment), boost, libmysql, zlib, bzip2, OpenSSL, libmpq и Tbb.

        Применяли мультипоточные решения для запросов в СУБД, обработки клиентских соединений, SOAP, удаленного доступа, фриз-детектора и CLI.

        Работа велась удаленно, используя систему учета рабочего времени.