SlideShare a Scribd company logo
1 of 51
Fun with
Application
Security
Bruce Abernethy
for BeerCityCode 2017
My first time
coding
1978
First security experience
- 1988
Application security in 2018
Make software
development fun
again
CONTENT WARNING
WARNING: THE FOLLOWING CONTENT AND
OPINIONS EXPRESSED ARE THOSE OF THE AUTHOR
[BRUCEABERNETHY]
AND TO NOT REFLECT THOSE OF HISEMPLOYER
[MEIJER]
TIC TAC TICO
What makes it “FUN”
• Automation
• “AI”
• Rules
• Tools
STRIDE and DREAD
DREAD
• Damage Potential,
• Reproducibility,
• Exploitability,
• Affected Users,
• Discoverability
STRIDE
• Spoofing Identity,
• Tampering with Data,
• Repudiation,
• Information
Disclosure,
• Denial of Service
High level diagram
• Data-Flow Diagram
Threat Model
• Have a high-level design. Napkin to formal tool.
• Data is exposed in primarily three places
• At rest – wherever you store it
• In memory – when it is being used
• In transit – when it is moving
• Trust boundaries
threat
Modelling
tools
What’s not fun
• Doing the diagram by hand.
• Doing the analysis by hand.
• Easily missing something.
• Not having time.
Microsoft threat modeling tool
2016
OWASP Threat Dragon (beta – x-
Plat)
https://threatdragon.org/
Security hat
on
“Just because you are
paranoid doesn’t mean
that they aren’t
watching you.”
DESIGNING a Secure
app
• Secure Coding “Level 0” is good coding.
• Much of malicious coding can appear at the
outset like simply really bad coding practices
• Also User Interface
• Well-meaning UI choices can be bad for security
Informatio
n
disclosure
• Most is common sense
• Don’t return error details
• Don’t return info that
could be used “for evil”
Other great (not) examples
Design guidance
• OWASP Top 10
• SANS Top 25
OWASP Top 10
• Injection
• Cross-Site Scripting (XSS):
• Vulnerability that is created from insecure coding techniques, resulting in
improper input validation. Often used in conjunction with CSRF and/or SQL
injection.
• Insecure Direct Object References
• A direct object reference occurs when a developer exposes a reference to
an internal implementation object, such as a file, directory, or database
key. Without an access control check or other protection, attackers can
manipulate these references to access unauthorized data.
Help while coding
• This is where the real fun happens
• Adding features
• Optimizing code
What’s not fun
• Reviewing 10,000 lines of code looking for patterns that might match
common vulnerabilities (OWASP, SANS, etc.)
• Finding out after coding an entire feature that it has a fundamental
security flaw and needs to be refactored or rewritten.
• Having the feature reach production and having to respond to a major
incident.
Tools
• What tools should you have in your backpack, to help you
along the way?
• "Anything that you might need, I've got inside for you.“
• Binoculars, sticky tape
• Bag of Holding
Static analysis Tools
• Resharper,
• DevSkim,
Debugging with proxies
• We are going to cover our
favorite proxies in just a
few minutes when we are
hacking our own code.
• Just remember that you
can/could/should be using
a proxy, where appropriate,
even early while you are
developing code …
Automated testing - security
test cases
• Use Cases
• But also “Abuse Cases”
• Testing the happy path
• But also think about the unhappy
path that “bad people” might
take – more suggestions on how
to do that coming soon too …
Never code alone
Coding Buddy
• Code & Coffee
• Personal Pull Requests
Know your Threats
• Script kiddies – hobby – opportunistic, not stealthy, known exploits
• Organized Crime – hold hostage, profit – possibly stealthy, often non-
targeted / broad, zero-day – may target for corporate espionage
• Disorganized Crime – petty theft, personal gain – amateur, known
• Activist – do damage, get press – mixed, disgruntled
• Nation-state – destabilize, do damage – more skilled than you,
targeted, precise, zero-day exploits
What is your “gold”
Red TEAM / Blue Team
• Hack yourself and/or your coding buddy.
Traffic inspection /
interception
• Fiddler
• OWASP ZAP
• BURP Suite
bots
• Scanners
• Fuzzers
• Brute Force
Man in the middle (MITM)
• CERT
• AES
• SSL/TLS – Https everywhere (certificates in general)
• NIST
• YubiKey
• Oauth2 – everywhere
• 2-factor - multifactor
• nmap
Kali Linux
Blue Team
• Lesser known, but also
cool.
• Ideas like Honeypots
Hak5
• WiFi Pineapple
• USB Rubber Ducky
• Bash Bunny
Proxies 2.0
• Fuzzer
• Attack
Metasploit & Metasploitable
Security has a price – it’s
~$49.00
• Private / Encrypted E-mail
• Full-time VPN
• Yubikey MFA, key/cert secure storage
• Little Snitch, Mic/Camera Snitch

