Web Security Firewalls, Buffer overflows and proxy servers.

Slides:



Advertisements
Similar presentations
Buffer Overflows Nick Feamster CS 6262 Spring 2009 (credit to Vitaly S. from UT for slides)
Advertisements

Fred P. Baker CCIE, CCIP(security), CCSA, MCSE+I, MCSE(2000)
CSE331: Introduction to Networks and Security Lecture 30 Fall 2002.
Firewalls By Tahaei Fall What is a firewall? a choke point of control and monitoring interconnects networks with differing trust imposes restrictions.
Communications of the ACM (CACM), Vol. 32, No. 6, June 1989
CSc 352 Programming Hygiene Saumya Debray Dept. of Computer Science The University of Arizona, Tucson
IUT– Network Security Course 1 Network Security Firewalls.
FIREWALLS Chapter 11.
FIREWALLS. What is a Firewall? A firewall is hardware or software (or a combination of hardware and software) that monitors the transmission of packets.
FIREWALLS The function of a strong position is to make the forces holding it practically unassailable —On War, Carl Von Clausewitz On the day that you.
1 CHAPTER 8 BUFFER OVERFLOW. 2 Introduction One of the more advanced attack techniques is the buffer overflow attack Buffer Overflows occurs when software.
Computer Security Fundamentals by Chuck Easttom Chapter 4 Denial of Service Attacks.
Hacking Presented By :KUMAR ANAND SINGH ,ETC/2008.
Chapter 10: Data Centre and Network Security Proxies and Gateways * Firewalls * Virtual Private Network (VPN) * Security issues * * * * Objectives:
Stack-Based Buffer Overflows Attacker – Can take over a system remotely across a network. local malicious users – To elevate their privileges and gain.
Firewall Security Chapter 8. Perimeter Security Devices Network devices that form the core of perimeter security include –Routers –Proxy servers –Firewalls.
Firewalls Presented by: Sarah Castro Karen Correa Kelley Gates.
Beth Johnson April 27, What is a Firewall Firewall mechanisms are used to control internet access An organization places a firewall at each external.
Web server security Dr Jim Briggs WEBP security1.
Assessing the Threat How much money is lost due to cyber crimes? –Estimates range from $100 million to $100s billions –Why the discrepancy? Companies don’t.
Attack Profiles CS-480b Dick Steflik Attack Categories Denial-of-Service Exploitation Attacks Information Gathering Attacks Disinformation Attacks.
1 Lecture 20: Firewalls motivation ingredients –packet filters –application gateways –bastion hosts and DMZ example firewall design using firewalls – virtual.
RFC6520 defines SSL Heartbeats - What are they? 1. SSL Heartbeats are used to keep a connection alive without the need to constantly renegotiate the SSL.
CS252: Systems Programming Ninghui Li Final Exam Review.
Hafez Barghouthi. Model for Network Access Security (our concern) Patrick BoursAuthentication Course 2007/20082.
CS426Fall 2010/Lecture 361 Computer Security CS 426 Lecture 36 Perimeter Defense and Firewalls.
Chapter 20 Firewalls.
Why do we need Firewalls? Internet connectivity is a must for most people and organizations  especially for me But a convenient Internet connectivity.
Network Security Essentials Chapter 11 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
Internet Packet eXchange Protocol (IPX) Network Documentation
AIS, Passwords Should not be shared Should be changed by user Should be changed frequently and upon compromise (suspected unauthorized disclosure)
Security Exploiting Overflows. Introduction r See the following link for more info: operating-systems-and-applications-in-
January 2009Prof. Reuven Aviv: Firewalls1 Firewalls.
October 15, 2002Serguei A. Mokhov, 1 Intro to Internet-services from Security Standpoint SOEN321-Information-Systems Security Revision.
Buffer Overflows Lesson 14. Example of poor programming/errors Buffer Overflows result of poor programming practice use of functions such as gets and.
Software Security Testing Vinay Srinivasan cell:
CIS 450 – Network Security Chapter 3 – Information Gathering.
FIREWALLS Vivek Srinivasan. Contents Introduction Need for firewalls Different types of firewalls Conclusion.
CONTENTS  INTRODUCTION.  KEYWORDS  WHAT IS FIREWALL ?  WHY WE NEED FIREWALL ?  WHY NOT OTHER SECURITY MECHANISM ?  HOW FIREWALL WORKS ?  WHAT IT.
Internet and Intranet Fundamentals Class 9 Session A.
CIS 450 – Network Security Chapter 7 – Buffer Overflow Attacks.
1 Firewalls G53ACC Chris Greenhalgh. 2 Contents l Attacks l Principles l Simple filters l Full firewall l Books: Comer ch
Lecture 20 Hacking. Over the Internet Over LAN Locally Offline Theft Deception Modes of Hacker Attack.
Distributed Denial of Service Attacks Shankar Saxena Veer Vivek Kaushik.
CIS 450 – Network Security Chapter 14 – Specific Exploits for UNIX.
CIS 450 – Network Security Chapter 4 - Spoofing. Definition - To fool. In networking, the term is used to describe a variety of ways in which hardware.
Firewall Security.
Introduction to Honeypot, measurement, and vulnerability exploits
Network Security Part III: Security Appliances Firewalls.
A Tool for Pro-active Defense Against the Buffer Overrun Attack D. Bruschi, E. Rosti, R. Banfi Presented By: Warshavsky Alex.
4061 Session 26 (4/19). Today Network security Sockets: building a server.
Firewalls2 By using a firewall: We can disable a service by throwing out packets whose source or destination port is the port number for that service.
Information Security - 2. A Stack Frame. Pushed to stack on function CALL The return address is copied to the CPU Instruction Pointer when the function.
SYSTEM ADMINISTRATION Chapter 10 Public vs. Private Networks.
Regan Little. Definition Methods of Screening Types of Firewall Network-Level Firewalls Circuit-Level Firewalls Application-Level Firewalls Stateful Multi-Level.
Cryptography and Network Security
Unit 2 Personal Cyber Security and Social Engineering Part 2.
@Yuan Xue Worm Attack Yuan Xue Fall 2012.
Common System Exploits Tom Chothia Computer Security, Lecture 17.
Chapter 7. Identifying Assets and Activities to Be Protected
Computer Data Security & Privacy
Firewall – Survey Purpose of a Firewall Characteristic of a firewall
Introduction to Networking
Firewalls.
6.6 Firewalls Packet Filter (=filtering router)
* Essential Network Security Book Slides.
Firewalls Purpose of a Firewall Characteristic of a firewall
Software Security Lesson Introduction
Session 20 INST 346 Technologies, Infrastructure and Architecture
Implementing Firewalls
Presentation transcript:

