throbber
Proceedings
`
`1997
`Symposium on Network and
`Distributed System Security
`
`February 1 0 - 11 , 1997
`
`San Diego, California
`
`Sponsored by the
`The Internet Society
`
`In cooperation with the
`IEEE Computer Society
`
`IEEE Computer Society Press
`Los Alamitos, California
`
`Washington • Brussels • Tokyo
`
`J. ROBEI{T VAN PnT LIBRARY
`.CHJW T£CHNOLOSICAL DNIYtRSJn
`HOUGHTON, MICHIGAN
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`IEEE Computer Society Press
`10662 Los Vaqueros Circle
`P.O. Box 3014
`Los Alamitos, CA, 90720-1314
`
`Copyright © 1997 by The Institute of Electrical and Electronics Engineers, Inc.
`All rights reserved.
`
`Copyright and Reprint Pennissions:, Abstracting is permitted with credit to the source. Libraries may
`photocopy beyond the limits of US copyright law, for private use of patrons, those articles in this volume
`that cany a code at the bottom of the first page, provided that the per-copy fee indicated in the code is paid
`through the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923.
`
`Other copying, reprint, or republication requests should be addressed to:, IEEE Copyrights Manager, IEEE
`Service Center, 445 Hoes Lane, P.O. Box 1331, Piscataway, NJ 08855- 1331.
`
`The papers in this book comprise the proceedings of the meeting mentioned on the cover and title page. They
`reflect the authors' opinions and, in the interests of timely dissemination, are published as presented and
`without change. Their inclusion in this publication does not necessarily constitute. endorsement by the
`editors, the IEEE Computer Society Press, or the Institute of Electrical and Electronics Engineers, Inc.
`
`IEEE Computer Society Press Order Number PR07767
`Library of Congress Number 96-80101
`IEEE Order Plan Catalog Number 97TB 100100
`ISBN 0-8186-7767-8 (paper)
`ISBN 0-8 I 86-7769-4 (fiche)
`
`IEEE Computer Society Press
`Customer Service Center
`10662 Los Vaqueros Circle
`P.O. Box 3014
`Los Alamitos, CA 90720-13 14
`Tel:, +1-714-821-8380
`Fax:, +1-714-821-4641
`Email:, cs.books@computer.org
`
`Additional copies may be ordered from:
`
`IEEE Service Center
`445 Hoes Lane
`P.O. Box 1331
`Piscataway, NJ 08855-1331
`Tel:, +1-908-981- 1393
`Fax:, +1-908-981-9667
`
`IEEE Computer Society
`13, Avenue de I'Aquilon
`B-1200 Brussels
`BELGIUM
`Tel:, +32-2-770-2 198
`Fax: +32-2-77()..8505
`
`IEEE Computer Society
`Ooshima Building
`2-1-9-1 Minami-Aoyama
`Minato-ku, Tokyo 107
`JAPAN
`Tel:, +81-3-3408-31 18
`Fax: +81-3-3408-3553
`
`Editorial production by Regina Spencer Sipple
`Cover design by Lawrence Livennore National Laboratory Technical Publications Department
`Printed in the United States of America by KNI, Inc.
`
`•
`
`The Institute of Electrical and Electronics Engineers, Inc.
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`' 0
`
`•
`
`•' .. . ·'
`
`Proceedings of the 1997 Symposium on Network and Distributed System Security
`
`, 1,}
`
`Table of Contents
`
`General Chairs Message ........................................................................................................ vii
`Program Chairs' Message ...................................................................................................... viii
`Organizing Committee ............................................................................................................. ix
`Program Committee .................................................................................................................. x
`Privacy and Security Research Group ................................................................................. xi
`
`SESSION 1: THINGS THAT GO BUMP IN THE NET
`Chair: Stephen T. Kent- BBN Corporation
`Experimental Results of Covert Channel Limitation in
`One-Way Communication Systems .......................................................................................... 2
`N. Ogurtsou, H. Orman, R. Schroeppel,
`S. O'Malley, and 0 . Spatscheck
`Blocking Java Applets at the Firewall ...................................................... : ........................... 16
`D.M. Martin Jr., S . Rajagopalan,
`and A.D. Rubin
`Continuous Assessment of a Unix Configuration: Integrating Intrusion
`Detection and Configuration Analysis ................................................................................... 27
`A. Mounji and B . Le Charlier
`
`SESSION 2: PANEL- SECURITY OF DOWNLOADABLE EXECUTABLE
`CONTENT .............................................................................................................. 38
`Chair: Aviel D. Rubin - Bellcore
`
`SESSION 3: PROTOCOL IMPLEMENTATION AND ANALYSIS
`Chair: Christoph Schuba -Purdue University
`An Interface Specification Language for Automatically Analyzing
`Cryptographic Protocols ......................................................................................................... 40
`S.H. Brackin
`Probable Plaintext Cryptanalysis of the IP Security Protocols ............................................ 52
`S.M. Bellovin
`Misplaced Trust: Kerberos 4 Session Keys ............................................................................ 60
`B. Dole, S. Lodin, and E . Spafford
`
`SESSION 4: PANEL- SECURITY OF THE INTERNET
`INFRASTRUCTURE ........................................................................................... 72
`Chair: Russ Mundy - Trusted Information Systems
`
`v
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`SESSION 5: ROUTING SECURITY
`Chair: Hfuu:ie Orman-DARPAIITO
`Securing the Nimrod Routing Architecture .......................................................................... 7 4
`K.E. Sirois and S . T . Kent
`Securing Distance-Vector Routing Protocols ......................................................................... 85
`B.R. Smith, S . Murthy, and J .J . Garcia-Luna-Aceves
`Reducing the Cost of Security in Link-State Routing ........................................................... 93
`R. Hauser, T. Przygknda, and G. Tsudik
`
`SESSION 6: PANEL- SECURITY FOR THE WORLD WIDE WEB
`Chair: Win Treese - OpenMarket, Inc.
`Securing Web Access with DCE ........................................................................................... 102
`B.C. Schimpf
`PANEL: Security and the World Wide Web ....................................................................... 109
`Chair: Win Treese- OpenMarket, Inc.
`
`SESSION 7: PUBUC KEY MANAGEMENT
`Chair: Jonathan Trostle - CyberSafe
`Hierarchical Organization of Certification Authorities
`for Secure Environrnents ...................................................................................................... 112
`L. L6pez and J . Carracedo
`Trust Models in ICE-TEL ..................................................................................................... 122
`A Young, N.K. Cicovic, and D. Chadwick
`Distributed Authentication in Kerberos Using
`Public Key Cryptography ..................................................................................................... 134
`MA Sirbu and J.C.-I. Chuang
`
`SESSION 8: PANEL-WEB PRIVACY ANDANONYMITY ................................... 144
`Chair: B . Clifford Ne wnan- USC Information S cknces Institute
`
`Author Index ........................................................................................................................... 145
`
`vi
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`(cid:3) (cid:55)(cid:75)(cid:76)(cid:86)(cid:3)(cid:80)(cid:68)(cid:87)(cid:72)(cid:85)(cid:76)(cid:68)(cid:79)(cid:3)(cid:80)(cid:68)(cid:92)(cid:3)(cid:69)(cid:72)(cid:3)(cid:83)(cid:85)(cid:82)(cid:87)(cid:72)(cid:70)(cid:87)(cid:72)(cid:71)(cid:3)(cid:69)(cid:92)(cid:3)(cid:38)(cid:82)(cid:83)(cid:92)(cid:85)(cid:76)(cid:74)(cid:75)(cid:87)(cid:3)(cid:79)(cid:68)(cid:90)(cid:3)(cid:11)(cid:55)(cid:76)(cid:87)(cid:79)(cid:72)(cid:3)(cid:20)(cid:26)(cid:3)(cid:56)(cid:17)(cid:54)(cid:17)(cid:3)(cid:38)(cid:82)(cid:71)(cid:72)(cid:12)(cid:3)
`
`Blocking Java Applets at the.Firewall
`
`David M. Martin Jr.1
`Department of Computer Science
`Boston University
`111 Cununington Street
`Boston, MA 02215
`dm@cs.bu.edu
`
`Sivaramakrishnan Rajagopalan
`Bellcore
`445 South St.
`Morristown, NJ 07960
`sraj@bellcore.com
`
`Aviel D. Rubin
`Bellcore
`445 South St.
`Morristown, NJ 07960
`rubin@bellcore.com
`
`Abstract
`
`This paper explores the problem of protecting a site on
`the Internet against hostile external Java applets while al(cid:173)
`lowing trusted internal applets to run. With careful imple(cid:173)
`mentcuion, a site can be made resistant to current Java se(cid:173)
`curity weaknesses as well as those yet to be discovered. In
`addition, we describe a new attack on certain sophisticated
`firewalls that is most effectively realized as a Java applet.
`
`1. Introduction
`
`Java is hot stuff. The hype that has surrounded Java and
`Java-enabled browsers such as Netscape mirrors the hype
`associated with the Internet and the World Wide Web. It is
`inevitable that this trend will not only continue, but that the
`acceptance and use of Java will grow. In spite of the many
`security concerns about using Java within browsers [8, 11),
`the momentum that has resulted from the convenience and
`functionality of downloadable executables has taken the In(cid:173)
`ternet by storm.
`Flaws in the design and implementation of Java-enabled
`browsers have repeatedly been discovered. Some of these
`exploit weaknesses in the type checking of Java, while oth(cid:173)
`ers exploit system-level bugs. These vulnerabilities can al(cid:173)
`low Java applets to erase files, leak sensitive information,
`aJIId corrupt a user's environment. At the very least, mali- ·
`cious applets can cause great inconvenience.
`Dimly aware of the dangers, most users are nonetheless
`unwilling to disable Java in their browsers, and an "It won't
`
`1 This worir. was performed while lhe author was a summer student at
`Bell core.
`
`happen to me" attitude prevails. One contribution of this
`paper is the description of an attack that allows an invading
`Java applet to convince certain firewalls to open arbitrary
`TCP holes to the applet' s host. A variant of this attack even
`allows the attacker to use a firewall's proxying software-(cid:173)
`intended to protected the site from intruders-as a spring(cid:173)
`board for further attacks on the internal network. Either
`way, by simply visiting a Web page or reading email in a
`Java-enabled browser, users can· unknowingly provide their
`attacker a route through the protecting firewall.
`While Java presents security concerns to users who
`download applets from the Internet. it is nonetheless very
`useful as a programming language. Java applets are being
`developed and deployed for internal use in corporate and
`other networks at a rapid pace [ 14). There are many reasons
`why people want to run Java within their protected network.
`Java is platform independent, so multi-platform demos can
`be built with relative ease. The object-oriented features of
`Java and the inheritance mechanism it provides make it an
`easy and convenient programming language, and the many
`available class libraries make things like network program(cid:173)
`ming much easier than before.
`A site wishing to protect itself from hostile Java applets
`has few options. If users are required to disable Java in
`their Web browsers, then that site is missing out on all of
`the benefits of a new and useful programming language, or
`at least those features that make it convenient to run within
`a browser. Also, there is little to stop a user from indepen(cid:173)
`dently obtaining a Java-enabled browser from the Internet
`and running it. Cutting the site off from the Internet entirely
`would probably not sit well with most users.
`In this paper, we discuss a compromise. We describe var(cid:173)
`ious techniques to block Java applets at a site's firewall so
`
`0-8186-7767-8/96 $10.00 © 1997 IEEE
`
`16
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`that internal applications can run Java in their browsers, but
`untrusted applets from the outside cannot penetrate. 1bese
`techniques are already partially available in the public do(cid:173)
`main (7), and commercial firewall developers are rapidly
`releasing products that offer the techniques in various com(cid:173)
`binations.
`Section 2 contains a review of basic firewall concepts.
`Section 3 describes an applet attack on certain firewalls. In
`Section 4, an applet's path from server to host is described,
`and Section 5 evaluates three common methods for blocking
`Java applets at the firewall. Section 6 briefly describes the
`authors' experimental implementation of a Java-blocking
`firewall.
`
`2. Firewall Design
`
`A firewall is an intentional bottleneck between two net(cid:173)
`works designed to prohibit certain types of internetwork
`communication such as login attempts and network file sys(cid:173)
`tem access (6, 5, I, 3, 10, 15, 16, 20]. The firewall hard(cid:173)
`ware typically consists of one or more computers, routers,
`ln this paper, we envision
`or special-purpose machines.
`a firewall protecting a corporate network as a single dual(cid:173)
`homed host, i.e., a computer with two network interfaces
`able to examine ttaffic attempting to cross from one inter(cid:173)
`face to another in order to decide whether to permit the traf(cid:173)
`fic ftow. The particulars of the firewall's network connectiv(cid:173)
`ity, such as screened host versus screened subnet architec(cid:173)
`ture (5], precise location of the decision-making host, etc.,
`are not crucial to the line of reasoning we wish to pursue, so
`we leave these details unspecified. We assume that one of
`the firewall' s two network interfaces connects to the trusted
`but vulnerable local network, and the other connects to the
`external and untrusted Internet. Since one of the networks
`is the Internet, we restrict our attention to data in the form
`of IP packets.
`Computers behind the firewall are the local hosts that the
`firewall protects, and computers outside the firewall are the
`renwte hosts, which we assume to be potential attackers.
`TCP connections across the firewall that originate from the
`Internet are called inbound connections, and those that orig(cid:173)
`inate behind the firewall are called outbound connections; in
`each case, TCP permits full-duplex communications.
`When designing a firewall, the essential decision to be
`made is what level of granularity to use when regulating
`the traffic flow. The granularity choice has a significant im(cid:173)
`pact on equipment costs, operating costs, throughput, and
`security. Fine-grained, lightweight designs operate at the IP
`packet level and are called padcet filters. Coarser-grained,
`heavyweight designs usually operate at the TCPIUDP level
`and are called gateways or application proxies. We discuss
`both approaches in the following sections.
`
`2.1. Packet Filters
`
`A packet filtering firewall examines each JP packet inde(cid:173)
`pendently, and by examining the JP source, JP destination,
`and other fields, decides whether to forward the packet o r
`not. Ordinary packet filters make this decision by match(cid:173)
`ing the packet against a static set of simple rules. For in(cid:173)
`stance, one rule could prevent NFS packets from crossing
`the firewall in either direction, and another rule could block
`and log the initial packets of inbound TCP telnet port con(cid:173)
`nections, where "initial" means that ACK=O in the packet's
`TCP options field. The latter rule allows local hosts to telnet
`to Internet hosts, but prevents Internet hosts from telnetting
`into the local hosts. By blocking only the initial packets
`of a TCP session, such a packet filter implicitly relies on
`the local hosts to safely discard remaining packets when the
`initial packet doesn' t arrive. This in turn relies on the as(cid:173)
`sumption that all local hosts are trustworthy.
`More sophisticated packet filters allow the administrator
`to specify complex rules based on previous packet contents,
`time elapsed, and other parameters; these are sometimes
`called dynamic packet filters.
`F'trewalls consisting primarily of packet filters are used
`at many sites. However, packet filters cannot easily enforce
`policies such as "only users in group X may telnet from the
`Internet to local hosts." The problem is that a user's mem(cid:173)
`bership in group X is a property that bas to be described
`in a relatively high-level protocol. Because JP packets may
`be arbitrarily fragmented and reordered and packet filters
`do not retain (much) state between packets, another solu(cid:173)
`tion is required if the policy is to be enforced at the firewall.
`Indeed, many useful protocols such as FTP, Xll, and talk
`are difficult although not impossible to provide in a secure
`fashion using a packet filter alone.
`
`2.2. Application Proxies
`
`Application proxies can be thought of as man-in-the(cid:173)
`middle session forwarders. In this firewall scheme, a router
`or simple packet filter is configured to forward all rele(cid:173)
`vant packets to a secured proxy host. For each protocol to
`be supported across the firewall, a user-mode program lis(cid:173)
`tens at the appropriate TCP port1 on the proxy host. Such
`prognuns.-the individual proxies-implicitly use the proxy
`host's kernel to reassemble IP packets into TCP streams.
`Not only are these streams considerably easier to parse and
`forward than raw JP, but unwelcome packets will rarely
`make it deeper into the local network than the proxy host.
`1be effect is to isolate the local network from the Internet
`in a very strong way.
`For example, the "only group X may telnet" policy above
`is easily implemented using an application proxy: the proxy
`
`1 Or UDP pon. For our purposes, we COIICelllnlle on the TCP case.
`
`17
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`immediately presents an authentication challenge to users
`attempting inbound tel net from the Internet. Once authenti(cid:173)
`cated, the proxy opens a telnet connection to the local host
`and binds the two connections. The remote user seems to
`have a direct connection to the desired equipment, but all of
`the data actually ftows through the proxy host. In this mode,
`the proxy acts as a tunnel through the firewall.
`
`3. A New Attack
`
`We have discovered a new attack against certain firewalls
`that is most appropriately realized as a Java applet. The suc(cid:173)
`cess of the attack depends on the firewall' s ability to parse
`and react to an FTP control session in a particular way so
`that local hosts can use FTP to obtain files from the Internet.
`In addition, we assume that the firewall is transparent, i.e.,
`it intercepts and forwards the TCP streams opened by the
`browser without the browser' s knowledge or cooperation.
`Both transparent packet-filtering and proxying firewalls are
`at risk, at least in principle. Ironically, transparent firewalls
`tend to be the most sophisticated ones.
`We strongly recommend that firewall administrators re(cid:173)
`quest updates from their vendors. While this attack by it(cid:173)
`self may or may not concern firewall administrators, it is
`certainly a good indication of the security risks of allow(cid:173)
`ing local hosts to execute a program chosen by an adver(cid:173)
`sary, even under the severe functionality restrictions im(cid:173)
`posed upon Java applets.
`
`3.1. ITP and PORT
`
`To explain the attack, we first review how FTP ordinarily
`works [17]. A local user connects to a remote FrP server
`(port 21) and is authenticated, say as the "anonymous" user.
`To retrieve the file 1 file. txt, the user's FTP client first
`chooses an arbitrary TCP port where it will wait for the
`file to arrive. The client then sends a PORT command to
`the server announcing this choice, and only then issues the
`command to fetch the file. The server responds by actively
`opening an inbound TCP connection to the specified port on
`the client and transmitting the file on this connection. See
`Figure 1 for a transcript of a sample session.
`If the client's network is protected by a simple packet
`filter, the standard FTP transfer scenario will fail when the
`server attempts to open the agreed-upon port of the client.
`To a packet filter, this seems like an unsolicited probe of the
`client. However, a firewall susceptible to our attack con(cid:173)
`tains special code that watches for precisely such a PORT
`command. In response, the firewall creates a window of
`opportunity for the remote host to open the named port on·
`the client. If the remote host establishes this inbound con(cid:173)
`nection, it can stay open an arbitrarily long time in order to
`transfer the file.
`
`220 mrr96 FTP server (SunOS 4.1) r eady.
`USER anonymous
`331 Guest login ok, send ident as password.
`PASS ftp
`230 Gue.st login ok, access restrictions apply .
`PORT 172,16,1 , 1 , 19 , 233
`200 . PO_RT command s uc.cessful .
`RETR l file.txt
`150 ASCII data connection for lfile.txt
`(172,16,1,1,5097) (1 07 bytes) .
`226 ASCII Transfer complete.
`QUIT
`221 Goodbye.
`
`Figure 1. A sample FTP session. Lines be(cid:173)
`ginning with numbers are server responses.
`The contents of 1 file . txt arrive on port
`5097 = 19 * 256 + 233, not on the control port
`shown here.
`
`3.2. Taking Advantage
`
`But the firewall has no way of knowing that it was a legit(cid:173)
`imate FTP client that generated the PORT command. Sup(cid:173)
`pose that a malicious insider opens an FTP connection to a
`remote accomplice and announces that it intends to receive
`a transmission on port 23-the telnet port. The firewall will
`dutifully open a hole allowing the remote host to access the
`client's telnet port. The client·, in response to the inbound
`te1net connection, will issue a login prompt as always, giv(cid:173)
`ing the accomplice an opportunity to attempt a login in spite
`of the firewall. We have verified that this attack works in
`some environments. Of course, it does amount to an insider
`attack.
`
`3.3. A Java Realization of the Attack
`
`However, the attack can also be realized as a Java applet.
`Java provides an almost imperceptible means to get attack(cid:173)
`ing code running on the client-;-a user need only stumble
`onto the wrong Web page or read email or news in a Java(cid:173)
`enabled browser-and from that point, the firewall treats
`that code as a trusted entity. That is, permitting the unre(cid:173)
`stricted transfer of Java applets totally automates the in(cid:173)
`sider's role in this attack: The user controlling the browser
`need never even know that the attack took place.
`When a victim obtains and invokes our applet from an
`attacking machine, the applet issues an appropriate PORT
`command and instructs a server running on the attacking
`machine to attempt a telnet session to the victim's machine.
`See Figures 2 and 3. The applet is written in perfectly legal
`Java, and the server is a simple Perl script. Our applet can
`
`18
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`I
`
`f'O.Jt7 172,1 •• 1.1.0,~)
`
`_joo
`
`<@>
`<e>
`
`~
`
`<@>
`<e> ---
`
`I
`..... -
`I ~
`
`login-I
`
`I.OCII~172.1S.1.1
`
`Ar-lo< local-
`
`I.Oealr.l tn.t&.1.1
`
`Fnw.lfrot ~noM~
`
`Figure 2. First step.
`Java's security(cid:173)
`Manager prevents the attacking applet from
`accessing the local telnet port directly. The
`applet Instead sends the PORT command to
`an FTP control port on the accomplice server.
`The firewall pennlts the outbound connec(cid:173)
`tion.
`
`Figure 3. Second step. Having noticed the
`PORT command, the firewall gives the remote
`host an opportunity to open the named port(cid:173)
`the telnet port (23)- supposedly for a file
`transfer. The local host reacts to the open by
`Issuing the accomplice a telnet login prompt.
`The firewall was supposed to prevent this.
`
`bypass susceptible firewalls to penetrate any TCP port on
`the client.
`
`3.5. PartiaJ Solutions
`
`3.4. Discussion of the Attack
`
`This attack has been independently discovered by other
`researchers [2, 8] and was alluded to in section 5. 1 of [8].
`Indeed, the fundamental weakness being exploited in the
`attack-FTP's use of inbound TCP connections for receiv(cid:173)
`ing tiles--has long been recognized as a special problem for
`tirewalls [6, 5, 3].
`Before the advent of portable executable formats, every
`process running inside the firewall was seen to be authen(cid:173)
`ticated (albeit weakly) as an insider, so permitting unre(cid:173)
`stricted outbound FfP didn't conflict with the security pol(cid:173)
`icy stating "that which is not explicitly permitted is for(cid:173)
`bidden." The PORT command crossing the firewall could
`be taken as proof that the insider initiated the transfer, and
`so the inbound TCP connection delive.ring the tile was as(cid:173)
`sumed to be associated with the permitted outbound FTP
`session. However, now that Java-enabled Web browsers in(cid:173)
`vite adversaries to determine the insider's actions, such an
`assumption is no longer valid. If users can run applets ob(cid:173)
`tained from outside the firewall, then the firewall must treat
`unauthenticated insiders as adversaries. This changes the
`firewall 's role in the security la.ndscape dramatically. It is
`particularly interesting to note that even under the assump(cid:173)
`tion that the Java and firewall systems are each indepen(cid:173)
`dently secure, they do not compose to produce a secure sys(cid:173)
`tem.
`
`Sites that require strong authentication (e.g., a challenge(cid:173)
`response sequence) of users attempting outbound FTP are
`not susceptible to this attack, since an applet will not be able
`to authenticate itself as the user. While strong authentica(cid:173)
`tion is often required for inbound FTP connections, some
`designers reason that since inside users are already authen(cid:173)
`ticated, no separate authentication should be required for
`outbound connections. See [I) for an example of a high(cid:173)
`security environment in which this reasoning was used.
`(Note that this paper predates Java-enabled browsers.)
`Currently susceptible firewalls can be strengthened by
`modifying them to ignore PORT commands that announce
`transfers to any "well-known" ports [18] (including ports
`less than 1024, the so-called "privileged ports"), at the risk
`of colliding with FI'P sessions that innocently happen to
`choose one of these ports for a tile transfer. lf an innocent
`collision occurs, a subsequent attempt will probably suc(cid:173)
`ceed; only a tiny fraction of the port space is well-known.
`Of course the firewall must be also made aware of any sen(cid:173)
`sitive local applications listening on non-well-known ports.
`Another method of decreasing vulnerability is to allow
`only passive mode FTP across the packet filter [ 17, 3). The
`passive mode transfer scenario works almost like the stan·
`dard mode, except that the server chooses a port number to
`listen on, and the client actively opens that port. (TCP con(cid:173)
`nections are always full-duplex, so it makes little difference
`which end opens the connection.) In this way, the firewall
`sees the client opening an outbound connection and permits
`
`19
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`it; no fancy PORT command interpretation is required. In
`particular, our Java applet then sends its malicious PORT
`command in vain, for the firewall ignores it. Unfortunately,
`some FrP servers do not properly implement passive mode,
`and so this is not always an option. In this case, the network
`administrator could establish an FrP proxy that understands
`passive mode, use a packet filter to forbid all FTP packets
`across the firewall unless one of the hosts is the proxy host,
`and disable any special reaction to PORT commands. The
`proxy would then be able to access FTP servers that do not
`understand passive mode on the clients' behalf. If the FrP
`proxy is not transparent, then the FrP clients on the local
`hosts will have to be modified (or the users retrained to use
`the existing clients in a different way) so that communica(cid:173)
`tion with the proxy is possible.
`
`3.6. Variants of the Attack
`
`Bellovin [2] points out that the attack may even be pos(cid:173)
`sible without the use of Java. If a browser can be coaxed
`into sending an HTI'P request containing a properly format(cid:173)
`ted PORT command to a server's FTP port, for instance by
`uploading a multipart form to http: I /evil. com: 21/,
`then the firewall will open the corresponding TCP bole.
`Netscape will not honor a URL indiciating an "unnatu(cid:173)
`ral" low-numbered port (such as HTfP over port 21), so
`Netscape cannot be used to carry out the attack. However,
`this approach should work with other Web browsers.
`Our attack relies on the assumption that the firewall
`is "transparent", i.e., it intercepts and forwards the TCP
`streams opened by the browser without the browser's
`knowledge or cooperation. At other firewalled sites, users
`are instead required to explicitly configure their browsers
`to use a forwarding proxy, and. packet filters forbid com(cid:173)
`munications across the firewall except for those addressed
`to or from the proxy host. The browser can therefore only
`reac h the outside network by connecting to the proxy. Sup(cid:173)
`pose that the firewall at site xxx . com is designed in this
`manner and has its proxy listening on proxy. xxx . com
`at port 1200. When instructed to fetch a URL of the form
`http: I I evil. com/path, the browser instead opens a
`TCP connection to proxy. xxx. com: 12 00 and issues
`the request GET http: I /evil.com/path HTTP/
`1. 0. (The string HTTP 11. 0 identifies the protocol in use.)
`The proxy then forwards the request to evil. com andre(cid:173)
`turns the result to the browser.
`If a browser uses a proxy to fetch an applet from
`http://evil.com/PokeHole.class, it then in(cid:173)
`forms the Java Securi tyManager that the applet "came
`from" evi 1 . com, even though the browser actuaily ob(cid:173)
`tained it directly from proxy. xxx. corn. That is, the
`browser trusts that the proxy did what it was supposed to
`do. See (4] for details on proxying in HTfP/1.0.
`
`Our attack fails wben explicit proxying is used, because
`the Securi tyManager prevents the applet from open(cid:173)
`ing a TCP connection to any host other than evil. com,
`but the site's packet filter prevents the browser from directly
`connecting to that host Therefore, the FTP connection for
`the malicious PORT command can never be constructed.
`· (There is no SecurityManager equivalent restricting
`TCP connections in Bellovin's suggested attack above, so
`it will probably still succeed under explicit proxying.)
`Another pernicious attack is possible in an explicit
`proxying environment. Our assumptions are that an at(cid:173)
`tacker knows or can find out the HTfP proxy host
`and port, say proxy. xxx. com: 12 00 as above, that
`the victim's browser is configured to use this proxy,
`and that the proxy's configuration does not prohibit in(cid:173)
`bound HTfP requests from the proxy itself.
`Sup(cid:173)
`pose the browser is instructed to load an applet from
`the bizarre URL http: I /proxy .xxx.com: 1200/
`http://evil.com/PokeHole .class.Then:
`
`1. The browser opens a TCP connection to its configured
`proxy host proxy. xxx . corn: ~200 and issues the
`request GET http: I /proxy .xxx. corn: 1200/
`http://evil .corn/PokeHole.class HTTP/
`1. 0.
`
`2. The proxy, in response to the TCP open and GET
`command from step 1, opens a TCP connection to
`proxy. xxx. com: 12 00 (the host and port specified
`in the GET command) and requests the resource named
`http: I /evil.com/PokeHole. class. That is,
`it writes GET http: I /evil . corn/PokeHole.
`class HTTP I 1. 0 onto the new TCP connection.
`
`3. The proxy, in response to the TCP open and GET from
`step 2, opens a TCP connection to evi 1 . com and
`requests the resource named PokeHole. class by
`writingGE~ /PokeHole.class HTTP/1.0.
`
`4. The host evil. corn complies and returns the applet
`class file, which then ripples back through the two
`chained proxy sessions to the browser.
`
`5. The browser, examining the original URL requested,
`informs the Java Secur i tyManager that the applet
`"came from" the host proxy. xxx. com, and starts
`the applet.
`
`Therefore the applet actually supplied by evil. corn
`seems to have come from proxy. xxx . com, and so it is
`(only) able to open TCP connections to the host proxy.
`xxx. corn. But the proxy host is designed to forward TCP
`streams, so the applet can repeat the proxy self-reference
`trick to access arbitrary hosts supposedly protected by the
`firewall. We have verified that this attack works in some
`
`20
`
`BLUE COAT SYSTEMS - Exhibit 1025
`
`

`
`proxying environments: our applet, delivered by evil.
`com, can bounce off the proxy host to access any host
`reachable from the proxy.
`Although this "arbitrary" access to hosts is limited to the
`protocols supported by the proxy, the proxy's implement

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket