SlideShare a Scribd company logo
Is rust language really safe?
twitter.com/jrabell0
Definition of safety
“Safety is the state of being "safe" (from French sauf), the condition of being
protected from harm or other non-desirable outcomes”[3]
Why safety matters?
● “In January 2009, Google's search engine erroneously notified users that
every web site worldwide was potentially malicious, including its own.”[1]
● “A bug in the code controlling the Therac-25 radiation therapy machine was
directly responsible for at least five patient deaths in the 1980s when it
administered excessive quantities of beta radiation.”[1]
● “The European Space Agency's Ariane 5 Flight 501 was destroyed 40
seconds after takeoff (June 4, 1996). The US$1 billion prototype rocket self-
destructed due to a bug in the on-board guidance software.”[1]
● “Knight’s $440 Million Error – One of the biggest American market makers for
stocks struggled to stay afloat after a software bug triggered a $440 million
loss in just 30 minutes.”[1]
Rust Language
“Rust is a systems programming language that runs blazingly fast, prevents
segfaults, and guarantees thread safety.”[4]
● zero-cost abstractions
● move semantics
● guaranteed memory safety
● threads without data races
● pattern matching
● type inference
● minimal runtime
Projects using Rust
C++ sample
Something wrong?
C++ sample
capacity
elem
ptr
size
0
[…]
STACK HEAP
Rust Default Immutability
Rust Ownership
“Prevents use after free in compile time...”[6]
Rust Borrowing
zionvm fetch sample
Rust Borrowing
“Borrowing prevents moving...”[6]
Stack Based Buffer Overflow 1
Stack Based Buffer Overflow 1
Stack Based Buffer Overflow 2
Heap Based Buffer Overflow
Unsafe keyword
“There are some times when your code might be okay, but Rust thinks it’s not! In
these cases, you can use unsafe code to tell the compiler, “trust me, I know what
I’m doing.” The downside is that you’re on your own; if you get unsafe code wrong,
problems due to memory unsafety like null pointer dereferencing can occur.”[5]
Unsafe Memory Corruption
Vector set_len idea[7]
Unsafe Memory Corruption
Capacity WTF??
Conclusion
● Rustc realiza varias inferencias em tempo de compilacao, porem nos
exemplos que foram demonstrados aqui, algumas checagens em tempo de
execucao poderiam ter sido feitos em tempo de compilacao
● Rust e novos desafios para pesquisadores de seguranca da informacao
● Exploracao de vulnerabilidades em rust totalmente plausivel
References
1. https://en.wikipedia.org/wiki/List_of_software_bugs
2. https://www.exploit-db.com/exploit-database-statistics/
3. https://en.wikipedia.org/wiki/Safety
4. https://www.rust-lang.org/en-US/
5. https://doc.rust-lang.org/book/second-edition/ch19-01-unsafe-rust.html
6. https://www.youtube.com/watch?v=agzf6ftEsLU
7. https://avadacatavra.github.io/rust/gdb/exploit/2017/09/26/attackingrustforfuna
ndprofit.html

More Related Content

PDF
Stealth post-exploitation with phpsploit
Nullbyte Security Conference
 
PDF
Talk NullByteCon 2015
Roberto Soares
 
PDF
Raptor web application firewall
Antonio Costa aka Cooler_
 
PDF
The Postmodern Binary Analysis
Onur Alanbel
 
PDF
Understand study
Antonio Costa aka Cooler_
 
PDF
Metasploit for Penetration Testing: Beginner Class
Georgia Weidman
 
PDF
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON
 
Stealth post-exploitation with phpsploit
Nullbyte Security Conference
 
Talk NullByteCon 2015
Roberto Soares
 
Raptor web application firewall
Antonio Costa aka Cooler_
 
The Postmodern Binary Analysis
Onur Alanbel
 
Understand study
Antonio Costa aka Cooler_
 
Metasploit for Penetration Testing: Beginner Class
Georgia Weidman
 
44CON London 2015 - 15-Minute Linux Incident Response Live Analysis
44CON
 

What's hot (20)

PDF
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow
 
PDF
NSC #2 - Challenge Solution
NoSuchCon
 
PDF
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)
Nullbyte Security Conference
 
PDF
44CON 2014 - Breaking AV Software
44CON
 
PPTX
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Shota Shinogi
 
PDF
Nullcon Hack IM 2011 walk through
Anant Shrivastava
 
PDF
CPU vulnerabilities - where are we now?
DefCamp
 
ODP
Malware analysis
xabean
 
PDF
Масштабируемый и эффективный фаззинг Google Chrome
Positive Hack Days
 
PPTX
Linx privx privileges-sudo misconfiguration group and docker daemon privileges
AliBawazeEer
 
PPTX
ShinoBOT Suite
Shota Shinogi
 
