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.

Slides:



Advertisements
Similar presentations
Chapter 17: WEB COMPONENTS
Advertisements

Creating Stronger, Safer, Web Facing Code JPL IT Security Mary Rivera June 17, 2011.
Topic 8: Secure communication in mobile devices. Choice of secure communication protocols, leveraging SSL for remote authentication and using HTTPS for.
By: Mr Hashem Alaidaros MIS 326 Lecture 6 Title: E-Business Security.
Cross Site Scripting a.k.a. XSS Szymon Siewior. Disclaimer Everything that will be shown, was created for strictly educational purposes. You may reuse.
1 Topic 1 – Lesson 3 Network Attacks Summary. 2 Questions ► Compare passive attacks and active attacks ► How do packet sniffers work? How to mitigate?
Hacking Presented By :KUMAR ANAND SINGH ,ETC/2008.
Security Issues and Challenges in Cloud Computing
Barracuda Web Application Firewall
19.1 Silberschatz, Galvin and Gagne ©2003 Operating System Concepts with Java Chapter 19: Security The Security Problem Authentication Program Threats.
Client/Server Computing Model of computing in which very powerful personal computers (clients) are connected in a network with one or more server computers.
8.1 © 2007 by Prentice Hall 8 Chapter Securing Information Systems.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
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.
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
Web server security Dr Jim Briggs WEBP security1.
 Proxy Servers are software that act as intermediaries between client and servers on the Internet.  They help users on private networks get information.
Lab 3 Cookie Stealing using XSS Kara James, Chelsea Collins, Trevor Norwood, David Johnson.
Designing Security In Web Applications Andrew Tomkowiak 10/8/2013 UW-Platteville Software Engineering Department
D ATABASE S ECURITY Proposed by Abdulrahman Aldekhelallah University of Scranton – CS521 Spring2015.
OV Copyright © 2011 Element K Content LLC. All rights reserved. System Security  Computer Security Basics  System Security Tools  Authentication.
E-business Security Dana Vasiloaica Institute of Technology Sligo 22 April 2006.
11 SECURING INTERNET MESSAGING Chapter 9. Chapter 9: SECURING INTERNET MESSAGING2 CHAPTER OBJECTIVES  Explain basic concepts of Internet messaging. 
ISOM MIS3150 Data and Info Mgmt Database Security Arijit Sengupta.
PART THREE E-commerce in Action Norton University E-commerce in Action.
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.
Principles of Computer Security: CompTIA Security + ® and Beyond, Third Edition © 2012 Principles of Computer Security: CompTIA Security+ ® and Beyond,
+ Websites Vulnerabilities. + Content Expand of The Internet Use of the Internet Examples Importance of the Internet How to find Security Vulnerabilities.
CSCI 6962: Server-side Design and Programming Secure Web Programming.
Lecture 14 – Web Security SFDV3011 – Advanced Web Development 1.
Copyright © 2008, CIBER Norge AS 1 Web Application Security Nina Ingvaldsen 22 nd October 2008.
Chapter 9 Web Applications. Web Applications are public and available to the entire world. Easy access to the application means also easy access for malicious.
Csci5233 Computer Security1 Bishop: Chapter 27 System 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.
Protecting Internet Communications: Encryption  Encryption: Process of transforming plain text or data into cipher text that cannot be read by anyone.
Security+ Guide to Network Security Fundamentals, Fourth Edition
Types of Electronic Infection
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
Network Security. 2 SECURITY REQUIREMENTS Privacy (Confidentiality) Data only be accessible by authorized parties Authenticity A host or service be able.
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 12 Databases, Controls, and Security.
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.
CIS 450 – Network Security Chapter 14 – Specific Exploits for UNIX.
Input Validation – common associated risks  ______________ user input controls SQL statements ultimately executed by a database server
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 19 Page 1 CS 236 Online Advanced Research Issues in Security: Web Security and Privacy CS 236 On-Line MS Program Networks and Systems Security.
Lecture 16 Page 1 CS 236 Online Web Security CS 236 On-Line MS Program Networks and Systems Security Peter Reiher.
1 Network and E-commerce Security Nungky Awang Chandra Fasilkom Mercu Buana University.
IT Security. What is Information Security? Information security describes efforts to protect computer and non computer equipment, facilities, data, and.
Security fundamentals Topic 8 Securing network applications.
Security fundamentals Topic 9 Securing internet messaging.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Module: Software Engineering of Web Applications Chapter 3 (Cont.): user-input-validation testing of web applications 1.
Web Application (In)security Note: Unless noted differently, all scanned figures were from the textbook, Stuttard & Pinto, 2011.
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.
Module: Software Engineering of Web Applications
Web Application Protection Against Hackers and Vulnerabilities
Web Application Vulnerabilities, Detection Mechanisms, and Defenses
Phishing is a form of social engineering that attempts to steal sensitive information.
CSE 154 Lecture 26: web security.
Security.
Web Security CS 136 Computer Security Peter Reiher March 11, 2010
WWW安全 國立暨南國際大學 資訊管理學系 陳彥錚.
Module 4 System and Application Security
CSc 337 Lecture 24: Security.
Presentation transcript:

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 applications and how to prevent attacks Explain the principles for developing a secure web application

Security Characteristics for Computer Systems Confidentiality: data and communication are private Integrity: data are free of tampering and damage Availability: an application can be used when it is needed Authentication: each party to a transaction can be reliably identified Authorization: each user is given only appropriate privileges Accountability: each user is bound to his/her actions (cannot repudiate them)

Threat Modeling – Definitions Threat: a potential misuse of an application (event) that will cause harm if it does occur Attack: an actual attempt to misuse an application Vulnerability: a flaw within an application that enables an attack to succeed