More Related Content

What's hot

Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resources
Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resourcesGetting Started With Hacking Android & iOS Apps? Tools, Techniques and resources
Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resourcesOWASP Delhi
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hackingSamip Shah
 
ethical Hacking [007]
ethical Hacking  [007]ethical Hacking  [007]
ethical Hacking [007]SiddheshPowar
 
Stop pulling the plug
Stop pulling the plugStop pulling the plug
Stop pulling the plugKamal Rathaur
 
Cazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big DataCazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big DataChema Alonso
 
Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015
Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015
Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015Sina Manavi
 
ETHICAL HACKING PRESENTATION
ETHICAL HACKING PRESENTATION ETHICAL HACKING PRESENTATION
ETHICAL HACKING PRESENTATION Yash Shukla
 
Inetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentationInetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentationJoshua Prince
 
Ethical hacking 4 6pm
Ethical hacking 4 6pmEthical hacking 4 6pm
Ethical hacking 4 6pmbharat6689
 
Open source intelligence
Open source intelligenceOpen source intelligence
Open source intelligencebalakumaran779
 
osint - open source Intelligence
osint - open source Intelligenceosint - open source Intelligence
osint - open source IntelligenceOsama Ellahi
 
Datasploit - An Open Source Intelligence Tool
Datasploit - An Open Source Intelligence ToolDatasploit - An Open Source Intelligence Tool
Datasploit - An Open Source Intelligence ToolShubham Mittal
 
Rv defcon25 osint tactics on source code intelligence - simon roses
Rv defcon25   osint tactics on source code intelligence - simon rosesRv defcon25   osint tactics on source code intelligence - simon roses
Rv defcon25 osint tactics on source code intelligence - simon rosesreconvillage
 

What's hot (20)

Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resources
Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resourcesGetting Started With Hacking Android & iOS Apps? Tools, Techniques and resources
Getting Started With Hacking Android & iOS Apps? Tools, Techniques and resources
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Ethical Hacking Tools
Ethical Hacking ToolsEthical Hacking Tools
Ethical Hacking Tools
 
ethical Hacking [007]
ethical Hacking  [007]ethical Hacking  [007]
ethical Hacking [007]
 
Stop pulling the plug
Stop pulling the plugStop pulling the plug
Stop pulling the plug
 
Berkarir di Cyber Security
Berkarir di Cyber SecurityBerkarir di Cyber Security
Berkarir di Cyber Security
 
Hacking
HackingHacking
Hacking
 
Cazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big DataCazando Cibercriminales con: OSINT + Cloud Computing + Big Data
Cazando Cibercriminales con: OSINT + Cloud Computing + Big Data
 
Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015
Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015
Android Application Security Awareness Talk, OWASP MEETUP Q3, 2015
 
ETHICAL HACKING PRESENTATION
ETHICAL HACKING PRESENTATION ETHICAL HACKING PRESENTATION
ETHICAL HACKING PRESENTATION
 
Inetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentationInetsecurity.in Ethical Hacking presentation
Inetsecurity.in Ethical Hacking presentation
 
Ethical hacking 4 6pm
Ethical hacking 4 6pmEthical hacking 4 6pm
Ethical hacking 4 6pm
 
