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

Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
Kayode Fayemi
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
David Celestin
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
raffaeleoman
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
amilabibi1
 
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
 

Recently uploaded (15)

Uncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac FolorunsoUncommon Grace The Autobiography of Isaac Folorunso
Uncommon Grace The Autobiography of Isaac Folorunso
 
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
 
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
 
Report Writing Webinar Training
Report Writing Webinar TrainingReport Writing Webinar Training
Report Writing Webinar Training
 
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
Proofreading- Basics to Artificial Intelligence Integration - Presentation:Sl...
 
lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.lONG QUESTION ANSWER PAKISTAN STUDIES10.
lONG QUESTION ANSWER PAKISTAN STUDIES10.
 
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
 
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
 
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptxChiulli_Aurora_Oman_Raffaele_Beowulf.pptx
Chiulli_Aurora_Oman_Raffaele_Beowulf.pptx
 
Digital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of DrupalDigital collaboration with Microsoft 365 as extension of Drupal
Digital collaboration with Microsoft 365 as extension of Drupal
 
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdfSOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
SOLID WASTE MANAGEMENT SYSTEM OF FENI PAURASHAVA, BANGLADESH.pdf
 
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
 
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
Bring back lost lover in USA, Canada ,Uk ,Australia ,London Lost Love Spell C...
 
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
 

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