Native Client -- A Sandbox for Portable, Untrusted x86 Native Code

Event Date: April 1, 2009
Speaker: David Sehr
Speaker Affiliation: Google, Inc
Sponsor: Computer Engineering Area Seminar
Time: 10:30 AM
Location: EE 115
Open To: Acceptable for ECE694A
Native Client is an open-source research technology for running x86
native code in web applications, with the goal of maintaining the
browser neutrality, OS portability, and safety that people expect from
web apps. Native Client uses software fault isolation and a specialized
runtime to direct all system interaction and side effects through
managed interfaces. It  supports performance-oriented features generally
absent from web application programming environments, such as thread
support, instruction set extensions such as SSE, and use of compiler
intrinsics and hand-coded assembler. We combine these properties in an
open architecture designed to leverage existing web standards, and to
encourage community review and 3rd-party tools. This technical talk will
cover system design and implementation, and some of our experiences
securing and using the system.*/

In December we open-sourced the system. For more information and
resources see, including a draft
of our upcoming paper in the IEEE Oakland Symposium on Security and

David C. Sehr is a tech lead and founding member of the Native Client
project at Google, where he has worked since late 2007.  Prior to
joining Google, he was Compiler Architect at Intel Corporation,
responsible for developing compilers for x86, Itanium, and XScale
processors.  David has published on interprocedural analysis, profiling,
and other compiler optimizations.  Dr. Sehr holds a bachelors degree
from Butler University and a masters and Ph.D. from the University of
Illinois at Urbana-Champaign.