HTML5: Risky Business or Hidden Security Tool Chest Johannes B. Ullrich, Ph.D.

Slides:



Advertisements
Similar presentations
Inter WISP WLAN roaming
Advertisements

Past, Present and Future By Eoin Keary and Jim Manico
Win8 on Intel Programming Course Desktop : Introduction Cédric Andreolli Intel Software.
Staying in Sync with Cloud 2 Device Messaging. About Me Chris Risner Twitter: chrisrisner.
The quest to replace passwords Evangelos Markatos Based on a paper by Joseph Bonneau,Cormac Herley, Paul C. van Oorschot, and Frank Stajanod.
Developing Mobile Apps for Drupal Sites Manil Maskey Information Technology & Systems Center University of Alabama in Huntsville ESIP.
Attie Naude 14 May 2013 Windows Azure Mobile Services.
The OWASP Foundation Web Application Security Host Apps Firewall Host Apps Database Host Web serverApp serverDB server Securing the.
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Fraunhofer Institute FOKUS
Offline and Web-based tools development to support the TSA By Reymar Gooding.
Welcome to the Award Winning Easiest to Use & Most Advanced View, Manage, and Control Security, Access Control, Video, Energy & Lighting Systems, & Critical.
HiveMind Distributed File Storage Using JavaScript Botnets Copyright 2013 Sean T. Malone.
1Proprietary and Confidential AirVantage API – Getting started David SCIAMMA – June 13th 2014.
Using Evernote and Google Docs in your web or mobile application (and potentially Dropbox and Skydrive) By Peter Messenger Senior Developer – Triple Point.
WEB BROWSER SECURITY By Robert Sellers Brian Bauer.
Building Mobile Apps in the Cloud – Comparing Approaches.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Biometric Authentication Andrea Blanco Binglin Li Brian Connelly.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
The Internet & The World Wide Web Notes
Cookies COEN 351 E-commerce Security. Client / Session Identification HTTP does not maintain state. State Information can be passed using: HTTP Headers.
 A cookie is a piece of text that a Web server can store on a user's hard disk.  Cookie data is simply name-value pairs stored on your hard disk by.
OWASP Mobile Top 10 Why They Matter and What We Can Do
CRYPTOGRAPHY PROGRAMMING ON ANDROID Jinsheng Xu Associate Professor North Carolina A&T State University.
Authentication Approaches over Internet Jia Li
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Session 11: Security with ASP.NET
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
CIM6400 CTNW (04/05) 1 CIM6400 CTNW Lesson 6 – More on Windows 2000.
M i SMob i S Mob i Store - Mobile i nternet File Storage Platform Chetna Kaur.
Presented by: Lin Jie Authors: Xiaoyuan Suo, Ying Zhu and G. Scott. Owen.
Web Programming Language Week 7 Dr. Ken Cosh Security, Sessions & Cookies.
Le Trong Ngoc Security Fundamentals Entity Authentication Mechanisms 4/2011.
Feedback #2 (under assignments) Lecture Code:
Lecture 7 Page 1 CS 236 Online Challenge/Response Authentication Authentication by what questions you can answer correctly –Again, by what you know The.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
Lecture 7 Page 1 CS 236, Spring 2008 Challenge/Response Authentication Authentication by what questions you can answer correctly –Again, by what you know.
Biometrics Authentication Technology
Ins and Outs of Authenticating Users Requests to IIS 6.0 and ASP.NET Chris Adams Program Manager IIS Product Unit Microsoft Corporation.
Cookies COEN 351 E-commerce Security. Client / Session Identification HTTP Headers Client IP Address HTTP User Login FAT URLs Cookies.
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Web Browsing *TAKE NOTES*. Millions of people browse the Web every day for research, shopping, job duties and entertainment. Installing a web browser.
Session Management Tyler Moore CS7403 University of Tulsa Slides adapted in part or whole from Dan Boneh, Stanford CS155 1.
Dos and Don’ts of Client Authentication on the Web Kevin Fu, Emil Sit, Kendra Smith, Nick Feamster Presented: Jesus F. Morales.
Web Login, Cookies Web Login | Old way HTML
BOPS – Biometric Open Protocol Standard Emilio J. Sanchez-Sierra.
INTRODUCING HYBRID APP KAU with MICT PARK IT COMPANIES Supported by KOICA
3D Password.
The Fallacy Behind “There’s Nothing to Hide” Why End-to-End Encryption Is a Must in Today’s World.
Challenge/Response Authentication
Chapter 17 The Need for HTML 5.
DATA SECURITY FOR MEDICAL RESEARCH
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Challenge/Response Authentication
Authentication.
Radius, LDAP, Radius used in Authenticating Users
Internet Basics.
CS320 Web and Internet Programming Cookies and Session Tracking
The main cause for that are the famous phishing attacks, in which the attacker directs users to a fake web page identical to another one and steals the.
Chapter 3: Protecting Your Data and Privacy
K!M SAA LOGICAL SECURITY Strong Adaptive Authentication
Overview The World Wide Web has changed the way that people
CS3220 Web and Internet Programming Cookies and Session Tracking
To change the image on this slide, select the picture and delete it
Preparing for the Windows 8. 1 MCSA Module 6: Securing Windows 8
Presentation transcript:

