CV - Maxim Menshikov
Website: | https://menshikov.org |
GitHub: | https://github.com/maximmenshikov |
Twitter: | https://twitter.com/_ultrashot |
I am a white-hat hacker with strong scientific background, fluent in the complete stack from user applications down to assembly.
Hard skills
- Writing software and drivers for Windows, Linux, Mac, Windows Mobile, Windows Phone.
- Deep knowledge of x86, ARM and MIPS architectures, recognized expertise in security and software analysis research.
- Proficiency in Rust, C, C++, C#, Assembler, Python. Knowledge of Java, Scala, JavaScript, TeX.
- Well aware of toolchains comprising compilers, analyzers, debuggers and standard libraries.
- Industrial knowledge of networking, containerization and Linux-based environments.
- Familiarity with DevOps and infrastructure building.
Soft skills
- I can communicate with everyone, including customers, partners and end-users. Proficient in English and Russian.
- Strong leadership and planning skills. Various teams successfully finished projects in time under my leadership.
- Self-confident. I don’t lose my mind in critical situations and keep developing a solution even when nobody believes it will work.
- Self-motivated. Working towards a solution without any need for micromanagement.
Education
2018-2022 | Saint Petersburg State University Reseacher, teacher (PhD student) Computer Science GPA: 5.0/5.0 |
2016-2018 | Saint Petersburg State University Master of Science Computer Science / Fundamental Informatics and Information Technologies GPA: 4.91/5.0 |
2012-2016 | Saint Petersburg State University Bachelor of Science Fundamental Informatics and Information Technologies GPA: 4.74/5.0 |
Work experience
2020-present | Interpretica Chief Executive Officer |
Lead developer | Delta |
· Created from scratch | |
Arvore | |
· Created from scratch | |
Go parser for Visao | |
· Created from scratch | |
Isabelle | |
· Created from scratch | |
Evolucao / Web | |
· Created the frontend for the Evolucao project. · Designed & coded all the needed pages |
|
Evolucao | |
· Created the server for orchestration of static analysis nodes. | |
Build trace | |
· Investigated ways to perform tracing of builds. · Implemented build tracing. |
|
Native toolchain detection | |
· Investigated ways to perform toolchain detection for various compilers, operating systems and CPUs. · Implemented the detection. · Integrated it to the static analyzer. |
|
Analysis Server Protocol | |
· Architected and implemented JSONRPC-based client/server model for interoperating with static analysis. | |
Administrator | Corporate infrastructure for my company |
· Set up the complete hardware infrastructure. · Set up DHCP, DNS, Wireguard, NGINX with proxying, Gitea, LDAP, virtual machines, file servers, Jenkins and many more. |
|
Lead developer | Visao - a static analysis framework |
· Architected a complete static analysis framework from scratch. · Researched methods and methodology. · Implemented parsers for C/C++/Go languages. · Created own Midair virtual machine and its language. · Developed solving and diagnostics engines. |
|
2020-present | Softcom Principal Software Engineer, Team Leader |
Team leader | Equid IDE integration |
· Led a team integrating the static analyzer to the Eclipse IDE. | |
Software architect, Principal software engineer, Team leader | Minimal Message Broker |
· Architected and coded the core of the message broker. · Helped team integrate it to Wristband Test Suite |
|
Wristband software | |
· Architected a software package for the wristband. · Coded a significant part of a package. · Ported many modules from previous generation device. |
|
Wristband Test Suite | |
· Architected a test suite for wristband software verification based on Robot Framework. · Coordinated the development of the device-side and host-side modules. |
|
Software architect, Principal software engineer | Bluetooth emulator |
· Architected and implemented a tool to benchmark consumer electronics device performance, battery consumption. | |
Administrator | Corporate infrastructure |
· Set up the complete hardware infrastructure. · Set up DHCP, DNS, VPN, NGINX with proxying, GitLab, Nexus, virtual machines, file servers, Jenkins and many more. |
|
Contributor | Improvements in RuC language |
· Contributed significant refactoring of compiler engine. · Designed contract system. · Added static analysis support. |
|
2014-present | OKTET Labs Senior Software Engineer, Team Leader |
Senior Software Engineer | MediaTek platform bringup |
· Brought up a new Mediatek platform to a hardware project. · Ported uBoot, kernel; fixed corresponding targets. |
|
MediaTek NAND driver DMA implementation | |
· Implemented DMA support in a custom MediaTek NAND driver. | |
MediaTek SoC driver improvements | |
· Fixed and reimplemented numerous issues in ratelimit, QoS drivers. · Implemented rate limit, QoS support in router software |
|
WiFi Mesh investigation | |
· Found numerous issues in WDS implementation. · Fixed the issues, deployed WiFi Mesh solution. |
|
Lead Developer, Team Leader | Test Suite for C/C++/Java reversible debugger |
· Led a team making a test suite for a C/C++/Java reversible debugger. · Architected and coded the biggest part of a test suite. |
|
Security Analyst | Malware detection |
· Detected malware in a global project. · Reverse-engineered malware and found attack vectors. · Prepared a solution neutralizing the malware. · Deployed a solution to thousands of devices. |
|
Senior Software Engineer | SNULL LAN client emulation driver |
· Prepared a complete driver for emulating LAN clients. | |
Cryptography support for router software | |
· Reworked cryptography support. · Fixed entropy sources. · Implemented and debugged hardware cryptography support drivers. |
|
SECCOMP for legacy kernel | |
· Backported SECCOMP to older kernel. | |
Package Manager for router software | |
· Developed a package manager tightly integrated with the internal management system. | |
OpenVPN solution for router software | |
· Added support for these tunnels with partial hardware traffic/cryptography acceleration. | |
Containerization support for router software | |
· Implemented a container-based virtualization system for the Internet-Of-Things devices. | |
OverlayFS support for router software | |
· Prepared overlayed file system for industrial routers and handled security implications. | |
Docker MIPS feasibility research | |
· Investigated feasibility of integrating Docker to MIPS-based system. · Preliminarly ported Docker to MIPS. |
|
WiFi driver fixes | |
· Fixed multiple issues in Atheros, Intel (Metalink) and MediaTek WiFi drivers. · Architected and implemented calibration mechanism for these drivers. |
|
Initial setup wizard interface for router software | |
· Architected and implemented a new initial setup wizard. | |
DWC2 USB driver port | |
· Ported DWC2 driver to a new platform, significantly improving stability and performance. | |
Custom static analyzer for router software | |
· Found a place where static analysis could be useful. · Implemented a static analyzer to fix the issue. |
|
Software Engineer | Refactoring of USB Host Controller Driver |
· Found and resolved critical issues in USB Host Controller Driver. · Saved multi-million contract by allowing to finish certification. |
|
IPSec solution for router software | |
· Added support for these tunnels with partial hardware traffic/cryptography acceleration. | |
Certificate Store for router software | |
· Implemented an OpenSSL-based solution for storing, updating and verifying certificates and private keys. · Deployed to hundreds of thousands devices worldwide. |
|
Web interface backend optimization | |
· Improved web interface performance by 7 times. | |
Custom DynDNS client | |
· Architected and implemented a custom DynDNS client. | |
2013-2014 | viaForensics Security Analyst |
Security Analyst | PolicyVisualizer |
· Architected and implemented a tool to visualize security policies. · Found several issues in Windows Phone 8 security policies. |
|
ncsdusb | |
· Found several issues in Nokia USB implementation. · Prepared a Proof-of-Concept exploting the issue. |
Enthusiastic projects
2018-2021 | Analysis Server Protocol |
2019 | Visao - a static analysis framework |
2014-2016 | Codename Race |
2012-2014 | OSBuilder8 |
2011-2012 | XAPDeployer |
2012 | WPBackup |
2011-2013 | Dynamics (WP7) |
2011-2012 | Opera Mobile 10 for Windows Phone 7 port |
2011 | Opera Mini for Windows Phone 7 port |
2010-2011 | Relocation of Z-modules |
2010-2013 | Full Unlock |
2011 | ImgfsFromDump for OSBuilder |
2011-2013 | Native Windows Phone 7 API |
2010-2011 | uTask |
2010 | Sony Ericsson XPERIA X1 two-way in-call recording |
2009-2011 | Dynamics ROM |
2009 | WalkmanDisplay |
2008 | CoverArt in Standby |
Scientific publications
Patents
Feb 15, 2021 | Virtual machine for static analysis RU 2021612228 Registered software package |
Feb 12, 2021 | Equid - a static analyzer for program code RU 2021612141 Registered software package |
Feb 12, 2021 | Multi-layer program analysis module RU 2021612145 Registered software package |
Feb 9, 2021 | libasp - a library for client-server communication with static analysis servers RU 2021611950 Registered software package |