Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

25
Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003
  • date post

    21-Dec-2015
  • Category

    Documents

  • view

    222
  • download

    3

Transcript of Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Page 1: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Mobile Code and Worms

By

Mitun Sinha

Pandurang Kamat

04/16/2003

Page 2: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Mobile Code

And Mobile Code Security

Page 3: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Part I

What is mobile code?

Page 4: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

First, What Is Code?

Code is a series of commands, and (usually) contains no or little information.

Code can be executed, and running code most often requires some outside information (data) to work on.

Programs, applications, operating systems, games, calculators, media players, word processors and viruses are examples of code.

Resumes, pictures, videos, music, lists of numbers, and your ex-girlfriend’s social security number are examples of data.

And how is it different from data?

Page 5: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Today, we constantly download or make web pages, movies, music and pictures then send them to friends and family. Data has definitely been successfully mobilized.

If I download Half-life, install and play it on my computer, then FTP it to a friend so he can install and play it*, could we then say that Half-life counts as mobile code?

Enter the Internet

* Legal battle with Sierra sold seperately

Page 6: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Mobile code is…

a general term used to refer to processes (executable code) that migrate and execute at remote hosts

any code that is specifically designed to be able to transport itself from one machine to another

Page 7: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Mobile code is…

a general term used to refer to processes (executable code) that migrate and execute at remote hosts

any code that is specifically designed to be able to transport itself from one machine to another

Page 8: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Mobile code is…

able to transport itself

fairly autonomous

often platform-independent

code that is moved from one host to another with or without interaction with the user

Page 9: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Examples of mobile code

Java applets and Java scripts ActiveX controls Visual Basic macros and scripts Dynamic e-mail Viruses, trojan horses, worms The agents in The Matrix

Page 10: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Instead of moving large amounts of data around, move the computation to the data.

Add functionality anywhere anytime

Make distributed systems simpler, more flexible

Natural for network software

What is mobile code good for?

Page 11: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Every rose…

What is the problem with mobile code?

SECURITY

Page 12: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Part II

Mobile Code Security

Page 13: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

A Tale of Two Problems

Malicious Code Problem

Malicious Host Problem

Page 14: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Malicious Code Problem

Mobile code that arrives at your workstation and intentionally or unintentionally causes you harm

Four attack classes: – invasion of privacy– denial of service – antagonism– system modification

Page 15: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Example?

Antagonism– meant to annoy or show off– no real damage to files or system– display of unwanted graphics or text

System modification– deletion of data or system files– capturing hard drive space – for e.g.

to host shareware server

Page 16: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Example?

Invasion of privacy– read surfing history– read directory listings– steal files

Denial of service– re-aim browser– stealing CPU cycles– Web spoofing

Page 17: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Web Spoofing - example Steal control of user’s view of web and

simulate normal operation Classic man-in-the-middle attack

Page 18: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Mobile code is smart

A firewall attempts to “block” Java in HTML by scanning port 80 (HTTP port) for the <APPLET> tag

Javascript can dynamically construct the <APPLET> tag once past the firewall

Page 19: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Counter-measures

Page 20: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Java applets and Java scripts ActiveX controls Visual Basic macros and scripts Dynamic e-mail Viruses, trojan horses, worms The agents in The Matrix

Examples of mobile code

Page 21: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Microsoft’s security (Yeah right!) Internet site zones of trust ActiveX control signing and marking Macro signing Attachment warnings

Page 22: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

SUN’s JAVA 2 Security Identity

– Origin– Signature – not same as origin!

Policy – Set by user(!!) or system administrator (still

bad) Good ol’ Sandboxing Signatures use variation of X.509v3

Page 23: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Trusted third party that allows developers to digital sign their code

Consumers can feel safe in knowing that signed code is safe and has not been altered or tampered with – IF they trust the third party

Verisign Digital Signing

Page 24: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Verisign Digital Signing

Verisign works with:- Microsoft Authenticode and VBA- Netscape Object Signing- Sun Java signing

Techniques used include industry-standard cryptographic methods learnt in class – like RSA and PKI

Page 25: Mobile Code and Worms By Mitun Sinha Pandurang Kamat 04/16/2003.

Questions?