Boris Solovyev
Портфолио
ICS Software
This position included a lot of reverse engineering tasks. - I reversed software and wrote similar code for our project. I mostly used IDA Pro and WinDbg. - Sometimes the reversing software was protected and there was a need in having non-trivial steps in the research. - I carefully documented all my work on the internal wiki resource and later it helped other developers to write solutions for another platforms (Linux and Mac OS X). - I also did some other activities, for example, I wrote python scripts to manage the VMWare ESXi virtual machines. - At the end of my career in this company, I discussed our software architecture with the colleagues and shared my opinion. As a result we refactored existing architecture and designed new one, which was more efficient and flexible. It was my first serious experience in the cross-platform software design and development.
NDA
- I developed a complex software, which was include both kernel-mode and user-mode parts. This project gave me a lot of experience in Windows internals and driver development. - In that project, among all, I made a code injection from the kernel-mode into any user-mode process in the OS. This technique involved interaction with processes, threads, mapping and loading PE modules (fixing import, export, and relocations), etc. - The kernel-mode driver had a custom interface for the user-mode module to provide I\O operations with the protected storage. - I also dealt with hosting the CLR .NET assembly within an unmanaged (regular) executable file.
NDA
- At this job I developed a user-mode part of the sophisticated, security-related software, which was very close integrated with Windows internals. - I dealt with synchronization, interaction with the kernel-mode drivers and stable and secure networking. - I learned how malware can exploit bugs in the OS by reverse some exploits and malicious samples. - Some tasks involved the use of various crypto algorithms, from base64 to RSA. - One of my tasks was a development of a simple PE32\PE32+ protector for exe and dll files. I added a compression for the protected stub. - I also got experience of checking source code with the static code analyzers like PC-Lint.