HTML5: Risky Business or Hidden Security Tool Chest Johannes B. Ullrich, Ph.D.

About Me Hosted by OWASP & the NYC Chapter Dean of Research, SANS Technology Institute Living in Jacksonville FL (aka Southern GA) SANS Internet Storm Center Created DShield.org Instructor for SANS Past: Physicist, Web Developer

What is HTML5 Collection of JavaScript APIs supported by some modern browsers in some ways and sometimes they even work. Features to enable modern desktop like applications and support mobile devices 5 th Revision of the HTML Standard

What is this talk about? Ideas to improve security by using HTML5 responsibly What are some of the security challenges that HTML5 addresses well (or doesn’t) What are some of the limitations we have to consider

Authentication Exclusive vs. Inclusive Authentication Methods: – Inclusive: Proof the identity of the user – Exclusive: Disproof the identity of the user

What the Factor? Segway: Multi Factor Authentication Single Factor: Password Two Factor: Password AND (Token|Biometric) 1 ½ Factor: Password and Cookie ½ Factor: Password OR (Token|Biometric)

HTML5 Components Local Storage / Session Storage Canvas Geolocation Media Capture Notifications Accelerometer Encryption

Local and Session Storage New JavaScript API to store data on client Protected by “same origin” Local Storage: – No defined expiration – Accessible by all browser windows Session Storage: – Expired when window is closed – Scope limited to current window

Local Storage: Persistent Cookie Alternative to Flash cookie for “1 ½ Factor” login Part of an “Evercookie” Can be used for good (additional authentication) or evil (more user tracking) Exposed to XSS attacks Similar to cookies in scope and security

Session Storage: Identifying users Can be used to store session token Breaks CSRF (good!) User is logged out when they close the browser window (not entire browser) Multiple users can use the same browser (is this a good thing?) Easier log out, more secure session tracking, can be used alongside cookies.

Risks Risks: Storing too much data on the client! Can’t enforce “secure” transmission over SSL Can’t protect from JavaScript/XSS (no httponly) Examples: – storing confidential data on mobile devices – Pushing data to the client the client is not authorized to see.

Can I use it?

Canvas Allows drawing in the browser Interactive image applications Can be used for graphical login schemes – CAPTCHAs – Pattern based login

Image Login Display image, user identifies features Done in Windows 8/RT for mobile login (“Pattern Login”, “Picture Password”) Image: Microsoft

“Connect the Dots” Implemented in Android Good user acceptance for mobile login No good studies yet as to how users select patterns Image: Extremetech.com

Demo Demo: “Connect the Dots” for the web See Github for code repository

Can I use it?

Geolocation JavaScript API provides access to devices built in sensors like GPS Can be very accurate Can also be spoofed easily Image: Mozilla.org

Geolocation for Authentication Only useful on mobile devices Can be used to exclude users, but not to replace traditional authentication Observe sudden changes in location Combine with careful browser fingerprinting techniques

Can I use it?

Media Capture aka getUserMedia/Stream API Limited support (Chrome, Firefox, Blackberry) Some potential for biometrics: – Face recognition – Hand signals / gestures – Fingerprint?

Implementations Face recognition libraries: –

Difficulties Hard to acquire sufficient detail So far, in particular on mobile devices, more of a gimmick then a serious authentication feature Possibility to use “finger print”, but current cameras not sufficient to acquire image

Can I use it?

Accelerometer Only useful for mobile devices Move the phone in a pattern to authenticate Detect step/walking pattern Detect if user/phone is at rest or on the move Can be spoofed (but not readily) Not easy to reproduce Adding sensors like compass may help.

Can I use it?

Notifications Popup Notifications sent by the server to notify the user Initiated by server – Local Notifications: Require browser to be open, widely supported – Push Notifications: Safari Only

Bad stuff happened! Notify the user of security relevant events: – “Someone is trying to log in as you” User needs to accept notifications Notifications no 100% reliable Not “out of band” (can be faked, intercepted) Safari Notifications may be useful for one time passwords (OTP)

Can I use it?

Encryption Client side encryption Allows encryption of specific sensitive fields (e.g. payment data, passwords) Intermediate services (proxies, web services) don’t need to know the information Upcoming: CryptoAPI (June 2013) Until then:

Client side password hashing Server sends random “nonce” as part of login form. Client calculates hash from password/nonce Passes hash to server Server verifies hash Advantage: Server never gets to know the “real” password.

Signup Use enters password Client hashes password Password hash transmitted to server Salt: Username? Provided by server? Changing password: Same procedure, salt may change.

Summary Lots of cool and useful tools in HTML5 Use them as appropriate “HTML5” itself isn’t the risk. Bad coding is the risk Understand privacy issues Understand user behavior Share your code an experiences (OWASP!!)

Thanks! ! Thanks ! Questions? Daily Updates * Daily Podcast * Live Data Feeds