Welcome to the GitHub repository for the Rust Software Security Features demonstration, presented at Technische Hochschule Georg Simon Ohm! This repo contains all the example code shown during the presentation, allowing you to dive deep into the features that make Rust a uniquely secure language for software development.
This repository is structured to reflect the flow of the presentation, showcasing various security features in Rust through dedicated modules. Explore the code to see Rust's approach to memory safety, concurrency, and more in action!
- Enforcing Safety: Dive into how Rust handles type safety and enforces explicit management of types with examples from the
static_types
module.
- Preventing Overflows: Explore how Rust prevents common security vulnerabilities related to integer overflow through the
integer_overflow
module.
- Efficient Patterns: See how Rust's zero-cost abstractions like iterators and message passing help write efficient code that's also secure with the
zero_cost_abstraction
module.
- Graceful Failures: Discover Rust's approach to robust error handling without exceptions by using the
error_handling
module.
- Memory Safety: Learn about Rust's innovative ownership model that guarantees memory safety without a garbage collector in the
borrowing
module.
- Managing Lifetimes: Understand how Rust uses lifetimes to prevent dangling references and ensure safe memory access with the
lifetime_tracking
module.
- Concurrency without Data Races: Check out how Rust handles concurrency safely, making data races a thing of the past, in the
safe_concurrency
module.
To get started with exploring these examples:
git clone https://github.com/Lexxn0x3/sw_sec_presentation.git
cd rust-security-features-demo
cargo run
Contributions are welcome! If you have improvements or corrections to the demos, please feel free to fork the repository and submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.