Building a Threat Model A complete threat model includes a list of threats, including for each: –Threat description –Attacker profile (skill, resources, motivation) –Means of attack –Likely damage if the attack succeeds

Threat Model Component Online Ticketing System Threat: Attacker gains root control of system Possible methods: Buffer overflow attack Objectives: Gain root authority, enabling attacker to run arbitrary commands Attacker (goal, experience, resources): Attacker is a professional criminal, seeking to gain financially from theft of tickets or to cause financial harm to company. Attacker may have access to a botnet, and information about recently discovered vulnerabilities. Likely harm: Attacker steals tickets, causing financial loss to the system, or attacker compromises the system, causing down-time and ultimate loss of business.

Common Attacks on Web Applications Buffer Overflow Cross-Site Scripting Denial of Service Insider Misuse Password Guessing Sniffing Spoofing SQL Injection

Buffer Overflow Buffer: a memory allocation intended to hold input or output Buffer overflow: input is too large; excess input overflows into subsequent memory If the overflow area contains instructions, the attacker can effectively take control of the application by rewriting critical parts

Protection against Buffer Overflow 1.Use safe languages (Java, C#, etc.) that do not allow buffer overflow (C++ is the WORST choice) 2.If the language allows overflows, check each buffer operation against size limits.

Cross-Site Scripting (XSS) The attacker embeds malicious HTML code in a public website The victim (another user) clicks on a link in that code, causing the victim's cookie to be sent to the attacker's website The attacker then uses the victims cookie to misuse the victim's open session –improper transaction, theft of information,etc.

Attacker's server Cross-Site Scripting Application Website (e-commerce, bank, etc.) attacker victim 1. embed malicious HTML 2a. click on malicious link 2b. send victim's cookie (as a result of clicking the link) 3. misuse victim's session

Protection Against XSS Any text posted by users (comments, reviews, etc.), must be filtered Only legal characters should be allowed; delimiters in particular should not be allowed All illigeal characters should be deleted or replaced by escape characters –for example, replace by < and >

Denial of Service The attacker bombards the victim's server with spurious internet traffic, so that it is unable to carry out normal operations bot Attacker's botnet Server IP Traffic legitimate user

Protection Against DOS Attack Use multiple internet portals, from different vendors Use a firewall to filter suspicious IP traffic

Insider Misuse Corporate insiders are the source of many attacks, including –theft –espionage –sabotage (revenge) Security mechanisms are often directed at external attackers only, leaving the door open to inside attacks

Protection Against Insider Misuse A so-called "demilitarized zone" protects the application with firewalls from both outside and inside attack Insiders are restricted to authorized and monitored access only

Password Guessing People often create passwords from familiar words, dates, names, etc. Password guessing uses combinations of these in repeated attempts to login Account-ids may be guessed also, or may be derived from scanning other sources (e.g., addresses)

Protection Against Password Guessing Insist on strong passwords –include digits, special symbols Delay response for a few seconds after a failed login, to slow down guessing Lock the user's account for a short period after repeated failed attempts –e.g., 1-hour lock after five consecutive failed attempts

Sniffing Internet traffic also passes through local networks, where it can be monitored Sensitive information that is transmitted in plain text (unencrypted) can be read by other parties on a local network or at an intermediate internet hub Internet Gateway Internet Workstation local area network

Protection against Sniffing Use HTTPS for any transactions containing sensitive information –login credentials –financial information –personal information –etc.

Spoofing The attacker creates a phony website that spoofs a real website (bank, etc.) Victims are tricked into logging in to the phony site The attacker uses stolen credentials to access victims' accounts With real-time spoofing, the attacker's website communicates with the spoofed website

Protection Against Spoofing Educate users never to click on ed hyperlinks, and to use their own bookmarks or a typed URL instead Use a challenge-response test to verify user identify –(doesn't help with real-time spoofing)

SQL Injection Attacker inserts SQL into an input field The application embeds the inserted syntax into its own SQL commands The attackers SQL is executed xyz Userid: Password: 1' OR 'x'='x String sqlCommand = "SELECT user FROM users" + "WHERE userid = ' " + userid_in + " AND password = ' " + password_in; Resulting SQL Command: SELECT user FROM users WHERE userid = 'xyz' AND password = '1' OR 'x' = 'x' Always TRUE!

Protection Against SQL Injection Filter input when received Allow only legal characters For example, boolean validPassword = if (! validPassword) { … reject login attempt … } Java regular expression defining legal password characters

Secure HTTP (HTTPS) HTTPS uses Transport Layer Security (TLS) to encrypt the contents of an HTTP transaction –TLS goes between HTTP and IP –TLS is similar to Secure Sockets Layer (SSL) HTTP TLS TCP IP

Transport Layer Security (TLS) TLS includes authentication through certificate exchange, and encryption using a negotiated secret key

HTTP Authentication The web server sets up security realms, and authenticates users when a realm is first accessed (within a session) Authentication is via a standard form:

HTTP Authentication HTTP Authentication uses no encryption, so it is not a substitute for HTTPS/TLS HTTP Authentication is OK for low-security needs, such as keeping random browsers or web crawlers out of a private area It is not acceptable for applications that require real privacy, however!

Principles for Secure Design 1.Develop a realistic threat model – know the potential attackers 2.Follow a reliable design pattern, such as MVC 3.Limit user capabilities to only what is needed (least privilege) 4.Require and enforce authorization (don't allow users to sneak past login pages!) 5.Require and enforce HTTPS access for secure resources

Review Threat Model Common Threats Principles for Secure Design