Top Banner
Understanding Online Security Michael Dowden @mrdowden
46

Understanding Online Security

Jan 23, 2018

Download

Internet

Michael Dowden
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Understanding Online Security

Understanding

Online Security

Michael Dowden@mrdowden

Page 2: Understanding Online Security

Goals

➔Understand Internet security basics

➔Better equipped to protect yourself online

➔Prepared to implement basic software security

➔Able to research security topics

Page 3: Understanding Online Security

Overview

➔Internet Technology

➔Attack Vectors

➔Common Attacks

➔Security Principles & Terminology

➔Safety & Security Tips

Page 4: Understanding Online Security

Attack Goals

Page 5: Understanding Online Security

Michael Dowden

➔Education◆ BS Computer Science

◆ MBA Entrepreneurship

➔Experience◆ Software Development and IT since 1992

◆ 12+ years software security

◆ Full Stack - Hardware to User Interface

◆Worked with 60+ organizations in multiple industries

Senior Principal Consultant & Software Architecture Lead @ CSpring

Page 6: Understanding Online Security

Internet Technology

Page 7: Understanding Online Security

DNS

39.838389, -86.383388

804 E Main St, Brownsburg, IN 46112

Page 8: Understanding Online Security

DNS

216.58.216.206

DNS Server GoogleBrowser

Google.com

Page 9: Understanding Online Security

TCP/IP

Page 10: Understanding Online Security

HT

TP

Client

(Web Browser)Internet Server

Request

Response

Request

Response

User System

Administrator

Page 11: Understanding Online Security

Client

(Web Browser)Internet Server

Request

Response

Request

Response

User System

Administrator

Email / Website / Hack / XSS / CSRF

Permissions / Injection / DDoS / Hack

Man in the Middle

Social Engineering

Attack V

ecto

rs..

.and

mo

de

s o

f d

eliv

ery

Page 12: Understanding Online Security

Client

(Web Browser)Internet Server

Request

Response

Request

Response

User System

Administrator

Email / Website / Hack / XSS / CSRF

Permissions / Injection / DDoS / Hack

Man in the Middle

Social Engineering

Softw

are

Mitig

ation

HTTPS / VPN / Tor

Headers / CSRF / Password Managers

/ Public Key Encryption

Encryption / Authentication /

Authorization

Least Privilege / Training

Page 13: Understanding Online Security

Common Attacks

Page 14: Understanding Online Security

DNS Hijacking

➔Redirect domain name to fake address

➔Used to:

◆ Collect data & credentials

◆ Steal money

➔Protection:

◆ Disable open relay on DNS servers

◆ DNSSEC

216.58.216.206

111.22.33.213

Browser

google.com

DNS Server

Google

Bad Search

Site

Page 15: Understanding Online Security

Man-in-the-Middle

➔Eavesdropping or dual authentication

➔Used to:

◆ Defeat encryption and authentication

◆ Steal data

◆ Act on behalf of the user

➔Protection:

◆ Public key infrastructure such as TLS over TCP

Normal Connection

Compromised Connections

Page 16: Understanding Online Security

Clickjacking

➔Subvert mouse clicks

➔Used to:◆ Redirect to foreign sites

◆ Bypass browser security

◆ Modify privacy settings

➔Protection:◆ Proper use of X-Frame-Options

◆ Client-side frame detection

Page 17: Understanding Online Security

CSRF (Cross-Site Request Forgery)

➔Impersonate user to the server

➔Used to:

◆ Coerce user action

◆ Transfer control or resources

➔Protection:

◆ Unpredictable token in each request

◆ Use framework built-in defenses

Client

Attacker

Server

Server

Page 18: Understanding Online Security

XSS (Cross-Site Scripting)

➔Verbatim display of user-submitted content

➔Used to:◆ Steal personal information

◆ Hijack sessions or Install Trojans

◆ Redirect to foreign sites

➔Protection:◆ Encode all user-provided data

◆ Use safe JavaScript APIs (never eval)

Client

Client

Server

Server

Page 19: Understanding Online Security

(SQL) Injection

➔Verbatim user-submitted content in query

➔Used to:◆ Steal data

◆ Corrupt data

➔Protection:◆ Prepared statements

◆ Escape user input

https://xkcd.com/327/

Page 20: Understanding Online Security

Distributed Denial of Service

Website

Legitimate User

➔Flood a website with traffic

➔Used to:

◆ Shut down targeted website

◆ Block traffic from the website

◆ Extort payments

➔Protection:

◆ Firewalls block attacking traffic

Page 21: Understanding Online Security

Social Engineering

➔Simply ask someone for their credentials

➔Used to:

◆ Obtain credentials

◆ Access secure systems

➔Protection:

◆ Training

