INFS2052 lecture 4.3

Java Technology ctd. and

Other Active Content Technologies

References

Garfinkel and Spafford, Web Security and Commerce
chapter 3 Java and Javascript (security)

Denial of Service attacks

Java security is not proof against denial of service attacks.

Denial of service

means the excessive consumption of resources: screen, CPU, memory, processes, interrupt handlers, socket connections, etc.
by an offending process
to the exclusion of other (desirable) process's use of these limited computing resources.

Some use of resources is intended for any process.. how much is excessive?

A faulty or malicious applet can run away with resources doing apparently nothing or trivial things.

Denial of service possibility is serious in Java etc. because authors did not consider this form of attack: the JVM interpreter is not built to exclude it;

PC operating systems are not as independently robust as old batch or multi-user mainframe systems.

Solutions:

- will allow the user back into control.

Java security - summing up

security obtained by enbedding a security policy into the runtime environment in the elements:

No theoretical base for the security model:
not as secure as encryption systems with mathematical/computational complexity theory and years of open published literature examination as basis for belief in security

but may be strengthened in future with automated proof systems on applets
[ANU research]

Vulnerabilities

  • within Java technologies
  • outside J. technology: old methods still apply:
    spoofing etc, Trojan horses, viruses, email, user's own actions
  • Advantage of Java model is that greater level of simple security comes with the same effort (running in sandbox vs running in the open)

    No silver bullets:

    web-based systems must be openly accessable to many new opportunities of applications (change or wither away!) in information dissemination, computer mediated communications, distributed applications, electronic commerce...

    always opportunites to spam, skim, scam

    always a dynamic balance between social desires for privacy and open information, equal access rights.

    Other active content technologies - Javascript

    A product defined by Netscape

    not the same as Java

    Embeds script commands within HTML pages using javascript tag.

    Script is not compiled: human readable form is interpreted directly

    hence larger code size for equivalent function as Java bytecode.

    Well suited to simple Web page activity.

    More secure than Java:

  • no access to browser environment file system,
  • no ability to open connections to network.
  • Security holes: in first version (fixed in latest)

    therefore

    Denial of service - yes.

    Other active content technologies - ActiveX, tclets..

    Microsoft technology.

    downloadable executables - dynamic plug-ins - associated with Visual Basic controls, etc.

    may be written in target (client) native machine code - hence execute quickly once downloaded (no easy way to get security at browser end)
    - or may be written in Java, download as Java bytecode

    processor and system dependent (unlike Java and scripting languages)

    Security - certificate only - full privileges when executing native code (no sandbox model)

    tclets

    derived from tcl/tk scripting language - tk graphics toolkit controls

    require tcl-enabled browser - safe tcl

    basically similar to Javascript, more powerful
    (full tcl is equivalent to a shell command language in expressiveness and power)

    Data flow diagram - Web server and browser

    Data flow diagram - Web browser (simplified)


    Lecture Notes Index Lecture 18 Lecture 16

    Last modified: Tue Mar 30 11:32:43 EST 1999
    Queries to : infs2052@iwaki.anu.edu.au