Lecture 15 - Web Security: CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger
Lecture 15 - Web Security: CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger
CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger
www.cse.psu.edu/~tjaeger/cse497b-s07/
CSE497b Introduction to Computer and Network Security - Spring 2007 - Professor Jaeger
Web Server
Entry point for clients
To a variety of services Customized for clients (e.g., via cookies) Supported by complex backend applications (e.g., databases)
Target of attackers
Common protocol Supports a wide range of inputs Complex software interactions Running with high privilege
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger
Page
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger
Page
Network
Legacy Application
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger
Server-side Scripting
Program placed directly in content, run at during request time and output returned in content
MS active server pages (ASP) PHP mod_perl server-side JavaScript python, ....
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger
Page
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger
Page
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger
Page
Some examples
Disable all unnecessary ISAPI lters [services]
Delete DLLs [libraries] associated with disabled lters
Website must never be on the system drive Only necessary services -- only SMTP Remove NTFS write permissions where possible Obscurity
Don!t use obvious names for script and code directories Set default website to extreme security
Vulnerable interfaces
Defense: prevent various code injections: buffer overows
Privilege
Attackers want this code to do as much as possible
Defense: minimize its privilege
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger
Page
Note: often used not just for DOS prevention, but for protecting free services (email accounts)
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger Page
Puzzle design
Must be hard to solve Easy to Verify
Canonical Example
Puzzle: given x-bits of input r and h(r), where h is a cryptographic hash function Solution: Invert h(r) Q: Assume you are given 108 bits of input for 128-bit hash input, how hard would it be to solve the puzzle?
CSE497b Introduction to Computer (and Network) Security - Spring 2007 - Professor Jaeger Page
Take Away
The complexity of web server (and web client) systems makes ensuring their security complex
A single interface (HTTP) enhances function Lots of services can be accessed which makes attack surface large The variety of inputs via this interface makes detecting malicious input very difcult Privileges available to injected code can be sufcient to take over system