| By Eric Miraglia | Article Rating: |
|
| March 31, 2008 01:15 PM EDT | Reads: |
7,501 |
Douglas Crockford gave a keynote at the AJAXWorld East 2008 conference in New York City last week. As ever, Douglas was pulling no punches - his title: 'Can We Fix the Web?' The browser, Douglas says, was behind the times when it was introduced, and it hasn't aged well. It wasn't designed to do the kinds of things we're trying to make it do; we've exploited most of its potential and we're hitting a natural wall now that we've extracted from the browser about as much as is possible.The browser has serious problems:
- It’s insecure: Once an attacker gets a foothold on the page, it can read the page, load additional scripts, make additional requests of the server, and send information anywhere in the world. The browser fails to prevent any of these things.
- It suffers from the Turducken problem: Turducken, popularized by NFL analyst and Hall of Fame coach John Madden, is a turkey stuffed with a duck stuffed with a chicken. The Web is like this, with CSS stuffed in JavaScript stuffed in HTML. Text that’s safe in one context may not be safe in another.
- The web standards require that these vulnerabilities be present. Douglas identifies JavaScript, DOM and cookies as being standards that lead to vulnerability. JavaScript’s global object and intrinsic insecurity are a problem; the nature of the DOM node tree, where every node can access every other node and the network, is a problem; and the ambient authority system of cookies presents a problem.

Douglas Crockford Giving His AJAXWorld Keynote in NYC (Photo by Noah Sussner)
Reiterating an argument he’s made elsewhere, Douglas went on to argue that, while mashups are the most interesting development in software in 20 years, they are spectacularly insecure. Any time you have scripts from two sources on the same page, you have an insecure situation, and that is often a baseline assumption in the mashup world. (But, Douglas notes, it’s not limited to “traditional” mashups: advertising as implemented on the web is itself a mashup and is insecure.)
Douglas proposes a three-part approach to “fixing the web”:
- Subsets of JavaScript: It’s possible to create safe subsets of JavaScript by eliminating the parts of the language that are dangerous. There are a few subsetting approaches out there; Douglas’s own ADsafe is one and Caja (from Google) is another.
- Small browser improvements: Implementing solutions for cross-site data access (for mashups) — like JSONRequest — that can replace current techniques like the script tag hack and iframes.
- Massive browser improvements: Douglas suggests replacing JavaScript and the DOM and going from there — effectively building upon the ADsafe JavaScript subset using the tenets of object capability theory to create a secure toolkit for in-browser programming.
You can download Douglas’s slides here.
Published March 31, 2008 Reads 7,501
Copyright © 2008 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
- AJAXWorld Report: Inaugural iPhone Developer Summit in New York City
- AJAXWorld Report: GWT & Java EE – Where Are All of the Alligators?
- AJAXWorld Report: Cold Weather, Arctic Snowcruisers and a Shift in Perception
- AJAXWorld Report: Clearspring at AJAXWorld in New York
- AJAXWorld Report: Flex and Flash Are Starting to be Talked About a Lot More
- AJAXWorld Report: How To Integrate MyFaces Trinidad
More Stories By Eric Miraglia
Eric Miraglia, one of the world's leading experts on "advanced JavaScript utilities and widgets" works for Yahoo!'s Presentation Platform Team. He plays a critical role in helping product teams realize their forward-reaching development goals. He also teaches regular classes for Yahoo web developers. Eric has been involved in the creation of social web applications since 1995, when he began developing interactive writing spaces for universities; his Speakeasy Studio & Café was used by more than 100 universities between 1997 and 2004. Since 2003, he has been a part of Yahoo!'s web development community. When he's not trying to convince pixels to do what they're told, he can sometimes be found at Stanford University, where he teaches writing as a visiting lecturer. He holds a Ph.D. in the strange hybrid discipline of Technology and Rhetoric.
- Practical Approaches for Optimizing Website Performance
- SQL Anywhere Server and AJAX
- The Difference Between Web Hosting and Cloud Computing
- Ajax in RichFaces 3.3, JSF 2 and RichFaces 4
- Cloud Computing on Gartner's Top 10 List and SYS-CON Events' 2010 Calendar
- IBM Hardware Chief, Intel VC Exec Arrested in Insider Trading Scam
- US Post Office Hops a Ride on NetSuite’s Cloud
- Gang of Four Creates Cloud BI Stack
- Tactical Cloud Computing Panel at 1st Annual GovIT Expo
- Confessions of a Ulitzer Addict
- AJAX World RIA Conference & Expo Kicks Off in New York City
- An Introduction to Abbot
- What is Web 3.0?
- AJAXWorld RIA Conference & Expo 2009 West: Call for Papers
- Interviewing Java Developers With Tears in My Eyes
- Adobe Enters Cloud Computing with LiveCycle
- REA Is Where RIA Becomes the Norm
- RIAs for Web 3.0 Using the Microsoft Platform
- Practical Approaches for Optimizing Website Performance
- Social Media Terrorists
- Building a Drag-and-Drop Shopping Cart with AJAX
- What Is AJAX?
- Google Maps! AJAX-Style Web Development Using ASP.NET
- Flashback to January 2006: Exclusive SYS-CON.TV Interviews on "OpenAjax Alliance" Announcement
- AJAXWorld Conference & Expo to Take Place October 2-4, 2006, at the Santa Clara Convention Center, California
- AJAX Sponsor Webcasts Are Now Available at AJAXWorld Website
- How and Why AJAX, Not Java, Became the Favored Technology for Rich Internet Applications
- "Real-World AJAX" One-Day Seminar Arrives in Silicon Valley
- AJAXWorld University Announces AJAX Developer Bootcamp
- AJAX Support In JadeLiquid WebRenderer v3.1
































