SlideShare a Scribd company logo
1 of 13
The Risks of YOLOing
Dr. Arnold Yau
Security @ Ava Labs
Intro
● Bio - old school boring crypto guy
○ Crypto means cryptography, also IACR CRYPTO conference
● Speaking from perspective of project evaluator (e.g. for investment /
co-marketing) / security reviewer (“auditor”)
● Mostly aimed at dapp development
● Disclaimer - opinions my own etc
YOLO - acronym meaning you only live once,
used to express the view that one should
make the most of the present moment
without worrying about the future
YOLO Development Model (Caricature)
● Follow tutorial “Build a Dapp in 20 minutes”
● Fork, search & replace $PROJECT_NAME
● TC;DT: outsource to StackOverflow, copy & paste.
Crowdsourcing FTW!
● Build frontend with [framework] using NPM.The
blockchain is immutable and secure, right?
● Testnet: Get friends and family to test! Great it
works.
● Mainnet launch! :crossed-fingers:
● (Documentation is for losers)
Threat Landscape
Threat actors
● Lone hacker
● Criminal gangs
● Law enforcement / intel agencies / nation-state - nuclear program
● Yourself / your team
Threats
● Supply chain attacks - dependencies
● Smart contract bugs - re-entrancy, unauthorized access / state transition
● Defi - flash loan attacks, price oracle manipulation
● Bridge attacks
● Private key compromise
● Phishing / scam
● (Potential) rug pull
● Web 2 attacks
● Privacy / front running
YOLO -> Responsible Parenting
● Resources
● Professional health check - pre-, post-delivery
● Development: nutrition / coding + eng practices
● Monitor
● Emergency plan
● But… it’s not just YOUR “baby”
Fundamentals
● Think about security from the start
● Threat model your whole system
○ Assets - funds, credentials, wallets, PII
○ Attack surface, attack vector
○ Infrastructure and application
○ Source code repository
○ Risk = Impact x likelihood of attack
● Make conscious, documented philosophical decisions on
○ Identified or anonymous
○ Governance model
○ Decentralization objectives
○ Open source development (probably yes?)
Design and Implementation
● Get best developer you can find/afford
● Use audited libraries and design patterns e.g. OpenZeppelin
○ Pausable and upgradeable
○ Monitoring: events, invariants
● Learn about common Solidity vulnerabilities and keep up with the version
changes
● Code defensively
○ Validate parameters
○ Cater for edge cases
● Dependencies
○ Eventstream (Copay), UAParser (miner, password exfil)
● Comment your code - explain what you intend to do before you forget
Security “Audit” Top Tips - Make it Easy
● Pick a reputable vendor - review published audit reports
● Schedule audit early
○ Best vendors can be booked up months in advance
○ Vendor may provide consultation to keep you on the right track
● Clean static analysis / code scanner output
● Documentation
○ Architecture - high level components and interactions
○ Component / function interfaces, param specifications and assumptions
○ Roles and permissions
○ End-to-end flow for major use cases
● Scope
○ Code review
○ Dynamic test - include front end
○ Infrastructure
● Build in time for fixing and retest
● Do not assume audit will identify all vulnerabilities. The buck stops with you.
Deployment and Operations
● Verify contract
● Should have at least a basic IR plan
○ Escalation routes, roles and responsibilities
○ Rehearsed playbook to perform rapid response actions
● Bug bounty / responsible disclosure
● Monitor for scams and phishing
● Secure your domain and cloud infrastructure
○ Hardware 2FA secure everything
○ Set up SPF/DMARC/DKIM for your domain to prevent email spoofing
● Move to multisig wallet
● Be aware of centralization risks
○ Moxie - My first impressions of web3
Advanced Cryptography (aka Moonmaths)
● Zero Knowledge Proofs
● Homomorphic Encryption
● Multi-party computation
● Avalanche Subnet?
● Can achieve really cool privacy-preserving
objectives
○ Deciding who’s the biggest whale without revealing their
wealth (millionaire’s problem)
○ Anonymous KYC, Decentralized-ID
○ Threshold Signature
● Not mature, only for experimentation or expert use
Takeaway
● Be responsible - consider the security of your project from Day 1.
Understand and mitigate your risks.
● Be documented - make security audit easy
● Be open - publish and verify your source code, documentation and audit
reports to provide security assurance to your users
● Be prepared - assume something will go wrong, monitor for attacks and
have a plan for it
The Risks of YOLOing-2.pdf

More Related Content

What's hot

What's hot (10)

Adversary Playbook Tactical Assessment of Protection Techniques
Adversary Playbook Tactical Assessment of Protection TechniquesAdversary Playbook Tactical Assessment of Protection Techniques
Adversary Playbook Tactical Assessment of Protection Techniques
 
