how to tell if your designing an insecure website

41
Akash Mahajan at Meta Refresh 2013 HOW TO Tell if your designing an insecure website

Upload: akash-mahajan

Post on 12-May-2015

816 views

Category:

Technology


1 download

DESCRIPTION

A rambling talk about how the same things that comprise of effective design are misused to create effective phishing pages. Additionally the browser UI and security controls focus on things that most people completely ignore. The idea of the presentation was to plant a seed of an idea that designers might be able to shape and take the lead in designing secure solutions meant for ordinary non-technical users if they start thinking about security as part of their deliverable. This can even be done by ensuring that security team and designers collaborate on more projects together. The presentation makes a lot more sense with the accompanying video http://hasgeek.tv/metarefresh/2013/497-how-to-tell-if-youre-designing-an-insecure-site

TRANSCRIPT

Page 1: How to tell if your designing an insecure website

Akash Mahajan at Meta Refresh 2013

HOW TO Tell if your designing an

insecure website

Page 2: How to tell if your designing an insecure website

HOW TO Tell if your designing an insecure website

Hasgeek Doesn’t Allow How-tos As

Talks But I Got In !! :P

Does this bother you?

Page 3: How to tell if your designing an insecure website

Joke

Page 4: How to tell if your designing an insecure website

Insecure WebsitesDesign and UI/UXThis is not a how to, this

is more like a series of thoughts

DISCLAIMER

Page 5: How to tell if your designing an insecure website

Talking About Effective Design

Effective Design, UI

or UX

Page 6: How to tell if your designing an insecure website

Can we say effective design is

Something that compels a user to do what the

designer wanted?

Page 7: How to tell if your designing an insecure website

Gmail ; A Great Example of Effective Design

Page 8: How to tell if your designing an insecure website

Phishing Attack or Effective Design

Close Look at our example

Page 9: How to tell if your designing an insecure website

Even closer look at our example

1. Favicon FTW

2. Bookmark link

Page 10: How to tell if your designing an insecure website

Phishing with a ph!

Page 11: How to tell if your designing an insecure website

Salient features of effective design

Assumptions – maybe based on data like heat maps etc.

Call to action – green button = go

Visual cues and logos to inspire trust

Page 12: How to tell if your designing an insecure website

Salient features of phishing

Most people don’t

Notice what is in the

address bar

People love to fill login

forms

Page 13: How to tell if your designing an insecure website

Address bar/URL can look like

scheme://[login[:password]@](host_name|host_address)[:port][/hierarchical/path/to/resource[?search_string][#fragment_id]]From Browser Security Handbook http://code.google.com/p/browsersec/wiki/Part1

Page 14: How to tell if your designing an insecure website

Design Thinking?

Page 15: How to tell if your designing an insecure website

Maybe Don’t Think == Impulsive

im·pul·sive /imˈpəlsiv/Adjective

Acting or done without forethought: "young impulsive teenagers shoppers".

Page 16: How to tell if your designing an insecure website

phish·ingmade up word

is the act of attempting to acquire information such as usernames, passwords, and credit card details by masquerading as a

trustworthy entity in an electronic communication.

Page 17: How to tell if your designing an insecure website

Effective Design/UI/UX is about generating

TRUST

Page 18: How to tell if your designing an insecure website

People trust big shiny locks

Page 19: How to tell if your designing an insecure website

Best piece of advice from a show about

aliens

Page 20: How to tell if your designing an insecure website

Two examples where this trust collides with effective design and makes the UI/UX bad for the user

1. Password Reset/Change feature2. An SSL enabled website

Page 21: How to tell if your designing an insecure website

How password reset should work

[email protected]

Enter email to reset password

YourSuperSecretPassword

Page 22: How to tell if your designing an insecure website

What went down behind the scenes

• Code loaded in the browser sent that email to server.

Page 23: How to tell if your designing an insecure website

What went down behind the scenes

• Server did bunch of things like check if email was in database, generated password etc.

Page 24: How to tell if your designing an insecure website

The difficult part & UI nightmare

How does the server know that it is you who filled the

email and you are the owner of this email address?

Page 25: How to tell if your designing an insecure website

So how is it supposed to work?

• Using out of band communication.• Code loaded in the browser sent that email to

server.

Page 26: How to tell if your designing an insecure website

And…..?

• Web server will email you a unique link. Hoping that the email address is in your hands

• You click on the link and go back to the server.

• Server confirms the link is proper it allows you to reset the password

Page 27: How to tell if your designing an insecure website

Just FYI, that the email address you sent to the

server and the password you got back were in

CLEARTEXT

Page 28: How to tell if your designing an insecure website

People/stuff between you & the server

• Wireless Network• Helpful IT admin monitoring for “bad traffic”• ISP gateway with helpful IT admin “monitoring”• Country level gateway with helpful govt. IT

admin “monitoring” – Think Tunisia, Egypt, Iran• Helpful Server admin “monitoring”• And who knows what else is out there.

Page 29: How to tell if your designing an insecure website

Just to recap!

• Effective Design/UI/UX inspires trust. • People trust based on strong visual cues• These cues can be faked. • So ideally trust no one• If we use common sense approach to

generating a new password we will need to trust multiple intermediaries.

Page 30: How to tell if your designing an insecure website

Finally a problem worthy of philosoraptor

So how do we create secure websites?

Page 31: How to tell if your designing an insecure website

SSL

Page 32: How to tell if your designing an insecure website

HTTP + SSL/TLS = HTTPS

Akash Mahajan
Did not know the full-form of SSL and TLS.
Page 33: How to tell if your designing an insecure website

SSL/TLS

Encrypted Communication – Nobody can see your message hence can’t change it

Secure Identification of a Network – Are you talking to the right server?

Page 34: How to tell if your designing an insecure website

http://www.trailofbits.com/resources/creating_a_rogue_ca_cert_slides.pdf

Page 35: How to tell if your designing an insecure website

Bad Things can Happen

Comodo an affiliate of a root CA was hacked.

DigiNotar another affiliate was hacked.

Hundreds of certificates for google, yahoo,

mozilla, MS windows update were released.

Page 36: How to tell if your designing an insecure website

Rougue SSL Certificate

Page 37: How to tell if your designing an insecure website

EVS

SL

Page 38: How to tell if your designing an insecure website
Page 39: How to tell if your designing an insecure website

Secure By Design

Will cover this next year!

Page 40: How to tell if your designing an insecure website

I don’t have any answers for you

• I am not a designer. I understand security in systems.

• I understand that people want to use systems to do things, not get stopped due to security or insecurity.

• The idea was to get your attention and see if these problems can be solved using design.

Page 41: How to tell if your designing an insecure website

@makash Akash Mahajan

That Web Application Security Guy