Dmitro Buvailo, Senior Software Engineer/Developer

Summary of Qualifications

My career has led me to specialize increasingly in the application and system programming at international levels. I have experience in: enterprise systems programming, low level programming, making architecture decisions on enterprise applications level, working as dedicated specialist and developing different Windows and Linux drivers, hook/injection systems, packet sniffers, data inspection.

My Linkedin account, Github account.

Technical environment, experience

Type Tools, libs, techs
Operating systems Windows, Linux
Programming languages Prefered: С/С++.
Auxiliary: Assembler, Bash, Python.
Obsolete: Fortran, Delphi.
Technologies C++11/14/17, STL, WDM, minifilters, filesystem drivers, filter drivers, NT/Win32 API, windows internals, IPC, RPC, multithreading, sockets, remote/kernel debugging, crash dump analysis, reverse engineering, POSIX, API hooks, OOP, design patterns, unit testing, cross-platform development
Libraries Boost, GTest, GMock, CryptoPP, ZLib, OpenSSL, Detours/MHook/EasyHook
Dev tools Visual Studio, WinDbg, IDA, Gcc, Clang, GDB, Cmake
Scripts Windows/Linux shell, bash, Python
Source control Prefered: Git, GitHub
Obsolete: SVN
Installers WIX, MSI, Deb packaging
Documentation Notion, Confluence, Fisheye, Bamboo, reStructuredText, XML/XSLT
Issue tracking systems Jira, Asana
Databases MSSQL, MySQL
Containers Docker (a bit)
Network Wireshark, scapy

Projects and customers

I have worked on several big enterprise projects (Korea, Israel, Canada, USA) all mostly about data security: data monitoring, digital right management, data leak prevention.

Customer Project description
Accedian
(Canada, France)

Canadian customer with the local office in Paris. The project for the network performance analysis and deep packet inspection.

Server side of the project is in the cloud: web infrastructure, databases, analysis, etc.

The customer-side scalable Linux farm for packet sniffing and parsing: taps the whole office/net traffic, parses, compresses data and feeds the cloud.

Experimental: the user-agents on the end-points in customer network for TLS-1.3 session keys stealing.

Anonimous
(USA)

The researching project about the Windows exploit security. Metasploit payloads, mimikatz, code injections, exploits, code/behavior obfuscation, ROP gadgets, antivirus bypassing.

Checkpoint
(Israel)

Israel-based company and product (capsule docs) for Microsoft Office with worldwide auditoria. The capsuled documents from the moment of creation are encrypted/secured and can't be unintentionally shared.

The access is provided only to authorized individuals or group, custom policies specify how documents can be used by authorized recipients, sharing and uploads without risk of data loss.

Cloud-based authorization infrastructure, client-side user-mode virtualization, code hooks, MS Office addins.

IQPAD
(South Korea)

The customer DLP system encrypts files and protects the client data from leakage. Only trusted apps installed on trusted computers (for example working place in a firm office) may decrypt content.

The system controls all possible ways of leaking valuable content via copy-pasting, file exporting, screenshotting, e-mailing, etc. The system has a big client base in Eastern Asia. Any chosen file and even any content produced by the managed app may be forced to be the encrypted container with additional access control information.

Support for MS Office, Korean local offices, Adobe Acrobat, Autodesk AutoCAD, DS CATIA Solution, Siemens NX, etc as managed apps.

Authorization infrastructure, client-side kernel file system virtualization, kernel minifilters, user-mode code hooks, MS Office addins, Adobe Acrobat plugins, Siemens plugins, etc.

Work history

Position Place Years Description
Senior Software Engineer, Developer Underdefense
(Ukraine, Lviv)
2020–2023
3 years

Linux, packet sniffer, protocol parsers, C/C++, Windows client-side user-agent, usermode hooks, TLS decryption.

Security systems - process monitoring, registry, user activity monitoring.

Software Engineer, Developer Apriorit
(Ukraine, Dnipro)
2016–2020
5 years

Windows kernel, C/C++, kernel/userspace file system virtualization, storage data encryption – C/C++, Windows minifilter and FS drivers, encryption, usermode hooks, APC injection, COM interfaces and hooks.

Security systems - process monitoring, registry, user activity monitoring.

Contract researcher, developer Zaporozhian National University, Zaporozhian local factories
(Ukraine)
1999-2014
15 years

The collaboration of university and local factories. Researching/modeling for the various constructions like the transformator oil-tanks, the lodgments, beams, etc.

Custom software for the mathematical modelling of electrical transformer oil tanks damages/destruction, mathematical modelling of building structures, rubberized details, etc: Fortran/C/C++.

Docent, associated professor Zaporozhian National University
(Ukraine)
2000-2016
16 years
Various computer science courses
Teacher, assistent Zaporozhian National University
(Ukraine)
1998-2000
2 years
Various computer science courses

Education

Level Place Years Description
PhD Zaporozhian National University
(Ukraine)
1998-2000
2 years

Mathematical modelling and computational methods (finite-element modelling)

Postgraduate study Zaporozhian National University
(Ukraine)
1995-1998
3 years

Fortran/C/C++ development of finite-element modelling and data visualization for building structures, rubberized details, electro/elasticity/termal fields

bachelor, magister Zaporozhian National University
(Ukraine)
1990-1995
5 years

Applied mathematic

Hobbies

Sport programming: I like to solve hard tasks from competitions. I was an active member of Ukrainian community. I had maximum 4 place sometime ago in local ukrainian rating at local competition site https://www.eolymp.com/en/users/bdp, had been former trainer of local zaporozhian university ACM team.

The projects just for fun: I'm developing tools for my own processor architecture with the original instruction set https://github.com/bdpx/postrisc. The tools are: emulator, LLVM compiler backend, ported libc (MUSL), ported apps like Doom-1.