You are on page 1of 4

practice

DOI:10.1145/ 2980989
via a clever mix of techniques from
 rticle development led by
A
queue.acm.org
compilers, systems, and language de-
sign. This focus on theory made practi-
cal is an excellent topic for RfP.
Expert-curated guides Second, Vijay Janapa Reddi and
to the best of CS research. Yuhao Zhu provide an overview of the
challenges for the future of the mobile

Research
Web. Mobile represents a major frontier
in personal computing, with extreme
growth in adoption and data volume.
Accordingly, Reddi and Zhu outline

for Practice:
three major ongoing challenges in mo-
bile Web computing: responsiveness
of resource loading, energy efficiency
of computing devices, and making effi-
cient use of data. In their citations, Red-

Web Security and di and Zhu draw on a set of techniques


spanning browsers, programming lan-

Mobile Web Computing


guages, and data proxying to illustrate
the opportunity for “cross-layer optimi-
zation” in addressing these challenges.
Specifically, by redesigning core compo-
nents of the Web stack, such as caches
and resource-fetching logic, systems op-
erators can improve users’ mobile Web
experience. This opportunity for co-de-
sign is not simply theoretical: Reddi and
Zhu’s third citation describes a mobile-
optimized compression proxy that is al-
OUR THIR D INSTALLME NT of Research for Practice ready running in production at Google.
As always, our goal in RfP is to al-
brings readings spanning programming languages, low readers to become experts in the
compilers, privacy, and the mobile Web. latest, practically oriented topics in
computer science research in a week-
First, Jean Yang provides an overview of how to use end afternoon’s worth of reading time.
information flow techniques to build programs that I am grateful to this installment’s ex-
are secure by construction. As Yang writes, information perts for generously contributing such
a strong set of contributions, and, as
flow is a conceptually simple “clean idea”: the flow always, we welcome your feedback!
of sensitive information across program variables — Peter Bailis
and control statements can be tracked to determine Peter Bailis is assistant professor of computer science
whether information may in fact leak. Making at Stanford University. His research in the Future Data
Systems group (http://futuredata.stanford.edu/) focuses

information flow practical is a major challenge, on the design and implementation of next-generation
data-intensive systems.

however. Instead of relying on programmers to track


information flow, how can compilers and language about RfP
runtimes be made to do the heavy lifting? How can Research for Practice combines
the resources of the ACM Digital Library,
application writers easily express their privacy policies the largest collection of computer science
and understand the implications of a given policy for research in the world, with the expertise
of the ACM membership. In every RfP column
the set of values that an application user may see? two or more experts share a short, curated
selection of papers on a concentrated,
Yang’s set of papers directly addresses these questions practically oriented topic.

50 COMMUNICATIO NS O F TH E AC M | JA NUA RY 201 7 | VO L . 60 | NO. 1


Practical Information ated with each user. There is a body of tion of compile-time and runtime en-
Flow for Web Security work dedicated to compile-time and forcement to ensure security policies
By Jean Yang runtime techniques for tracking val- are enforced from the time a request is
Information leaks have ues through programs for ensuring submitted to when it is returned, with
become so common that correct information flow. modest enforcement overhead. The
many have given up hope While information flow is a clean major contribution of the SIF work is
when it comes to information security.3 idea, getting it to work on real pro- in showing how to provide assurance
Data breaches are inevitable anyway, grams and systems requires solving (much of it at compile time) about in-
some say.1 I don’t even go on the Inter- many hard problems. The three pa- formation flow guarantees in complex,
net anymore, other (computers) say.6 pers presented here focus on solving dynamic Web applications.
This despair has led yet others to the problem of secure information
the Last Resort: Reasoning about flow for Web applications. The first Mitigating Annotation Burden
what our programs actually do. For one describes an approach for tak- through Principled Containment
years, bugs didn’t matter as long as ing trust out of Web applications and
your robot could sing. If your pro- shifting it instead to the framework Giffin, D.B. et al.
gram can go twice the speed it did and compiler. The second describes a Hails: Protecting data privacy in untrusted
Web applications. Proceedings of the 10th Usenix
yesterday, who cares what outputs it fully dynamic enforcement technique Symposium on Operating Systems Design and
gives you? But we are starting to learn implemented in a Web framework Implementation, 2012.
the hard way that no amount of raz- that requires programmers to specify https://www.usenix.org/node/170829
zle-dazzle can make up for Facebook each policy only once. The third de-
leaking your phone number to the scribes a Web framework that cus- While compile-time checking ap-
people you didn’t invite to the party.4 tomizes program behavior based on proaches are great for providing assur-
This realization is leading us to the policies and viewing context. ance about program security, they often
a new age, one in which reasoning require nontrivial programmer effort.
techniques that previously seemed Shifting Trust to the Framework The programmer must not only cor-
unnecessarily baroque are coming and Compiler through Language- rectly construct programs with respect
into fashion. Growing pressure from Based Enforcement to information flow, but also annotate
regulators is finally making it increas- the program with the desired policies.
ingly popular to use precise program Chong, S., Vikram, K. and Myers, A.C. An alternative approach is confine-
analysis to ensure software security.5 SIF: Enforcing confidentiality and integrity in ment: running untrusted code in a re-
Web applications. Proceedings of the 16th Usenix
Growing demand for producing Web Security Symposium, 2007.
stricted way to prevent the code from
applications quickly makes it relevant https://www.usenix.org/conference/16th- exhibiting undesired behavior. For in-
to develop new paradigms—well- usenix-security-symposium/sif-enforcing- formation flow, confinement takes the
specified ones, at that—for creating confidentiality-and-integrity-Web form of tagging sensitive values, track-
secure-by-construction software. ing them through computations, and
The construction of secure software In securing Web applications, a major checking tags at application endpoints.
means solving the important problem source of the burden on programmers Such dynamic approaches are often
of information flow. Most of us have involves reasoning about how informa- more popular because they require little
heard of trapdoor ways to access infor- tion may be leaked through computa- input from the programmer.
mation we should not see. For example, tions across different parts of an ap- This paper presents Hails, a Web
one researcher showed that it is pos- plication and across requests. Without framework for principled contain-
sible to discover the phone numbers of additional checks and balances, the ment. Hails extends the standard MVC
thousands of Facebook users simply by programmer must be fully trusted to do (model-view-controller) paradigm to
searching for random phone numbers.2 this correctly. include policies, implementing the
Many such leaks occur not because a This first selection presents a frame- MPVC (model-policy-view-controller)
system shows sensitive values directly, work that shifts trust from the applica- paradigm where the programmer may
but because it shows the results of com- tion to the framework and compiler. specify label-based policies separately
putations—such as search—on sensi- The Servlet Information Flow (SIF) from the rest of the program. Built in
tive values. Preventing these leaks re- framework follows a line of work in Haskell, Hails uses the LIO (labeled
quires implementing policies not only language-based information flow fo- IO) library to enforce security policies
on sensitive values themselves, but also cused on checking programs against at the thread/context level and MAC
whenever computations may be affect- specifications of security policies. Built (mandatory access control) to medi-
ed by sensitive values. using the Java servlet framework, SIF ate access to resources such as the
Enforcing policies correctly with prevents many common sources of database. It has good performance for
respect to information flow means information flow—for example, those an information flow control frame-
reasoning about sensitive values across multiple requests. SIF appli- work, handling approximately 47.8K
and policies as they flow through in- cations are written in Jif, a language requests per second.
creasingly complex programs, mak- that extends Java with programmer- Hails has been used to build several
ing sure to reveal only information provided labels specifying policies for Web applications, and the startup Intrin-
consistent with the privileges associ- information flow. SIF uses a combina- sic is using a commercial version of Hails.

JA N UA RY 2 0 1 7 | VO L. 6 0 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 51
practice

The Hails work shows it is possible to en- ing. Illumio, vArmour, and GuardiCore major challenge is the responsiveness of
force information flow in Web applica- are three among the many startups in Web applications. It is estimated that
tions with negligible overhead, without the microsegmentation space. This evo- a one-second delay in Web page load
requiring programmers to change how lution toward finer-grained approaches time costs Amazon $1.6 billion in annual
they have been programming. shows that people are becoming more sales lost, since mobile users abandon a
open to the system re-architecting and Web service altogether if the Web page
Shifting Implementation runtime overheads that come with in- takes too long to load. Google loses eight
Burden to the Framework formation flow control approaches. As million searches from a four-tenths-of-a-
security becomes even more important second slowdown in search-results gen-
Yang, J., et al. and information flow techniques be- eration. A key bottleneck of mobile Web
Precise, dynamic information flow for come more practical, the shift toward responsiveness is resource loading. The
database-backed applications. Proceedings
of the 37th ACM SIGPLAN Conference
more adoption will continue. number of objects in today’s Web pages
on Programming Language Design and Acknowledgments. Thanks to A. Au- is already on the order of hundreds, and
Implementation, 2016, 631–647. frichtig, S. Chong, V. Iozzo, L. Meyerov- it continues to grow steadily. Future
http://dl.acm.org/citation.cfm?id=2908098 ich, and D. Stefan. mobile Web computing systems must
improve resource-loading performance,
With the previous two approaches, the References which is the focus of the first paper.
1. Balluck, K. Corporate data breaches ‘inevitable,’ expert
programmer remains burdened with says. The Hill (Nov. 30 2014); http://thehill.com/policy/ The second major challenge is energy
constructing programs correctly with cybersecurity/225550-cybersecurity-expert-data- efficiency. Mobile devices are severely
breaches-inevitable.
respect to information flow. Without 2. Cunningham, M. Facebook security flaw could leak constrained by the battery. While com-
a change in the underlying execution your personal info to criminals. Komando.com (Aug. puting capability driven by Moore’s Law
10, 2015); http://bit.ly/2fRXp8L
model, the most any framework can do 3. Information is beautiful. World’s biggest data advances approximately every two years,
is raise exceptions or silently fail when breaches, 2016; http://www.informationisbeautiful.net/ battery capacity doubles every 10 years—
visualizations/worlds-biggest-data-breaches-hacks/.
policies are violated. 4. Gellman, B. and Poitras, L. U.S., British intelligence creating a widening gap between com-
mining data from nine U.S. Internet companies in
This paper looks at what the Web broad, secret program. Washington Post (June 7,
putational horsepower and the energy
programming model might look like 2013); http://wapo.st/1LcAw6p needed to power the device. Therefore,
5. Open Web Application Security Project (OWASP).
if information flow policies could be Static code analysis, 2016; https://www.owasp.org/
future mobile Web computing must be
factored out of programs the way mem- index.php/Static_Code_Analysis. energy efficient. The second paper in our
6. Zetter, K. Hacker lexicon: What is an air gap? Wired
ory-managed languages factor out allo- (Dec. 8, 2014); http://www.wired.com/2014/12/hacker- selection proposes Web programming
cation and deallocation. The paper pres- lexicon-air-gap/. language support for energy efficiency.
ents Jacqueline, an MPVC framework The third major challenge is data us-
Jean Yang is an assistant professor in the computer
that allows programmers to specify how science department at Carnegie Mellon University.
age. A significant amount of future mo-
to compute an alternative default for In 2015 she cofounded the Cybersecurity Factory bile Web usage will come from emerging
accelerator to bridge the gap between research and
each data value; and high-level policies practice in cybersecurity.
markets in developing countries where
about when to show each value that may the cost of mobile data is prohibitively
contain database queries and/or depend large. To accelerate the Web’s growth
on sensitive values. in emerging markets, future mobile
A plausible default for a sensitive lo- Web computing infrastructure must
cation value is the corresponding city. serve data consciously. The final paper
A valid policy is allowing a viewer to see discusses how to design a practical and
the location only if the viewer is within efficient HTTP data compression proxy
some radius of the location. This paper service that operates at Google’s scale.
presents an implementation strategy The Red Future of Developers and system architects
for Jacqueline that works with existing Mobile Web Computing must optimize for RED (responsive-
SQL databases. While the paper focuses By Vijay Janapa Reddi ness, energy efficiency, and data us-
more on demonstrating feasibility than and Yuhao Zhu age), ideally together, to usher in a new
on the nuts and bolts of Web security, it The Web is on the cusp of a new evolu- generation of mobile Web computing.
de-risks the approach for practitioners tion, driven by today’s most pervasive
who may want to adopt it. personal computing platform—mobile Intelligent Resource Loading
devices. At present, there are more than For Responsiveness
Final Thoughts three billion Web-connected mobile
The past few years have seen a gradual devices. By 2020, there will be 50 billion Netravali et al.
movement toward the adoption of prac- such devices. In many markets around Polaris: Faster page loads using fine-grained
dependency tracking. Proceedings of the 13th
tical information flow: first with con- the world mobile Web traffic volume Usenix Symposium on Networked Systems
tainment, then with microcontainers exceeds desktop Web traffic, and it con- Design and Implementation, 2016.
and microsegmentation. These tech- tinues to grow in double digits. https://www.usenix.org/conference/nsdi16/
niques control which devices and ser- Three significant challenges stand in technical-sessions/presentation/netravali
vices can interact with policies for soft- the way of the future mobile Web. The
ware-defined infrastructures such as papers selected here focus on carefully A key bottleneck for mobile Web re-
iptables and software-defined network- addressing these challenges. The first sponsiveness is resource loading. The

52 COMM UNICATIO NS O F THE AC M | JA NUA RY 201 7 | VO L . 60 | NO. 1


practice

bottleneck stems from the increasing The philosophy behind GreenWeb


number of objects (for example, im- is that application developers provide
ages and Cascading Style Sheets files) minimal yet vital QoS information to “At present
on a Web page. According to the HTTP guide the browser’s runtime energy there are more
Archive, over the past three years alone, optimizations. Empowering a new
Web pages have doubled in size. There- generation of energy-conscious Web than three billion
fore, improving resource-loading per- application developers necessitates Web-connected
formance is crucial for improving the new programming abstractions at the
overall mobile Web experience. language level. GreenWeb proposes mobile devices.
Resource loading is largely deter- two new language constructs, QoS type By 2020, there
mined by the critical path of the resourc- and QoS target, to capture the critical
es that Web browsers load to render a aspects of user QoS experience. With will be 50 billion
page. This critical path, in the form of the developer-assisted QoS informa- such devices.”
a resource-dependency graph, is not re- tion, a GreenWeb browser determines
vealed to Web browsers statically. There- how to deliver the specified user QoS
fore, today’s browsers make conserva- expectation while minimizing the de-
tive decisions during resource loading. vice’s energy consumption.
To avoid resource-dependency viola- GreenWeb does not enforce any par-
tions, a Web browser typically constrains ticular runtime implementation. As an
its resource-loading concurrency, which example, the authors demonstrate one
results in reduced performance. implementation using ACMP (asym- there are many design concerns to
Polaris is a system for speeding up the metric chip-multiprocessor) hardware. consider that demand a significant
loading of Web page resources, an impor- ACMP is an energy-efficient heteroge- amount of engineering effort, espe-
tant step in coping with the surge in mo- neous architecture that mobile hard- cially to make such a system practical
bile Web resources. Polaris constructs a ware vendors such as ARM, Samsung, at Google scale. Examples of the de-
precise resource-dependency graph of- and Qualcomm have widely adopted— sign concerns include fault tolerance
fline, and it uses the graph at runtime to you probably have one in your pocket. and availability upon request anoma-
determine an optimal resource-loading Leveraging the language annotations lies, safe browsing, robustness against
schedule. The resulting schedule maxi- as hints, the GreenWeb browser dy- middlebox optimizations, and so on.
mizes concurrency and, therefore, dras- namically schedules execution on the Moreover, drawing from large-scale
tically improves mobile Web perfor- ACMP hardware to achieve energy sav- measurement results, the authors
mance. Polaris also stands out because ings and prolong battery life. present interesting performance re-
of its transparent design. It runs on top sults that might not have been observ-
of unmodified Web browsers without Data Consciousness able from small-scale experiments.
the intervention of either Web applica- in Emerging Markets For example, the impact of data
tion or browser developers. Such a de- compression on latency reduction is
sign minimizes the deployment incon- Agababov, V. et al. highly dependent on the user popu-
venience and increases its chances of Flywheel: Google’s data compression proxy lation, metric of interest, and Web
for the mobile Web. Proceedings of the 12th
adoption, two factors that are essential Usenix Symposium on Networked Systems
page characteristics.
for deploying the Web effectively. Design and Implementation, 2015;
http://research.google.com/pubs/pub43447.html Conclusion
Web Language Support We advocate addressing the RED chal-
for Energy Efficiency The mobile Web is crucial in emerging lenge holistically. This will entail opti-
markets. The first order of impedance mizations that span the different sys-
Zhu, Y., Reddi, J. for the mobile Web in emerging mar- tem layers synergistically. The three
GreenWeb: Language extensions for energy- kets is the high cost of data, more so papers in our selection are a first step
efficient mobile Web computing.
Proceedings of the 37th ACM SIGPLAN
than performance or energy efficiency. toward such cross-layer optimization
Conference on Programming Language Design It is not uncommon for spending on efforts. With additional synergy we will
and Implementation, 2016, 145–160. mobile data to be more than half of an likely uncover more room for optimiza-
http://dl.acm.org/citation.cfm?id=2908082 individual’s income in developing coun- tion than if each of the layers worked
tries. Therefore, reducing the amount in isolation. It is time that we as a com-
Energy efficiency is the single most criti- of data transmitted is essential. munity make the Web great again in the
cal constraint on mobile devices that Flywheel from Google is a com- emerging era.
lack an external power supply. Web pression proxy system to make the
runtimes (typically the browser engine) mobile Web conscious of data us- Vijay Janapa Reddi is an assistant professor in
the Department of Electrical and Computer Engineering
must start to budget Web application age. Compression proxies to reduce at the University of Texas at Austin.
energy usage wisely, informed by user data usage (and to improve latency) Yuhao Zhu is a Ph.D. candidate at the University of Texas
QoS constraints. End-user QoS informa- are not a new idea. Flywheel, howev- at Austin.

tion, however, is largely unaccounted for er, demonstrates that while the core Copyright held by owners/authors.
in today’s Web programming languages. of the proxy server is compression, Publication rights licensed to ACM. $15.00

JA N UA RY 2 0 1 7 | VO L. 6 0 | N O. 1 | C OM M U N IC AT ION S OF T HE ACM 53

You might also like