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 |