Hackers ESP
Hackers ESPHackers ESP
Hackers ESP
 
Open source intelligence
Open source intelligenceOpen source intelligence
Open source intelligence
 
osint - open source Intelligence
osint - open source Intelligenceosint - open source Intelligence
osint - open source Intelligence
 
Hacking
HackingHacking
Hacking
 
Datasploit - An Open Source Intelligence Tool
Datasploit - An Open Source Intelligence ToolDatasploit - An Open Source Intelligence Tool
Datasploit - An Open Source Intelligence Tool
 
Ethical Hacking
Ethical HackingEthical Hacking
Ethical Hacking
 
Rv defcon25 osint tactics on source code intelligence - simon roses
Rv defcon25   osint tactics on source code intelligence - simon rosesRv defcon25   osint tactics on source code intelligence - simon roses
Rv defcon25 osint tactics on source code intelligence - simon roses
 
Hacking
HackingHacking
Hacking
 

Similar to Fun with Application Security

ISACA Ethical Hacking Presentation 10/2011
ISACA Ethical Hacking Presentation 10/2011ISACA Ethical Hacking Presentation 10/2011
ISACA Ethical Hacking Presentation 10/2011Xavier Mertens
 
How an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsHow an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsSecurity Innovation
 
Defending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityDefending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityClaus Cramon Houmann
 
Crash Course In Brain Surgery
Crash Course In Brain SurgeryCrash Course In Brain Surgery
Crash Course In Brain Surgerymorisson
 
Keeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKeeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKelly Robertson
 
Malware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence MoroccoMalware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence MoroccoTouhami Kasbaoui
 
Introduction To Computer Security
Introduction To Computer SecurityIntroduction To Computer Security
Introduction To Computer SecurityVibrant Event
 
Ethical Hacking - Introduction to Computer Security
Ethical Hacking - Introduction to Computer Security Ethical Hacking - Introduction to Computer Security
Ethical Hacking - Introduction to Computer Security Vibrant Event
 
Bar Camp 11 Oct09 Hacking
Bar Camp 11 Oct09 HackingBar Camp 11 Oct09 Hacking
Bar Camp 11 Oct09 HackingBarcamp Kerala
 
Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2Claus Cramon Houmann
 
PENETRATION TESTING FROM A HOT TUB TIME MACHINE
PENETRATION TESTING FROM A HOT TUB TIME MACHINEPENETRATION TESTING FROM A HOT TUB TIME MACHINE
PENETRATION TESTING FROM A HOT TUB TIME MACHINEChris Gates
 
Pentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated TestingPentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated TestingAndrew McNicol
 
Fundamentals of Network security
Fundamentals of Network securityFundamentals of Network security
Fundamentals of Network securityAPNIC
 
How to Destroy a Database
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a DatabaseJohn Ashmead
 
Keith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith Jones, PhD
 

Similar to Fun with Application Security (20)

ISACA Ethical Hacking Presentation 10/2011
ISACA Ethical Hacking Presentation 10/2011ISACA Ethical Hacking Presentation 10/2011
ISACA Ethical Hacking Presentation 10/2011
 
Computer Security
Computer SecurityComputer Security
Computer Security
 
How an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software SystemsHow an Attacker "Audits" Your Software Systems
How an Attacker "Audits" Your Software Systems
 
Defending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricalityDefending Enterprise IT - beating assymetricality
Defending Enterprise IT - beating assymetricality
 
Crash Course In Brain Surgery
Crash Course In Brain SurgeryCrash Course In Brain Surgery
Crash Course In Brain Surgery
 
Keeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application SecurityKeeping Secrets on the Internet of Things - Mobile Web Application Security
Keeping Secrets on the Internet of Things - Mobile Web Application Security
 
Malware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence MoroccoMalware analysis _ Threat Intelligence Morocco
Malware analysis _ Threat Intelligence Morocco
 
Introduction To Computer Security
Introduction To Computer SecurityIntroduction To Computer Security
Introduction To Computer Security
 
