Application Security: Web service and E-Mail (April 11, 2011) © Abdou Illia – Spring 2011.

Slides:



Advertisements
Similar presentations
Chapter 17: WEB COMPONENTS
Advertisements

Application Security: General apps &Web service
1 Configuring Internet- related services (April 22, 2015) © Abdou Illia, Spring 2015.
How Clients and Servers Work Together. Objectives Web Server Protocols Examine how server and client software work Use FTP to transfer files Initiate.
1 Configuring Web services (Week 15, Monday 4/17/2006) © Abdou Illia, Spring 2006.
Chapter 2: Application Layer
The Internet Useful Definitions and Concepts About the Internet.
Layer 7- Application Layer
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
Application Security Chapter 8 Copyright Pearson Prentice Hall 2013.
Application Layer  We will learn about protocols by examining popular application-level protocols  HTTP  FTP  SMTP / POP3 / IMAP  Focus on client-server.
1 The World Wide Web. 2  Web Fundamentals  Pages are defined by the Hypertext Markup Language (HTML) and contain text, graphics, audio, video and software.
SHASHANK MASHETTY security. Introduction Electronic mail most commonly referred to as or e- mail. Electronic mail is one of the most commonly.
Chapter 9 Collecting Data with Forms. A form on a web page consists of form objects such as text boxes or radio buttons into which users type information.
11 SECURING INTERNET MESSAGING Chapter 9. Chapter 9: SECURING INTERNET MESSAGING2 CHAPTER OBJECTIVES  Explain basic concepts of Internet messaging. 
INTRODUCTION TO WEB DATABASE PROGRAMMING
Copyright © Texas Education Agency, All rights reserved.1 Web Technologies Web Administration.
Web Servers Web server software is a product that works with the operating system The server computer can run more than one software product such as .
1 Application Security: Electronic Commerce and Chapter 9 Copyright 2003 Prentice-Hall.
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
1 Web Server Concepts Dr. Awad Khalil Computer Science Department AUC.
Application Security: General apps &Web service (April 11, 2012) © Abdou Illia – Spring 2012.
Chapter 1: Introduction to Web
MCSE Guide to Microsoft Exchange Server 2003 Administration Chapter Four Configuring Outlook and Outlook Web Access.
Web application architecture
1 Application Security: Electronic Commerce and Chapter 9 Panko, Corporate Computer and Network Security Copyright 2004 Prentice-Hall.
5 Chapter Five Web Servers. 5 Chapter Objectives Learn about the Microsoft Personal Web Server Software Learn how to improve Web site performance Learn.
 2001 Prentice Hall, Inc. All rights reserved. 1 Chapter 21 - Web Servers (IIS, PWS and Apache) Outline 21.1 Introduction 21.2 HTTP Request Types 21.3.
3-Protecting Systems Dr. John P. Abraham Professor UTPA.
OSI and TCP/IP Models And Some Vulnerabilities AfNOG th May 2011 – 10 th June 2011 Tanzania By Marcus K. G. Adomey.
Chapter 1: The Internet and the WWW CIS 275—Web Application Development for Business I.
1 Internet Browsing Vulnerabilities and Security ECE4112 Final Lab Ye Yan Frank Park Scott Kim Neil Joshi.
Electronic Mail. Client Software and Mail Hosts –Client PC has client software that communicates with user’s mail host –Mail hosts deliver.
FTP Server and FTP Commands By Nanda Ganesan, Ph.D. © Nanda Ganesan, All Rights Reserved.
CSCE 201 Web Browser Security Fall CSCE Farkas2 Web Evolution Web Evolution Past: Human usage – HTTP – Static Web pages (HTML) Current: Human.
1 Application Security: Electronic Commerce and Chapter 9 Copyright 2003 Prentice-Hall.
Kingdom of Saudi Arabia Ministry of Higher Education Al-Imam Muhammad Ibn Saud Islamic University College of Computer and Information Sciences Chapter.
Application Layer Khondaker Abdullah-Al-Mamun Lecturer, CSE Instructor, CNAP AUST.
Application Services COM211 Communications and Networks CDA College Theodoros Christophides
Security Technology Clients and Mail Servers
1 Figure 9-6: Security Technology  Clients and Mail Servers (Figure 9-7) Mail server software: Sendmail on UNIX, Microsoft Exchange,
Application Security: (April 10, 2013) © Abdou Illia – Spring 2013.
TCP/IP (Transmission Control Protocol / Internet Protocol)
Saving State on the WWW. The Issue  Connections on the WWW are stateless  Every time a link is followed is like the first time to the server — it has.
1 WWW. 2 World Wide Web Major application protocol used on the Internet Simple interface Two concepts –Point –Click.
1 Figure 9-3: Webserver and E-Commerce Security Importance of Webservice and E-Commerce Security  Cost of disruptions  The cost of loss of reputation.
Review For Exam 3 © Abdou Illia – Spring The Elements of Cryptography.
Internet Applications (Cont’d) Basic Internet Applications – World Wide Web (WWW) Browser Architecture Static Documents Dynamic Documents Active Documents.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
ASP-2-1 SERVER AND CLIENT SIDE SCRITPING Colorado Technical University IT420 Tim Peterson.
1 Figure 9-3: Webserver and E-Commerce Security Browser Attacks  Take over a client via the browser Interesting information on the client Can use browser.
SSH. 2 SSH – Secure Shell SSH is a cryptographic protocol – Implemented in software originally for remote login applications – One most popular software.
VIRTUAL SERVERS Chapter 7. 2 OVERVIEW Exchange Server 2003 virtual servers Virtual servers in a clustering environment Creating additional virtual servers.
Chapter 11 Panko and Panko Business Data Networks and Security, 11 th Edition Copyright © 2016 Pearson Finally, Layer 5!
Web Server Administration Chapter 6 Configuring a Web Server.
Chapter 7: Using Network Clients The Complete Guide To Linux System Administration.
Application Security: Web service and
Tonga Institute of Higher Education IT 141: Information Systems
Instructor Materials Chapter 5 Providing Network Services
WWW and HTTP King Fahd University of Petroleum & Minerals
Networking CS 3470, Section 1 Sarah Diesburg
Topic 5: Communication and the Internet
Chapter 27 WWW and HTTP.
Application Security: General apps &Web service
Tonga Institute of Higher Education IT 141: Information Systems
Configuring Internet-related services
Networking CS 3470, Section 1 Sarah Diesburg
Tonga Institute of Higher Education IT 141: Information Systems
Chapter 7 Network Applications
Presentation transcript:

Application Security: Web service and (April 11, 2011) © Abdou Illia – Spring 2011

2 Learning Objectives Discuss general Application security Discuss Webservice/E-Commerce security Discuss security

3 General Applications Security Issues

4 RAM Applications Security Issues Few Operating Systems But Many Applications Because OS are harden, most attacks target applications installed on servers. Many applications run with administrative or super user (root) privileges Securing applications is challenging Buffer Overflow Attacks Most widespread vulnerabilities in application programs Buffers are RAM areas where data is stored temporarily If an attacker sends more data than the programmer had allocated to a buffer, a buffer might overflow, overwriting an adjacent section of RAM Buffer1Buffer2 Buffer7Buffer3Buffer4Buffer6Buffer5

5 Buffer Overflow The overflowsample function: Declares a buffer array capable of holding eight ASCII characters Places the buffer in an initialization loop The loop force-feeds 15 “x” into the buffer array through programming error Only 8 “x” could fit Nine “x” must spill over void overflowsample (void) { char buffer1[8]; int I; For (I = 0; I < 16; I++) { buffer1[I] = ‘x’; } } A function written in C When the program is run… What will be the value of buffer1[3]? _____, Buffer1[15]? _____ What would happen? a) The part of the function’s code designed to check the bounds of the array will prevent any error from happening. b) The program will generate an error and terminate.

