Alexander Ivash, Developer in Minsk, Minsk Region, Belarus
Alexander is available for hire
Hire Alexander

Alexander Ivash

Verified Expert  in Engineering

Software Developer

Location
Minsk, Minsk Region, Belarus
Toptal Member Since
September 1, 2020

Alexander is a passionate developer with over 15 years of experience in IT, focused on С++, Qt, and C# for Windows desktop applications. He developed an enterprise security application performing real-time event monitoring, blocking, and reporting, and an avatar application for open-source construction of VR worlds. He excels at reverse-engineering, memory dump analysis, troubleshooting, and Windows kernel drivers. Alexander enjoys open-source projects and a creative, fast-paced environment.

Portfolio

GP Solutions
Microsoft SQL Server, SQLite, gRPC, Windows Communication Foundation (WCF)...
Freelance and Passion Projects
Angular, Node.js, Android, QML, Qt
SimpITy
DevExpress, Remoting, .NET, SQLite, Windows Presentation Foundation (WPF), C#

Experience

Availability

Part-time

Preferred Environment

Visual Studio Code (VS Code), C#, C++, Qt, Qt Creator, Visual Studio, Windows

The most amazing...

...project I've delivered was the reverse-engineering of the MS Active Directory and implementing monitoring and blocking.

Work Experience

Senior Software Developer

2017 - PRESENT
GP Solutions
  • Assisted in the development of StealthIntercept; an enterprise security product performing real-time event monitoring, blocking, and reporting.
  • Implemented a helper driver for bypassing LSASS protection to load the AD Monitor into the protected LSASS. Implemented process creation monitoring/blocking to prevent injection into LSASS.
  • Updated the AD Monitor to support Windows Server 2016/2019. Implemented UAC (user account control) monitoring/blocking.
  • Participated in customer calls, troubleshooting, and resolving of customer issues.
  • Added hooks for capturing PAC in the AD Monitor. Introduce related analytics based on the PAC delta calculation.
  • Designed and implemented integration with other Stealthbits products.
  • Implemented a rules-based password enforcement policy.
  • Migrated a communication layer in product from .NET remoting to gRPC.
  • Implemented LDAP search blocking and proof-of-concept for LDAP binds monitoring.
  • Initiated an LDAP-based API for validating password changes happening on workstations on DC.
Technologies: Microsoft SQL Server, SQLite, gRPC, Windows Communication Foundation (WCF), Microsoft Silverlight, Microsoft, Windows Forms (WinForms), C#, C++

Freelancer Software Developer