KringleCon 3 Providing Value in Offensive Security
KringleCon 3 Providing Value in Offensive SecurityKringleCon 3 Providing Value in Offensive Security
KringleCon 3 Providing Value in Offensive Security
 
Evolving threat landscape
Evolving threat landscapeEvolving threat landscape
Evolving threat landscape
 
Purple Team Use Case - Security Weekly
Purple Team Use Case - Security WeeklyPurple Team Use Case - Security Weekly
Purple Team Use Case - Security Weekly
 
Purple Team Exercises - GRIMMCon
Purple Team Exercises - GRIMMConPurple Team Exercises - GRIMMCon
Purple Team Exercises - GRIMMCon
 
Adversary Emulation - Red Team Village - Mayhem 2020
Adversary Emulation - Red Team Village - Mayhem 2020Adversary Emulation - Red Team Village - Mayhem 2020
Adversary Emulation - Red Team Village - Mayhem 2020
 
Adversary Emulation and Red Team Exercises - EDUCAUSE
Adversary Emulation and Red Team Exercises - EDUCAUSEAdversary Emulation and Red Team Exercises - EDUCAUSE
Adversary Emulation and Red Team Exercises - EDUCAUSE
 
BackStabber Special: Supply chain attacks
BackStabber Special: Supply chain attacksBackStabber Special: Supply chain attacks
BackStabber Special: Supply chain attacks
 
On hacking & security
On hacking & security On hacking & security
On hacking & security
 
Penetration testing must die
Penetration testing must diePenetration testing must die
Penetration testing must die
 

Similar to The Risks of YOLOing-2.pdf

Similar to The Risks of YOLOing-2.pdf (20)

The Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security TestingThe Final Frontier, Automating Dynamic Security Testing
The Final Frontier, Automating Dynamic Security Testing
 
Security Champions - Introduce them in your Organisation
Security Champions - Introduce them in your OrganisationSecurity Champions - Introduce them in your Organisation
Security Champions - Introduce them in your Organisation
 
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
ContainerDays NYC 2016: "The Secure Introduction Problem: Getting Secrets Int...
 
N. Oskina, G. Asproni - Be your own Threatbuster! - Codemotion Milan 2018
N. Oskina, G. Asproni - Be your own Threatbuster! - Codemotion Milan 2018N. Oskina, G. Asproni - Be your own Threatbuster! - Codemotion Milan 2018
N. Oskina, G. Asproni - Be your own Threatbuster! - Codemotion Milan 2018
 
Pen Testing Development
Pen Testing DevelopmentPen Testing Development
Pen Testing Development
 
Ple18 web-security-david-busby
Ple18 web-security-david-busbyPle18 web-security-david-busby
Ple18 web-security-david-busby
 
Year Zero
Year ZeroYear Zero
Year Zero
 
Keynote at the Cyber Security Summit Prague 2015
Keynote at the Cyber Security Summit Prague 2015Keynote at the Cyber Security Summit Prague 2015
Keynote at the Cyber Security Summit Prague 2015
 
Байки із пожежного депо або як працює Big Data в Sigma Software, Денис Пишьєв,
Байки із пожежного депо або як працює Big Data в Sigma Software, Денис Пишьєв,Байки із пожежного депо або як працює Big Data в Sigma Software, Денис Пишьєв,
Байки із пожежного депо або як працює Big Data в Sigma Software, Денис Пишьєв,
 
Proactive monitoring tools or services - Open Source
Proactive monitoring tools or services - Open Source Proactive monitoring tools or services - Open Source
Proactive monitoring tools or services - Open Source
 
Malware analysis, threat intelligence and reverse engineering
Malware analysis, threat intelligence and reverse engineeringMalware analysis, threat intelligence and reverse engineering
Malware analysis, threat intelligence and reverse engineering
 
Dev Ops & Secops & Bears, oh my!
Dev Ops & Secops & Bears, oh my!Dev Ops & Secops & Bears, oh my!
Dev Ops & Secops & Bears, oh my!
 
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
ContainerDays Boston 2016: "Hiding in Plain Sight: Managing Secrets in a Cont...
 
Hogy néz ki egy pentest meló a gyakorlatban?
Hogy néz ki egy pentest meló a gyakorlatban?Hogy néz ki egy pentest meló a gyakorlatban?
Hogy néz ki egy pentest meló a gyakorlatban?
 