6 Buffer Overflow Int main() { char name[8]; char etc_passwd[8]; char password[8]; // retrieve the user information printf (“Enter your name:”); gets (name); etc_passwd = get_password (name); printf (“Enter your password:”); gets (password); printf (“Your name and password entries were %s and %s.”, name, password); printf (“The password for %s In the /etc/shadow file Is %s”’ name, etc_passwd); // call procedure to check login authorization authenticate (password, etc_password); return 0; } void authenticate (char * string1, char string2) { char buffer1[8]; char buffer2[8]; strcpy (buffer1, string1); strcpy (buffer2, string2); if (strcmp (buffer1, buffer2) == 0 permit(); }

7 Buffer Overflow

8 Stack entry: data buffer & Return address registry Stack Entry and Buffer Overflow Return Address 1. Write Return Address 2. Add Data to Buffer Data Buffer 5. Start of Attacker data 3. Direction of Data Writing 4. Overwrite Return Address When a program must put one subprogram on hold to call another, it writes the return address in RAM areas called stack entries The called subprogram may add data to the buffer to the point it overwrites the return address If the added buffer data is Attack code, this will be a buffer overflow attack

9 Buffer Overflow Attack Occurs when ill-written programs allow data destined to a memory buffer to overwrite instructions in adjacent memory register that contains instructions. If the data contains malware, the malware could run and creates a DoS Example of input data: ABCDEF LET JOHN IN WITHOUT PASSWORD 9 BufferInstructions Print Run Program Accept input BufferInstructions ABCDEFLET JOHN IN WITHOUT PASSWORD Run Program Accept input

10 Preventing Buffer Overflow Use Language tools that provide automatic bounds checking such as Perl, Python, and Java instead lower level language (C, C++, Assembly, etc). However, this is usually not possible or practical because almost all modern OS are written in the C language. Eliminate The Use Of Flawed Library Functions like gets(), strcpy, and strcmp that fail to check the length or bounds of their arguments. Design And Build Security Within Code Use Source Code Scanning Tools. Example: PurifyPlus Software Suite can perform a dynamic analysis of Java, C, or C++ source code. // replace le following line Strcpy (buffer2, strng2); // by Strcpy (buffer2, string2, 8) For instance, this simple change informs strcpy() that it only has an eight byte destination buffer and that it must discontinue raw copy at eight bytes.

11 General Application Security Minimize number of applications Fewer applications on a computer, fewer attack opportunities Use security baselines for installation Security baselines improve security Add application layer authentication Important for sensitive applications Could be password-based Implement cryptographic systems

12 Web service security

13 Webservice Versus E-Commerce E-Commerce Software Subsidiary E-Commerce Software Component (DHTML, etc.) Custom Programs (in client-side scripting) Webserver Software (IIS, Apache, etc.) Webservice includes basic functionalities for Retrieval of static files Creation of dynamic webpages E-Commerce requires additional software for Online catalogs Shopping carts Connection to back-end database Connection to organizations for payments, etc.

14 Webservice Versus E-Commerce Web applications could be the target of many types of attacks like: Directory browsing Traversal attacks Web defacement Using HTTP proxy to manipulate interaction between client and server IIS IPP Buffer Overflow Browser attacks Time configuration

15 Web sites’ directory browsing Web server with Directory Browsing disabled User cannot get access to list of files in the directory by knowing or guessing directory names

16 Web site with directory browsing Web server with Directory Browsing enabled User can get access to the list of files in the directory by knowing or guessing directory names

17 Traversal Attack Normally, paths start at the WWW root directory Adding../ might take the attacker up a level, out of the WWW root box If attacker traverses to Command Prompt directory in Windows 2000 or NT, can execute any command with system privileges

18 Traversal Attacks (Cont.) Preventing traversal attacks Companies filter out / and \ using URL scanning software Attackers respond with hexadecimal and UNICODE representations for / and \ ASCII Character Chart with Decimal, Binary and Hexadecimal Conversions NameCharacterCodeDecimalBinaryHex Start of HeadingSOHCtrl A Space Exclamation Point!Shift Plus+Shift = B Period E Forward Slash// F Tilde~Shift’ E

19 Website defacement Taking over a web server and replacing normal web pages by hacker-produced pages Effect could last because ISP cache of popular web sites Example of recent website defacements ATTRITION Web Page Hack Mirror: Zone-H web site for most recent attacks: Check Onhold and Archive

20 Manipulating HTTP requests Attackers use proxies to manipulate communications between browsers and web servers Example using Webscarab

21 IIS IPP Buffer Overflow The Internet Printing Protocol (IPP) service included in IIS 5.0 and earlier versions is vulnerable to buffer overflow attacks The jill.c program was developed to launch the attack using: GET NULL.printer HTTP/1.0 Host: 420 byte jill.c code to launch the command shell IIS server responds launching the command shell (C:\WINNT\SYSTEM32\>) giving the attacker SYSTEM privileges.

22 IIS IPP Buffer Overflow (cont.) Link to jill.c code Code compilable using gcc jill.c –o jill on Linux Precompiled version (jill-win32.c) and executable (jill-win32.exe) available at ftp://ftp.technotronic.com/ newfiles/jill-win32.exe. This executable file is ready to run on a Windows machine.

23 IIS IPP Buffer Overflow (cont.) Source:

24 HTTP Requests GET By far the most common method used Requests data from specified host GET /index.html HTTP/1.1 Host: Example of request with GET method HTTP defines 8 methods (or "verbs") indicating the desired action to be performed on a resource GET HEAD POST PUT DELETE TRACE OPTIONS CONNECT

25 HTTP Requests HEAD Asks for response identical to a GET request without response body Useful for retrieving meta-information written in response headers without having to transport the entire content POST Submits data to be processed (e.g. from an HTML form) to a server The data is included in the body of the request PUT Uploads data to the server DELETE Delete specified file TRACE Echoes back the received request so that a client can see what intermediate servers are adding or changing in the request OPTIONS Returns HTTP methods supported by the server. This can be used to check the functionality of a web server.

26 Browser Attacks Malicious links User must click on them to execute (but not always) Common extensions are hidden by default in some operating systems.  attack.txt.exe seems to be attack.txt

27 Browser Attacks (Cont.) Common Attacks Redirection to unwanted webpage Scripts might change the registry, home page Some scripts might “trojanize” when your DNS error- handling routine when you mistype a URL Pop-up windows Web bugs; i.e. links that are nearly invisible, can be used to track users at a website Domain names that are common misspellings of popular domain names  Microsoff.com, (a porn site)

28

29 Protocols SMTP To Send SMTP To Send Sending Client Receiving Client Sender’s Mail Server Receiver’s Mail Server Simple Mail Transfer Protocol (SMTP) to transmit mail in real time to a user’s mail server or between mail servers Sender-initiated

30 protocols Sending Client Receiving Client Sender’s Mail Server Receiver’s Mail Server POP or IMAP To Receive POP or IMAP to download mail to receiver when the receiver capable of downloading mail. Receiver-initiated Internet Message Application Program (IMAP): More powerful, can manage messages on the receiver’s mail server, less widely used Post Office Protocol (POP): Simple, loosing grounds to IMAP

31 Standards Sending Client Receiving Client Sender’s Mail Server Receiver’s Mail Server Message RFC 822 or 2822 HTML body UNICODE Message Body Format Standard RFC 822 (English ASCII code) or 2822: for all-text bodies UNICODE: for all languages HTML body: for fancy text and graphics

32 Security Encryption Not widely used because of lack of clear standards IETF has not been able to settle upon a single standard because of in-fighting Three standards are used in corporations TLS S/MIME PGP

33 Security Encryption TLS only requires a digital certificate for servers S/MIME requires a PKI for digital certificates PGP uses trust among circles of friends: If A trusts B, and B trusts C, A may trust C’s list of public keys  Dangerous: Misplaced trust can spread bogus key/name pairs widely