Highlight some fun problems to solve when you converted RunSafe code from C++ to rust.

In this video, we discuss the transition of RunSafe Protect, also known as Load-time Function Randomization (LFR), from C++ to Rust. Discover how this shift has not only enhanced stability and safety but has also streamlined our codebase for improved efficiency.

Converting C++ to Rust

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.

CRA Readiness: Build an SBOM You Can Act On

CRA Readiness: Build an SBOM You Can Act On

Under the Cyber Resilience Act, having an SBOM is only the beginning. Manufacturers need to know exactly what software is in each product release and be able to quickly determine which products are affected when a new vulnerability emerges. For embedded software, that...

read more
Operational Software Assurance

Operational Software Assurance

Security Cannot Stop When Software Ships Critical software can remain deployed for years or even decades. During that time, new vulnerabilities emerge, threats evolve, and AI is accelerating both vulnerability discovery and exploit development. But patching, testing,...

read more
6 Steps to CRA Readiness

6 Steps to CRA Readiness

The EU Cyber Resilience Act (CRA) is reshaping how connected and embedded products must be secured, maintained, and supported. Is your organization ready? Watch this short video to learn six practical steps that can help product manufacturers prepare: Test your...

read more