Web Security Firewalls, Buffer overflows and proxy servers

system vulnerabilities Almost all vulnerabilities come from bugs in the implementation of, or misconfigurations of, the OS and/or apps Rarely, a problem with a protocol itself Vulnerabilities can lead to: Unauthorized access: attacker gains control of the victim’s machine (attacker can log in, read files, and/or make changes to the system) Denial of Service against host (attacker can crash the computer, disable services, etc.) Denial of Service against network (attack can disrupt routing, flood the network, etc.)

CSI/FBI Computer Crime and Security Survey

Statistics

buffer overflows on the stack func_1() { int a, b; func_2(); } a, b c, d func_2() { int c, d; func_3(); } func 1’s address buf func_3() { char buf[100]; read_user_input(buf); } func 2’s address

buffer overflows on the stack func_1() { int a, b; func_2(); } a, b c, d func_2() { int c, d; func_3(); } func 1’s address buf func_3() { char buf[100]; read_user_input(buf); } func 2’s address evil_assembly_code() buf’s address Attacker is supplying input to buf… so buf gets a very carefully constructed string containing assembly code, and overwriting func 2’s address with buf’s address. When func3 returns, it will branch to buf instead of func2.

Exploitations Stack Based Exploitations Overwrite local variable near buffer to change behavior of the program Overwrite return address in the stack frame Heap Based Exploitations Overwrite Heap arrays to change behavior of the application Overwrite malloc pointers who then overwrite a function pointer (Microsoft JPEG GDI+ vulnerability)

Protection against overflows Choice of programming language C and C++ provide no built-in protection, but STL has safe libraries Java,.NET bytecode environments do runtime checking (Safety vs perfdormance) Stack-smashing protection checks to make sure the stack hasn’t changed after a procedure call NX (no execute) permission setting on stack and heap (OpenBSD, Mac OSX) Address space layout randomization keeps hackers from designing overflow kits

firewalls Routers: easy to say “allow everything but…” Firewalls: easy to say “allow nothing but…” This helps because we turn off access to everything, then evaluate which services are mission-critical and have well-understood risks Note: the only difference between a router and a firewall is the design philosophy; do we prioritize security, or connectivity/performance? (configurability, logging)

Rest of the InternetLocal siteFirewall

Company netFirewall Web server Random external user Remote company user Internet Firewall

typical firewall setup DMZ evil Internet internal network

the firewall setup Firewall ensures that the internal network and the Internet can both talk to the DMZ, but usually not to each other The DMZ relays services at the application level, e.g. mail forwarding, web proxying The DMZ machines and firewall are centrally administered by people focused on security full-time (installing patches, etc.); it’s easier to secure 20 machines than 20,000 Now the internal network is “safe” (but not from internal attacks, modems, etc.)

Firewall Details Rules based on IP Source Address IP Destination Address Encapsulated Protocol TCP/UDP destination port TCP/UDP source port Eth Dest Eth Src Eth Hdr IP Dest IP Src IP Hdr TCP DPort TCP SPort TCP Hdr Data

External client External HTTP/TCP connection Proxy Firewall Internal HTTP/TCP connection Local server Proxy Firewall

Application Proxy Changes source address so that responses come to proxy from web server Proxy is more secure than internal nodes Performance degradation

Firewalls Compared to Proxies Pros Good Performance Easy to support new protocols Cons IP TCP/UDP headers cant be trusted Most attacks spoof IP TCP/UCP ports Must look at other application signatures