Ethical Hacking - Introduction to Computer Security
Ethical Hacking - Introduction to Computer Security Ethical Hacking - Introduction to Computer Security
Ethical Hacking - Introduction to Computer Security
 
Ethical Hacking - Introduction to Computer Security
Ethical Hacking - Introduction to Computer SecurityEthical Hacking - Introduction to Computer Security
Ethical Hacking - Introduction to Computer Security
 
sourabh_sipPPT.pptx
sourabh_sipPPT.pptxsourabh_sipPPT.pptx
sourabh_sipPPT.pptx
 
Bar Camp 11 Oct09 Hacking
Bar Camp 11 Oct09 HackingBar Camp 11 Oct09 Hacking
Bar Camp 11 Oct09 Hacking
 
Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2Presentation infra and_datacentrre_dialogue_v2
Presentation infra and_datacentrre_dialogue_v2
 
PENETRATION TESTING FROM A HOT TUB TIME MACHINE
PENETRATION TESTING FROM A HOT TUB TIME MACHINEPENETRATION TESTING FROM A HOT TUB TIME MACHINE
PENETRATION TESTING FROM A HOT TUB TIME MACHINE
 
Pentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated TestingPentesting Tips: Beyond Automated Testing
Pentesting Tips: Beyond Automated Testing
 
Fundamentals of Network security
Fundamentals of Network securityFundamentals of Network security
Fundamentals of Network security
 
How to Destroy a Database
How to Destroy a DatabaseHow to Destroy a Database
How to Destroy a Database
 
Ethical hacking
Ethical hackingEthical hacking
Ethical hacking
 
Keith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysisKeith J. Jones, Ph.D. - Crash Course malware analysis
Keith J. Jones, Ph.D. - Crash Course malware analysis
 
How to hack or what is ethical hacking
How to hack or what is ethical hackingHow to hack or what is ethical hacking
How to hack or what is ethical hacking
 

Recently uploaded

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityNeo4j
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfPower Karaoke
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 

Recently uploaded (20)

Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
EY_Graph Database Powered Sustainability
EY_Graph Database Powered SustainabilityEY_Graph Database Powered Sustainability
EY_Graph Database Powered Sustainability
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
The Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdfThe Evolution of Karaoke From Analog to App.pdf
The Evolution of Karaoke From Analog to App.pdf
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 