PPTX
Your Linux Passwords Are in Danger: MimiDove Meets the Challenge (lightning t...
Igor Korkin
 
PDF
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...
RootedCON
 
PDF
Metasploit - The Exploit Learning Tree
E Hacking
 
PDF
Rootkit 102 - Kernel-Based Rootkit
Chia-Hao Tsai
 
PDF
Buffer Overflow Attacks
securityxploded
 
PDF
Алексей Старов - Как проводить киберраследования?
HackIT Ukraine
 
PPTX
Hacking with Remote Admin Tools (RAT)
Zoltan Balazs
 
PDF
Ricardo J. Rodríguez & Daniel Uroz - When ROP meets Turing: Automatic Generat...
RootedCON
 
PDF
A Hypervisor IPS based on Hardware Assisted Virtualization Technology
FFRI, Inc.
 
Defcon Moscow #0x0A - Mikhail Firstov "Hacking routers as Web Hacker"
Defcon Moscow
 
NSC #2 - Challenge Solution
NoSuchCon
 
Windows's Kindnesses - Commoner to D-K(d)OM (Direct Kernel Object Manipulation)
Nullbyte Security Conference
 
44CON 2014 - Breaking AV Software
44CON
 
Introduction of ShinoBOT (Black Hat USA 2013 Arsenal)
Shota Shinogi
 
Nullcon Hack IM 2011 walk through
Anant Shrivastava
 
CPU vulnerabilities - where are we now?
DefCamp
 
Malware analysis
xabean
 
Масштабируемый и эффективный фаззинг Google Chrome
Positive Hack Days
 
Linx privx privileges-sudo misconfiguration group and docker daemon privileges
AliBawazeEer
 
ShinoBOT Suite
Shota Shinogi
 
Your Linux Passwords Are in Danger: MimiDove Meets the Challenge (lightning t...
Igor Korkin
 
Sheila Ayelen Berta - The Art of Persistence: "Mr. Windows… I don’t wanna go ...
RootedCON
 
Metasploit - The Exploit Learning Tree
E Hacking
 
Rootkit 102 - Kernel-Based Rootkit
Chia-Hao Tsai
 
Buffer Overflow Attacks
securityxploded
 
Алексей Старов - Как проводить киберраследования?
HackIT Ukraine
 
Hacking with Remote Admin Tools (RAT)
Zoltan Balazs
 
Ricardo J. Rodríguez & Daniel Uroz - When ROP meets Turing: Automatic Generat...
RootedCON
 
A Hypervisor IPS based on Hardware Assisted Virtualization Technology
FFRI, Inc.
 
Ad

Similar to Is rust language really safe? (20)

PPTX
Why Rust? by Edd Barrett (codeHarbour December 2019)
Alex Cachia
 
PDF
Why_safe_programming_matters_and_why_Rust_.pdf
SandeepChoudhary674197
 
ODP
Rust Primer
Knoldus Inc.
 
PDF
Rust: Systems Programming for Everyone
C4Media
 
PDF
Rust: Unlocking Systems Programming
C4Media
 
PDF
Introduction to Rust - Waterford Tech Meetup 2025
John Rellis
 
PDF
Rust and the coming age of high integrity languages
AdaCore
 
PPT
Rust Programming Language
Jaeju Kim
 
PDF
Rust Intro @ Roma Rust meetup
Claudio Capobianco
 
PDF
Rust: Reach Further
nikomatsakis
 
PDF
An introduction to Rust: the modern programming language to develop safe and ...
Claudio Capobianco
 
PDF
Why rust?
Mats Kindahl
 
PDF
The Rust Programming Language
Mario Alexandro Santini
 
PPTX
Why Hiring Rust Developers Can Reduce Technical Debt & Save Millions.pptx
Lisa ward
 
PDF
Intro to Rust 2019
Timothy Bess
 
PDF
Rust "Hot or Not" at Sioux
nikomatsakis
 
PPTX
Why Is Rust Gaining Traction In Recent Years?
Techahead Software
 
PDF
Rust
Diego Pacheco
 
PDF
Rust Workshop - NITC FOSSMEET 2017
pramode_ce
 
PDF
rrxv6 Build a Riscv xv6 Kernel in Rust.pdf
Yodalee
 
Why Rust? by Edd Barrett (codeHarbour December 2019)
Alex Cachia
 
Why_safe_programming_matters_and_why_Rust_.pdf
SandeepChoudhary674197
 
Rust Primer
Knoldus Inc.
 
Rust: Systems Programming for Everyone
C4Media
 
Rust: Unlocking Systems Programming
C4Media
 
Introduction to Rust - Waterford Tech Meetup 2025
John Rellis
 
Rust and the coming age of high integrity languages
AdaCore
 
Rust Programming Language
Jaeju Kim
 
Rust Intro @ Roma Rust meetup
Claudio Capobianco
 
Rust: Reach Further
nikomatsakis
 
An introduction to Rust: the modern programming language to develop safe and ...
Claudio Capobianco
 
Why rust?
Mats Kindahl
 
The Rust Programming Language
Mario Alexandro Santini
 
Why Hiring Rust Developers Can Reduce Technical Debt & Save Millions.pptx
Lisa ward
 
Intro to Rust 2019
Timothy Bess
 
Rust "Hot or Not" at Sioux
nikomatsakis
 
Why Is Rust Gaining Traction In Recent Years?
Techahead Software
 
Rust Workshop - NITC FOSSMEET 2017
pramode_ce
 
rrxv6 Build a Riscv xv6 Kernel in Rust.pdf
Yodalee
 
Ad

More from Nullbyte Security Conference (13)

PDF
Speeding up Red Team engagements with carnivorall
Nullbyte Security Conference
 
PDF
Gitminer 2.0 - Advance Search on Github
Nullbyte Security Conference
 
PDF
Automatizando o abuso de repositórios expostos
Nullbyte Security Conference
 
PDF
Windows Internals: fuzzing, hijacking and weaponizing kernel objects
Nullbyte Security Conference
 
PDF
Anti-Anti-Forense de Memória: Abortando o "Abort Factor"
Nullbyte Security Conference
 
PDF
C&C Botnet Factory
Nullbyte Security Conference
 
PDF
Hacking cable modems the later years
Nullbyte Security Conference
 
PDF
Muito além do alert() em ataques web client side
Nullbyte Security Conference
 
PDF
Cabra Arretado Aperriando o WordPress
Nullbyte Security Conference
 
PDF
Rootkits em kernel space - Redshift, um rootkit para o kernel do FreeBSD
Nullbyte Security Conference
 
PDF
How i cracked millions of “pt br” hashed passwords
Nullbyte Security Conference
 
PDF
Evitando execução de códigos arbitrários com GRsecurity e PaX
Nullbyte Security Conference
 
PDF
All your binaries are belong to us
Nullbyte Security Conference
 
Speeding up Red Team engagements with carnivorall
Nullbyte Security Conference
 
Gitminer 2.0 - Advance Search on Github
Nullbyte Security Conference
 
Automatizando o abuso de repositórios expostos
Nullbyte Security Conference
 
Windows Internals: fuzzing, hijacking and weaponizing kernel objects
Nullbyte Security Conference
 
Anti-Anti-Forense de Memória: Abortando o "Abort Factor"
Nullbyte Security Conference
 
C&C Botnet Factory
Nullbyte Security Conference
 
Hacking cable modems the later years
Nullbyte Security Conference
 
Muito além do alert() em ataques web client side
Nullbyte Security Conference
 
Cabra Arretado Aperriando o WordPress
Nullbyte Security Conference
 
Rootkits em kernel space - Redshift, um rootkit para o kernel do FreeBSD
Nullbyte Security Conference
 
How i cracked millions of “pt br” hashed passwords
Nullbyte Security Conference
 
Evitando execução de códigos arbitrários com GRsecurity e PaX
Nullbyte Security Conference
 
All your binaries are belong to us
Nullbyte Security Conference
 

Recently uploaded (20)

PPTX
The Future of AI & Machine Learning.pptx
pritsen4700
 
PDF
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
PPTX
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
PDF
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
PDF
Brief History of Internet - Early Days of Internet
sutharharshit158
 
PDF
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
PDF
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
PDF
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
PPTX
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
PDF
Software Development Methodologies in 2025
KodekX
 
PDF
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
PDF
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
PDF
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
PDF
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
PDF
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
PDF
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
PDF
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
PPTX
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
PPTX
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
PPTX
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 
The Future of AI & Machine Learning.pptx
pritsen4700
 
Automating ArcGIS Content Discovery with FME: A Real World Use Case
Safe Software
 
AI in Daily Life: How Artificial Intelligence Helps Us Every Day
vanshrpatil7
 
Peak of Data & AI Encore - Real-Time Insights & Scalable Editing with ArcGIS
Safe Software
 
Brief History of Internet - Early Days of Internet
sutharharshit158
 
CIFDAQ's Market Wrap : Bears Back in Control?
CIFDAQ
 
Unlocking the Future- AI Agents Meet Oracle Database 23ai - AIOUG Yatra 2025.pdf
Sandesh Rao
 
Data_Analytics_vs_Data_Science_vs_BI_by_CA_Suvidha_Chaplot.pdf
CA Suvidha Chaplot
 
IT Runs Better with ThousandEyes AI-driven Assurance
ThousandEyes
 
Software Development Methodologies in 2025
KodekX
 
How Open Source Changed My Career by abdelrahman ismail
a0m0rajab1
 
Orbitly Pitch Deck|A Mission-Driven Platform for Side Project Collaboration (...
zz41354899
 
Security features in Dell, HP, and Lenovo PC systems: A research-based compar...
Principled Technologies
 
Tea4chat - another LLM Project by Kerem Atam
a0m0rajab1
 
Get More from Fiori Automation - What’s New, What Works, and What’s Next.pdf
Precisely
 
MASTERDECK GRAPHSUMMIT SYDNEY (Public).pdf
Neo4j
 
NewMind AI Weekly Chronicles - July'25 - Week IV
NewMind AI
 
OA presentation.pptx OA presentation.pptx
pateldhruv002338
 
Agile Chennai 18-19 July 2025 | Emerging patterns in Agentic AI by Bharani Su...
AgileNetwork
 
Agile Chennai 18-19 July 2025 Ideathon | AI Powered Microfinance Literacy Gui...
AgileNetwork
 

Is rust language really safe?