28 ноября приходите на новый хабрасеминар. В этот раз мы поговорим про HR-бренд, создающий образ компании, привлекательный для будущих сотрудников. Подробности и регистрация
Обо мне

I am an experienced systems software developer. Closely familiar with ins and outs of how a typical x86-based computer works, how hardware works in general (including storage, network, graphics, etc) and how various operating system kernels, firmware, hypervisors, file systems and language runtimes are implemented or can be implemented efficiently.

I am always interested in a project where i can apply my software engineering skills to design and build systems-level software with ambitions performance, quality and security requirements.


Main proficiencies:

  • Cross-platform systems software development in C, C++. Some golang, rust and python if nessesary
  • x86 architecture, performance optimiziaion, virtualization and firmware, reverse engineering, 
  • Concurrency and parallelism from low-level hardware primitives to high-level algorithms. 
  • Virtualization, emulation and binary translation algorithms
  • Linux kernel development, windows kernel reverse engineering and general unix-like usermode.
  • Data protection, crypto and authentication
  • Compilers, debuggers and language runtimes
  • Software quality and security


Talks (audio in Russian, slides in English):


Patents:

References from previous employers are available on request

Опыт работы
Крупнейшая российская поисковая система и портал. Яндекс есть также в Казахстане, Беларуси и Турции.
Lead Software Engineer
Август 2017 — По настоящее время (2 года и 4 месяца)

Yandex.Cloud:

Helped successfully develop and launch the biggest public compute cloud offering in Russia: https://cloud.yandex.com/

Responsible for everything hypervisor-related: 

  • Qemu/KVM hypervisor and device emulator development lead
  • Optimized storage I/O stack for paravirtualized block devices based on SPDK and parallelized NVMe SSD drives
  • Low-level security and threat analysis
  • Overall core platform expertise
  • Leading a small team of 3-4 systems software developers
Lead Software Engineer
Май 2016 — Август 2017 (1 год и 4 месяца)

Virtuozzon Hypervisor:

At Virtuozzo i was working with upstream QEMU/KVM open source hypervisor. My main role was to research inner workings of and implement support for Microsoft HyperV paravirtualized storage devices in QEMU/KVM hypervisor.

  • Analyzed block device emulation performance, optimized different VM migration cases
  • Reversed-engineered and implemented support for Windows HyperV paravirtual devices in Qemu
  • Implemented guest VM drivers in UEFI firmware
  • Debugged hard cases in huge KVM and Qemu code base
  • Communicated with open source community around KVM, Linux kernel, and Qemu

This allowed us to achieve significant compatibility and performance improvements when running Windows-based VMs on Virtuozzo server virtualization platform.

ТОП-5 международная компания в области IT безопасности. Один из лучших работодателей России
Senior Software Research Developer
Апрель 2012 — Май 2016 (4 года и 2 месяца)

I had two major projects in Kaspersky:


Kaspersky Full Disk Encryption:

Designed and implemented an x86 bare-metal execution platform for running feature-rich preboot authentication code on BIOS and EFI systems for full disk encryption software with GUI, internationalized input, and two-factor authentication support.

  • Performed overall platform design, architecture and majority of low-level coding.
  • Implemented core systems, memory allocation, PCI and USB support and input devices.
  • Designed and implemented process VM to emulate Win32 execution environment during boot.
  • Implemented PE image loader, NT syscall emulation, C99 standard library.
  • Reverse-engineered UEFI and Legacy BIOS firmware.
  • Implemented custom debuggers and other supporting tools.
  • Implemented data encryption and authentication in resource-constrained environments.
  • Interviewed and mentored new hires.

The result of our team's work was preboot authentication support for full disk encryption software technologically and feature-wise on par with leading solutions on the market. 

It can also run DOOM by Id Software: https://www.youtube.com/watch?v=TSVst8JKRyc


Kaspersky Secure Hypervisor:

Helped develop of a security-oriented type-2 hypervisor on top of an in-house microkernel design for use in industrial embedded systems. 

  • Maintained Linux and custom microkernel implementations of a virtualization driver.
  • Designed and implemented typed IPC mechanism for cross-VM communication
  • Worked with SeaBIOS integration for unrestricted guest support.

Inventor in US Patents #9003176: http://patents.com/us-9003176.html

Nominated for "The Best Young Officer" Kaspersky Award 2012

Сибирский государственный университет телекоммуникаций и информатики
Разработчик С++
Сентябрь 2009 — Апрель 2010 (8 месяцев)

Provided consultation in software architecture and C++ development for a team of graduate students who were completing their masters project: land traffic CAD software with real-time simulation. Done some coding as well. All in my spare time once a week.

Jetico, Inc
Новосибирск
С++ Software Developer
Октябрь 2008 — Апрель 2012 (3 года и 7 месяцев)

BestCrypt Container Encryption:

http://www.jetico.com/products/personal-privacy/bestcrypt-container-encryption

Designed and implemented container encryption software:

  • Implemented virtual block device drivers for transparent encryption on Linux and Mac OS X;
  • Integrated password, public key and secret sharing scheme authentication support and deniable encryption features;
  • Implemented kernel-level keylogging protection during password input;
  • Introduced automated unit testing for projects under my responsibility;


BCWipe secure data removal:

http://www.jetico.com/products/personal-privacy/bcwipe

Ported secure file and free space erasure software to Mac OS X, designed and coded native GUI;

Высшее образование
Московский государственный институт радиотехники, электроники и автоматики
Москва
Факультет: Вычислительных машин и систем; ВМС
Сентябрь 2017—По настоящее время (2 года и 2 месяца)