- Detecting In-Flight Page Changes with Web Tripwires
[pdf]
Charles Reis, Steven D. Gribble, Tadayoshi Kohno, Nicholas C. Weaver
5th USENIX Symposium on Networked Systems Design and Implementation (NSDI) 2008. San Francisco, California, April 2008.
Presentation:
[pdf]
[mov]
[key]
[Show Abstract]
While web pages sent over HTTP have no integrity guarantees, it is commonly assumed that such pages are not modified in transit. In this paper, we provide evidence of surprisingly widespread and diverse changes made to web pages between the server and client. Over 1% of web clients in our study received altered pages, and we show that these changes often have undesirable consequences for web publishers or end users. Such changes include popup blocking scripts inserted by client software, advertisements injected by ISPs, and even malicious code likely inserted by malware using ARP poisoning. Additionally, we find that changes introduced by client software can inadvertently cause harm, such as introducing cross-site scripting vulnerabilities into most pages a client visits. To help publishers understand and react appropriately to such changes, we introduce web tripwires---client-side JavaScript code that can detect most in-flight modifications to a web page. We discuss several web tripwire designs intended to provide basic integrity checks for web servers. We show that they are more flexible and less expensive than switching to HTTPS and do not require changes to current browsers.
- Architectural Principles for Safe Web Programs
[pdf]
Charles Reis, Steven D. Gribble, Henry M. Levy
Sixth Workshop on Hot Topics in Networks (HotNets) 2007. Atlanta, Georgia, November 2007.
Presentation:
[pdf]
[mov]
[key]
[Show Abstract]
Web content is migrating away from simple hyperlinked documents towards a diverse set of programs that execute within the web browser. Unfortunately, modern browsers do not provide a safe environment for running these web programs. In this paper, we show how current web security threats are symptoms of four key problems in supporting web programs: vague program boundaries, unwanted code, poor isolation, and inconsistent security policies. In response, we introduce abstractions for web programs and program instances, and we present a set of architectural principles to address these fundamental problems.
- BrowserShield: Vulnerability-Driven Filtering of Dynamic HTML
[ACM]
Charles Reis, John Dunagan, Helen Wang, Opher Dubrovsky, Saher Esmeir
ACM Transactions on the Web. Volume 1, Issue 3, September 2007.
[Show Abstract]
Vulnerability-driven filtering of network data can offer a fast and easy-to-deploy alternative or intermediary to software patching, as exemplified in Shield [Wang et al. 2004]. In this article, we take Shield's vision to a new domain, inspecting and cleansing not just static content, but also dynamic content. The dynamic content we target is the dynamic HTML in Web pages, which have become a popular vector for attacks. The key challenge in filtering dynamic HTML is that it is undecidable to statically determine whether an embedded script will exploit the browser at runtime. We avoid this undecidability problem by rewriting web pages and any embedded scripts into safe equivalents, inserting checks so that the filtering is done at runtime. The rewritten pages contain logic for recursively applying runtime checks to dynamically generated or modified web content, based on known vulnerabilities. We have built and evaluated BrowserShield, a general framework that performs this dynamic instrumentation of embedded scripts, and that admits policies for customized runtime actions like vulnerability-driven filtering. We also explore other applications on top of BrowserShield.
- BrowserShield: Vulnerability-Driven Filtering of Dynamic HTML
[pdf]
Charles Reis, John Dunagan, Helen Wang, Opher Dubrovsky, Saher Esmeir
OSDI 2006. Seattle, Washington, November 2006.
Presentation:
[pdf]
[mov]
[key]
[Show Abstract]
Vulnerability-driven filtering of network data can offer a fast and easy-to-deploy alternative or intermediary to software patching, as exemplified in Shield.
In this paper, we take Shield's vision to a new domain, inspecting and
cleansing not just static content, but also dynamic content. The dynamic
content we target is the dynamic HTML in web pages, which have become a
popular vector for attacks. The key challenge in filtering dynamic HTML is
that it is undecidable to statically determine whether an embedded script
will exploit the browser at run-time. We avoid this undecidability problem
by rewriting web pages and any embedded scripts into safe equivalents,
inserting checks so that the filtering is done at run-time. The rewritten
pages contain logic for recursively applying run-time checks to dynamically
generated or modified web content, based on known vulnerabilities. We have
built and evaluated BrowserShield, a system that performs this dynamic
instrumentation of embedded scripts, and that admits policies for customized
run-time actions like vulnerability-driven filtering.
- Measurement-Based Models of Delivery and Interference in Static Wireless Networks
[pdf]
Charles Reis, Ratul Mahajan, Maya Rodrig, David Wetherall, John Zahorjan
SIGCOMM 2006. Pisa, Italy, September 2006.
Presentation:
[pdf]
[mov]
[key]
[Show Abstract]
We present practical models for the physical layer
behaviors of packet reception and carrier sense with interference in
static wireless networks. These models use measurements of a real network rather than abstract RF propagation models as the basis for accuracy in complex environments. Seeding our models requires N trials in an N node
network, in which each sender transmits in turn and receivers measure
RSSI values and packet counts, both of which are easily
obtainable. The models then predict packet delivery and throughput in
the same network for different sets of transmitters with the same node placements.
We evaluate our models for the base case of two
senders that broadcast packets simultaneously. We find that they
are effective at predicting when there will be significant interference
effects. Across many predictions, we obtain an RMS error for 802.11a
and 802.11b of a half and a third, respectively, of a
measurement-based model that ignores interference.
- Measurement-based Characterization of 802.11 in a Hotspot Setting
[pdf]
Maya Rodrig, Charles Reis, Ratul Mahajan, David Wetherall, John Zahorjan
EWIND Workshop at SIGCOMM 2005. Philadelphia, Pennsylvania, August 2005.
Presentation:
[pdf]
[Show Abstract]
We analyze wireless measurements taken during
the SIGCOMM 2004 conference to understand how well 802.11 operates in
real deployments. We find that the overhead of 802.11 is high, with
only 40% of the transmission time spent in sending original data.
Most of the remaining time is consumed by retransmissions due to
packet losses that are caused by both contention and transmission
errors. Our analysis also shows that wireless nodes adapt their
transmission rates with an extremely high frequency. We comment on the
difficulties and opportunities of working with wireless traces, rather
than the wired traces of wireless activity that are presently more
common.