Fun with Application Security

  • 6. CONTENT WARNING WARNING: THE FOLLOWING CONTENT AND OPINIONS EXPRESSED ARE THOSE OF THE AUTHOR [BRUCEABERNETHY] AND TO NOT REFLECT THOSE OF HISEMPLOYER [MEIJER]
  • 7.
  • 8.
  • 9.
  • 10.
  • 12.
  • 13. What makes it “FUN” • Automation • “AI” • Rules • Tools
  • 14.
  • 15.
  • 16. STRIDE and DREAD DREAD • Damage Potential, • Reproducibility, • Exploitability, • Affected Users, • Discoverability STRIDE • Spoofing Identity, • Tampering with Data, • Repudiation, • Information Disclosure, • Denial of Service
  • 17. High level diagram • Data-Flow Diagram
  • 18. Threat Model • Have a high-level design. Napkin to formal tool. • Data is exposed in primarily three places • At rest – wherever you store it • In memory – when it is being used • In transit – when it is moving • Trust boundaries threat Modelling tools
  • 19. What’s not fun • Doing the diagram by hand. • Doing the analysis by hand. • Easily missing something. • Not having time.
  • 21. OWASP Threat Dragon (beta – x- Plat) https://threatdragon.org/
  • 22. Security hat on “Just because you are paranoid doesn’t mean that they aren’t watching you.”
  • 23.
  • 24. DESIGNING a Secure app • Secure Coding “Level 0” is good coding. • Much of malicious coding can appear at the outset like simply really bad coding practices • Also User Interface • Well-meaning UI choices can be bad for security
  • 25. Informatio n disclosure • Most is common sense • Don’t return error details • Don’t return info that could be used “for evil”
  • 26. Other great (not) examples
  • 27. Design guidance • OWASP Top 10 • SANS Top 25
  • 28. OWASP Top 10 • Injection • Cross-Site Scripting (XSS): • Vulnerability that is created from insecure coding techniques, resulting in improper input validation. Often used in conjunction with CSRF and/or SQL injection. • Insecure Direct Object References • A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, or database key. Without an access control check or other protection, attackers can manipulate these references to access unauthorized data.
  • 29.
  • 30. Help while coding • This is where the real fun happens • Adding features • Optimizing code
  • 31. What’s not fun • Reviewing 10,000 lines of code looking for patterns that might match common vulnerabilities (OWASP, SANS, etc.) • Finding out after coding an entire feature that it has a fundamental security flaw and needs to be refactored or rewritten. • Having the feature reach production and having to respond to a major incident.
  • 32. Tools • What tools should you have in your backpack, to help you along the way? • "Anything that you might need, I've got inside for you.“ • Binoculars, sticky tape • Bag of Holding
  • 33. Static analysis Tools • Resharper, • DevSkim,
  • 34. Debugging with proxies • We are going to cover our favorite proxies in just a few minutes when we are hacking our own code. • Just remember that you can/could/should be using a proxy, where appropriate, even early while you are developing code …
  • 35. Automated testing - security test cases • Use Cases • But also “Abuse Cases” • Testing the happy path • But also think about the unhappy path that “bad people” might take – more suggestions on how to do that coming soon too …
  • 36.
  • 38. Coding Buddy • Code & Coffee • Personal Pull Requests
  • 39.
  • 40. Know your Threats • Script kiddies – hobby – opportunistic, not stealthy, known exploits • Organized Crime – hold hostage, profit – possibly stealthy, often non- targeted / broad, zero-day – may target for corporate espionage • Disorganized Crime – petty theft, personal gain – amateur, known • Activist – do damage, get press – mixed, disgruntled • Nation-state – destabilize, do damage – more skilled than you, targeted, precise, zero-day exploits
  • 41. What is your “gold”
  • 42. Red TEAM / Blue Team • Hack yourself and/or your coding buddy.
  • 43. Traffic inspection / interception • Fiddler • OWASP ZAP • BURP Suite
  • 45. Man in the middle (MITM) • CERT • AES • SSL/TLS – Https everywhere (certificates in general) • NIST • YubiKey • Oauth2 – everywhere • 2-factor - multifactor • nmap
  • 47. Blue Team • Lesser known, but also cool. • Ideas like Honeypots
  • 48. Hak5 • WiFi Pineapple • USB Rubber Ducky • Bash Bunny
  • 51. Security has a price – it’s ~$49.00 • Private / Encrypted E-mail • Full-time VPN • Yubikey MFA, key/cert secure storage • Little Snitch, Mic/Camera Snitch

