© 2010 Cisco and/or its affiliates. All rights reserved. 1 (Early) Web Security Mind The Gap Mary Ellen Zurko (aka Mez)

Slides:



Advertisements
Similar presentations
Enabling Secure Internet Access with ISA Server
Advertisements

Why Eve & Mallory Love Android
Security Protocols Sathish Vadhiyar Sources / Credits: Kerberos web pages and documents contained / pointed.
Key Management. Shared Key Exchange Problem How do Alice and Bob exchange a shared secret? Offline – Doesnt scale Using public key cryptography (possible)
Building web applications on top of encrypted data using Mylar Presented by Tenglu Liang Tai Liu.
Cryptography Chapter 7 Part 4 Pages 833 to 874. PKI Public Key Infrastructure Framework for Public Key Cryptography and for Secret key exchange.
Topic 8: Secure communication in mobile devices. Choice of secure communication protocols, leveraging SSL for remote authentication and using HTTPS for.
ATTACKING AUTHENTICATION The Web Application Hacker’s Handbook, Ch. 6 Presenter: Jie Huang 10/31/2012.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Cross Platform Single Sign On using client certificates Emmanuel Ormancey, Alberto Pace Internet Services group CERN, Information Technology department.
COMP 321 Week 12. Overview Web Application Security  Authentication  Authorization  Confidentiality Cross-Site Scripting Lab 12-1 Introduction.
CMSC 414 Computer and Network Security Lecture 12 Jonathan Katz.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
A Third Party Service for Providing Trust on the Internet Work done in 2001 at HP Labs by Michael VanHilst and Ski Ilnicki.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
Using Internet Information Server And Microsoft ® Internet Explorer To Implement Security On The Intranet HTTP.
Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.
SSL By: Anthony Harris & Adam Shkoler. What is SSL? SSL stands for Secure Sockets Layer SSL is a cryptographic protocol which provides secure communications.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
Long-term Archive Service Requirements draft-ietf-ltans-reqs-00.txt.
IST346:  Web Services. Today’s Agenda  Learn the basics of how the Web works  Understand various web service architectures  Address scaling, security,
SSL (Secure Socket Layer) and Secure Web Pages Rob Sodders, University of Florida CIS4930 “Advanced Web Design” Spring 2004
Cookies COEN 351 E-commerce Security. Client / Session Identification HTTP does not maintain state. State Information can be passed using: HTTP Headers.
1 Web Servers (IIS and Apache) Outline 9.1 Introduction 9.2 HTTP Request Types 9.3 System Architecture 9.4 Client-Side Scripting versus Server-Side Scripting.
Edwin Sarmiento Microsoft MVP – Windows Server System Senior Systems Engineer/Database Administrator Fujitsu Asia Pte Ltd
Session 11: Security with ASP.NET
Prevent Cross-Site Scripting (XSS) attack
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
Threat Management Gateway 2010 Questo sconosciuto? …ancora per poco! Manuela Polcaro Security Advisor.
Internet Basics Dr. Norm Friesen June 22, Questions What is the Internet? What is the Web? How are they different? How do they work? How do they.
Postacademic Interuniversity Course in Information Technology – Module C1p1 Contents Data Communications Applications –File & print serving –Mail –Domain.
© 2010 Cisco and/or its affiliates. All rights reserved. 1 Web Security Fear, Surprise, and Ruthless Efficiency Mary Ellen Zurko.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 Securing a Microsoft ASP.NET Web Application.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
Session Initiation Protocol (SIP) 王承宇 張永霖.
ArcGIS Server and Portal for ArcGIS An Introduction to Security
Module 11: Securing a Microsoft ASP.NET Web Application.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
Building Secure Web Applications With ASP.Net MVC.
1 Robust Defenses for Cross-Site Request Forgery Adam Barth, Collin Jackson, John C. Mitchell Stanford University 15th ACM CCS.
Ins and Outs of Authenticating Users Requests to IIS 6.0 and ASP.NET Chris Adams Program Manager IIS Product Unit Microsoft Corporation.
CS 4244: Internet Programming Security 1.0. Introduction Client identification and cookies Basic Authentication Digest Authentication Secure HTTP.
Securing Passwords Against Dictionary Attacks Presented By Chad Frommeyer.
PHP Secure Communications Web Technologies Computing Science Thompson Rivers University.
An Evaluation of Extended Validation and Picture-in-Picture Phishing Attacks Collin Jackson et. all Presented by Roy Ford.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Web Services Security Patterns Alex Mackman CM Group Ltd
Web Authoring with Dreamweaver. Unit Objectives  Be able to define keywords: HTML, HTTP (protocol), browser, web server, client/server, tag, attribute,
© Copyright 2009 SSLPost 01. © Copyright 2009 SSLPost 02 a recipient is sent an encrypted that contains data specific to that recipient the data.
Session Management Tyler Moore CS7403 University of Tulsa Slides adapted in part or whole from Dan Boneh, Stanford CS155 1.
COEN 350: Network Security E-Commerce Issues. Table of Content HTTP Authentication Cookies.
Secure Socket Layer SSL and TLS. SSL Protocol Peer negotiation for algorithm support Public key encryptionPublic key encryption -based key exchange and.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
Secure Transactions Chapter 17. The user's machine No control over security of user's machine –Might be in very insecure: library, school, &c. Users disable.
Csci5233 Computer Security1 Bishop: Chapter 14 Representing Identity.
E-Commerce & Bank Security By: Mark Reed COSC 480.
Hyperlinks Links for Other Pages. Hyperlink (aka Link) Text (or image) user can click Takes user to different location In general, location can be: On.
ArcGIS for Server Security: Advanced
Setting and Upload Products
Tonga Institute of Higher Education IT 141: Information Systems
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Single Sign-On Led by Terrice McClain, Jen Paulin, & Leighton Wingerd
World Wide Web policy.
Secure Software Confidentiality Integrity Data Security Authentication
Tonga Institute of Higher Education IT 141: Information Systems
Tonga Institute of Higher Education IT 141: Information Systems
Week 7 - Wednesday CS363.
Presentation transcript:

