Rust is a general-purpose programming language emphasizing performance, type safety, and concurrency. It enforces memory safety, meaning that all references point to valid memory. It does so without a traditional garbage collector; instead, both memory safety errors and data races are prevented by the “borrow checker”, which tracks the object lifetime of references at compile time.

reasons

  • I want to add a systems programming language to my go-to languages
  • compile time type safety
  • compile time memory safety
  • compile to any target, including windows
  • interesting concurrency model
  • suggested part of Memory Safe Roadmaps by intelligence authorities
  • use in cyber security
    • secure and performant security tooling
    • secure and performant malware
  • both imperative, functional ánd async

chapters

rust cybersec quotes

annotations

They revealed that ransomware gangs are increasingly turning to Rust due to its speed and efficiency, posing a new challenge for security professionals.

Building secure multithreaded and parallel applications is essential for many cybersecurity tasks, such as vulnerability scanning and intrusion detection

Notorious ransomware groups like BlackCat, Hive, and RansomExx have reportedly adopted Rust to develop their tools. This shift highlights the effectiveness of Rust in bypassing traditional security measures, posing a significant challenge for defenders.

WebAssembly (WASM): Rust’s ability to compile to WASM allows developers to create secure and performant browser extensions, web applications, and serverless functions, expanding the scope of its security application.

Link to original

rust project ideas

rust codebases

  • white noise (MLS nostr chat client)
  • Theseus os (operating system)
  • sled (database)
  • rustscanner (nmap)
  • ferox (file enumeration)
  • libafl (fuzzer)
  • lsniffglue (sniffer)

courses

resources

techniques to investigate

  • impl from
  • arcmutex
  • statemachine
  • fuzzing stack example in ntp-rs
  • wrapstacks?
  • look into Type Aliases