2012 - 2020
Freelance and Passion Projects
  • Implemented an Android application called Offline Maps that worked with OpenStreetMap data via the osmdroid library, allowing searches by name, type, or address, and supported favorites. (No longer unavailable.).
  • Implemented a set of crawlers using Node.js for price monitoring and ratings from The Movie Database (TMDb) and IMDb.
  • Implemented screen capture and video recording with a Windows application (Qt/QML) using https://github.com/rdp/screen-capture-recorder-to-video-windows-free.
  • Designed and implemented a virtual microphone Windows driver.
  • Introduced changes into QCTools (https://github.com/bavc/qctools), refactored monolithic codebase into the desktop app, developed a command-line tool and library, and migrated to the QtAV library for HW-accelerated playback.
  • Developed an application for simplifying Active Directory administrative tasks and allowing patterns-based objects rename/attribute changes and bulk updates.
  • Developed an avatar application for a high-fidelity open-source constructor of VR worlds, which allowed one to change the look and feel of the avatar, apply wearable items, or switch the avatar. Reworked virtual keyboard and fixed many bugs.
  • Implemented a Qt/QML-based mobile application for extracting objects from backgrounds and producing fun collages. My classmate prepared a TensorFlow-based model, and I developed the rest.
Technologies: Angular, Node.js, Android, QML, Qt

Senior Software Developer

2012 - 2017
SimpITy
  • Developed StealthSeek; a RegEx-based data leak prevention application.
  • Participated in collecting requirements and architecture design.
  • Implemented a multi-threaded scanning core and a scan task manager.
  • Initiated a mechanism for deploying scanning agents and executing remotely.
  • Developed the initial version of a hierarchic criteria evaluator.
  • Participated in WPF-based UI development and custom controls creation.
Technologies: DevExpress, Remoting, .NET, SQLite, Windows Presentation Foundation (WPF), C#

Senior Software Engineer

2012 - 2017
SimpITy
  • Developed StealthIntercept; enterprise security product performing real-time event monitoring, blocking, and reporting.
  • Ported the Active Directory Monitor to Windows Server 2k12.
  • Added hooks for LDAP search and compare requests and implemented monitoring code.
  • Added rules-based blocking for add/delete/modify/rename AD operations.
  • Added hooks for NTLM authentication and implemented monitoring. Added hooks for capturing local/RDP logons to DCs. Participated in implementing Kerberos hooking/monitoring. Implemented authentication blocking for NTLM and Kerberos.
  • Implemented the initial version of an analytics engine and a few analytics. Implemented an event classification module and a PowerShell event consumer.
  • Designed and deployed a roles-based security subsystem via customized Windows authentication.
  • Performed cleanup and refactoring, performance profiling and optimizations, and introduced the initial set of unit-tests.
  • Fixed bugs and delivered features for all the components of StealthIntercept. Participated in customer calls and technical decision-making.
  • Stabilized and refactored FS Minifilter driver and the related Win32 service, implemented dual-mode to allow working with two different products simultaneously. Added 'access denied' reporting.
Technologies: Microsoft SQL Server, SQLite, Interactive Disassembler (IDA), Reverse Engineering, Windows Communication Foundation (WCF), Microsoft Silverlight, Windows Forms (WinForms), Windows Presentation Foundation (WPF), C#, C++

Software Architect

2012 - 2012
Bestsoft
  • Traveled onsite as part of the technical team to discuss architecture and requirements.
  • Discussed and designed the database schema together with the customer's technology lead.
  • Designed prototypes; took a centralized approach to features management, proof-of-concept for using Telerik components as a basis for custom grids/controls, and a plugin-based approach for product features.
  • Defined the process of release management and branching. Defined the process of interaction with the customer's repositories.
  • Participated in requirements collection and clarification.
Technologies: C#, ASP.NET, Factory, Software, Web

Senior Software Developer

2010 - 2012
Bestsoft
  • Participated in the development of 'Effective Rights' - a client-server Silverlight-based application for collecting and reporting effective rights for objects in Active Directory and the NTFS file system.
  • Implemented FS and AD scanners, collecting DACLs and owner information from objects. Calculated effective rights for the users.
  • Productized logs parsing and a database insertion component, added bulk insertion to MS SQL.
  • Participated in the implementation of the Silverlight application and related web services.
  • Migrated web services to Windows Communication Foundation.
  • Participated in SQL queries performance profiling and optimizations.
  • Assisted in the preparation of the functional design document.
Technologies: Windows Communication Foundation (WCF), ASP.NET, WinAPI, Microsoft Silverlight, C++, C#

Support Engineer

2007 - 2012
Bestsoft
  • Worked as a support engineer on the cross-platform C++ framework for Windows/VxWorks (Zinc).
  • Handled Zinc transition from another company. Migrated from SourceSafe to Subversion.
  • Investigated customer issues, participated in customer calls, produced bug fixes and workarounds.
  • Implemented a Cmake-based build system and Cpack-based installer.
  • Added features such as image reading and saving (BMP, PNG, JPG), screen capturing.
  • Collaborated with Zinc-based project LASAIR and implemented fixes and features for them, such as double buffering and touch RAM support.
Technologies: Eclipse, Tornado, VxWorks, Zinc, C++

Software Developer

2008 - 2010
Bestsoft
  • Developed multiple, short, outsource projects such as SPSC; an application for audio devices' management networks.
  • Investigated the Phonon library for audio stream playing and implemented POC. Provided Qt guidance for team members.
  • Participated in architecture design, developed a communication manager, plugin interfaces, and plugins. Implemented layouts and drag-n-drop functionality.
  • Created a platform for image and video synchronization between mobile devices and the web.
  • Designed the front-end fora web portal using the SpoutCore library.
  • Developed the back-end with PHP and CodeIgniter to communicate with the Funambol server for actual synchronization.
  • Assisted in the production of the first set of applications for Android, not from Google. Created a calculator application, fixed bugs, and optimized applications.
Technologies: Android, CodeIgniter, PHP, SproutCore, JavaScript, C#, Qt, C++

Software Developer and Reverse Engineer

2007 - 2009
Bestsoft
  • Participated in the development of the active directory monitor; a library that is injected into a system process to monitor AD operations.
  • Reverse engineered input parameters of undocumented functions.
  • Created monitoring code inside undocumented function hooks writing events into the file and sending to a shared-memory.
  • Updated the hooking mechanism to support 64-bit platforms.
  • Ported the active directory monitor to the Windows Server 2003 64-bit, Windows 2008 32/64 bit.
Technologies: Assembler x86, Visual Studio, Hex-Rays Decompiler, Interactive Disassembler (IDA), C++

Software Developer

2004 - 2007
KBTEM
  • Developed a set of engineering tools for internal consumption.
  • Designed an application for engineering data collection from a step motion controller over an RS-232 data channel and visualization in the form of charts. Implemented a simple ASCII-based text protocol.
  • Developed a library for interacting with the kernel mode driver for PCI-cards, controlling step motion drivers. The library provided a set of basic motion functions such as constant velocity motion and point-to-point motion.
  • Designed desktop applications for configuring, testing, and controlling PCI-based step motion drivers and COM-based ones.
  • Created a desktop application for the acquisition, visualization, and PDF export of one's current electricity readings used for configuring power cards.
  • Developed a library for an industrial machine-vision system based on a third-party library.
  • Implemented calibration algorithms, raw and precise wafer orientation, frames capturing and found objects visualization, and controlling ring light and two-axis air cushion engine.
  • Created a desktop application for modeling the process of wafer orientation and executing a real one by communicating with the library. This was used for testing and demonstration purposes.
  • Switched to Subversion from SourceSafe and began using branches for release management.
  • Developed an IDE for visual state machines management and code-generation. Developed a custom chart component and used Oxygen for producing documentation.
Technologies: Subversion (SVN), Visual SourceSafe, WinAPI, Windows, Visual Studio, Qt, C++

Mad Collage

A Qt/QML-based mobile application for extracting objects from the background and producing fun collages. My classmate prepared a TensorFlow-based model, and I delivered the UI and product functionality. The application was written in Qt and prepared for submission to the Apple AppStore.

QCTools

https://github.com/bavc/qctools
A free and open-source software tool that helps users analyze and understand their digitized video files through the use of audiovisual analytics and filtering. I was the only developer working closely with the client during the last few releases (starting with 0.7.3) and added several exciting features while optimizing and fixing bugs. View more information at https://github.com/bavc/qctools/releases.

High Fidelity

https://github.com/yozlet/interface/commits?author=ElderOrb
This was a great application I was fortunate to work on called High Fidelity: A free platform for creating, hosting, and exploring shared virtual reality. Unfortunately, they closed all the repositories and switched to stealth mode. I've made 335 commits (all accepted), many bug fixes for QML-related code, and implemented an Avatar application for virtual tablet. The link provided is to the most actual forked repo with most of my contributions.
2000 - 2004

Bachelor's Degree in Physics

Belarusian State University - Minsk, Belarus

Libraries/APIs

ADSI, Windows Forms (WinForms), WinAPI, Node.js

Tools

WinDbg, Interactive Disassembler (IDA) Pro, Qt Creator, Interactive Disassembler (IDA), Git, Subversion (SVN), TFS, Turbo Pascal, Visual Studio, Visual SourceSafe, Microsoft Silverlight

Frameworks

Qt, Qt Quick, .NET, gRPC, Angular, Windows Presentation Foundation (WPF), SproutCore, CodeIgniter, ASP.NET

Languages

C++, C#, QML, JavaScript, Java, Assembly Language, SQL, Assembly, Assembler x86, PHP

Platforms

Android, Windows, Visual Studio Code (VS Code), VxWorks, Eclipse, Web, Microsoft

Storage

MongoDB, SQLite, Microsoft SQL Server

Other

Reverse Engineering, Debugging, Cross-platform App Development, Hex-Rays Decompiler, Windows Kernel Drivers, Critical Thinking, Learning, Physics, Zinc, Tornado, Software, Factory, Windows Communication Foundation (WCF), Remoting, DevExpress

Collaboration That Works

How to Work with Toptal

Toptal matches you directly with global industry experts from our network in hours—not weeks or months.

1

Share your needs

Discuss your requirements and refine your scope in a call with a Toptal domain expert.
2

Choose your talent

Get a short list of expertly matched talent within 24 hours to review, interview, and choose from.
3

Start your risk-free talent trial

Work with your chosen talent on a trial basis for up to two weeks. Pay only if you decide to hire them.

Top talent is in high demand.

Start hiring