© 2010 Cisco and/or its affiliates. All rights reserved. 1 (Early) Web Security Mind The Gap Mary Ellen Zurko (aka Mez)

© 2010 Cisco and/or its affiliates. All rights reserved. 2

3 Authentication means password/secret management A secret is something you tell to one person at a time It’s not turtles all the way down

© 2010 Cisco and/or its affiliates. All rights reserved. 4 Lesson: Defense in depth matters Themes: Passwords – users vs system parts Web server and files Compliance

© 2010 Cisco and/or its affiliates. All rights reserved. 5

6 Security the way Tim intended Server says: WWW-Authenticate: Basic realm="insert realm” User prompted for their password Client says: Authorization: Basic QWxhZGluOnNlc2FtIG9wZW4= User agent remembers and sends for that domain/realm

© 2010 Cisco and/or its affiliates. All rights reserved. 7 Every site does their own authentication No Single Sign On Password proliferation Password unprotected Encoding is not encrypting Who’s asking you for your password? For what?

© 2010 Cisco and/or its affiliates. All rights reserved. 8 There’s Encryption; it’s Secure! Encryption is to Security as Caching is to Performance Trust, Trustworthy, and Trust for What? Who vouches for the information on this web page?

© 2010 Cisco and/or its affiliates. All rights reserved. 9 Confidentiality Requiring brute force guessing Two flavors – reversible and not Authentication Proof of a secret/key Integrity (Tamper Detection) Blind changes are recognized Splicing attacks Replay detection

© 2010 Cisco and/or its affiliates. All rights reserved. 10

© 2010 Cisco and/or its affiliates. All rights reserved. 11 Hash the password With the username and realm Defense against Rainbow Tables Nonces for replay protection No passing the password itself in the protocol No need to store the password in the clear Store it hashed with the username and realm

© 2010 Cisco and/or its affiliates. All rights reserved. 12 The world is no longer a clean slate Needs both browser support and server support to work The protocol for negotiating mutual support allows a Man in the Middle to spoof lack of support Gets the password anyway Lesson: Deployment/rollout of client and server software is hard Three tier architectures Calling a back end service as the user Sometimes you need that password to propagate the user authentication to some system type not supporting Digest Why put in the resources to support this? No attacks in the wild, no high value web site interactions

© 2010 Cisco and/or its affiliates. All rights reserved. 13

© 2010 Cisco and/or its affiliates. All rights reserved. 14 S-HTTP: Encryption of the HTML document Page data and submitted data – not the headers Specific URL moved into encrypted portion Headers defined to specify type of encryption, type of key management, nonces Supports pre arranged keys, public/private keys, PGP, etc. Server and client negotiate which enhancements they’ll use Flexible End to end (resists Man in the Middle)

