BASIS is a developer of software products for providing cloud services and a dynamic infrastructure platform.
BASIS supplies and integrates virtualization solutions to the largest state and commercial customers. We take an active stance in replacing imported solutions with our own.
Responsibilities:
- Static code analysis (SAST) of critical Linux components:
- Analysis of the source code of the Linux kernel, KVM/QEMU, libvirt, network drivers and technologies (OVS, DPDK), file systems (ext4, XFS, Btrfs);
- Use of tools: Coverity, Coccinelle, sparse, Smatch, CodeQL;
- Search for vulnerabilities of CWE, CVE classes (memory corruption, race conditions, privilege escalation).
- Fuzzing of system components:
- Setting up and running fuzzers (syzkaller, AFL++, libFuzzer, kAFL) for kernel and virtualization testing;
- Analysis of crashes, writing reports, and working with upstream developers.
- Dynamic analysis and debugging:
- Work with KASAN, UBSAN, KMSAN, GDB, kgdb, perf, ftrace;
- Analysis of memory dumps, race conditions (lockdep, KCSAN).
- Vulnerability remediation:
- Fixing found issues (patching, backporting fixes);
- Checking compliance with security standards (Linux Kernel Self-Protection Project, CERT C).
- Security auditing:
- Analysis of SELinux, AppArmor, seccomp, namespaces, cgroups mechanisms;
- Checking virtualization configurations (KVM hardening).
- Integration into CI/CD:
- Setting up automated checks in Jenkins, GitLab CI, KernelCI, LKFT.
Requirements:
- Higher technical education in information security or information technology
- Experience with the Linux kernel (understanding of architecture, familiarity with the code);
- Knowledge of Java;
- Participation in the development/analysis of open-source projects (Linux kernel, QEMU, libvirt);
- Static analysis skills (Coverity, Coccinelle, CodeQL);
- Experience with fuzzing system software (syzkaller, AFL++, Trinity);
- Understanding of hardware virtualization (Intel VT-x/AMD-V, KVM, QEMU);
- Knowledge of network protocols and subsystems (TCP/IP, netfilter, eBPF, OVS);
- Debugging experience (GDB, kgdb, crash utilities, tracing);
- Ability to work with git, patch management (git send-email, lore.kernel.org);
- English (reading/writing technical reports, communication with upstream).
Will be a plus:
- Knowledge of assembler (x86/ARM/RISC-V) for analyzing low-level vulnerabilities;
- Experience with formal verification methods (e.g., for drivers);
- Understanding of hypervisor attacks (Spectre/Meltdown, VM escape);
- Reverse engineering skills.
Conditions:
- Employment according to the Labor Code of the Russian Federation;
- Competitive salary based on interview results;
- Quarterly bonuses;
- Work schedule 5/2 Mon-Fri, flexible start of the day;
- Social package (voluntary medical insurance, mobile communication reimbursement).