client side vulnerabilities

27
Client Side Vulnerabilities Aka, The Perils of HTTP Lesson 14

Upload: ceana

Post on 10-Feb-2016

28 views

Category:

Documents


0 download

DESCRIPTION

Lesson 14. Client Side Vulnerabilities. Aka, The Perils of HTTP. Overview. Executable Content Client/Server Computing Maintaining State. Executable Content. Sometimes called active content or mobile code ActiveX controls and Java Applets http://www.hamsterdance.com/ - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Client Side Vulnerabilities

Client Side VulnerabilitiesAka, The Perils of HTTP

Lesson 14

Page 2: Client Side Vulnerabilities

Overview

•Executable Content

•Client/Server Computing

•Maintaining State

Page 3: Client Side Vulnerabilities

Executable Content

• Sometimes called active content or mobile code• ActiveX controls and Java Applets

http://www.hamsterdance.com/• Scripts: Java Script and VBScript• Browser plug-ins that execute graphic and

audio files• All these “enrich” your web browsing

experience

Page 4: Client Side Vulnerabilities

Client/Server Computing

Executable Contents:• Help achieve wide-scale info

distribution• Advances client/server computing• Exploits “push” technology through

filtered sites– Relevant data pushed at pre-defined time

intervals

Page 5: Client Side Vulnerabilities

Client/Server Computing

• Allows ability to implement intelligent pull models– WEB client programmed to learn

user preferences

Page 6: Client Side Vulnerabilities

WHAT IS ACTIVE X

• MS Framework that allows programs encapsulated in units called controls to be embedded in Web pages.

• Web browsers that support ActiveX allow Active X controls (programs) to download and execute on their machines.

• These programs can do whatever you program them to do....even execute damaging code.

• ActiveX is language independent, but platform specific• They can only execute on Windows 32 machines

Page 7: Client Side Vulnerabilities

ActiveX CONTAINERS

• ActiveX Container: a technology used in many ActiveX applications

• ActiveX controls embedded within an ActiveX Container

• Provides sophisticated processing functions that work much like browser plug-ins

• Since Containers are designed independently they can work inconsistently (maliciously) when combined

Page 8: Client Side Vulnerabilities

ActiveX SCRIPTING

Common Languages: Perl, VBScript, JavaScript, JScript (MS)

• Scripting can come from within ActiveX Controls

• Scripting can come from Web server--commands sent to client for execution

• Developer decides to mark Scripting as safe

• Client decides whether to accept scripting or reject

Page 9: Client Side Vulnerabilities

AUTHENTICODE

• MS Technology for thwarting malicious ActiveX code from executing on Windows platforms

• Provides two checks:– Verifies who signs the ActiveX code– Verifies integrity of ActiveX code

• Digital signatures issued by several Certification Authorities (CAs) provide the functionality

• Execution of this functionality is much like PKI– Upon download signature is stripped from ActiveX code and

verified as from a valid CA– Then it is checked to see if software developer signed the code– Finally the downloaded code's hash is checked against the

regenerated hash to verify integrity

Page 10: Client Side Vulnerabilities

AUTHENTICODE SECURITY

• Signature provides no assurance that code will work properly

• Technology works solely on a trust model • Since advent of IE 4 the concept of security

zones emerged– Local intranet zone– Trusted sites zone– Internet zone– Restricted sites zone

• User control (or lack there) of setting security policy can be debilitating

Page 11: Client Side Vulnerabilities

JAVA CHARACTERISTICS

• Multi-platform (MS, Mac, UNIX) language quickly finding acceptance

• Java applets on client machines add new layers of functionality

• Originally designed to run in embedded systems

• Are you ready for the talking refrigerator?

Page 12: Client Side Vulnerabilities

JAVA SECURITY APPROACH

• Java Sandbox is the Java Security Model• Java Applet Sandbox constrains applets

from accessing frangible resources• Thus, Java Applet Sandbox model is