© 2010 Cisco and/or its affiliates. All rights reserved. 15 End to end protection meant client side deployment of secrets A challenge still not overcome today Scale of client deployment much larger than server deployment End user had to interact with secret for web pages Lesson: Deployment at user/file scale is beyond hard Flexible framework meant (too) many choices for deployment Which type of secrets do which users have? Which type of secrets do which web pages require?

© 2010 Cisco and/or its affiliates. All rights reserved. 16 Encryption! Authentication! Security! Network protocol that wraps HTTP Encryption of the tunnel for confidentiality and tamper detection Authentication of the server using public key certificate Authentication of the client using public key certificate is an option

© 2010 Cisco and/or its affiliates. All rights reserved. 17 What does it mean that the web site is authenticated? My browser has 214 “System Roots”. They’re all trusted to issue web site certificates. What are they trusted to do? Associate the public key with the information in the certificate What does it mean if a server has a self signed certificate? Users learn to ignore warnings What identity is required of the server and why? Why we need the server to authenticate itself has changed since 1994 Lesson: What happens when there are errors?

© 2010 Cisco and/or its affiliates. All rights reserved. 18 Citigroup.com Citibank.com Cititigroup.com Citigroup.de Citibank.co.uk Citigroup.org Thisiscitigroup.org Citibank.info Citicards.com Citicreditcards.com Citibank-cards.us Citimoney.com Citigold.net Citigrøup.org

© 2010 Cisco and/or its affiliates. All rights reserved. 19

© 2010 Cisco and/or its affiliates. All rights reserved. 20

© 2010 Cisco and/or its affiliates. All rights reserved. 21

© 2010 Cisco and/or its affiliates. All rights reserved. 22 Extended Validation Certificates Extra validation happens to tie a legal entity to a domain name They cost more Browsers provide an indication of that the authentication of the server is particularly good

© 2010 Cisco and/or its affiliates. All rights reserved. 23

© 2010 Cisco and/or its affiliates. All rights reserved. 24 The Emperor’s New Security Indicators Lab study of bank customers (67) Removed HTTPS indicators – “https” in address bar and lock icon in bottom right 0 withheld password Removed the customer selected site-authentication image 23 of 25 using their own accounts entered their password As well as all 36 role playing Role playing participants behaved significantly less securely About half were security primed

© 2010 Cisco and/or its affiliates. All rights reserved. 25

© 2010 Cisco and/or its affiliates. All rights reserved. 26 Who put the D in DHTML? Dynamic HTML introduced in IE 4.0 in 1997 Security Principle: Data and Code should not mix Code is dangerous. Data is not. Speech vs action

© 2010 Cisco and/or its affiliates. All rights reserved. 27 Who vouches for the code on this web site? Javascript Sandbox + same origin policy Web mail Earliest web application serving data in pages not created by web site developers Cross site scripting (XSS) Response - HTML escaping of any data Where are my bold text and dancing pigs? Next steps: Whitelist vs Blacklist What are the tradeoffs?

© 2010 Cisco and/or its affiliates. All rights reserved. 28 Major technical university’s web site Cross Site Scripting (XSS) Every link modified to redirect through proxy Links to other web sites (e.g. LinkedIn, Facebook) Insecure Direct Object Reference Walk the OS file system Lesson: Developers are (fallible) people too

© 2010 Cisco and/or its affiliates. All rights reserved. 29 Is It Safe? What responsibility is assumed to be the user’s? Who can the user rely on? How much control can the user have? Are users any good at making these decisions? Different mobile platforms make different choices Control of the lifecycle Control of the store Code signing Installation time permissions

© 2010 Cisco and/or its affiliates. All rights reserved % of participants paid attention to permissions during installation (self reported and lab experiment) 42% aware permissions exist but do not always consider them 3% of Internet survey respondents could correctly answer all three permission comprehension questions 53% of the answers contain at least one correct choice READ_CALENDAR – 46% correct READ_PHONE_STATE – 4.7% correct

Thank you. Mary Ellen Zurko Questions? Comments? Brickbats?

© 2010 Cisco and/or its affiliates. All rights reserved. 32 Who vouches for the code on this web site? Javascript Sandbox + same origin policy Java Permissions “Should this code access your file system, the network?” Web mail Cross site scripting (XSS) HTML escaping of any data Where are my bold text and dancing pigs? Whitelist vs Blacklist