How about some real-world, application specific exploits? SSL VPN is hardly a 'novelty' or 'recent' technology. I implemented my first SSL VPN in '99 at a large financial, and it is still in production, and secure So, please show me an example of an actual compromise and I'll listen. Otherwise, put up, or shut up! -Erik
On 6/8/06, Michal Zalewski < lcamtuf@xxxxxxxxxxxx > wrote: > "Web VPN" or "SSL VPN" is a term used to denote methods for accessing > company's internal applications with a bare WWW browser, with the use of > browser-based SSO authentication and SSL tunneling. As opposed to IPSec, > no additional software or configuration is required, and hence, corporate > users can use pretty much any computer they can put their hands on. > [ Yes, this is a very bad idea, but often also a perceived business > necessity. To counter the risk, some SSL VPN solutions may perform > client-side security checks with the aid of an applet or control "not > marked as safe". This is, of course, a silly and bypassable design, > and has a side effect of teaching the user to click "yes" on > scripting safety prompts. But I digress... ] > > [ These solutions are sold, among others, by Juniper, Nortel, Nokia, > Cisco. The following observations are based on Cisco Web VPN (and your > mileage with this and other vendors may vary). > > In their most basic operating mode, SSL VPN systems simply act as a HTTPS > authentication and authorization proxy that relies on session cookies, and > a URI-based request rewriting and forwarding engine. Such a configuration > enables the user to access any HTTP or HTTPS based Intranet applications; > web-based clients for some other protocols are also sometimes included. > > [ With the help of various controls and applets again "not marked as > safe", SSL VPNs can also forward local TCP ports through that tunnel, > if unsupported network protocols need to be used. ] > > A good example: let's say there's an user who wishes to access his > corporate Outlook Web Access interface from a remote location. The usual > URL for the intranet service is: > > http://owa/exchange/lcamtuf/inbox > > To access it over the Internet, that fellow needs to navigate to > https://webvpn.foocorp.com/, enter his credentials, collect a session > cookie, and then go to (or be redirected to) something along the lines of: > > https://webvpn.foocorp.com/http/0/owa/exchange/lcamtuf/inbox > > ...which, if the cookie validates, would be translated to the original URL > and allowed to go through, with SSL VPN acting as a proxy. > > Commercial SSL VPNs are a fairly recent technology that has a considerable > appeal to various corporations. Because of its novelty, however, in a > typical setup it may be subject to several serious security flaws, unless > very carefully designed. > > Possibly the most important problem is that web VPNs break the customary > browser security model that relies on domain name separation for the > purpose of restricting access to cookies and other objects. Browsers > generally allow " foo.com" to interact with own cookies or windows, but > prevent the site from accessing resources related to "bar.com". Yet > through SSL VPN, they all may look the same: > > https://webvpn.foocorp.com/http/0/foo.com/serious_work > https://webvpn.foocorp.com/http/0/bar.com/fun_and_games > > Because of this design, all pages displayed through a Web VPN interface > are lumped together. Whenever a page (or just a HTML fragment) that can be > controlled by the attacker is displayed by *any* of the applications > behind Web VPN, Javascript can access: > > - Web VPN session cookie, which can be then passed to the attacker. > This is equivalent to the attacker obtaining access to all protected > systems and compromising Web VPN altogether. The threat could be > mitigated by associating the cookie with client's IP, but such an > approach is not always implemented, and is impractical with AOL and > the likes. > > - Application cookies set by other applications. If passed to the > browser (as some SSL VPNs do), these cookies are separated by the use > of "path" parameter alone, which does not necessarily establish a > browser security domain boundary. This is equivalent to the attacker > obtaining user credentials to these applications. > > Some commonly used corporate applications may indeed serve > attacker-supplied contents, making these attacks virtually inherent to > most SSL VPN deployments: > > - Various web mail systems, such as Outlook Web Access (OWA), > may serve HTML attachments and other documents received from the > Internet without providing an adequate browser warning. Although > this is a security challenge by itself for all web mail interfaces > (where there is a risk of stealing web mail session coookie), > the access to all SSL VPN cookies make the impact far more serious. > > - Trivial cross-site scripting flaws in *any* available intranet > application may compromise the entire SSL VPN. Because these > applications are usually complex, aplenty, and all under-audited, > existence of such bugs is pretty much a certainty. > > - Trivial cross-site scripting bug in SSL VPNs themselves may endanger > the entire system. Impossible? Cisco SSL VPN has this: > https://<vpnhost>/webvpn/dnserror.html?domain=<u>foo</u> > (and yes, they seem to be aware of this, but have no specific > timeline for fixing it - so I suppose it's OK to report it; > hi Larry Seltzer). > > [ The possibility of allowing Internet access through Web VPN is > something I wouldn't even consider here. ] > > Additional problems may arise when SSL VPN gateway IP is added to "trusted > zone" for the purpose of making certain intranet applications work the way > they worked locally at the office. > > Yes, these problems are hardly new, and can be mitigated with some very > careful design, and some vendors may be doing it properly - but I think > that the following needs to be said: > > - SSL VPNs may easily turn negligible and common security issues such as > XSS into a considerable corporation-wide threat; and preventing this > is hard. > > - Most SSL VPNs may be "secure by design" only in fairly unrealistic > situations or limited uses. > > - Unless the vendor takes the effort to precisely and honestly explain > how they mitigate these specific threats, it is safe to assume they > might be not doing it properly (or not doing it at all). > > Since these issues are generally not seriously discussed by vendors in > assessments of their products (say, > http://www.cisco.com/web/about/security/intelligence/05_08_SSL-VPN-Security.html), > I would assume that extreme caution needs to be exercised. > > > Flame on. > > Regards, > /mz >