based on restricting the behavior of the applet

• Signed applets now also being used• Signed applets allow the applets to "play"

outside the sandbox

Page 13: Client Side Vulnerabilities

JAVA SECURITY APPROACH

• Java Sandbox is the Java Security Model• Java Applet Sandbox constrains applets

from accessing frangible resources• Thus, Java Applet Sandbox model is

based on restricting the behavior of the applet

• Signed applets now also being used• Signed applets allow the applets to "play"

outside the sandbox

Page 14: Client Side Vulnerabilities

Maintaining State

• HTTP is a stateless protocol• WEB sessions are considered

connectionlessCLIENT SERVER

TCP DATA FLOW

Page 15: Client Side Vulnerabilities

Stateless Example

Student SERVERTCP 3-Way Handshake

SSL Connection Established

HTTP Request for Web Page

WEB PAGE SENT

END CONNECTIONREPEAT FOR EMBEDDED FILES

Page 16: Client Side Vulnerabilities

State Example(1)

Student SERVERTCP 3-Way Handshake

SSL Connection Established

HTTP Request for Web Page

END CONNECTION

WEB PAGE SENT + COOKIE

Page 17: Client Side Vulnerabilities

State Example (2)

Student SERVERTCP 3-Way Handshake

SSL Connection Established

HTTP Request for Web Page

END CONNECTION

GET COOKIE + SEND WEB PAGE

Page 18: Client Side Vulnerabilities

Cookies for Life

Pros:•Add state•Increases Throughput•Can Add Authentication

Page 19: Client Side Vulnerabilities

Cookies for Life

Cons:• Privacy issues

– Collecting WEB usage data– Profiling WEB Visitors

• Security– Improper state tracking results in security

holes– Cookie Hijacking (if client hacked)

Page 20: Client Side Vulnerabilities

HTTP Session Tracking

•URL Session Tracking

•Hidden Form Elements

•Cookies

Page 21: Client Side Vulnerabilities

HTTP Authentication

• Logon sequence generates session ID– Pass ID to browser

• URL Session Tracking– ID Passed in URL itself

• Hidden Form Elements– Within HTML Source Code

• Cookies• Session ID can be passed over HTTP or HTTPS

Page 22: Client Side Vulnerabilities

Authentication Examples

• URL Session Tracking http://www.rbfcu.org/checking_balance.asp?ID=101460

• Hidden Form Elements< input Type=“hidden” Name= “Session”

Value=“101460”>

• Cookies EAZBKRBFCU101460

Page 23: Client Side Vulnerabilities

OTHER CLIENT SIDE VULNERABILITIES

• Browser Plug-ins– Plug-in: special software programs that are

integrated with Web Browsers– Examples: RealAudio, Shockwave

• E-Mail Attachments– The primary threat vector for viruses and

installing hacker backdoors

Page 24: Client Side Vulnerabilities

Other Client Side Vulnerabilities

• Browser Flaws– Allow viewing of local files– Allow posting of files to your browser– Allow moving of files

• Using HTTP as mechanism to circumvent Firewall

Page 25: Client Side Vulnerabilities

E-Commerce Attack Scenario

• Use IIS Unicode Exploit– Put remote listener on WEB site– Listen on Port 80– Send all Port 80 to Dr. Evil’s site– Logins and Passwords Captured– Sniffed password later used with HTTP proxy

software to access your E-BANK

Page 26: Client Side Vulnerabilities

E-Commerce Attack Scenario

• Man-in-the middle attack– Dr. Evil injects himself in between you

and the site– Installs HTTP Proxy Software to see

what is being transferred on port 80– Breaks tranmission path and inserts

his own commands

Page 27: Client Side Vulnerabilities

Summary

Picture 23 year old Geek HackerRecent Advertising Quote:

“ Today my worm will destroy:18 days of revenue

1.7 million dollars of profit4,000 lifetimes of greed.”

FEEL FREE TO GO HOME AND GET ON-LINE?