Check out the new USENIX Web site. next up previous
Next: Related Work Up: Modular Approach Previous: Browser Display Daemon

Browser Interpreter Daemon

  The final part of our web browser is the set of interpreter daemons. These processes have dual functionality; they interpret HTML along with any possible active content embedded in the web page, and they execute the helper applications that handle incoming objects such as Perl, Postscript, etc.

Objects that are normally handled by helper applications are also assigned sub-user id's by the log-in daemon, the same way as ordinary web pages. When they are interpreted they are bound to the permissions of that sub-user id. This way users don't need to be queried about every arbitrary object they down-load of the net and also don't have to worry about executing possibly malicious code on their machine.

When the interpreter daemon encounters active code embedded in a web page (by encountering an <APPLET> or <SCRIPT> tag) it spawns a process to interpret the Java, JavaScript [1], or Perl code. The new process inherits the permissions of the parent process so the active code can never escape it's sandbox.


Sotiris Ioannidis
4/28/2001