Copyright © 2008, CIBER Norge AS 1 Web Application Security Nina Ingvaldsen 22 nd October 2008.

Slides:



Advertisements
Similar presentations
Webgoat.
Advertisements

Kerberos 1 Public domain image of Heracles and Cerberus. From an Attic bilingual amphora, 530–520 BC. From Italy (?).
An investigation into the security features of Oracle 10g R2 Enterprise Edition Supervisor: Mr J Ebden.
© Blackboard, Inc. All rights reserved. Developing Secure Software Bob Alcorn, Blackboard Inc.
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
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 GNU Free Documentation.
WebGoat & WebScarab “What is computer security for $1000 Alex?”
1 Topic 1 – Lesson 3 Network Attacks Summary. 2 Questions ► Compare passive attacks and active attacks ► How do packet sniffers work? How to mitigate?
Security Issues and Challenges in Cloud Computing
Barracuda Web Application Firewall
CSA 223 network and web security Chapter one
1 Cryptography and Network Security Third Edition by William Stallings Lecturer: Dr. Saleem Al_Zoubi.
Client/Server Computing Model of computing in which very powerful personal computers (clients) are connected in a network with one or more server computers.
It’s always better live. MSDN Events Security Best Practices Part 2 of 2 Reducing Vulnerabilities using Visual Studio 2008.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
It’s always better live. MSDN Events Securing Web Applications Part 1 of 2 Understanding Threats and Attacks.
Information Networking Security and Assurance Lab National Chung Cheng University 1 Top Vulnerabilities in Web Applications (I) Unvalidated Input:  Information.
Web server security Dr Jim Briggs WEBP security1.
Handling Security Threats in Kentico CMS Karol Jarkovsky Sr. Solution Architect Kentico Software
Alter – Information Systems 4th ed. © 2002 Prentice Hall 1 E-Business Security.
Designing Security In Web Applications Andrew Tomkowiak 10/8/2013 UW-Platteville Software Engineering Department
Web Application Security
11 SECURING INTERNET MESSAGING Chapter 9. Chapter 9: SECURING INTERNET MESSAGING2 CHAPTER OBJECTIVES  Explain basic concepts of Internet messaging. 
Security.NET Chapter 1. How Do Attacks Occur? Stages of attack Examples of attacker actions 1. FootprintRuns a port scan on the firewall 2. PenetrationExploits.
Lecture 14 – Web Security SFDV3011 – Advanced Web Development 1.
Security Security is a measure of the system’s ability to protect data and information from unauthorized access while still providing access to people.
1-Vulnerabilities 2-Hackers 3-Categories of attacks 4-What a malicious hacker do? 5-Security mechanisms 6-HTTP Web Servers 7-Web applications attacks.
CSC 2720 Building Web Applications Web Application Security.
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 5 “Database and Cloud Security”.
Software Security Testing Vinay Srinivasan cell:
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
SEC835 Practical aspects of security implementation Part 1.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
Cryptography, Authentication and Digital Signatures
Chapter 10 Security and Encryption. Objectives Explain the nature of a threat model Be able to construct a threat model Be aware of common threats to.
Web Application Security ECE ECE Internetwork Security What is a Web Application? An application generally comprised of a collection of scripts.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
OWASP Top Ten #1 Unvalidated Input. Agenda What is the OWASP Top 10? Where can I find it? What is Unvalidated Input? What environments are effected? How.
Chapter 1 Overview The NIST Computer Security Handbook defines the term Computer Security as:
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
Week 10-11c Attacks and Malware III. Remote Control Facility distinguishes a bot from a worm distinguishes a bot from a worm worm propagates itself and.
APPLICATION PENETRATION TESTING Author: Herbert H. Thompson Presentation by: Nancy Cohen.
October 3, 2008IMI Security Symposium Application Security through a Hacker’s Eyes James Walden Northern Kentucky University
Building Secure Web Applications With ASP.Net MVC.
By Sean Rose and Erik Hazzard.  SQL Injection is a technique that exploits security weaknesses of the database layer of an application in order to gain.
Lecture slides prepared for “Computer Security: Principles and Practice”, 3/e, by William Stallings and Lawrie Brown, Chapter 1 “Overview”. © 2016 Pearson.
1 Network and E-commerce Security Nungky Awang Chandra Fasilkom Mercu Buana University.
Practical Threat Modeling for Software Architects & System Developers
Chap1: Is there a Security Problem in Computing?.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
OWASP Building Secure Web Applications And the OWASP top 10 vulnerabilities.
Module 2: Designing Network Security
Computer Security By Duncan Hall.
LESSON 5-2 Protecting Your Computer Lesson Contents Protecting Your Computer Best Practices for Securing Online and Network Transactions Measures for Securing.
Role Of Network IDS in Network Perimeter Defense.
Computers and Security by Calder Jones. What is Computer Security Computer Security is the protection of computing systems and the data that they store.
Database and Cloud Security
SE-1021 Software Engineering II
Web Application Protection Against Hackers and Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Design for Security Pepper.
World Wide Web policy.
Secure Software Confidentiality Integrity Data Security Authentication
A Security Review Process for Existing Software Applications
Lecture 2 - SQL Injection
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Copyright Gupta Consulting, LLC.
Module 4 System and Application Security
Presentation transcript:

Copyright © 2008, CIBER Norge AS 1 Web Application Security Nina Ingvaldsen 22 nd October 2008

Copyright © 2008, CIBER Norge AS 2 Agenda Defining security Vulnerabilities Threats Risk analysis Example Summary

Copyright © 2008, CIBER Norge AS 3 Defining security Authentication is the process of uniquely identifying the clients (both users and systems) of your applications and services. Confidentiality is the process of making sure that data remains private and confidential, and that it cannot be viewed by unauthorized users or eavesdroppers Integrity is the guarantee that data is protected from unauthorized modification. Availability refers to the ability to use the information or resource desired.

Copyright © 2008, CIBER Norge AS 4 Core terms Asset: An asset is a resource of value such as the data in a database, on the file system, or a system resource. Threat: A threat is a potential occurrence, malicious or otherwise, that may harm an asset. Vulnerability: A vulnerability is a weakness that make a threat possible. Attack: An attack is an action taken to harm an asset. Countermeasures: A countermeasure is a safeguard that addresses a threat and mitigates a risk.

Copyright © 2008, CIBER Norge AS 5 Vulnerabilities Unvalidated input Cross site scripting flaws (XSS) SQL Injections Buffer overflow Broken authentication and session management Broken access control Improper error handling Insecure storage

Copyright © 2008, CIBER Norge AS 6 Unvalidated input Attackers may exploit vulnerabilities to attack back end components through a web application. Attackers may tamper with the HTTP Request (URL, query strings, headers, cookies, form fields and hidden fields) to try to bypass the site's security mechanisms. Countermeasures Validating input (both user and system input) Client SERVERSERVER

Copyright © 2008, CIBER Norge AS 7 Cross site scripting flaws (XSS) Countermeasures Validating headers, cookies, query strings, form fields and hidden fields. Convert specific characters, in all generated output, to the appropriate HTML entity coding

Copyright © 2008, CIBER Norge AS 8 SQL Injections Countermeasures – Never pass detailed error messages to the client – Validate every possible meta character to subsystems – Convert specific characters, in all generated output, to the appropriate HTML entity coding Username: Marcus Password: Safari Query: SELECT * FROM Users WHERE username = 'Marcus’ AND password = 'Safari'. Username: ' or 1=1--. Query: SELECT * FROM Users WHERE username = " or 1=1– AND password=” User Attacker

Copyright © 2008, CIBER Norge AS 9 Buffer overflow Buffer overflow is a vulnerability that alter the flow of an application by overwriting parts of memory. It is a common software flaw that might result in an error condition. This error condition occurs when data written to memory exceed the allocated size of the buffer. Countermeasures Validation of input Use high level languages where buffer overflow is unlikely to occur

Copyright © 2008, CIBER Norge AS 10 Broken authentication and session management Authentication and session management includes all aspects of handling user authentication and managing active sessions. Solid authentication mechanisms may be undermined by flawed credential management functions, including forgot password feature, password change, account update, and other related functions. Countermeasures Design a robust and secure authentication and session management scheme that is consistently enforced Store password encrypted, and transfer data only via SSL Use POST rather than GET making requests over HTTP

Copyright © 2008, CIBER Norge AS 11 Broken access control Access control is how a web application grants access to content and functions to some users, and not others. These checks are performed after authentication, and govern what authorized users are allowed to do. Countermeasures Thoroughly plan the access control scheme Keep in mind the principal of least privilege Review logs to spot potential attempts to break the access control scheme Make users aware not to leave their computers unlocked when leaving their workstation

Copyright © 2008, CIBER Norge AS 12 Improper error handling When detailed internal error messages are displayed to the use it reveals implementation details that always should be kept secret from outsiders. The messages can give up important clues of potential flaws in the site. The attacker can, through improper error handling, gain detailed system information, deny services, cause security mechanisms to fail, or crash the server. Countermeasures Create a policy on how to handle errors; what information to give to the user and what to log

Copyright © 2008, CIBER Norge AS 13 Insecure storage Applications need to store sensitive information like passwords, credit card numbers, account records, or proprietary information, either in a database or on a file system somewhere. Encryption techniques are used to protect this information. Although encryption techniques has become more easier to implement and use, developers still make mistakes while integrating this techniques into applications. Countermeasures Store sensitive information encrypted. Use a public library that is well tested when in need of an encryption algorithm

Copyright © 2008, CIBER Norge AS 14 Threats Spoofing Tampering data Tap communication Repudiation Information disclosure Denial of Services (DoS)

Copyright © 2008, CIBER Norge AS 15 Spoofing Spoofing is an attempt to access a system by using a false identity. This can be performed in several ways, for example using stolen user credentials (phishing). Countermeasures Phishing: Making user aware of the threat

Copyright © 2008, CIBER Norge AS 16 Tampering data Tampering is unauthorized modification of data. It usually takes place when the data is flowing over a network between computers. When data is tampered with, it is compromised. Countermeasures Data hashing, data signing, digital signatures, strong authorization

Copyright © 2008, CIBER Norge AS 17 Tap communication Tapping of communication is unauthorized eavesdropping, or traffic analysis, of messages flowing over a network. When data is tapped, it looses integrity. Countermeasures Encryption

Copyright © 2008, CIBER Norge AS 18 Repudiation Repudiation is the user, legitimate or not, denying that he or she performed specific actions or transactions. Countermeasures Digital signatures Time stamps

Copyright © 2008, CIBER Norge AS 19 Information disclosure Information disclosure is unwanted exposure of private data. A user may, for instance, view the content of a table or file he or she isn't supposed to open, or monitor data passed in plain text over a network. Countermeasures Strong authorisation Strong encryption Secure communication links (SSL) Avoid storing secrets, i.e. passwords, in plan text Don’t let ”old” files be accessible through the Internet

Copyright © 2008, CIBER Norge AS 20 Denial of Service (DoS) A Denial of Service (DoS) attack is when an attacker attempts to stop legitimate users from accessing a service, or information. This is done by flooding the network with useless traffic, forge lock outs to user accounts, flood accounts, and so forth. Countermeasures Bandwith trotteling Install and maintain antivirus software and firewalls Keep address’ safe Make users enter secret personal information when ordering a new password Use time delays instead of locking of accounts if a user enters wrong password multiple times Use load balancing techniques to make a potential attack more difficult to perform

Copyright © 2008, CIBER Norge AS 21 Risk analysis D = Damage potential: How great is the damage if the vulnerability is exploited? R = Reproducibility: How easy is it to reproduce the attack? E = Exploitability: How easy is it to launch an attack? A = Affected users: As a rough percentage, how many users are affected? D = Discoverability: How easy is it to find the vulnerability? –Elements should be rated with a high (3)-, medium (2) or low (1) risk –Total score of equals high risk –Total score of 8-11 equals medium risk –Total score of 5-7 equals low risk

Copyright © 2008, CIBER Norge AS 22 Example, part I Threat/VulnerabilityDREADSumRisk Information disclosure High SQL-injections211228Medium JavaScript111137Low Cross-site scripting (XSS) Medium Manipulation of sessions122319Medium Brute-force High Denial of Service (DoS) High Elevation of privileges High Broken links111126Low Password autocomplete111227Low

Copyright © 2008, CIBER Norge AS 23 Example, part II Implemented countermeasures: Strengthen password regime Remove portlet’s not in use Make URL’s that reveals content about Web Services, JSP-files and other system files unavailable

Copyright © 2008, CIBER Norge AS 24 Example, part III Threat/VulnerabilityDREADSumRisk Information disclosure121116Low SQL-injections121217Low JavaScript111137Low Cross-site scripting (XSS)131117Low Manipulation of sessions111216Low Brute-force111317Low Denial of Service (DoS)111317Low Elevation of privileges112127Low Broken links111126Low Password autocomplete111227Low

Copyright © 2008, CIBER Norge AS 25 Summary Validate input Fail securely Keep it simple Use and reuse trusted components Defence in depth Secure the weakest link Practice the principal of least privilege Practice compartmentalization Limit cache usage Awareness  Focus on security throughout the entire development process.

Copyright © 2008, CIBER Norge AS 26 More information and tools Information (guidelines and lists of threats and vulnerabilities) (developing and distributing best practice and standards for secure web development) (list of tools) Tools for testing security Tamper data (Firefox)  A web application vulnerability assessment suite including proxy tools Paros  For evaluating security in a web application. All HTTP and HTTPS data between server and client, including cookies and form fields, can be intercepted and modified. WebScarab  A web application vulnerability assessment suite including proxy tools WebGoat  An interactive training and benchmarking tool that users can learn about web application security in a safe and legal environment Acunetix  A scanning tool for revealing vulnerabilities in applications

Copyright © 2008, CIBER Norge AS 27 Questions ?