Embracing Rust: RunSafe Code’s Transition from C++ for Enhanced Stability and Safety
In our search for enhanced stability and safety, RunSafe Code, or Load-time Function Randomization (LFR), recently underwent a significant transition from C++ to Rust programming. We recognized the inherent advantages Rust offers over traditional C++ programming, particularly in terms of memory safety.
Our transition to Rust allowed us to address critical issues surrounding memory unsafety, particularly concerning raw memory access. By leveraging Rust’s language benefits, we meticulously adjusted memory permissions and organized byte slices, ensuring safer interactions with the process’s memory space.
Moreover, by sharing the same implementation across multiple phases of LFR, we’ve effectively reduced the size of our codebase while improving overall code coverage and robustness.
One of the highlights of our transition was our rigorous testing methodology, where we compared Rust and C++ implementations to maintain byte-for-byte accuracy. By running both implementations in the same process and scrutinizing the entire memory space, we rapidly identified and addressed any discrepancies, ensuring a seamless transition.
Embrace the future of programming languages by staying up-to-date on the newest RunSafe Security Minute. Dive deeper into our journey of transitioning RunSafe Code to Rust for enhanced stability and safety.