Rust 1.73 Programming Language Released: RustVMM Audit and Rewriting of Binder in Rust

Published general purpose programming language release Rust 1.74, founded by the Mozilla project, but now developed under the auspices of the independent non-profit organization Rust Foundation. The language focuses on memory safety and provides a means to achieve high task parallelism without using garbage collector And runtime (runtime boils down to basic initialization and maintenance of the standard library).

Rust’s memory management techniques free the developer from pointer manipulation errors and protect against problems that arise from low-level memory manipulation, such as after-free accesses, null pointer dereferences, buffer overruns, and the like. A package manager is being developed to distribute libraries, ensure assembly and manage dependencies by the project. Cargo. A repository is supported to host libraries


Memory safety is enforced in Rust at compile time through reference checking, object ownership tracking, object lifetime (scoping) consideration, and memory access evaluation at runtime. Rust also provides protection against integer overflows, requires that variable values ​​be initialized before use, has better error handling in the standard library, uses the concept of immutable references and variables by default, and offers strong static typing to minimize logical errors.

Basic innovations:

Additionally, two events related to the Rust language can be noted:

  • The OSTIF (Open Thanks for reading Technology Improvement Fund), created to strengthen the security of open source projects, published results audit project RustVMM, which provides components for creating task-specific hypervisors and virtual machine monitors (VMMs). Companies such as Intel, Alibaba, Amazon, Google, Linaro and Red Hat are participating in the development of the project. Hypervisors Intel Cloud Hypervisor and Dragonball. The audit confirmed the high quality of the code base and the use of techniques in the architecture and implementation aimed at achieving maximum security. During the audit, 6 problems were identified that did not have a direct impact on safety.
  • Google Company presented on the Linux kernel developer mailing list, a new implementation of the Binder interprocess communication mechanism, nder/rust/”>rewritten in Rust language. The rework was carried out as part of a project to strengthen security, promote secure programming techniques and increase the efficiency of identifying problems when working with memory in Android (about 70% of all dangerous vulnerabilities identified in Android are caused by errors when working with memory). The implementation of Binder in Rust has achieved parity in functionality with the original version in the C language, passes all AOSP (Android Open-Thanks for reading Project) tests and can be used to create working editions of firmware. The performance of both implementations is approximately at the same level (deviations within -1.96% and +1.38%).

Thanks for reading: