Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.

Slides:



Advertisements
Similar presentations
What is code injection? Code injection is the exploitation of a computer bug that is caused by processing invalid data. Code injection can be used by.
Advertisements

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons Attribution-ShareAlike.
Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
Common Exploits Aaron Cure Cypress Data Defense. SQL Injection.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Cross Site Scripting a.k.a. XSS Szymon Siewior. Disclaimer Everything that will be shown, was created for strictly educational purposes. You may reuse.
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.
Input Validation For Free Text Fields Project Members: Hagar Offer &Ran Mor Academic Advisor: Dr Gera Weiss Technical Advisors: Raffi Lipkin & Nadav Attias.
Jonas Thomsen, Ph.d. student Computer Science University of Aarhus Best Practices and Techniques for Building Secure Microsoft.
Lecture 16 Page 1 CS 236 Online Cross-Site Scripting XSS Many sites allow users to upload information –Blogs, photo sharing, Facebook, etc. –Which gets.
Handling Security Threats in Kentico CMS Karol Jarkovsky Sr. Solution Architect Kentico Software
The OWASP Foundation Web App Access Control Design.
Varun Sharma Security Engineer | ACE Team | Microsoft Information Security
OWASP Zed Attack Proxy Project Lead
Cosc 4765 Server side Web security. Web security issues From Cenzic Vulnerability report
Prevent Cross-Site Scripting (XSS) attack
Lets Make our Web Applications Secure. Dipankar Sinha Project Manager Infrastructure and Hosting.
+ Websites Vulnerabilities. + Content Expand of The Internet Use of the Internet Examples Importance of the Internet How to find Security Vulnerabilities.
Jeff Zado Sr. Product Manager Development Tools Microsoft Canada Security Risks beyond the Network: Developing Secure Solutions.
WEB SECURITY WEEK 3 Computer Security Group University of Texas at Dallas.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Lecture 14 – Web Security SFDV3011 – Advanced Web Development 1.
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.
November 13, 2008 Ohio Information Security Forum Attack Surface of Web Applications James Walden Northern Kentucky University
Copyright 2007 © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
Attacking Applications: SQL Injection & Buffer Overflows.
Sofia, Bulgaria | 9-10 October Writing Secure Code for ASP.NET Stephen Forte CTO, Corzen Inc Microsoft Regional Director NY/NJ (USA) Stephen Forte CTO,
Security Scanners Mark Shtern. Popular attack targets Web – Web platform – Web application Windows OS Mac OS Linux OS Smartphone.
Top Five Web Application Vulnerabilities Vebjørn Moen Selmersenteret/NoWires.org Norsk Kryptoseminar Trondheim
© Copyright 2013 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice. 1 RubyJax Brent Morris/
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.
Effective Security in ASP.Net Applications Jatin Sharma: Summer 2005.
Securing Your ASP.NET Application Presented by: Rob Bagby Developer Evangelist Microsoft ( )
Accessing Your MySQL Database from the Web with PHP (Ch 11) 1.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflows can be triggered by inputs that are designed to execute code, or alter the way the program.
Web Applications Testing By Jamie Rougvie Supported by.
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.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Web Application Vulnerabilities ECE 4112 Internetwork Security, Spring 2005 Chris Kelly Chris Lewis April 28, 2005 ECE 4112 Internetwork Security, Spring.
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
PwC New Technologies New Risks. PricewaterhouseCoopers Technology and Security Evolution Mainframe Technology –Single host –Limited Trusted users Security.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation.
Presented By: Chandra Kollipara. Cross-Site Scripting: Cross-Site Scripting attacks are a type of injection problem, in which malicious scripts are injected.
COMP9321 Web Application Engineering Semester 2, 2015 Dr. Amin Beheshti Service Oriented Computing Group, CSE, UNSW Australia Week 9 1COMP9321, 15s2, Week.
Web Security Lesson Summary ●Overview of Web and security vulnerabilities ●Cross Site Scripting ●Cross Site Request Forgery ●SQL Injection.
Security Attacks CS 795. Buffer Overflow Problem Buffer overflow Analysis of Buffer Overflow Attacks.
Chapter 1 The Software Security Problem. Goals of this course Become aware of common pitfalls. Static Analysis and tools.
Module: Software Engineering of Web Applications Chapter 3 (Cont.): user-input-validation testing of web applications 1.
Example – SQL Injection MySQL & PHP code: // The next instruction prompts the user is to supply an ID $personID = getIDstringFromUser(); $sqlQuery = "SELECT.
Session 11: Cookies, Sessions ans Security iNET Academy Open Source Web Development.
Software Security. Bugs Most software has bugs Some bugs cause security vulnerabilities Incorrect processing of security related data Incorrect processing.
ASP.NET 2.0 Security Alex Mackman CM Group Ltd
By Collin Donaldson. Hacking is only legal under the following circumstances: 1.You hack (penetration test) a device/network you own. 2.You gain explicit,
Carrie Estes Collin Donaldson.  Zero day attacks  “zero day”  Web application attacks  Signing up for a class  Hardening the web server  Enhancing.
SlideSet #20: Input Validation and Cross-site Scripting Attacks (XSS) SY306 Web and Databases for Cyber Operations.
SQL Injection.
Group 18: Chris Hood Brett Poche
Web Application Security
Web Application Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
A Security Review Process for Existing Software Applications
Security mechanisms and vulnerabilities in .NET
Web Security Advanced Network Security Peter Reiher August, 2014
Lecture 2 - SQL Injection
Exploring DOM-Based Cross Site Attacks
Presentation transcript:

Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP Foundation OWASP OWASP Plan - Strawman Ashish Popli Aspiring OWASP Member Microsoft

OWASP 2 Web Application Security  Web Application Attacks  Common Countermeasures  How Microsoft-IT does Application Security?

OWASP What we will discuss today Attack Patterns  Injection Something  Cross Site Scripting  SQL Injection  File Canonicalization  Replay Something  One Click/CSRF/  Crypto Bugs  Overflow Something  Integer Overflow Countermeasures  Anti-XSS Library  Input Validation  ViewStateUserKey  Nonce  C# Checked Keyword 3

OWASP What is Cross-Site Scripting?  A technique that allows attackers to:  Appear to rewrite the text of your web site  Abuse the user’s trust in your website to…  Steal Web session information and cookies  Hijack client sessions  Potentially access the client computer

OWASP XSS Attack Patterns  XSS attacks can be classified in two categories:  Persistent Generally affects web-based applications (e.g., message forums) which persist user-supplied data for later display  Non-Persistent Generally affects web-based applications which echo data back to the client who supplied it

OWASP What is SQL Injection?  SQL injection is:  The process supplying carefully crafted input to alter (or create) SQL statements  Can be used by malicious users to compromise confidentiality, integrity or availability of your application:  Probe databases  Bypass authorization  Execute multiple SQL statements  Call built-in stored procedures

OWASP Defending Against SQL Injection  Abandon Dynamic SQL  Use stored procedures or SQL parameterized queries to access data  Can have SQL Injection in stored procedures  Sanitize all input  Consider all input harmful until proven otherwise – test for valid data and reject everything else  Run with least privilege  Never execute as “sa”  Restrict access to built-in stored procedures  Do not display errors directly from database.

OWASP What is One-Click Attack?  Site offers persistent sign-in option  Cookies or Windows Authentication  Victim user navigates to (or opens) an HTML page – perhaps a “once in a lifetime offer”  One or more actions are carried out using the trust of the victim user which is completely unsuspecting to that user

OWASP Defending Against One-Click Attack  Browser’s cross-frame security limits this to a “write- only” attack  Concept for defense: require a data element in the request which the attacker can’t supply  (Overkill) Re-authenticate the user  Can ask for confirmation  Check Referrer field  document.location or window.open() don’t post Referrer

OWASP Defending Against One-Click Attack (cont.)  Classic ASP  Generate a unique session ID once user authenticates, encrypt it and bind it to each response sent to user  In.Net 1.1 & 2.0 use ViewStateUserKey  Value assigned to it must be unique to the current user  This value is used as a factor in the ViewState MAC

OWASP Defending Against One-Click Attacks override protected void OnInit(EventArgs e) { //... ViewStateUserKey = User.Identity.Name; //... }

OWASP What are Canonicalization Issues  There is usually more than one way to name something  Alternate representations exist for:  File names  URLs  Devices (such as printers)  Malicious users may exploit code that makes decisions based on file names or URLs

OWASP Integer Overflow  Set of common integer arithmetic mistakes that can lead to  Overflow and underflow error  Signed versus unsigned errors  Truncation  Lead to buffer overflows and logic errors

OWASP ASP.NET C# checked keyword  placing all the calculations in a checked block to turn on overflow checking, then wrap the whole thing in a try block that catches OverflowException.

OWASP ASP.NET C# checked keyword overflow checking works for simple arithmetic operations (addition, subtraction, and multiplication) uint a = uint.MaxValue; uint c = checked(a * 2);

OWASP C# checked keyword  Don't use the unchecked/checked keywords unless an overflow condition is possible.  Use unchecked when you expect overflow but want to ignore it.  Use checked where it is a possible error condition which you want to catch.  Turn on overflow checking globally in debug builds to detect bugs.  Turn off overflow checking globally in release builds for efficiency.

OWASP Replay Attack User Vulnerable Application Attacker Request Attacker gets hold of a Valid Request Request

OWASP Security Development Life Cycle for IT High Level Approach -Identify Threats at Design Time -Build Threat Models -Perform Security Code Reviews at Develop Time -Manual and Power Assisted -Perform Deployment Reviews at Production Time -Manual and Power Assisted

OWASP Security Development Life Cycle for IT High Level Approach -Do not allow applications to go in production if -Threat Model has not been built -High Severity Bugs are not fixed -Facilitate Awareness -Provide Secure Application Development Training -Hold Application Teams Accountable -Reward for good results.

OWASP Security Development Life Cycle for IT What we have learnt -Nothing works without executive buy in -“Security is not a tax” -A parallel security process is a must -Developer Awareness goes a long way -Use tools cautiously -Do not rely exclusively on tools -Machines still cant think like humans