◆ Never tell anyone your passwords https://xkcd.com/538/

Page 22: Understanding Online Security

Security Principles &

Terminology

Page 23: Understanding Online Security

Key Objectives

➔ Ensure users are who they claim to be…with every request

➔ Users can do what they need…but no more

➔ Data is kept safe

➔ Communication is kept private

Page 24: Understanding Online Security

Authentication

➔Identity

➔Something you Know (password)

➔Something you Are (biometrics)

➔Something you Have (security key)

Natalie Curtiss : Grandmother? (https://flic.kr/p/7VqQPa)

Page 25: Understanding Online Security

Authorization

➔Restrict access to specific data

➔Access levels:

◆ View

◆ Change

◆ Delete

➔Rules applied based upon ID trust

Page 26: Understanding Online Security

Least P

rivile

ge

htt

ps://x

kcd

.co

m/8

98

/

Page 27: Understanding Online Security

Obscurity

➔Can’t put the cat back in the bag

➔Security requires shared algorithms

➔Implementation accuracy requires public review

➔Unpredictable level of risk

Which box holds

the prize?

Page 28: Understanding Online Security

Cryptography

➔Mathematically provable complexity

➔Cryptographic hash

➔Symmetric encryption

➔Public-key encryption

➔Transport Layer Security (https)

Public Private

Public Private

Encrypts

Decrypts

Verifies

Page 29: Understanding Online Security

Chain of Trust

➔Digital Signatures

➔Certificates

➔Only sign certificates you know

➔Only accept certificates you trust

Page 30: Understanding Online Security

Minimum Developer Responsibility

➔HTTPS

➔Password Protection

◆Hashing for Auth

◆AES for System Logins

➔OWASP Top 10 - https://owasp.org

Page 31: Understanding Online Security

Passwords

Page 32: Understanding Online Security

Password Protection

➔Hash, don’t encrypt

◆ Secure algorithm (SHA512, bcrypt)

➔Salt

◆ Two salts - row and app

➔Iterate

◆ Key derivation (PBKDF2, bcrypt)

➔Go slow!

+

1000x

Page 33: Understanding Online Security

1. Click “forgot password”

2. Enter identification

3. Receive email

4. Click link

5. Enter security key(s)

6. Enter new password

Change Password

Website Security Form

Password FormNew Password

Page 34: Understanding Online Security

Passw

ord

sh

ttp

s://x

kcd

.co

m/9

36

/

Page 35: Understanding Online Security

Safety & Security Tips

Page 36: Understanding Online Security

Networking Tips

➔Always use a Router with Firewall

➔Secure your WiFi

➔Don’t connect to unknown WiFi networks

➔Use VPN over unsecured WiFi

Page 37: Understanding Online Security

Email Tips

➔Don’t open email from an unknown sender

➔Never open unexpected attachments in your email

➔Avoid clicking links in an email

Page 38: Understanding Online Security

Website Tips

➔Always log out when finished

➔Keep your browser up-to-date (Chrome, Firefox, Opera)

➔Don’t submit information to unsecure connection

Page 39: Understanding Online Security

Password Tips

➔Use a Password Manager (LastPass, 1Password, KeePass)

➔Use long and complex passwords (30 random characters)

➔Use 2-factor authentication when available

➔Change compromised passwords

Page 40: Understanding Online Security

Tools

➔LastPass - https://www.lastpass.com/

➔Have I been pwnd? - https://haveibeenpwned.com/

➔Abine Blur - https://www.abine.com/index.html

Page 41: Understanding Online Security

Discussion

Page 42: Understanding Online Security

Why aren’t all systems secure?

➔Education & Training

➔Weakest Link

➔Trade-offs

➔Moving Target

➔Laws & Politics

Page 43: Understanding Online Security

Security decisions

➔What are we protecting?

➔What is the likelihood of attack?

➔What are the risks of security failure?

➔What are the probable attack vectors?

➔How will we detect and report breaches?

➔Don’t forget the ethics!

Page 44: Understanding Online Security

How does online security help people?

➔Restrict access to financial assets

➔Protect your identity and personal information

➔Defend against device takeover

➔Shelter citizens from oppressive governments

➔Preserve 1st, 4th, and 5th amendment rights

Page 45: Understanding Online Security

Resources

➔Troy Hunthttps://www.troyhunt.com/

➔Brian Krebshttps://krebsonsecurity.com/

➔WIRED Threat Levelhttps://www.wired.com/category/threatlevel

➔Pluralsighthttps://pluralsight.com/browse/information-cyber-security

Page 46: Understanding Online Security

Michael Dowden

@mrdowden

linkedin.com/in/mdowden

plus.google.com/+MichaelDowden

[email protected]@

lanyrd.com/profile/mrdowden/