Hacker vs company, Cloud Cyber Security Automated with Kubernetes - Demi Ben-...
Hacker vs company, Cloud Cyber Security Automated with Kubernetes - Demi Ben-...Hacker vs company, Cloud Cyber Security Automated with Kubernetes - Demi Ben-...
Hacker vs company, Cloud Cyber Security Automated with Kubernetes - Demi Ben-...
 
The Science of Compliance - Early Code to Secure your Node (11/6/19)
The Science of Compliance - Early Code to Secure your Node (11/6/19)The Science of Compliance - Early Code to Secure your Node (11/6/19)
The Science of Compliance - Early Code to Secure your Node (11/6/19)
 
Tenants for Going at DevSecOps Speed - LASCON 2023
Tenants for Going at DevSecOps Speed - LASCON 2023Tenants for Going at DevSecOps Speed - LASCON 2023
Tenants for Going at DevSecOps Speed - LASCON 2023
 
Making a SOC Analyst
Making a SOC AnalystMaking a SOC Analyst
Making a SOC Analyst
 
"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali"Introduction to Bug Hunting", Yasser Ali
"Introduction to Bug Hunting", Yasser Ali
 
Keynote Information Security days Luxembourg 2015
Keynote Information Security days Luxembourg 2015Keynote Information Security days Luxembourg 2015
Keynote Information Security days Luxembourg 2015
 

More from Hacken

More from Hacken (8)

How to not suck at an audit-2.pdf
How to not suck at an audit-2.pdfHow to not suck at an audit-2.pdf
How to not suck at an audit-2.pdf
 
Cryptoecosystem ranks_v05.pdf
Cryptoecosystem ranks_v05.pdfCryptoecosystem ranks_v05.pdf
Cryptoecosystem ranks_v05.pdf
 
Smart Contracts Audits. New methodology
Smart Contracts Audits. New methodologySmart Contracts Audits. New methodology
Smart Contracts Audits. New methodology
 
Solana lessons learned
Solana lessons learnedSolana lessons learned
Solana lessons learned
 
Bridges gabi
Bridges gabiBridges gabi
Bridges gabi
 
Dubai. Global Crypto Hub
Dubai. Global Crypto HubDubai. Global Crypto Hub
Dubai. Global Crypto Hub
 
Securing a crypto exchange platform
Securing a crypto exchange platformSecuring a crypto exchange platform
Securing a crypto exchange platform
 
Secure protocol design for decentralized world
Secure protocol design for decentralized worldSecure protocol design for decentralized world
Secure protocol design for decentralized world
 

Recently uploaded

If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
Kayode Fayemi
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 

Recently uploaded (20)

Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
Governance and Nation-Building in Nigeria: Some Reflections on Options for Po...
 
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdfAWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
AWS Data Engineer Associate (DEA-C01) Exam Dumps 2024.pdf
 
Dreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio IIIDreaming Music Video Treatment _ Project & Portfolio III
Dreaming Music Video Treatment _ Project & Portfolio III
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, YardstickSaaStr Workshop Wednesday w/ Lucas Price, Yardstick
SaaStr Workshop Wednesday w/ Lucas Price, Yardstick
 
ICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdfICT role in 21st century education and it's challenges.pdf
ICT role in 21st century education and it's challenges.pdf
 
Dreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video TreatmentDreaming Marissa Sánchez Music Video Treatment
Dreaming Marissa Sánchez Music Video Treatment
 
If this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New NigeriaIf this Giant Must Walk: A Manifesto for a New Nigeria
If this Giant Must Walk: A Manifesto for a New Nigeria
 
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docxANCHORING SCRIPT FOR A CULTURAL EVENT.docx
ANCHORING SCRIPT FOR A CULTURAL EVENT.docx
 
Air breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animalsAir breathing and respiratory adaptations in diver animals
Air breathing and respiratory adaptations in diver animals
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Causes of poverty in France presentation.pptx
Causes of poverty in France presentation.pptxCauses of poverty in France presentation.pptx
Causes of poverty in France presentation.pptx
 
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 93 Noida Escorts >༒8448380779 Escort Service
 
Presentation on Engagement in Book Clubs
Presentation on Engagement in Book ClubsPresentation on Engagement in Book Clubs
Presentation on Engagement in Book Clubs
 
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdfThe workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
The workplace ecosystem of the future 24.4.2024 Fabritius_share ii.pdf
 
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night EnjoyCall Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
Call Girl Number in Khar Mumbai📲 9892124323 💞 Full Night Enjoy
 
My Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle BaileyMy Presentation "In Your Hands" by Halle Bailey
My Presentation "In Your Hands" by Halle Bailey
 
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort ServiceBDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
BDSM⚡Call Girls in Sector 97 Noida Escorts >༒8448380779 Escort Service
 
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptxMohammad_Alnahdi_Oral_Presentation_Assignment.pptx
Mohammad_Alnahdi_Oral_Presentation_Assignment.pptx
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 