Editor's Notes

  1. Video / music to start? Thank you so much for coming out to this session – I know there are many choices – you’ve come the room where we are going to discuss “Fun with Application Security” Let’s jump in
  2. Everyone remembers their first time. For me it was in Flanders Elementary school in the fall of 1978. After finishing some school subjects early in the year, I was able to spend a few hours a day in the library (self-study). At some point in the fall a number of boxes arrived, and inside was a brand new Commodore PET computer (with a fancy cassette tape drive to load one of the two “tapes” of programs that it came with). No one that I can remember knew why the computer was bought for the school (and put in the library) but they let me try it out, and even teach some of the teachers. You couldn’t buy software for computers in these days – you had to write them. So like most people who get started in coding, I spent several months running other peoples code, reading other peoples code, learning BASIC, then modifying other peoples code – Space Invaders clone, Choose Your Own Adventure, and then trying to code myself (there was no copy and paste or Google or Stack Overflow at the time, so it was a lot of typing things in, and there really wasn’t an ability to “save” at the time, so I ended up leaving the computer on or retyping things … but the point it it was FUN
  3. Stuff happens, yada, yada, and jump forward 10 years and I get my first real taste of things to come, and my first run in with security challenges. I was doing summer research in Quantum Chemistry/Physics and implementing some rather complex matrix math equations in Fortran 77 – to make a long story short, they simulated certain molecules (like H20) and calculated changes in energy levels when you messed with the orbits of some of the electrons. To run some of the models we got time on a Cray YMP supercomputer in California and connected over the fledgling Internet (via 300 baud dial up). The point here is that it was a shared time situation where there were others using the same system at other times. Turns out some of these other people were getting into each others code and messing with it – high-brow hijinks (adding a third oxygen atom to the mix and trying to model a H30 molecule, etc.). So the “passwords” (that we were assigned) had to be changed and lost a good weeks worth of research. So coding was still Fun, and now possibly even profitable, but security was really starting to make things less fun.
  4. Jump forward another 30 years and it is getting ridiculous. Every week there is a new security threat or five. They have gone crazy in reporting them and started naming them like Hurricanes. They even have logos now for things like Poodle, Shellshock, HeartBleed and more – with Freak Attacks and WannaCry that weaponized EternalBlue. So early this year I decided to take a new position and role to focus 100% on these type of issues.
  5. My goal now, and in the next hour or so, is explain some ways that you can look at the security challenges, take some precautions, use some powerful tools, and take back software development. We need to “Make Software Development Fun Again” And no, I’m not a Trump fan, but you have to admit they did a great job branding things with the witty saying and the hats … but let’s get started …
  6. Disclaimer … Bruce Abernethy I am a life long developer, certified Microsoft developer, Apple Developer and Google Android developer – with current web apps, web services, apps in both stores, and code running on devices. Security-wise I have a GIAC certification in secure coding for .NET and am working on a CEH. I’ve had 5-6 different roles at Meijer – this year I made a switch and took on a brand new role at Meijer focused on Application Security – there is a big need for that, and I do want to bring the fun back …
  7. Research tells us that the average person consumes about 34Gb of data a day – mostly video, pictures, games and digital content. In fact only 1/10 of 1% of this data is textual. So I wanted to have a good visual and exciting theme to tie all the themes in security together - something current and memorable that would fit with the themes of fun, and security and heroes protecting their apps from evil. Unfortunately it didn’t really come together with modern favorites.
  8. A very different hero emerged that fit better into the main themes that I wanted to focus on
  9. It’s my view that Dora grew up and has become a very successful Coder and has used her skills and experience to focus on Secure Software Development
  10. If you know Dora, that will help – if you don’t – you’ll be fine. Dora taught and annoyed a bunch of kids in the last almost 20 years. She went through a daily adventure, with her companion Boots the monkey, planed her way with “The Map” had tools and goodies in the backpack. The antagonist in the series was Swiper the fox, who always tried to steal her stuff (see where we are going with security). With a few other regulars on the show to make things interesting.
  11. Our meta-app will be a tic tac toe game – TIC TAC TICO – we want it to be web-based but also a mobile app (iOS, Android?)
  12. Security for most developers is a chore, literally. It is something you know you need to do, you don’t really want to do, but you have a feeling that if you don’t do it, that there will be consequences. What have we done as humans with chores? Tried to use technology to make them easier.
  13. MS Threat Modeling Tool 2016 – free, Windows only. Draw it out, include at rest, in memory, and in transit (along with protocols), runs a STRIDE rules engine
  14. OWASP Incubator Project just usable, going beta soon, and a lot of promise. Cross platform desktop app built in Node and Angular with Electron. If they can get the rules engine working, this should replace Microsoft’s tool going forward.
  15. The more you learn about security, the more you will determine that you really don’t know. It doesn’t mean you have to move to a cabin in the woods. It does mean that you can take basic precautions and feel a bit more secure.
  16. Also raw error messages No one with that username exists in the system …. Keep trying until you get a username The password is wrong for that username … That username exists in the system, now just find the password.
  17. Code reviews and pull requests …