The Risks of YOLOing-2.pdf

  • 1. The Risks of YOLOing Dr. Arnold Yau Security @ Ava Labs
  • 2. Intro ● Bio - old school boring crypto guy ○ Crypto means cryptography, also IACR CRYPTO conference ● Speaking from perspective of project evaluator (e.g. for investment / co-marketing) / security reviewer (“auditor”) ● Mostly aimed at dapp development ● Disclaimer - opinions my own etc
  • 3. YOLO - acronym meaning you only live once, used to express the view that one should make the most of the present moment without worrying about the future
  • 4. YOLO Development Model (Caricature) ● Follow tutorial “Build a Dapp in 20 minutes” ● Fork, search & replace $PROJECT_NAME ● TC;DT: outsource to StackOverflow, copy & paste. Crowdsourcing FTW! ● Build frontend with [framework] using NPM.The blockchain is immutable and secure, right? ● Testnet: Get friends and family to test! Great it works. ● Mainnet launch! :crossed-fingers: ● (Documentation is for losers)
  • 5. Threat Landscape Threat actors ● Lone hacker ● Criminal gangs ● Law enforcement / intel agencies / nation-state - nuclear program ● Yourself / your team Threats ● Supply chain attacks - dependencies ● Smart contract bugs - re-entrancy, unauthorized access / state transition ● Defi - flash loan attacks, price oracle manipulation ● Bridge attacks ● Private key compromise ● Phishing / scam ● (Potential) rug pull ● Web 2 attacks ● Privacy / front running
  • 6. YOLO -> Responsible Parenting ● Resources ● Professional health check - pre-, post-delivery ● Development: nutrition / coding + eng practices ● Monitor ● Emergency plan ● But… it’s not just YOUR “baby”
  • 7. Fundamentals ● Think about security from the start ● Threat model your whole system ○ Assets - funds, credentials, wallets, PII ○ Attack surface, attack vector ○ Infrastructure and application ○ Source code repository ○ Risk = Impact x likelihood of attack ● Make conscious, documented philosophical decisions on ○ Identified or anonymous ○ Governance model ○ Decentralization objectives ○ Open source development (probably yes?)
  • 8. Design and Implementation ● Get best developer you can find/afford ● Use audited libraries and design patterns e.g. OpenZeppelin ○ Pausable and upgradeable ○ Monitoring: events, invariants ● Learn about common Solidity vulnerabilities and keep up with the version changes ● Code defensively ○ Validate parameters ○ Cater for edge cases ● Dependencies ○ Eventstream (Copay), UAParser (miner, password exfil) ● Comment your code - explain what you intend to do before you forget
  • 9. Security “Audit” Top Tips - Make it Easy ● Pick a reputable vendor - review published audit reports ● Schedule audit early ○ Best vendors can be booked up months in advance ○ Vendor may provide consultation to keep you on the right track ● Clean static analysis / code scanner output ● Documentation ○ Architecture - high level components and interactions ○ Component / function interfaces, param specifications and assumptions ○ Roles and permissions ○ End-to-end flow for major use cases ● Scope ○ Code review ○ Dynamic test - include front end ○ Infrastructure ● Build in time for fixing and retest ● Do not assume audit will identify all vulnerabilities. The buck stops with you.
  • 10. Deployment and Operations ● Verify contract ● Should have at least a basic IR plan ○ Escalation routes, roles and responsibilities ○ Rehearsed playbook to perform rapid response actions ● Bug bounty / responsible disclosure ● Monitor for scams and phishing ● Secure your domain and cloud infrastructure ○ Hardware 2FA secure everything ○ Set up SPF/DMARC/DKIM for your domain to prevent email spoofing ● Move to multisig wallet ● Be aware of centralization risks ○ Moxie - My first impressions of web3
  • 11. Advanced Cryptography (aka Moonmaths) ● Zero Knowledge Proofs ● Homomorphic Encryption ● Multi-party computation ● Avalanche Subnet? ● Can achieve really cool privacy-preserving objectives ○ Deciding who’s the biggest whale without revealing their wealth (millionaire’s problem) ○ Anonymous KYC, Decentralized-ID ○ Threshold Signature ● Not mature, only for experimentation or expert use
  • 12. Takeaway ● Be responsible - consider the security of your project from Day 1. Understand and mitigate your risks. ● Be documented - make security audit easy ● Be open - publish and verify your source code, documentation and audit reports to provide security assurance to your users ● Be prepared - assume something will go wrong, monitor for attacks and have a plan for it