Ce Feb16 Final
Ce Feb16 Final
WIRELESS
CHALLENGE
Also in this issue:
> Architecture from a Developer’s Perspective
> The Rise of Multimedia for
Online Communication Startups
• Ethernet • Bridging and virtual bridged LANs • Wireless LAN • Wireless PAN • Wireless MAN • Wireless
coexistence • Media-independent handover services • Wireless RAN
Staff
Editor Manager, Editorial Services Content Development
Lee Garber Richard Park
Circulation: ComputingEdge is published monthly by the IEEE Computer Society. IEEE Headquarters, Three Park Avenue, 17th Floor,
New York, NY 10016-5997; IEEE Computer Society Publications Office, 10662 Los Vaqueros Circle, Los Alamitos, CA 90720; voice +1
714 821 8380; fax +1 714 821 4010; IEEE Computer Society Headquarters, 2001 L Street NW, Suite 700, Washington, DC 20036.
Postmaster: Send undelivered copies and address changes to ComputingEdge-IEEE Membership Processing Dept., 445 Hoes Lane,
Piscataway, NJ 08855. Periodicals Postage Paid at New York, New York, and at additional mailing offices. Printed in USA.
Editorial: Unless otherwise stated, bylined articles, as well as product and service descriptions, reflect the author’s or firm’s opinion. Inclusion in ComputingEdge
does not necessarily constitute endorsement by the IEEE or the Computer Society. All submissions are subject to editing for style, clarity, and space.
Reuse Rights and Reprint Permissions: Educational or personal use of this material is permitted without fee, provided such use: 1) is not made for profit;
2) includes this notice and a full citation to the original work on the first page of the copy; and 3) does not imply IEEE endorsement of any third-party products
or services. Authors and their companies are permitted to post the accepted version of IEEE-copyrighted material on their own Web servers without permission,
provided that the IEEE copyright notice and a full citation to the original work appear on the first scree n of the posted copy. An accepted manuscript is a version
which has been revised by the author to incorporate review suggestions, but not the published version with copy-editing, proofreading, and formatting added by
IEEE. For more information, please go to: http://www.ieee .org/publications_standards/publications/rights/paperversionpolicy.html. Permission to reprint/republish
this material for commercial, advertising, or promotional purposes or for creating new collective works for resale or redistribution must be obtained from IEEE by
writing to the IEEE Intellectual Property Rights Office, 445 Hoes Lane, Piscataway, NJ 08854-4141 or pubs-permissions@ieee .org. Copyright © 2016 IEEE.
All rights reserved.
Abstracting and Library Use: Abstracting is permitted with credit to the source. Libraries are permitted to photocopy for private use of patrons, provided the per-
copy fee indicated in the code at the bottom of the first page is paid through the Copyright Clearance Center, 222 Rosewood Drive, Danvers, MA 01923.
Unsubscribe: If you no longer wish to receive this ComputingEdge mailing, please email IEEE Computer Society Customer Service at [email protected]
and type “unsubscribe ComputingEdge” in your subject line.
IEEE prohibits discrimination, harassment, and bullying. For more information, visit www.ieee.org/web/aboutus/whatis/policies/p9-26.html.
IEEE Software IEEE Computer Graphics and IEEE Annals of the History
Diomidis Spinellis, Athens Applications of Computing
University of Economics and L. Miguel Encarnação, ACT, Inc. Nathan Ensmenger, Indiana
Business University Bloomington
IEEE Pervasive Computing
IEEE Internet Computing Maria Ebling, IBM T.J. Watson IEEE Cloud Computing
M. Brian Blake, University of Research Center Mazin Yousif, T-Systems
Miami International
Computing in Science
IT Professional & Engineering
San Murugesan, BRITE George K. Thiruvathukal, Loyola
Professional Services University Chicago
www.computer.org 1
FEBRUARY 2016 • VOLUME 2, NUMBER 2
THEME HERE
14
Establishing
17
Possessing
30
Tracking
and Maintaining Mobile Cows
Trust in a Devices Wirelessly
Mobile Device
4 Spotlight on Transactions: Designing
Effective Refreshable Braille Displays
TIM MENZIES
7 Editor’s Note:
Facing the Wireless Challenge
8 Smartphone Security
LORI FLYNN AND WILL KLIEBER
55
Communication Startups
RONG YAN
I
t’s been shown that non–visually image. It’s thought that larger-scale
C
impaired readers comprehend text features, such as the characters’ spatial ollectively, Russomanno and
better when they actively read it orientation, arise from proprioceptive his colleagues’ fi ndings sug-
rather than passively listen to it. cues as the hand moves across the dis- gest that refreshable braille
Active modes of processing text such play. Although skilled braille readers displays that allow sliding contact are
as reading braille—instead of more prefer active movement over the sur- more successful than displays that
passive modes like speech—would face of the braille text, a low-cost dis- update in place and thus don’t permit
likely confer a similar advantage to vi- play that incorporates sliding contact sliding contact between the fi nger and
sually impaired readers, particularly between the fingertip and the reading the braille letter.
for material that’s highly technical or surface might suffice in many contexts.
that requires spatial processing, such Electronic braille displays present
as maps and charts. both text and graphics, but current
In active braille reading, readers refreshable braille displays are ex- LYNETTE A. JONES is a Senior
move their hands over the text, with pensive, ranging from approximately Research Scientist in MIT’s
continuous slippage between the fin- $2,000 for an 18-character display to Department of Mechanical
Engineering. Contact her at
gertip and the surface providing the $50,000 for a half-page of braille. Low- [email protected].
cues necessary to render the braille cost refreshable braille displays that
4 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
14 CO M PUTE R PUBLISHED BY THE IEEE COMPUTER SOCIET Y 0018-9162/16/$33.00 © 2016 IEEE
CS FOCUS
Magazine
Roundup
flexibility. The authors of “Elas-
tic Stream Processing for Distrib-
uted Environments,” from IEEE
Internet Computing’s November/
December 2015 issue, propose
elastic stream processing to
meet this challenge. Their pro-
posal builds on cloud comput-
ing and allows more scalability
and flexibility than traditional
approaches.
T he IEEE Computer
Society’s lineup of 13
peer-reviewed technical
magazines covers cutting-edge
topics ranging from software
medical-device software, and
new OS approaches.
IEEE Software
Computing in Science &
Engineering
2376-113X/16/$33.00 © 2016 IEEE Published by the IEEE Computer Society February 2016 5
CS FOCUS
broad expertise and experience IEEE Intelligent Systems surveys various security issues
in all aspects of security and pri- and presents tools that can help
vacy, which helps them suggest, Nonoccurring behaviors (NOBs) users better protect sensitive data.
develop, and review articles for ―those that should happen but
the magazine. In S&P’s November/ don’t for some reason―widely IT Professional
December 2015 special issue on occur in online, business, govern-
lessons learned from the edito- ment, health, scientific, and social IT project failures are pervasive,
rial board, members share what applications. Little research has and even though much has been
they’ve learned in their careers. examined NOBs because of the written on the subject, IT project
challenges posed by analyzing managers still must heed the les-
IEEE Cloud Computing behaviors that don’t actually occur. sons learned from such events. “IT
“Nonoccurring Behavior Analytics: Project Failures: What Manage-
Sensor networks and the Internet A New Area,” from IEEE Intelligent ment Can Learn,” from IT Pro’s
of Things will increase our ability Systems’ November/December November/December 2015 issue,
to connect the cyber and physi- 2015 issue, explores this topic. suggests ways that management
cal worlds, and enable important can ensure IT project success.
new applications. The successful IEEE MultiMedia
deployment of novel sensor-based IEEE Micro
applications requires the devel- Multimedia is no longer confined
opment of cloud-based cyber- to entertainment or personal media Autonomous vehicles are an
infrastructures able to manage but instead is now an important increasingly popular research
the sensors and data they collect. general means of communication. topic. Despite the amount of atten-
“Building Sensor-Based Big Data In fact, it has become an inte- tion the topic has received, details
Cyberinfrastructures,” from IEEE gral part of the tools and systems about experimental autonomous
Cloud Computing’s September/ that provide solutions to today’s vehicles aren’t being made acces-
October 2015 issue, elaborates on societal challenges, according sible to researchers in general but
the key challenges this entails. to “Multimedia Takes on Soci- instead are developed as propri-
etal Challenges,” which appears etary assets. “An Open Approach
IEEE Computer Graphics and in IEEE MultiMedia’s October– to Autonomous Vehicles,” which
Applications December 2015 issue. appears in IEEE Micro’s November/
December 2015 issue, introduces
With the rise of massive open IEEE Annals of the History of an open platform using commodity
online courses (MOOCs), mil- Computing vehicles and sensors, as well as a
lions of learners can enroll in common interface. The authors say
more than 1,000 courses via The history of computing in Latin this platform could facilitate auton-
MOOC platforms. These systems America is the theme of IEEE omous-vehicle development.
have collected a huge amount Annals’ October–December 2015
of detailed data, including large special issue. Computing Now
quantities of information on
learning behavior that research- IEEE Pervasive Computing The Computing Now website (http://
ers can analyze. “Visual Ana- computingnow.computer.org) fea-
lytics for MOOC Data,” which Smartphones generally handle and tures up-to-the-minute comput-
appears in CG&A’s November/ store sensitive data that users want ing news and blogs, along with
December 2015 issue, discusses protected. “Smartphone Security,” articles ranging from peer-reviewed
how visual analytics can help from IEEE Pervasive Computing’s research to opinion pieces by indus-
with this process. October–December 2015 issue, try leaders.
2376-113X/16/$33.00 © 2016 IEEE Published by the IEEE Computer Society February 2016 7
Smartphones Editor: Nayeem Islam n Qualcomm n [email protected]
Smartphone Security
Lori Flynn and Will Klieber, CERT
stored on smartphones was even cited privacy threats to users can come from SECurIty ISSuES
by the US Supreme Court, in Riley v. many sources, including advertisers, Smartphones present a unique envi-
California (2014), as a factor in ruling hackers, and governments. Finally, ronment that comes with its own set
that searches of these devices require employees often use their smart- of security concerns (see the “Desktops
a warrant. Taint-flow analyzers use phones for both personal and business vs. Smartphones Security” sidebar for
static or dynamic analysis techniques more information).
to trace the flow of sensitive data to
undesired locations. Operating System Vulnerabilities
If a user’s location data,
If a user’s location data, such as Each smartphone operating system
GPS coordinates or Wi-Fi access point such as GPS coordinates (OS) has security vulnerabilities par-
information, is disclosed, it can com- or Wi-Fi access point ticular to its system. For example,
promise the user’s privacy and, in Apple and Microsoft have a mecha-
information, is disclosed, it
extreme cases, put the user’s physical nism to push out security updates
safety at risk. Medical information is can compromise the user’s to smartphones using their OSs, but
also increasingly an issue, given the privacy. Google can only push updates to
increased popularity of wearable com- pure-Android devices, such as Nexus
puting devices (such as health sensors) phones.
that communicate with users’ smart- purposes; accordingly, technological Google provides fixes to original
phones. In addition, data from the measures should ensure that the equipment manufacturers (OEMs)
phone’s sensors or stored on the device employee’s personal data is not leaked and service providers (SPs) that
(in emails, texts, or photos) could be to the employer and that proprietary provide specialized versions of the
used for theft (bank and credit card business data is kept secure. Android OS, but OEMs and SPs often
numbers), blackmail, stalking, unfair Here, we discuss in detail various don’t implement and distribute fixes,
competition, public humiliation, and smartphone security issues and present or take a long time to do so. Recent
studies show Android OS updates per-
meate extremely slowly over Android
DEsktops vs. smartphoNE sEcurIty phones. Only 0.7 percent of Android
phones use the latest OS version, while
under popular desktop operating systems (including Windows, mac os X, and widely fragmented large segments of
Linux), programs usually execute with all permissions of the user. smartphone apps Android users have old OS versions.1
are more tightly constrained. apps must request and be granted permission to do
things, such as reading from the microphone or accessing the phone’s general file
Missing security fixes hits lower-cost
system. apps are sandboxed from each other more tightly than on desktop oss. on Android phones the hardest: many
android, each app has private storage that other apps can’t read or write. unlike receive no updates and others only
desktop programs, which can be run with root privileges via the su command or the rarely. This issue recently has been
Windows user account control, third-party apps on android and ios smartphones
can’t be run as root unless the user has unlocked the phone’s bootloader. app stores
highlighted by the public disclosure
perform some checks on apps to try to prevent malicious apps from being released of Android Stagefright vulnerabilities,
on the app store. a severe problem that might allow a
remote attacker to execute code on
16 8PER
February 2016
VA SI V E computing Published by the IEEE Computer
PublishedSociety
by the IEEE CS n 2376-113X/16/$33.00
1536-1268/15/$31.00 © 2016 IEEE
© 2015 IEEE
Android devices. 2 An estimated 950 much thought to the choice. Further- small libraries unprotected by ASLR
million Android phones are still vul- more, the touchscreen might register a have been shown to offer sufficient gad-
nerable, 3 over three months after a tap for the malicious app that the user gets for return-oriented programming
security researcher disclosed the vul- did not intend. (ROP) exploits.6 Modern Android and
nerability to Google along with code Beyond inter-app communication, iOS versions use DEP on supporting
patches, even though Google applied intents are also used for intra-app hardware. ROP is a technique to exploit
the patches to internal code branches communication between different memory corruption even in the presence
within 48 hours. components of a single app. It is easy of DEP. Rather than writing new exe-
Additional OS-specific issues include for a developer to mistakenly make cutable code onto the stack, the exploit
the following. app interfaces public when they should takes advantage of existing gadgets
be private, allowing malicious apps (small sequences of machine code that
iOS security issues. Widespread vulner- to eavesdrop or hijack data. Epicc is typically end with a RET instruction) that
abilities have recently been shown in a static-analysis tool that analyzes can be effectively chained together. A
iOS app-to-app and app-to-operating- inter-component communication ROP exploit is used by the Evasi0n jail-
system communications, 4 involving vulnerabilities.5 breaking tool for iOS 6.0.
scheme hijacking and possibly Web-
Socket abuses. These vulnerabilities Memory Corruption Attacks ProtECtIvE MEaSurES (and
are due to a lack of authentication for Memory corruption attacks (such as SoME FaIlurES)
multiple reasons: iOS doesn’t provide buffer overflows) commonly exploited Just as each OS has its own vulnerabili-
some types of authentication APIs, on desktop systems are also applicable ties, each also has security measures
enforce some authentication, or advise specific to its system. Also, some pro-
developers to check for particular tective security measures need to be
authentications. The Xavus tool found applied (and researched), regardless of
It is easy for a developer
many of these exploitable vulnerabili- the OS.
ties in popular iOS apps.4 to mistakenly make app
interfaces public when they OS-Specific Security
Android security issues. Android has Different smartphone OSs allow vary-
should be private, allowing
a complex inter-app communication ing levels of user control (and pro-
system that can be used in attacks. An malicious apps to eavesdrop tection) over sensitive dataflow. The
intent is a message sent to a compo- or hijack data. smartphone OS with the largest world-
nent of an app. An intent might explic- wide market share, Android, currently
itly designate its recipient by name, or offers only limited control by users
it might rely on the OS to find a suit- to mobile devices. In Android, many over their data, requiring all permis-
able recipient by matching properties apps are written purely in Java, a sions requested to be granted before
of the intent to potential recipients’ memory-safe language, which limits an app is installed. The public release
intent filters. The latter type of intent, the attack surface to of the Android M software developer’s
an implicit intent, poses the greatest kit (SDK) is scheduled for the third
security concerns. • apps that employ native code; quarter of 2015 (https://developer.
Intents can be used to make it dif- • vulnerabilities in the Java virtual android.com/preview/overview.html),
ficult to statically analyze the flow of machine and the Java runtime envi- and it changes the Android permissions
sensitive data between apps in a precise ronment; and model, so permissions won’t need to be
manner (that is, with few false nega- • vulnerabilities in the underlying OS. requested during installation, can be
tives and few false positives). Intent asked for during use as needed, and can
hijacking occurs when a malicious app Mitigations include address-space lay- be revoked by users without removing
receives an intent that was intended out randomization (ASLR) and data the app.
for (but not explicitly designated for) execution protection (DEP). The M SDK also introduces App
another app. If two apps have activity DEP allows regions of memory (such Links, which enable a website to desig-
components that can handle an implicit as the stack) to be marked with a “non- nate an official app, which, if installed,
intent, then the user is presented with executable” (NX) bit, which the CPU will automatically be chosen as the
a choice of which app to use. A mali- checks before executing code from the default handler for links to that web-
cious app can try to trick the user into memory region. Partial ASLR support site. This helps mitigate intent hijack-
choosing it by using a confusing name. has been present on Android since 4.0 ing if a malicious third-party app
Also, an inattentive user might not give and on iOS since 4.3; however, even also tries to register itself to handle
PER VA SI V E computing9
www.computer.org/computingedge
octobEr–DEcEmbEr 2015 17
SmartPhoneS
SmartPhoneS
Smaller-Market Phones
CyanogenMod is an open-source
firmware distribution based on
Android that lets users install apps
Trusted without granting all requested per-
Untrusted
missions. It also lets users substi-
tute fake data instead of real data
(for example, in place of real loca-
tion data). Blackphone has an OS
Figure 1. Taint-flow analysis can be used in protecting against the flow of sensitive data to that is based on a fork of Android.
undesired locations. It uses peer-to-peer encrypted call-
ing and video, and it can use a pri-
vacy-focused enterprise management
system. Silent Circle (the maker of
those links. The M SDK will increase profiling and monitoring some behav- Blackphone) has a privacy-focused
Android security in additional ways, iors of apps, and researchers have cre- app store, including Android and iOS
including Wi-Fi, Android application ated some app analysis tools, but the apps with full call and text encryp-
package (APK) validation, camera use, Windows Phone lacks the number and tion (https://www.eff.org/secure-mes-
and more. depth of dynamic and static analysis saging-scorecard). Additional smart-
The second-highest market share frameworks and tools that exist for phone OSs with much smaller market
smartphone is iOS. In iOS 8, users Android and iOS apps. shares include Blackberry, Symbian,
can install apps and control permis- Ubuntu, and China Operating System
sions afterward, although with limited Analysis Tools (COS).
granularity. In contrast to the cur- Many Android app analysis tools
rent Android permissions model, iOS are built on the Soot7 and T.J. Wat- Vulnerability Coordination
prompts the user to grant permissions son Libraries for Analysis (WALA) Despite the Blackphone’s focus on
only when the app is actually about to static analysis frameworks, and there security, a data-type confusion vul-
use the permission. are many standard dynamic analyz- nerability in its code was disclosed
The worldwide third-highest-selling ers (such as DroidScope8) and fuzzers and fixed in January 2015. The vul-
smartphone OS consistently (from (such as DroidFuzzer9) for Android nerability could have allowed remote
2012 through 2015) is the Windows apps. There are many analysis tools for attackers to execute arbitrary code on
Phone, which in Q1 2015 is estimated iOS, including the PiOS10 and Xavus11 Blackphones. This is a good example
at almost three percent of worldwide static analyzers and the PSiOS policy of how difficult it can be to secure
smartphone sales (see www.idc.com/ enforcement framework.12 Static and smartphone communications and
prodserv/smartphone-os-market-share. dynamic (including fuzzing) analysis of data, and of the importance of vul-
jsp). As opposed to iOS and Android, potential dataflows and control flows nerability report management. Black-
Microsoft provides developers five dif- are vital for understanding potential phone’s website has a secure form for
ferent application models for build- security issues in each smartphone sys- reporting vulnerabilities. OS provid-
ing Windows Phone apps. This adds tem, including apps. ers and app creators should have a way
to the complexity of app analysis, as Moreover, vulnerabilities inher- for the public to report security vul-
well as to the analysis of dataflow and ent to programming languages used nerabilities and should work quickly
control (both app-to-app and app-to- for the systems should be examined, to address them. Bug bounties are
system). Microsoft provides a tool for along with the security of the system incentives to motivate vulnerability
18 10 ComputingEdge
PER VA SI V E computing February 2016
www.computer.org/pervasive
SmartPhoneS
disclosures and coordination with due to officially undefined behaviors. adversaries might be able to recover
developers. The smartphone’s OS, drivers, appli- encryption keys from a powered-on
If the reporting method is insecure, a cation framework, virtual machine Android phone’s RAM19 by a method
report could be intercepted by a third environment, and apps can be written involving physically chilling the
party, who could use it to exploit in a variety of languages. For example, phone.
the vulnerability.14 Google Android, the Android OS is written mostly in USB power plugs could be abused
Apple iOS, and Microsoft Phone have C, runtime libraries are written in C/ as a data-channel attack vector
secure vulnerability reporting, coor- C++ except the Java Core libraries, against users who think they are sim-
dination, and rewards programs. App and Android apps are written in Java ply charging their phone; a mitiga-
developers might not respond to vul- but can incorporate native code (such tion is to use a USB condom when
nerability disclosures, so to protect as C or C++). connecting to an untrusted charg-
users, reporting should be coordinated ing outlet. All personal data in the
by the app stores. CERT also handles Hybrid Apps phone should be securely deleted
vulnerability coordination between Although hybrid Web/mobile appli- before a user disposes of their phone.
reporters and vendors/developers as a cation frameworks make develop- Backing up data by syncing it to a
free public service. ment of cross-platform apps possible, local machine or cloud protects the
recent research has shown serious vul- user’s access to data even if a device
App Permissions and Languages nerabilities that expose sensitive local is destroyed or lost, but privacy of
Most users do not understand the full resources to malicious Web domains,17 the backed-up data depends on the
implications of allowing app permis- affecting all hybrid frameworks and backup system’s privacy protections.
sions. A study in 2011 by Adrienne smartphone platforms that deploy the A cyber-hygiene campaign could
Porter Felt and her colleagues found frameworks. make more users aware of these risks
evidence that even many developers and mitigations.
don’t fully understand permissions.15 Women’s clothing in particular
They found that many apps request Although hybrid Web/mobile presents a smartphone security issue,
extraneous permissions that aren’t because most women’s slacks and
needed by any of the API calls that the application frameworks skirts do not come with front pock-
app makes. They also found that, in make development of cross- ets even close to large enough to fit a
many cases, the Android documenta- platform apps possible, smartphone. (However, you can have
tion about permissions was missing or a tailor extend your front pockets to
incorrect. recent research has shown securely carry a smartphone.) Carry-
User-experience researchers16 work serious vulnerabilities. ing a phone in a purse, backpack, or
to understand effective (and ineffec- jacket pocket increases the likelihood
tive) methods of conveying informa- of theft or loss, plus the risk of tam-
tion to users who are not technical Cyber-Hygiene pering (such as inserting a key log-
experts. Similar research projects strive Other factors in smartphone security ger), compared to carrying it in pants
to effectively support secure coding could be helped by public-education pockets.
of apps with integrated development programs similar to public-health edu-
environment (IDE) assistance, secure cation (such as campaigns to promote Encryption
coding standards, and other tools to covering your mouth when sneezing) SSL, if used correctly, promises to pro-
analyze and improve app security dur- but for cyber-hygiene. Some users do vide secure end-to-end communica-
ing development. Developer education not have a password login for their tion over an insecure channel. A com-
helps, including secure coding training phone or a timed lockout, much less prehensive research project, which
for particular programming languages security afforded by phone encryption. analyzed Google Play apps that use
and OSs. These basic data protections should be cryptographic APIs, showed that 88
Undefined behavior in program- used by everyone, given that devices are percent used SSL incorrectly.20 Tools
ming language standards leads to often lost or misplaced. such as mallodroid and CERT Tapi-
security vulnerabilities. Developers The above basic protections ade- oca find SSL vulnerabilities in apps.
should follow secure coding stan- quately protect data in many cases, Furthermore, a standard Android,
dards for the programming languages but they are not fool-proof. A pass- iOS, or Windows Phone and browser
and for the mobile OS, which impose word-locked phone can be attacked are vulnerable to a compelled certifi-
rules and recommendations for cod- by analyzing the smudges left when cate creation attack, in which gov-
ing securely that mitigate problems entering the password.18 Sophisticated ernment authorities would compel a
www.computer.org/computingedge
octobEr–DEcEmbEr 2015 11
PER VA SI V E computing 19
SmartPhoneS
SmartPhoneS
20 12 ComputingEdge
PER VA SI V E computing February 2016
www.computer.org/pervasive
SmartPhoneS
Author guidelines:
This article originally appeared in www.computer.org/software/author.htm
IEEEselected
Pervasive Computing, Further details: [email protected]
cs articles and columns
vol. 14, no.available
are also 4, 2015. for free at www.computer.org/software
http://computingNow.computer.org.
www.computer.org/computingedge
octobEr–DEcEmbEr 2015 13
PER VA SI V E computing 21
Smart SyStemS
eDItOr: Karen evans, Ke&t Partners, [email protected]
Establishing and
Maintaining Trust
in a Mobile Device
Kristopher Carver, BlueRISC
Vincent Sritapan, US Department of Homeland Security Science and Technology
Directorate
Cherita Corbett, SRI International
T
he mobile device market a foundation for building secu- measures and verifies a device’s
has grown tremendous- rity and trust for mobile devices. static and runtime state (for ex-
ly. Individuals, business- RoT is usually provided as a spe- ample, boot loader, operating sys-
es, and governments rely cialized hardware chip (such as tem, apps, and runtime memory)
on mobile devices to access criti- a trusted platform module) on to enable trust and overall device
cal infrastructure and share vital desktop or laptop systems. How- security. It can be utilized to de-
information (banking, medical ever, mobile devices are resource- tect malicious system changes or
data, intellectual property, and so constrained and lack dedicated activity and to ensure that access
on). This growth in adoption has hardware mechanisms for provid- to critical information and soft-
also brought about a parallel surge ing RoT. This leaves a single so- ware can only be performed in a
in attacks. Malware, ransomware, lution—namely, to provide RoT trusted state. MobileRoT requires
and spyware are targeting mobile in software. Unfortunately, this no modifications to the underly-
platforms to steal sensitive data, is challenging to realize given the ing operating system kernel, nor
access private networks, track us- sophistication of current threats any manufacturer or service pro-
ers, and do other nefarious activi- and the ease with which a mo- vider support for insertion, greatly
ties. Particularly for governments bile device’s state and informa- reducing hurdles to adoption.
using mobile technology, mobile tion can be extracted and altered.
attacks can disrupt life-saving Moreover, security specifications MobileRoT Architecture
operations, endanger personnel, such as the Trusted Computing To overcome the array of surface
and expose government systems Group’s Mobile Trusted Mod- attacks targeting software-based
to exploitation. Securing mobile ule2 don’t address how to sup- systems, MobileRoT utilizes a
devices is no small feat and is port mobile RoT requirements new architecture for enabling
therefore a forefront issue to the in software, nor do they address transitive trust based on the Core
US Department of Homeland Se- dynamic verification of device and Root of Trust for Measurement
curity Science and Technology software behavior while applica- (CRTM).2 The CRTM is hard-
Directorate’s (DHS S&T’s) cyber- tions are running. ened code that acts as the RoT
security R&D program.1 BlueRISC is developing Mo- for reliable integrity measure-
bileRoT, a fully software-based ments and is the foundation for
Roots of Trust dynamic mobile trusted mod- additional trusted services. The
Mobile roots of trust (RoT) are ule technology under support MobileRoT architecture includes
highly trustworthy, tamper-evi- from the DHS S&T Cyber Secu- a layer of encrypted CRTM code
dent components that can provide rity Division (CSD). MobileRoT that is tied to a cryptographic key
14 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
66 IT Pro November/December 2015 Published by the IEEE Computer Society 1520-9202/15/$31.00 © 2015 IEEE
generated at boot-time. With the
CRTM established, the resulting
system doesn’t require any sensi-
User
Applications Author/ownership PW
tive information to be stored per-
sistently in an unprotected state,
closely mimicking the level of
security achievable via dedicated
5 Android kernel
hardware. A secure cryptographic
sealing and unsealing procedure 4 3
tied to the boot-time and run-
time measurements performed by MobileRoT
the solution enables application microkernel
and data protection. Because all
Privileged
protected data and applications 2
are sealed, they remain protected MobileRoT
even in cases in which an attacker loader
attempts to alter or bypass the
MobileRoT technology.
1
Figure 1 shows an example L2 boot loader
measurement and verification
flow, which illustrates the boot
process of an Android mobile de- L1 boot loader
vice and gives an example of how
an RoT can be established within
it. In this example, the MobileRoT Boot ROM
sits logically between the boot
loaders and the Android kernel.
Here, it can establish the CRTM
Figure 1. An example measurement and verification flow for an Android
and perform backward verifica-
mobile device. MobileRoT can perform (1) backward verification,
tion (1), self-verification (2), and
(2) self-verification, (3) forward verification, and (4) and (5) runtime
forward verification (3) of both
measurement. MobileRoT supports this example flow as well as others
privileged components and user-
while transparently incorporating many additional features.
land applications.
Traditional solutions focus pri-
marily on boot-time validation, respond to a threat to the system in cooperation with the Mobile-
establishing the validity of each or the protection technology itself. RoT and persistently protected.
component prior to a complete MobileRoT reliably allows all To view a secure event, proper
boot, while providing only mini- levels of software, including user authorization and authentication
mal support for runtime activities. applications, to have access to its is required, and the system state
Unfortunately, it is widely known trusted services through an open must be verified.
that sophisticated attacks can tar- API. This enables the creation of
get applications that are already secure, off-the-shelf, third-party
A
running, and devices these days and proprietary applications and lthough cybercrime tar-
are rarely rebooted. To address data, and strengthens key man- geting mobile devices is
the shortcomings of one-time agement and policy enforcement becoming pervasive, mo-
static verification, MobileROT technology, such as mobile device bile RoT can preserve and confirm
provides dynamic verification and management (MDM). MobileRoT the integrity of the device while it’s
attestation by performing runtime also provides fine-grained protec- at rest or in use. BlueRISC’s Mo-
measurements of the system state tion integrated directly into an bileRoT technology has overcome
of the device (4 and 5 in Figure application. For example, a stan- barriers to bring RoT to a mobile
1). These runtime agents harden dard Android Calendar applica- platform, providing a foundation
themselves from attack and modi- tion can be modified to support of security features to accelerate
fication by creating a self-validat- the concept of a “secure event.” the development of secure mobile
ing network, which can instantly This secure event is established devices.
www.computer.org/computingedge 15
computer.org/ITPro 67
Smart SyStemS
stay connected.
Keep up with the latest
www.Computer.org/itpro
| @ComputerSociety
| @ComputingNow
| facebook.com/IEEEComputerSociety
| facebook.com/ComputingNow
rights usually include the right to to prevent damage to the network, to the phone’s firmware (that is,
decide who can use an object, and although as the US Carterfone case downloading an updated core OS
something owned can usually be demonstrated, this was at least partly via the mobile network) weren’t
sold to another. a spurious claim; in fact, the preser- generally supported. Many phones
However in most countries, we vation of sales or rental income on ran highly customized OSs, and few
can’t sell our body organs, even monopoly-provided equipment systems were used by more than
those without which we could sur- was the primary reason.7,8 Pre- one manufacturer.
vive (such as one kidney or part smartphone mobile phones in the Firmware-installed OS upgrades,
of a liver)—despite most people developed world quickly became if possible at all, were generally
considering themselves restricted to special-
owners of their own bod- In the case of smartphones and tablets, purpose hardware at ser-
ies.5 Such restrictions are vice centers. Some later
ownership restrictions seem far
often justified by appeal phones allowed users to
to a general social ben- from justified when we consider the update by downloading
efit, such as avoiding new firmware to a PC over
privacy and security costs to users.
exploitation of the poor the Internet: they had to
as a resource for body connect the phone to the
parts by the rich. In the PC and run an update
case of smartphones and tablets, objects of deep emotional attach- program on the PC to rewrite the
however, these ownership restric- ment for their owners.9 phone’s software. (This was also the
tions seem far from justified when Given the intense and intimate update process for iPhones until iOS
we consider the privacy and secu- usage of modern mobile devices, 5, which introduced OTA updates.)
rity costs to users. it’s unsurprising that users develop The road from digital mobile
strong positive feelings, including handset to smartphone had many
Psychological Attachment trust, toward their devices. How- dead ends, byways, and failed high-
to Personal Devices ever, this trust is misplaced because way projects. The smartphone basi-
Smartphones are both phones and they actually give up a great deal of cally combines a digital mobile
computers. Therefore, to understand control to the real “owners” of the phone handset and a PDA. The
user expectations of ownership, we devices: the providers (primarily degree of openness of many early
must consider the background of manufacturers and mobile phone smartphones reflected the creators’
ownership rights for both. I focus operating companies). route—whether they started with
on the PC era for computers and a phone and tried to give it PDA
(mostly) the mobile phone era for Technical Ownership functionality and Internet access,
telephones. PCs allowed people to (Control) of Mobile Phones or started with a PDA and tried
have computers not only in their Early digital mobile phones had to give it phone functionality and
homes but also in their individual very limited capabilities beyond Internet access. For example, Nokia
office spaces; despite these office making phone calls and sending and Microsoft started from the PDA
PCs being owned by the organiza- and receiving short text messages. concept, with Nokia creating envi-
tion, many people described and As their capabilities expanded to ronments such as the S60 platform
felt them to be personal devices. As include digital cameras and con- and the Symbian system (which
Byron Reeves and Clifford Nass nections to networked information superseded S60 at Nokia and was
note, people’s emotional and psy- services, the hardware and operat- based on the EPOC OS from the
chological attachments to devices ing systems became more compli- UK’s Psion PDA maker). Microsoft
are often quite illogical, such as cated, and interoperability issues developed the Windows CE and
distinguishing between completely between networks and phones and Windows Mobile systems, both of
fungible devices (identical specifi- between phones and other devices which had open application devel-
cation, all data stored on a network) (particularly PCs) arose. Early fea- opment layers and allowed user
based simply on prior usage of a par- ture phones containing information installation of applications.
ticular machine.6 services ran various OSs with differ- In Japan, NTT, the former state
In many countries, early fixed- ent openness levels. fixed-line phone monopoly pro-
line phone networks only allowed Most early feature phones vider, developed Mobile-Oriented
devices supplied by the network included limited or no ability to Applications Platform (MOAP)
operator to connect to the net- update the system software. In par- systems—one based on a Symbian
work. They claimed that this was ticular, over-the-air (OTA) updates kernel and the other on a Linux
18 ComputingEdge February 2016
90 IEEE Security & Privacy November/December 2015
kernel—which had neither open these devices aren’t intended as devices with bloatware—(often
third-party development options platforms on which to develop apps unwanted) apps that aren’t delet-
nor user-installable applications. to run on them. Most development able on a nonrooted phone. Many
These systems used NTT’s propri- happens on other, more powerful of these apps are set to start on boot,
etary i-mode system to provide computers running suitable devel- requiring users to manually turn
Internet-like services, including opment tools. them off after every reboot—the
translating suitable webpages into There have been and remain option to not run on boot is usually
a form viewable on the grayscale many levels of openness in these locked in the user settings.
phone screen and using the keypad systems with regard to user control. Interestingly, the Shanghai
for interaction. As with computer iOS devices generally only allow Consumer Council, a small con-
gaming consoles, MOAP systems applications to be installed from the sumer protection group in China,
had application development plat- Apple App Store. Android vendors recently launched a lawsuit against
forms. To access them, development can preset application sources to be Samsung and Chinese vendor
companies were required to enter allowed or disallowed. Some distrib- Oppo for violating consumers’
into contracts with NTT. Applica- uted versions allow users to switch rights by selling them devices with
tion development for these systems on other sources, whereas other undeletable bloatware.14
was typically done by or under con- distributed versions limit applica- Regulators such as the US Federal
tract to the hardware manufacturer, tion sources to those they have pre- Communications Commission are
who sought to compete in the mar- set. RIM’s BlackBerry OS before reluctant to require manufacturers
ket by offering built-in applications. version 10 (which was a complete and network operators to grant users
Japanese rivals au by KDDI and rewrite based on the QNX kernel) full control over their own devices.
SoftBank Mobile developed phones restricted application installation to They’re concerned that users might
supporting the Wireless Applica- only RIM’s repository. The Black- misuse software-defined radio capa-
tion Protocol (WAP) standard that Berry 10 system, however, supports bilities to interfere with other mobile
allowed access to websites through Android applications including the phones and radio communications.
a stylesheet-like approach. Interac- ability to install applications from However, neither the US Copy-
tive applications running locally alternative sources like the Amazon right Office’s exemption of iPhone
on the device, however, could be Appstore for Android. Only apps jailbreaking and Android rooting11
produced only using proprietary from the Windows App store can be from the Digital Millennium Copy-
software development kits. For installed on Window Phone devices. right Act’s (DMCA’s) anticircum-
example, email on these Japanese Anyone with physical access to vention rules nor the prevalence of
phones was available only through a device can, with enough effort, these practices by users have per-
dedicated apps using the service control that device. Physical suaded telecom regulators to insist
provider’s mail server, or through a access restrictions are a standard that users be given real ownership of
WAP-enabled webmail service. part of security engineering.10 and control over their devices.
Systems with open application- However, most people don’t have
development environments such the expertise or equipment to Security and Privacy
as PalmOS, its successor WebOS, work around devices’ built-in con- on Possessed Devices
Symbian, BlackBerry OS, iOS, and trol restrictions. Sometimes there Smartphones and tablets are
Android have gradually taken much are legal restrictions on doing so primarily used for communica-
of the market share for mobile that make it illegal11 or more dif- tion (social networking services,
devices, including not just smart- ficult to obtain the required hard- photo sharing, messaging, and
phones but also larger tablets. ware,12 or that place the user in voice and video calls), although
Again, devices running these sys- breach of contract.13 media consumption (games, vid-
tems are really general-purpose Although manufacturers such as eos, audio, and text) and informa-
computing devices with mobile net- Sony and Asus provide instructions tion processing (note-taking and
working and integration with POTS and options for users to access full self-quantification) are also signif-
(plain old telephone service) via a administrative rights (root user or icant uses. The locked-down model
“phone” app. They’re designed to be superuser) on some Android-based of previous generations’ media con-
devices with which software is used, devices, they do so only with the sumption devices—whereby the
rather than on which software is mobile network provider’s agree- manufacturer or other upstream
developed. Although programs can ment, which is often withheld. retailer significantly controls the
be developed in some applications Many manufacturers and mobile device—seems a poor deal for con-
(such as TerminalIDE for Android), network operators preload Android sumers. Bruce Schneier called this
www.computer.org/computingedge 19
www.computer.org/security 91
IN OUR ORBIT
the “feudal security” model (http:// and UK Government Communi- be encouraged, any more than car
tinyurl.com/b7s2fq4; http://tinyurl cations Headquarters (and prob- owners should be encouraged to
.com/k8x5de4). As in the feudal ably many other signals intelligence install updates to their cars’ onboard
social model, the overlords aren’t agencies) is condemned by security systems using a USB stick delivered
trustworthy, and the moral hazards professionals as putting everyone’s to their address without verifying its
of their position without strong security at risk by decreasing the source as the manufacturer.22
external regulation lead them to abu- chances that project management
sive practices such as secretly spying becomes aware of vulnerabilities Security Risks of Not
on users’ locations (see for example, and takes steps to fix them.21 Simi- Rooting and Jailbreaking
Google and Apple15,16). Meanwhile, larly, because jailbreaking an iOS Without administrative control of
device manufacturers are constantly device or rooting many Android a device, checking the integrity of
tweaking proprietary device driv- devices requires breaking their system files and monitoring the
ers for their Android presence and activity of
phones,17 shipping binary Preventing users from controlling their installed applications
blobs for attachment to are very difficult. On
own devices encourages them to try to
Android’s Free Software both iOS and Android,
Linux kernel, all with too follow instructions on bypassing their in fact, ordinary user-
little appreciation of the space applications aren’t
devices’ security from dubious sources.
security risks of these supposed to monitor
often hastily programmed or interfere with other
hardware interfaces. apps. Google and Apple
security model, users (particularly enforce such policies in their
Direct Security Risks of highly skilled white hat hackers) respective app stores, although for
Rooting and Jailbreaking have an incentive to prevent system most Android devices, you can
Steffen Liebergeld and Matthias developers from knowing about the install apps from other sources.
Lange discuss the risks users run if vulnerabilities they exploit. These Even when such monitoring can
they root their Android devices,18 vulnerabilities, in addition to being be installed as a user-space app, its
and Kevin Rogers provides a simi- used by users to gain control over access to other software’s activities
lar discussion of the dangers of jail- their devices, can also be used by is limited.
breaking iOS devices.19 Because attackers to elevate their privileges Lack of administrative control
neither Android nor iOS is designed as part of a malicious attack. becomes increasingly problematic
to run administration accounts, In addition, preventing users as smartphone providers (manu-
despite both being based on Unix- from controlling their own devices facturers, system integrators, telcos,
related kernels (Linux and XNU [X encourages them to try to fol- and so on) apparently want users to
is Not Unix], respectively), once the low instructions on bypassing upgrade their devices more often
systems are hacked to expose these their devices’ security from dubi- than some might want to. With
administrator-level accounts, they’re ous sources. Although most online the rapid development of iOS,
more vulnerable to external hack- directions about jailbreaking and Android, and new models, system
ing. Although users’ privacy and, to rooting devices are what they appear, providers (typically manufactur-
some extent, security are always at most users don’t have the techni- ers) aren’t providing older devices
risk from any application they install cal expertise to know whether the with updates. Even if manufactur-
(and from other vectors), once directions will actually help them ers support these older devices,
they’ve rooted or jailbroken their achieve their goals or, instead (or in updates are being rolled out far
device, the applications they install addition), install malware or open too infrequently. Daniel Thomas
can request root access, which many up a security hole in their device. and his colleagues recently showed
users will likely grant—just as they Such attacks often target Face- that even though Google is patch-
grant privacy-invasive privileges to book users; Facebook calls this the ing the base Android system, many
apps such as those to use the camera self-cross-site-scripting attack (www manufacturers are very slow to
flash like a flashlight.20 .facebook.com/notes/facebook feed such patches through to users’
- s e c u r i t y / d o n t - b e - a - s e l f - x s s devices: 87 percent of the Android
Indirect Security Risks of -victim/10152054702905766). machines in their study had known
Rooting and Jailbreaking Users’ willingness to follow some- unpatched vulnerabilities.23
The hoarding of vulnerabilities by what random online advice on break- Once updates for the core iOS
the US National Security Agency ing their devices’ security shouldn’t or Android system stop appearing,
20 ComputingEdge February 2016
92 IEEE Security & Privacy November/December 2015
devices often can’t run updated ver- similar situation, with their reason- company, hardware manufacturer,
sions of various apps, leaving them ably recent devices (sometimes and system integrator are these
vulnerable to security problems in less than two-years old) being left devices’ practical owners.
the apps’ older versions as well as in out of the OS upgrade cycle; thus, This lack of ownership requires,
the OS itself. A very serious version they’re forced to upgrade their hard- at the very least, significantly
of this problem appeared in Janu- ware or remain vulnerable. Even for improved consumer rights and pri-
ary 2015, when Google announced a jailbroken iPhone, there appears vacy protections. As Thomas and
it wouldn’t be providing a security to be no alternative OS that can be his colleagues showed, Android
fix for a known vulner- smartphone manufac-
ability in the WebKit turers are leaving their
Web browser app, a key Limitations should be clearly justified users’ software vulner-
element of Android 4.1 as in the public interest, not simply in able by not providing
to 4.3.24 (Google did regular updates.23 In
say it would accept and the providers’ commercial interest. the PC world, patch-
push a patch if offered ing has become one of
by a reliable third party). the standard backbones
Although it’s possible of ensuring security.
to use alternative browsers such as installed to compensate for the lack System administrators who don’t
Mozilla’s Firefox, which is updated of an Apple-provided, security- patch their systems are regarded as
and available even on the older updated iOS. unprofessional at best, and crimi-
Android versions, many apps use nally negligent at worst. Home
the WebKit rendering engine for Privacy Risks of Not users are exhorted to keep their
their own HTML parsing and pre- Rooting and Jailbreaking systems up to date; in fact, in an
sentation. As I noted, users find Security and privacy are often rep- effort to preserve the ecosystem’s
it difficult or impossible to know resented as oppositional duals: one security, Windows 10 Home Edi-
which apps interoperate with which must give up some privacy to gain tion no longer allows users to defer
other elements of the system, par- some security. Although this might security updates.
ticularly core elements such as the be true in some circumstances, However, there is a long history
Web rendering engine. the security of the devices we use of software being provided “without
Unlike, for example, PCs run- is a prerequisite for privacy, not in warranty.” Consumer goods such as
ning Windows XP—which Micro- opposition to it. Being able to see cars and drinks used to be outside
soft supported with security patches whether unauthorized software such negligence claims in most cir-
for more than a decade—Android is running requires administrator cumstances, but seminal court cases
4.3.1 was only released in October access, as does monitoring and con- in the early 20th century estab-
2013. Users are completely at the trolling apps’ provision of private lished a duty of care for manufac-
hardware manufacturer’s mercy information. Android applications turers to not sell dangerous goods
to compile and release a new ver- such as Android Privacy Guard into the supply chain, such as cars
sion of Android for their hardware. require root access to provide such with faulty brakes (US: MacPher-
So, the manufacturer likely hasn’t facilities to users. son v. Buick Motor Co.)25 or drinks
updated phones released in mid- contaminated with slugs (Scot-
2013 beyond 4.3.1, which less than So, Who Owns My Device? land: Donoghue v. Stevenson).26 The
18 months after release, had secu- So, ownership isn’t a single abso- implications of MacPherson v. Buick
rity vulnerabilities in a core service lute concept granting all possible Motor Co. are likely to gain impor-
app that Google decided not to rights to an item. However, smart- tance as cars become further infor-
patch and which, even if patched phones—whose hardware, such as matized and, even without being
by Google, would probably not be microphones, cameras, accelerom- driverless, increasingly vulnerable
offered as a downstream update by eters, and GPS, and software and to external hacking.27 Although
other manufacturers. data, such as contact listings, pho- not usually as physically danger-
Without administrative access, tos, social network posts, email, ous, smartphones and tablets are
which smartphone providers are communications, and media con- so embedded in our lives that their
reluctant to grant, Android users sumption, make them so useful but information is vital to our personal
can’t even install an alternative also so risky in terms of privacy and infrastructure, and manufacturers’,
compatible OS such as Cyano- security—aren’t primarily owned telcos’, and retailers’ lack of liability
genMod. iOS device users face a by their users. Instead, the phone is hard to defend.
www.computer.org/computingedge 21
www.computer.org/security 93
IN OUR ORBIT
At best, the US Copyright that could bypass digital rights man- 10. R. Anderson, Security Engineering,
Office’s exemption of iOS jail- agement on music, books, or video 2nd ed., John Wiley & Sons, 2008.
breaking and Android rooting from files would be subject to confiscation 11. T.B. Lee, “Jailbreaking Now Legal
illegalization under the DMCA19 and destruction.29 under DMCA for Smartphones,
should be extended in the US and but Not Tablets,” Ars Technica,
adopted elsewhere as a clear right Acknowledgments 25 Oct. 2012; http://tinyurl
of device owners to opt out of exter- This work was funded by the follow- .com/8os3qn5.
nal controls by others (whether a ing grants: JSPS Kaken (B) 24330127 12. B.F. Fitzgerald, “The PlayStation
person or an organization) on any Organisational and Individual Behaviour, Mod Chip: A Technological Guar-
device; hardware owners should and Personal Information Protection in antee of the Digital Consumer’s
have full visibility of their device’s the Age of Social Media; and JSPS Kaken Liberty or Copyright Menace/Cir-
operation and a much greater level (B) 15H03385 Easy Security and Privacy. cumvention Device?,” Media and
of control—that is to say, proper Arts Law Rev., vol. 10, no. 1, 2005,
ownership of the device. References pp. 85–98.
Remaining limitations should 1. “Android and iOS Squeeze the 13. M.H. Wolk, “The iPhone Jail-
be clearly justified as in the public Competition, Swelling to 96.3% of breaking Exemption and the Issue
interest, not simply in the providers’ the Smartphone Operating System of Openness,” Cornell J. Law and
commercial interest (such as reduc- Market for Both 4Q14 and CY14, Public Policy, vol. 19, no. 3, 2009,
ing costs by not issuing security According to IDC,” International pp. 795–828.
updates, charging users for permis- Data Corp., 24 Feb. 2015; http:// 14. M. Kan, “Samsung Faces Lawsuit in
sion to use devices’ innate capabili- tinyurl.com/p5mltv4. China over Bloatware on Phones,”
ties, or profiting from the invasion 2. N. Mawston, “Android Shipped 1 PCWorld, 3 July 2015; http://
of users’ privacy). If support for Billion Smartphones Worldwide in tinyurl.com/pqqddke.
security updates on a device is no 2014. Strategy Analytics Report,” 15. R. Chow. “Why-Spy: An Analysis
longer offered, then restrictions on 29 Jan. 2015; http://tinyurl.com of Privacy and Geolocation in the
user access to full control of the /om9etpe. Wake of the 2010 Google Wi-Spy
device aren’t justified. Perhaps at 3. S. Perez, “Majority of Digital Media Controversy,” Rutgers Computers
this point, legal liability for failures Consumption Now Takes Place and Technology Law J., vol. 39, 2013,
might shift from providers to users, in Mobile Apps,” TechCrunch, pp. 56–93.
much as it already does with PCs. 21 Aug. 2014; http://tinyurl.com 16. V. Kumpu, “Privacy and the Emer-
Those still running Windows XP /mlvo5el. gence of the ‘Ubiquitous Comput-
have only themselves to blame if 4. A. Lella and A. Lipsman, “The US ing Society’: The Struggle over the
their devices invade their privacy or Mobile App Report.comScore Meaning of ‘Privacy’ in the Case of
are used as zombies in a botnet. White Paper,” comScore, 21 Aug. the Apple Location Tracking Scan-
2014; http://tinyurl.com/pokl2uf. dal,” Technology in Society, vol. 34,
5. J.W. Harris, “Who Owns My Body,” no. 4, 2012, pp. 303–310.
for Articles
Call
ing Security Needs and Removing
Vulnerabilities,” Science and Engi-
neering Ethics, vol. 20, no. 3, 2014,
pp. 701–715.
22. N. Ford, “Hacked Jeep USB Soft-
ware Patch Criticized,” IT Gover-
nance, 8 Sept. 2015; http://tinyurl
23.
.com/qy82237.
D.R. Thomas, A.R. Beresford, and
Be on the Cutting Edge of Artificial Intelligence!
A. Rice, “Security Metrics for the
Android Ecosystem,” Proc. 5th
Ann. ACM CCS Workshop Security
and Privacy in Smartphones and Publish Your Paper
Mobile Devices (SPSM 15), 2015,
pp. 87–98. in IEEE Intelligent Systems
24. P. Bright, “Google Won’t Fix Bug
Hitting 60 Percent of Android
Phones,” Ars Technica, 13 Jan. 2015;
http://tinyurl.com/o2d5hho.
IEEE Intelligent Systems
25. J.W. Wade, “Strict Tort Liability of seeks papers on all aspects
Manufacturers,” Southwestern Law J.,
vol. 19, 1965, p. 5. of artificial intelligence,
26. R.F.V. Heuston, “Donoghue v. Ste-
venson in Retrospect,” Modern Law focusing on the development
Rev., vol. 20, 1957, p. 1.
27. A. Greenberg, “Hackers Remotely
of the latest research into
Kill a Jeep on the Highway—With practical, fielded applications.
Me in It,” Wired, 21 July 2015;
http://tinyurl.com/oaabx46.
28. “Exemption to Prohibition on Cir-
cumvention of Copyright Protec- For guidelines, see
tion Systems for Access Control
Technologies,” Copyright Office of
www.computer.org/mc/
the US Library of Congress, 2012; intelligent/author.htm.
http://tinyurl.com/ngewrn2.
29. J. Pearson, “White Hat Hack-
ers Would Have Their Devices
Destroyed under the TPP,” Mother-
board, 9 Oct. 2015; http://tinyurl
.com/o3bm553.
www.computer.org/computingedge 23
www.computer.org/security 95
Smartphones Editor: Nayeem Islam n Qualcomm n [email protected]
14 24
PER February 2016
VA SI V E computing Published by the IEEE Computer
PublishedSociety
by the IEEE CS n 2376-113X/16/$33.00
1536-1268/15/$31.00 © 2016 IEEE
© 2015 IEEE
for individual passes to speed up the In our first implementation, all
processing of each component, and resources are fetched in the order in Parsing
Others Rendering
overlapping of passes to speed up the which they appear, without imposing 4%
5%
total execution time. In addition, we any priorities. In addition, the resource 19%
must respect the HTML and JavaScript manager includes other components, CSS 20%
semantics, even during concurrent exe- such as the HTML prescanner and
cution. The main data structure used image decoder. The HTML prescan-
31%
by all browser passes is the DOM. The ner quickly determines all external
21%
DOM is a tree representing all HTML resources in an HTML document,
elements, including their content, rela- requests their downloading, and, Layout JavaScript
tionships, styles, and positions. Web depending on the type of resources,
programmers use JavaScript to manip- requests further processing. The image
Figure 1. Browser processing times by
ulate the DOM, producing interactive decoder component consists of a thread
component, excluding network load
webpages and Web apps. Most com- pool that decodes images for later use
time. Profiling results obtained using
munication between browser passes as the resource manager receives them.
the WebKit browser on a four-way ARM
and components happens through the These operations are fully concurrent,
Cortex-A9 processor. Results are an
DOM. Unfortunately, even in a con- because each image decode is an inde-
aggregate of the top Alexa 30 sites as of
current browser, access to the DOM pendent task.
March 2010.
tree (constructed by the HTML5
parser) must be serialized to conform DOM engine. In Zoomm, each page (tab)
to the HTML5 specification (see http:// instantiates a DOM engine that consists
whatwg.org/html). of the DOM dispatcher, HTML parser, Rendering engine. Whenever the DOM
This is the biggest limitation Zoomm CSS parsing and styling, and timers and or CSS stylesheets change—because
must contend with, and it significantly events. The DOM dispatcher thread the fetcher delivered new resources, the
influenced the design. In our architec- schedules DOM updates and serves as HTML parser updated the DOM, or as
ture, we manage access to the DOM the page event loop. It serializes access a result of JavaScript computations—
through a dispatcher. Most passes to the DOM and manages the interac- this change needs to be reflected on the
have their own private concurrent data tion between components. screen so that the user can view and
structures to allow for greater paral- The rest of the browser infrastructure interact with it. The layout engine is
lelism inside components, and they dispatches work items to the concurrent responsible for transforming the styled
send asynchronous DOM updates to DOM dispatcher queue, and the items DOM tree into geometry and content,
the dispatcher for processing. Figure 2 are then handled one at a time. Work which the rendering engine can turn
shows the architecture’s high-level com- items represent browser passes as well into a bitmap. Ultimately, this bitmap
ponents, discussed in more detail next. as events from timers and the user inter- is displayed on the screen by the user
face. The HTML parser receives incom- interface as a viewable webpage. Nor-
Zoomm Browser Components ing (partial) data chunks for an HTML mally, the layout and rendering engine
The Zoomm browser consists of a num- document via a DOM dispatcher work takes a snapshot of the DOM informa-
ber of loosely coupled subsystems, all of item and constructs the DOM tree tion it needs and performs the rest of the
which were designed with concurrency by executing the HTML5 parsing work asynchronously; however, it can
in mind. With the exception of the algorithm. The parser adds external also be invoked synchronously when
browser global resource manager and resources (referenced from the HTML JavaScript use APIs that query layout
the rendering engine, all subsystems are document) to the resource manager’s information.
instantiated once for each page (shown fetch queue. The parser also initiates
as a separate tab in the user interface). the execution of JavaScript code by call- JavaScript engine. The Zoomm employs
ing the JavaScript engine at appropriate a novel JavaScript engine, MuscalietJS,
Resource manager. The resource man- times during parsing. The CSS engine for executing all JavaScript code. The
ager is responsible for managing and calculates the look and feel of the DOM engine’s design is presented in detail
preprocessing all network resources, elements for the later layout and render- elsewhere (http://github.com/mcjs/mcjs.
including fetching resources from the ing stages. Similar to image decoding, git).2 In particular, our engine exploits
network, providing cache management the resource manager hands off CSS concurrency by compiling multiple
for fetched resources, and notifying stylesheets to the CSS engine for pars- scripts in parallel, as well as compiling
other browser components when data ing and for discovering new resources scripts asynchronously with the rest of
from the network arrives. to request. the browser passes.
www.computer.org/computingedge
july–sEptEmbEr 2015 25
PER VA SI V E computing 15
SmartPhoneS
SmartPhoneS
User interface
URL Events
Figure 2. The Zoomm browser architecture. Concurrency is exploited both across components and within each component.
To achieve this, the JavaScript engine execution engine. When the number C++. For concurrency, we use a custom
uses a thread pool and the just-in-time of times a function has been executed asynchronous task library (Qualcomm
compiler uses a separate state stored exceeds a certain threshold (in other Multicore Asynchronous Runtime Envi-
in the metadata of each script. Due to words, it’s “hot”), the engine will pro- ronment; http://developer.qualcomm.
JavaScript semantics, the execution of mote the function and recompile it at com/mare), optimized for mobile execu-
scripts is performed sequentially in the a higher optimization tier. Different tion. On Android, a thin Java wrapper
main engine thread. When the HTML tiers include an interpreter, a baseline is used to create the user interface. User
parser or DOM dispatcher (for exam- compiler, and a full compiler. The interactions, such as touching a link
ple, for user interface events) requests baseline compiler generates suboptimal on the display, are translated into Java
the execution of a JavaScript script that code quickly. The full compiler, on the Native Interface method calls, which
has not been compiled already, com- other hand, generates more optimized ultimately create work items in the
pilation is initiated. In either case, the code for hot functions by performing DOM dispatcher. Drawing to the dis-
engine waits for the compiled result and adaptive JavaScript-specific optimiza- play is performed using the Android
then executes the script. The goal of the tions, including hidden classes, prop- Native Development Kit, which pro-
engine is to use available resources on erty lookup, type specialization, and vides direct access to Android bitmaps.
the platform to improve the generated restricted dataflow analysis. On Linux and Mac OS X, a similar
code for JavaScript execution. wrapper is implemented in C++ using
Similar to other modern JavaScript User interface. The Zoomm browser the Qt interface toolkit (www.qt.io/
engines, MuscalietJS is a multitier is implemented in platform-agnostic developers). Although our deployment
16 26 ComputingEdge
PER VA SI V E computing February 2016
www.computer.org/pervasive
SmartPhoneS
TABLE 1
Combined HTML and CSS prefetching initiates the download of most external resources ahead of their discovery by the HTML
and CSS parsers with high accuracy (“correct prefetch”) and small error (“missed/mistaken prefetch”). “Total resources” denotes
the number of referenced resources in a webpage.
targets are Android devices, the Qt document.write() API.) Once resources are for the execution of <script> blocks to
implementation allows much easier discovered, network latency can be finish.
debugging and testing on desktop- masked by requesting multiple resources The processing of prefetched
based machines, and the ability to eval- to be fetched in parallel. This strategy resources works as follows. Images
uate concurrency beyond what Android also helps use all available bandwidth, are fetched concurrently with the rest
devices currently offer. and it reduces the overall time spent of the page processing. Once down-
waiting for resources to arrive. loaded, image data is given to a thread
ParallEl ExECutIon for In Zoomm, we favor concurrency pool for decoding concurrently. The
rESourCE PrEfEtChIng to achieve the same goal by running decoded image is added to the DOM
Mobile devices commonly experi- an HTML prescanning component dispatcher queue, which updates the
ence high latency when requesting the in parallel with a (nonspeculative) corresponding img tree node. Then the
resources that form an HTML docu- HTML parser. The main objective of image is removed from the set of pend-
ment. To reduce the overall time taken the HTML prescanner is to quickly ing images.
to load a page, fetching all of the depen- determine all external resources in an
dencies from the network as early as HTML document and trigger their CSS Prefetching
possible is very important. fetching from the network. The most CSS stylesheets are dispatched to a
commonly referenced resources are thread pool responsible for parsing
HTML Prescanning images, CSS stylesheets, and Java- CSS concurrently. If a CSS rule con-
Due to idiosyncrasies in the HTML5 Script sources. In addition, stylesheets tains additional external resources,
specification, the HTML5 parser must and JavaScript sources can themselves the parser decides whether to initiate
wait for <script> blocks to finish execut- reference further external resources. prefetching for them, based on the like-
ing before it can continue parsing. So, Furthermore, the prescanner obtains lihood that they’re actually referenced
if a webpage references an external all id, class, and style attributes used in the in the HTML document.
resource after a script element, fetching document. It’s crucial to download just enough
the resource can’t be overlapped with As network packets of an HTML of the referenced resources. Down-
the waiting. This could delay the com- document arrive, they are given to loading too little means that new
pletion of page loading. the prescanner and the actual HTML resources are discovered only when
The Mozilla Firefox browser miti- parser independently. The prescanner styling the DOM tree later on, which
gates such situations by speculatively can run ahead of the HTML parser incurs additional latency penalties. It’s
parsing ahead of script blocks to dis- because it only has to approximately common practice among websites to
cover new resources. (It might then parse HTML to find resources, thus reference many more resources than
be forced to throw away some of that skipping the complex DOM tree con- are actually needed for any given doc-
work if, for example, JavaScript inserts struction phase. More importantly, ument—for example, by using a site-
new content into the DOM tree via the the prescanner doesn’t have to wait wide common style file. Downloading
www.computer.org/computingedge
july–sEptEmbEr 2015 27
PER VA SI V E computing 17
SmartPhoneS
SmartPhoneS
parallel.
6,000,000 Another technique for exploiting
multicore processing for JavaScript is
4,000,000 parallel compilation. Almost all cur-
User experience threshold
rent browsers use parallel compilation
2,000,000 to either compile multiple scripts con-
currently or run an enhanced compiler
0 in a separate thread.5–7
C n
s
M t
ey
RD
BC
Ya r
Go o
le
Ti N
es
Am ki
on
ay
Overall, using these parallelization
N ee
k
Th ew
BB gto
ho
NY MS
i
ic
og
on
eB
W
az
SN
BA
CN Str
Fl
N
n
M
e
Hu
18 28 ComputingEdge
PER VA SI V E computing February 2016
www.computer.org/pervasive
SmartPhoneS
http://www.computer.org/jobs
Keep abreast of rapid technology change by subscribing today!
www.computer.org/pervasive
The IEEE Computer Society is a partner in the AIP Career Network, a collection of online job sites for scientists, engineers, and
computing professionals. Other partners include Physics Today, the American Association of Physicists in Medicine (AAPM), American
Association of Physics Teachers (AAPT), American Physical Society (APS), AVS Science and Technology, and the Society of Physics
Students (SPS) and Sigma Pi Sigma.
www.computer.org/computingedge
july–sEptEmbEr 2015 29
PER VA SI V E computing 19
STUDENT DESIGN SHOWCASE
Tracking Cows
Wirelessly
Greg Byrd, North Carolina State University
A student team from NC State designed and address the cost and convenience
factors, a team of students in the De-
built a prototype wireless network to monitor partment of Electrical and Computer
the milking and weighing of cows. Engineering (ECE) at North Carolina
State University (Figure 2) designed
and built a prototype wireless net-
work that combines long-range
T
ultra-high-frequency (UHF) RFID
o successfully operate any farm, effective tags with low-cost wireless and computing components.
livestock management is crucial. Efficient, af- The long-range RFID allows unmanned scans of multiple
fordable, and scalable livestock management tags, and the wireless network provides scalable data col-
solutions play an increasingly important role lection without costly infrastructure.
in modern farming, as the number of dairy farms in
the US decreases, but the number of dairy cows on each NETWORK OVERVIEW
increases. Dairy cows require careful monitoring for Figure 1 shows an overview of the prototype network using
milking, weighing, and other activities, so the ability to the ZigBee wireless protocol to communicate. The RFID
reliably track these animals in large numbers is partic- reader is connected to the ZigBee wireless networking
ularly important. node, so when a new RFID tag is detected, the ZigBee node
Dairy cows are typically identified by visible ear tags. Al- sends a data packet to the controller node. As cows enter
though tags with embedded RFID devices have been avail- and exit the milking station, an RFID reader identifies the
able—allowing them to be scanned electronically—because cows by their long-range RFID tags, and when the RFID tag
of cost, most tags use low-frequency (LF) RFID, so the scanner is no longer in range, the ZigBee node sends a data packet
must be within a few inches of the tag. Consequently, farm- indicating that the cow left the milking station. (Multiple
workers need to be “up close and personal” with each and ev- cows may enter the milking stalls at the same time, so the
ery cow for reliable scanning. prototype system can monitor the entry and exit times of
Although RFID tagging of cattle has been widely ad- up to eight cows simultaneously.)
opted in Europe, US dairy farms are more reluctant to do As the cows leave the milking station, they pass
so because of costs and the lack of national standards. To through a weighing station. A floor scale and an RFID
30 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
60 CO M PUTE R PUBLISHED BY THE IEEE COMPUTER SOCIET Y 0018-9162/15/$31.00 © 2015 IEEE
EDITOR GREG BYRD
North Carolina State University; [email protected]
www.computer.org/computingedge 31
JUNE 2015 61
STUDENT DESIGN SHOWCASE
O
ur goal was to create a low- Howling Cow network to demonstrate
cost proof-of-concept system. how RFID, wireless, and other informa-
GREG BYRD is associate head of
The retail cost of the system tion technologies can improve the effi-
the Department of Electrical and
components is around $1,200. With ciency and productivity of the farm as Computer Engineering at North
additional development and higher well as the health of the animals. The Carolina State University. Contact
volumes, the cost can be further re- farm of the future will employ many him at [email protected].
duced. For example, the long-range emerging technologies: unmanned
Newsletters
Stay Informed on Hot Topics
computer.org/newsletters
www.computer.org/computingedge 33
JUNE 2015 63
CLOUD AND THE LAW
34 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
60 I EEE CLO U D CO M P U T I N G P U B L I S H ED BY T H E I EEE CO M P U T ER S O CI E T Y 2325-6095/14
5/$31.00 © 2015 IEEE
partition on the device or exploiting
the device to obtain operating system Evidence identification and preservation Evidence identification and analysis
root privileges. Timothy Vidas and his (per local procedures) For all apps on the device:
colleagues proposed using customized Examine files in private storage
recovery images containing forensic
Evidence collection
tools, which are flashed over the An- Examine files on external storage
droid device’s “recovery” partition.3 Setup bootloader for live OS
This gives forensic practitioners access Examine databases
to the device, letting them extract all Boot live OS in memory
the data. The major downside to this Examine/analyze accounts data
method is that flashing any image on a Collect physical image of device partitions
modern Android device requires sign- Analyze/decompile app
ing the image with the vendor’s key. To
flash images signed with other keys, the
bootloader must be unlocked. Unlock-
Evidence reporting and presentation
ing the bootloader triggers a wipe of the
(per local procedures)
data on the device. In a similar vein,
Namheun Son and his colleagues used
custom images flashed onto the device’s FIGURE 1. An evidence collection and analysis methodology for Android devices
“boot” partition, which allowed the re- (adapted from earlier work7). The physical image of the evidential data, obtained via the
searchers to obtain most of the data on evidence collection process, is collected via a live OS and then analyzed externally in
the device.4 Jeff Lessard and Gary Kes- order to preserve forensic integrity.
sler described a process for collecting
a bit-for-bit copy of a device’s NAND
flash storage that required the device or recovery partitions) becomes com- A Cloud-Focused Mobile
be rooted and have a secure digital (SD) mon in forensic procedures, suspects Forensics Methodology
memory card.5 Sheng-Wen Chen and might begin to hide sensitive data in Figure 1 presents our evidence col-
his colleagues also used an SD memory these partitions. When talking about lection and analysis methodology for
card in their data acquisition process.6 a forensically sound process, rooting a Android devices that allows for the re-
They loaded the SD memory card with device presents an even greater prob- trieval and analysis of cloud-based evi-
their own patch for the phone’s recovery lem: the vast majority of root exploits dential data.7 The first major step after
mode to install. are released as closed-source and heav- identifying and physically preserving
This approach has two major prob- ily obfuscated packages, one justifica- any evidential devices (for example,
lems. It requires that the phone be run- tion being that smartphone vendors Faraday bags and radio-suppressed en-
ning a third-party recovery that allows might patch out these exploits. The vironments) is evidence collection. This
for the installation of nonvendor signed exploit would have unrestricted access involves exploiting a flaw in the device’s
patches, and it requires that the de- to the exploited device’s storage and bootloader to allow for booting a live op-
vice accept an SD memory card. With be capable of performing any number erating system. In our experiments, we
flagship phones now abandoning SD of destructive or incriminating tasks. undertook evidence collection and anal-
memory card storage in favor of greater In a forensic investigation using un- ysis on a Nexus 4 phone. We discovered
on-board storage, and popular phones documented root exploits, the evidence a flaw wherein unlocking the bootloader
once known for allowing additional stor- could be determined to be tainted or and then booting our image into RAM
age (such as the Samsung Galaxy S6) even inadmissible in a court of law. without rebooting the device let us ac-
following suit, SD memory card–based Based on these factors and our review cess all data on the device without the
data collection techniques will likely of the literature,7 we noted a need for a usual device wipe that typically occurs
soon become obsolete. forensically sound methodology to col- when the bootloader is unlocked. Be-
Another risk is that if flashing an lect cloud-based evidential data from cause the custom image is loaded into
existing partition (for example, the boot Android devices. the device’s volatile RAM, the device’s
www.computer.org/computingedge 35
J U LY/ A U G U S T 2 0 1 5 I EEE CLO U D CO M P U T I N G 61
CLOUD AND THE LAW
cache
GLOBAL.xml my Preference PREVIEW DOWNLOAD Folder
[id].xml _SALTS[id].xml _SALTS[id].xml
com.box.android.encryptionKey
dl_cache dl_offline
BoxSQLiteDB Folder Folder
_[id]
FIGURE 3. Locations where Box stores items of interest. Similar to Dropbox, Box also stores downloaded files on the device’s
external storage. Unlike Dropbox, however, Box encrypts these files and stores the encryption key in the internal storage.
age, it doesn’t store interesting data in sumer key and the missing half of the file contains the user’s current access to-
the device’s accounts. Dropbox stores OAuth signature we required. Using the ken, refresh token, and email address,
the user’s email address in this location. obtained information, a forensic prac- which are all used for authentication.
Based on our analysis and Drop- titioner could authenticate as the user The “myPreference[id].xml” file contains,
box’s developer guide,9 we observed that and access their files. among other things, the 512-bit encryp-
to authenticate as the device user on tion key that Box uses to encrypt files
Dropbox’s servers, we would require the Box stored on the device’s external storage.
OAuth consumer key, the user’s OAuth Box is a well-known file-syncing stor- Lastly, the “PREVIEW_SALTS[id].xml”
token, and the OAuth signature. From age service often used by organizations. file contains the salts of each encrypted
the analysis of the data contained with- Box uses a device’s internal and exter- preview file stored on the external stor-
in the app’s directories and device’s ac- nal storage to store its data, as Figure age, and the “DOWNLOAD_SALTS[id]
counts, we had already obtained all of 3 illustrates. .xml” file contains the salts of each en-
this information, with the exception of On the device’s internal storage, Box crypted file that has been cached on the
half of the OAuth signature. Because stores data of interest in the “shared_ external storage.
we were unable to obtain this informa- prefs” and “databases” directories. With- The “BoxSQLiteDB_[id]” data-
tion from the device or Dropbox files, in its shared preferences directory are base file contains a table (“BoxEvent”)
we determined that this string would four important XML files. “GLOBAL listing all actions that have been per-
most likely be statically defined. .xml” contains the user’s unique numeri- formed by the app on the user’s files.
Located within Dropbox’s heavily cal identifier (listed as “id” in the file), This includes copying a file from one
obfuscated decompiled code was a func- which the Box servers, Android file sys- location to another, previewing a file,
tion that was entirely self-contained and tem, and Box’s databases use to uniquely sharing a file, creating a file, moving
generated two strings: the OAuth con- identify the user. In addition, this XML a file, and downloading and uploading
www.computer.org/computingedge 37
J U LY/ A U G U S T 2 0 1 5 I EEE CLO U D CO M P U T I N G 63
CLOUD AND THE LAW
a file. Furthermore, this database con- token and obtain all of the user’s files, A further analysis of the memory of
tains records for each file created by the given that 60 days hadn’t yet passed the OneDrive app provided us with the
user (in the “BoxFile” table), each folder since the refresh token was generated URLs for user authentication and access
created by the user (in the “BoxFolder” by Box’s servers. token generation for the user. From our
table), and files the user has recently ac- earlier analysis, we found that access to-
cessed (in the “BoxRecentFile” table). OneDrive kens expire after 24 hours. This means
Box uses the device’s external stor- Microsoft OneDrive is another popular that in a general forensic scenario, a
age to store a cache of previews and file-syncing storage app that also stores forensic practitioner would need to gen-
downloaded files. It stores each file pre- a significant amount of data of inter- erate a new access token. To generate
viewed by the user in the “dl_cache” est. Within its private app directory, we a new access token, the valid refresh
folder, and stores each file downloaded found several SQLite databases. One of token, user ID, and scope would be re-
by the user in the “dl_offline” folder. these databases (“metadata”) contains quired, and we were able to locate these
The contents of these files are encrypted information pertaining to each of the us- items on the device.
using “Box Crypto.” To decrypt these er’s OneDrive files, including filenames,
files, the 512-bit encryption key obtained sizes, and the URL used to download
from Box’s “GLOBAL.xml” file must be the file (which requires authentication). PASSWORDS AND USERNAMES
used with the file’s salt (obtained from Another SQLite database file (“cached_ WERE ONCE THE DE FACTO
the respective SALTS XML file). Bouncy files_md.db”) contains metadata relating STANDARD FOR USER AUTHENTI-
Castle’s AES CBC cipher (using PKC- to the files the user has accessed and the CATION. Today, few services, especially
S5Padding) is used as Box’s encryption OneDrive app has cached. cloud-based services, store usernames
cipher. Because Box doesn’t use the Ac- On the device’s external storage, and passwords on devices, in an effort
countManager service, it doesn’t store we located several items. For example, to enhance user security. Instead they
any data within the device’s accounts. the “cache” folder within OneDrive’s store a time-limited token and/or a num-
Further memory-based analysis de- external storage data path contained a ber of separate tokens. This makes it sig-
termined that authenticating as the user cache of each of the files downloaded nificantly more difficult for practitioners
to Box’s servers only requires a valid ac- by the user. These files were unmodi- undertaking a forensic investigation due
cess token. Because Box’s access tokens fied from the original file stored on not only to the time-critical nature of
expire after 60 minutes, to practically the OneDrive servers (as evidenced by these tokens, but also to the number of
authenticate as the user, we would need the identical hashes for the original varied authentication implementations.
to be able to generate new access tokens. and files stored in this directory) and Our evidence collection and analysis
We therefore also require a valid refresh were named with the following conven- methodology aims to at least partially
token. Box’s refresh tokens expire after tion: “SkyDriveCacheFile_[item’s ID] mitigate these issues and provide foren-
60 days, so it’s much more likely that a .cachedata,” with the item’s ID being sic practitioners with a clear and forensi-
forensic practitioner could obtain a valid the ID within the “cached_files_md.db” cally sound method to obtain cloud data,
refresh token. Obtaining a new access database. both remote and physically present on
token requires a valid refresh token, the Following this analysis of the One- the seized device. As more and more ser-
client ID, and the client secret. Drive app, we obtained the data that vices become cloud-based, most eviden-
From the analysis of the internal OneDrive stores in its AccountManager tial data might, in fact, be present only
storage, we already had a refresh token account on the device. OneDrive stores a on remote servers.
from the “GLOBAL.xml” shared pref- significant amount of information in this
erences file. Because the client ID and location. This likely explains the lack References
secret weren’t on the device, we con- of authentication details stored in One- 1. Gartner, “Gartner Says Smartphone
cluded that they must be defined stati- Drive’s internal and external storage data Sales Surpassed One Billion Units
cally. We found that these strings were locations. OneDrive stores, in the One- in 2014,” Gartner press release,
stored within the app’s strings resources Drive AccountManager account on the 2015; www.gartner.com/newsroom/
file. With this information, we believe device, a refresh token, an access token, id/2996817.
it would be possible for a forensic prac- a scope, an account type, the user’s ID, 2. Nielsen, “Smartphones: So Many
titioner to generate a new valid access and the access token’s expiry timestamp. Apps, So Much Time,” Newswire, 1
It’s already
Liu, “Design and Implementation of
Live SD Acquisition Tool in Android KIM-KWANG RAYMOND CHOO is
at your
Smart Phone,” Proc. 5th Int’l Conf. a senior lecturer in the School of Informa-
Genetic and Evolutionary Comput- tion Technology and Mathematical Sci-
ing, 2011, pp. 157–162. ences at the University of South Australia.
fingertips
7. B. Martini, Q. Do, and K.-K.R. His research interests include cyber and
Choo, “Conceptual Evidence Col- information security and digital forensics.
lection and Analysis Methodology Choo has a PhD in information security
for Android Devices,” R. Ko and from Queensland University of Technol-
K.-K.R. Choo, eds., Cloud Secu- ogy, Australia. Contact him at raymond Computing in Science &
rity Ecosystem, Syngress, 2015, pp. [email protected]. Engineering (CiSE) appears
285–307. in theTBDIEEE Xplore
is financially and AIP
cosponsored
by IEEE Computer Society, IEEE
8. B. Martini, Q. Do, and K.-K.R Choo, library packages,
Communications so IEEE
Society, your
“Mobile Cloud Forensics: An Analy- Computational Intelligence Society,
institution is bound to have it.
IEEE Sensors Council, IEEE Consumer
sis of Seven Popular Android Apps,” Electronics Society, IEEE Signal
Processing Society, IEEE Systems,
R. Ko and K.-K.R. Choo, eds., Cloud Man & Cybernetics Society, IEEE
Systems Council, IEEE Vehicular
Security Ecosystem, Syngress, 2015, Technology Society
pp. 309–345. TBD is technically cosponsored by
9. K. Goundan, “Using OAuth 1.0 IEEE Control Systems Society, IEEE
Photonics Society, IEEE Engineering
in the ‘PLAINTEXT’ Signature in Medicine & Biology Society, IEEE
Power & Energy Society, and IEEE
Method,” blog, 13 July 2012; https:// Biometics Council
blo g s.d r opb ox .com /de velop er s /
2012/07/using-oauth-1-0-with-the This article originally appeared in
-plaintext-signature-method. IEEE Cloud Computing, vol. 2,
no. 4, 2015.
www.computer.org/computingedge 39
J U LY/ A U G U S T 2 0 1 5 I EEE CLO U D CO M P U T I N G 65
Beyond Wires
Editor: Yih-Farn Robin Chen • [email protected]
T
he unprecedented popularity of mobile processing capability of handheld devices. Sec-
devices and their ubiquitous access to cellular ond, battery life has long been an issue for mobile
data networks make surfing the World Wide devices. Over the past 15 years, the CPU perfor-
Web (WWW) on-the-go a common sight. Mobile mance has improved 250 times while the capacity
browsers have become one of the key entities in of the li-ion battery has only doubled.3 In par-
the smartphone ecosystem, with their generated ticular, the power-hungry cellular interface (3G
mobile traffic volume exceeding that of any other Universal Mobile Telecommunications System/
application except for video streaming. Moreover, High-Speed Packet Access, or UMTS/HSPA, and
as the standard Web interface, HTTP is used by 4G LTE) worsens the energy issue. Third, band-
millions of smartphone apps, and many apps are width is also a critical resource for cellular cus-
simply customized programmable browsers. tomers who are billed by their data plan usage.
The term mobile-friendly has been used in Therefore under the constraints of providing a
many contexts including, in particular, UI design satisfactory user experience, the bandwidth con-
of mobile apps and websites. Indeed, many web- sumption of mobile Web needs to be minimized.
sites do have their appearance tailored to mobile The remainder of this article discusses why
devices’ screens. A recent measurement study1 today’s mobile Web is often not mobile-friendly,
shows that 65 percent of the Alexa top 500 websites and proposes suggestions on improving the state-
have mobile versions that are specifically designed of-the-art. I will take a top-down approach by
for handheld devices. However, loading a webpage describing issues at each layer: website contents,
is a complex procedure involving many subsys- the Web protocol (HTTP), the Secure Sockets Layer/
tems: object downloading, CSS/JavaScript parsing, Transport Layer Security (SSL/TLS) encryption, and
content rendering, cache management, and so on. the transport protocol. In many cases, the ineffi-
Only changing the appearance of a mobile website ciencies aren’t caused by a single layer but instead
is therefore often superficial. by unexpected cross-layer interactions.
To achieve mobile-friendly Web browsing,
three factors must be optimized: performance, Website Content
energy usage, and bandwidth consumption. First, Despite its good looks, a professionally designed
Internet users are sensitive to webpage load time mobile website might consume an unexpectedly
(PLT). For example, with an extra delay of 500 large amount of resources on a mobile device. Typi-
milliseconds, Google will lose up to 20 percent cal issues include using unnecessarily high-resolu-
traffic. With a 100 millisecond extra delay, Ama- tion images, embedding within a single page too
zon will lose 1 percent in sales.2 In the mobile much content that few users will read due to having
world, achieving fast page loading speed is more to scroll down to the page’s bottom, employing com-
challenging due to unpredictable network condi- plex CSS and JavaScript, and using excessive redi-
tions (for example, due to mobility) and the limited rections that hurt the PLT. As a concrete example,
72 Published by the IEEE Computer Society 1089-7801/15/$31.00 © 2015 IEEE IEEE INTERNET COMPUTING
40 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
Toward Mobile-Friendly Web Browsing
consumption
Radio power
promotion
of some popular mobile websites’ land-
ing pages can reach up to 40 times of a Data
transfer Tail time Tail time Time
smartphone’s screen height, leading to
several megabytes of data being trans-
ferred during a page loading.1 Figure 1. An illustration of cellular radio state transitions. Having multiple
These issues aren’t difficult to com- transfers taking place intermittently keeps the radio on longer, leading to extra
prehend, detect, and fix. However, there battery drainage.
are trickier problems that can be easily
overlooked due to lack of awareness of
how cellular radio works. We know that small incremental loadings, which incur HTTP and Its Interplay
the power consumption characteristics a key tradeoff between bandwidth with TCP
of the cellular interface are quite differ- and energy consumption. JavaScript- Now we shift our focus from website
ent from those in Wi-Fi and wired net- triggered delayed or periodical trans- contents to the Web protocol. As the
works. In cellular networks, it’s much fers should be minimized unless they key protocol that supports the WWW,
more energy-efficient to transmit data are really necessary. For delay-tolerant HTTP has been stunningly successful.
in a single bundle, instead of sending transfers such as user tracking, there is Based on recent measurement studies,
them slowly and separately. This is usually some leeway in terms of when HTTP accounts for at least 52 per-
because after a data transfer, the radio to schedule them. Therefore, their trans- cent of Internet traffic,5 and 82 per-
interface isn’t turned off until a fixed missions can be shifted to overlap with cent of the traffic delivered to mobile
timer, called a tail timer, expires. There- delay sensitive data to reduce the impact devices.6 The percentages are increas-
fore, having multiple transfers taking of the tails. Similarly, multiple instances ing because more and more non-Web
place intermittently will significantly of delay-tolerant transfers can also be applications are using HTTP.
lengthen the radio-on time, leading batched together. Ideally, both optimi- HTTP functions as a request–
to extra battery drainage, as Figure 1 zations (called piggybacking and batch- response protocol. The client, such as
shows. ing, respectively) need to gain browser a Web browser, sends an HTTP request
The cellular tail effect has several support. message to the server asking for a par-
implications on mobile Web browsing. Caching is another effective mech- ticular resource object (for example,
As an example, copied from their desk- anism to reduce bandwidth consump- an HTML page or an image). The server
top versions, many mobile sites per- tion by eliminating redundant data then returns with an HTTP response
form infinite scrolling: when the user transfers. The effectiveness of caching containing the object data. HTTP runs
scrolls down to the bottom of a page, relies on two aspects: correct cach- above the Transmission Control Pro-
the browser will load and append more ing implementation (browsers must tocol (TCP), which ensures reliable and
content to the page. This behavior is strictly conform to the protocol speci- in-order delivery of the underlying byte
totally legitimate in wired networks. But fication) and good caching semantics stream over the network.
in cellular networks, this bursty traffic (content providers should properly HTTP has been evolving during
pattern (see Figure 1) can potentially set objects’ caching parameters, the past 25 years. The current HTTP
keep the radio interface always on as such as life time). Regarding caching version used by the vast majority of
the user slowly scrolls the page, leading implementation, prior measurement4 today’s Web servers is HTTP/1.1, which
to energy inefficiencies. Another rep- reveals that quite a few HTTP libraries was standardized in 1999.7 However,
resentative example is that many web- don’t perform any caching, and even HTTP/1.1 exhibits performance issues as
sites issue periodical pings for tracking some popular mobile browsers don’t webpages become rich and complex. A
users. These periodical pings are usually fully support HTTP/1.1 caching. For modern webpage might consist of hun-
triggered by third-party JavaScript (for caching semantics, many profession- dreds of objects, which are loaded by a
example, Chartbeat.com) that is embed- ally designed pages contain objects large number of short-lived TCP con-
ded in the main HTML page. Again with a short lifetime (for example, 1 nections in today’s HTTP/1.1 scheme.
due to the tail effect, these periodical hour), and such objects often belong For example, on a Samsung Galaxy S5
requests account for most of the radio to images, fonts, and CSS files, that are smartphone, I conducted an experiment
energy consumption of loading a page not expected to change frequently. A over a commercial LTE network by load-
although their sizes are small. similar situation happens with com- ing CNN.com, whose 240 objects (1.4
There are several fixes for these pression, which is often underused for Mbytes’ worth of data) from 70 domains
issues. Web designers should balance compressible textual objects such as were downloaded by 137 connections.
between a large initial loading and many HTML and JavaScript files. The total page load time is 7.7 seconds.
SEPTEMBER/OCTOBER 2015 73
www.computer.org/computingedge 41
Beyond Wires
Client
is used, the browser opens one TCP
Req
nse
connection and reuses it across mul-
spo
uest
(illustrated in Figure 1), tens of control implemented CC employs a loss recov- of all HTTP connections. Today, even
messages are exchanged between the ery mechanism that’s more aggressive services such as YouTube use HTTPS.
mobile device and the base station for than that of the default TCP, thus mitigat- HTTPS’ cryptographic operations
establishing the data channel. How- ing the impact of loss on multiplexing. incur little energy cost on mobile
ever, at a higher layer, because TCP is Besides overcoming various limitations devices. However, the overheads intro-
not aware of the radio state change, in SPDY and HTTP/2, QUIC also intro- duced by the handshake phase are not
it might simply regard the delay as a duces several new features. For example, negligible. First, a full TLS handshake
signal of packet loss, and therefore it supports zero-round-trip-time con- takes at least two round trips. Assum-
retransmit the packet. Such spurious nection setup when the client revisits a ing the average round-trip time in LTE
retransmissions cause performance server (in contrast, TCP’s conventional is 70 milliseconds,15 which translates
degradation by cutting TCP’s slow- three-way handshake always takes one to 140 ms for a full handshake. Sec-
start threshold (ssthresh). They occur round trip); can optionally use forward ond, the bandwidth consumption of
frequently in 3G UMTS/HSPA net- error correction to better handle losses a TLS handshake is not trivial. A TLS
works, and even in LTE.10 by adding redundancy to its data trans- handshake consumes on average 4.4
After this discussion, readers might mission; and provides better support for Kbytes of data.1 This might sound small
want to know the final answer to the encryption and multipath, which is par- for a single handshake, but when hun-
query, shall we use HTTP/1.1 or HTTP/2 ticularly attractive for mobile devices dreds of connections are used to load
for mobile Web? Thoroughly answer- with multiple network interfaces (for a page in HTTP/1.1 (even SPDY might
ing this question requires more study example, Wi-Fi and cellular). issue a large number of connections
of HTTP/2’s behaviors in realistic Early measurement using synthetic due to domain sharding as mentioned
mobile settings. Nevertheless, given that webpages shows that QUIC outperforms before), the overall penalty could be
HTTP/2 is new, it’s a promising protocol SPDY in many scenarios.13 However, considerable. As a result, when loading
for high-performance mobile Web. Cur- because QUIC is still experimental, its mobile sites using a warm cache, the
rently, all main-stream mobile browsers, performance for mobile Web is unclear, average bandwidth overhead of TLS is
as well as top content providers such as and some of its features are poten- as high as 34 percent.
Google and Facebook, support SPDY tially not mobile friendly. For exam- Two strategies can be leveraged to
and/or HTTP/2. Flywheel,12 Google’s ple, enabling forward error correction mitigate the negative impacts incurred
mobile Web proxy that serves millions in QUIC consumes up to one-third of by TLS. First, content providers
of customers, also uses SPDY by default, available bandwidth even when there should make fewer HTTPS sessions
and is migrating to HTTP/2. is no loss. by, for example, upgrading to HTTP/2
and reducing the number of distinct
Beyond HTTP/2 HTTPS domains when possible. Doing so facil-
It might be too early to anticipate TLS is the de facto protocol for securing itates TLS session reuse and mitigates
what will happen beyond HTTP/2, but a TCP connection. Using TLS to transfer the impact of domain sharding. Sec-
researchers have already started work- data involves two phases: handshake ond, a Web server should be config-
ing on this issue. Among many propos- and data transmission. In the hand- ured to support TLS Session Identifier
als, it’s worth highlighting the Quick shake phase, TLS uses the Public Key or Session Ticket.16 These would allow
UDP Internet Connections (QUIC) pro- Infrastructure to authenticate the server lightweight TLS handshakes when the
tocol, which Google proposed recently. and to negotiate a symmetric session same client connects to the server
QUIC has already been deployed at key, which is subsequently used in the within a certain time window since its
some Google servers. data transmission phase for encryption last visit.
Similar to HTTP/2, QUIC also mul- and decryption. The use of HTTP over
tiplexes objects into a single transport TLS (or its predecessor, SSL) is referred
connection. However, the most nota-
ble feature of QUIC is that it works above
UDP instead of TCP, thus eliminating
to as HTTP Secure (HTTPS). Historically,
HTTPS was primarily used by Web ser-
vices involving exchanging sensitive
S o far we have discussed how vari-
ous aspects at different layers
affect mobile-friendly Web browsing.
the aforementioned head-of-line block- data (for example, a financial trans- At a high level, we see that achiev-
ing issue that is a side effect of TCP’s action). But it’s getting increasingly ing mobile-friendly Web browsing
connection-level ordering. Because popular, exhibiting a potential trend of is much more than merely tailor-
UDP has no built-in congestion control HTTPS everywhere. A recent measure- ing websites’ appearance for mobile
(CC), QUIC implements a flexible CC ment14 reports that as of 2014, more device screens. It instead requires
framework into which various CC algo- than 25 percent of server IPs accept optimizations on webpage content,
rithms can be plugged. QUIC’s currently HTTPS, which accounts for 50 percent Web protocols, transport layers, and
SEPTEMBER/OCTOBER 2015 75
www.computer.org/computingedge 43
Beyond Wires
wireless technology. Fueled by joint Proc. Int’l World Wide Web Conf. (WWW), 9. X.S. Wang et al., “How Speedy Is SPDY?”
efforts of all entities in the mobile eco- 2012, pp. 31–40. Proc. 11th Usenix Symp. Networked Systems
system, including content providers, 3. E. Cuervo et al., “MAUI: Making Smart- Design and Implementation, 2014; www.
Web browser developers, operating phones Last Longer with Code Offload,” Proc. usenix.org/system/files/conference/nsdi14/
system vendors, and mobile device Int’l Conf. Mobile Systems, Applications, and nsdi14-paper-wang_xiao_sophia.pdf.
manufacturers, mobile Web will Services (Mobisys), 2010, pp. 49–62. 10. J. Erman et al., “Towards a SPDY’ier Mobile
achieve good performance, a small 4. F. Qian et al., “Web Caching on Smart- Web,” Proc. Conf. Emerging Networking
energy footprint, and low bandwidth phones: Ideal vs. Reality,” Proc. Int’l Conf. EXperiments and Technologies (CoNEXT),
consumption. Mobile Systems, Applications, and Services 2013, pp. 303–314.
(Mobisys), 2012, pp. 127–140. 11. F. Qian et al., “Characterizing Radio
Acknowledgments 5. C. Labovitz et al., “Internet Inter-Domain Resource Allocation for 3G Networks,”
I thank Yih-Farn Robin Chen from AT&T Labs– Traffic,” Proc. ACM Sigcomm, 2010, pp. 75–86. Proc. 10th ACM Sigcomm Conf. Internet
Research for his valuable feedback. 6. J. Erman et al., “To Cache or Not to Cache: Measurement (IMC), 2010, pp. 137–150.
The 3G Case,” IEEE Internet Computing, 12. V. Agababov et al., “Flywheel: Google’s
References vol. 15, no. 2, 2011, pp. 27–34. Data Compression Proxy for the Mobile
1. F. Qian, S. Sen, and O. Spatscheck, “Char- 7. R. Fielding et al., Hypertext Transfer Proto- Web,” Proc. 12th Usenix Symp. Networked
acterizing Resource Usage for Mobile Web col-HTTP/1.1, World Wide Web Consortium Systems Design and Implementation, 2015;
Browsing,” Proc. Int’l Conf. Mobile Sys- (W3C) RFC 2616, 1999; www.w3.org/Proto- www.usenix.org/system/files/conference/
tems, Applications, and Services, 2014, cols/rfc2616/rfc2616.html. nsdi15/nsdi15-paper-agababov.pdf.
pp. 218–231. 8. SPDY Protocol-Draft 3.1, Chromium Proj- 13. G. Carlucci, L.D. Cicco, and S. Mascolo,
2. Z. Wang et al., “How Far Can Client-Only ect, 2015; www.chromium.org/spdy/spdy- “HTTP over UDP: An Experimental Investi-
Solutions Go for Mobile Browser Speed?” protocol/spdy-protocol-draft3-1. gation of QUIC,” Proc. ACM Symp. Applied
Computing, 2015, pp. 609–614.
14. D. Naylor et al., “The Cost of the ‘S’ in
HTTPS,” Proc. Conf. Emerging Networking
EXperiments and Technologies (CoNEXT),
2014, pp. 133–140.
15. J. Huang et al., “An In-Depth Study of LTE:
Effect of Network Protocol and Application
Behavior on Performance,” Proc. ACM Sig-
comm, 2013, pp. 363–374.
16. J. Salowey et al., TLS Session Resumption
without Server-Side State, IETF RFC 4507,
2006; https://tools.ietf.org/html/rfc5077.
From the analytical engine to the
supercomputer, from Pascal to von Feng Qian is an assistant professor in the
Computer Science Department, School of
Neumann—the IEEE Annals of the History Informatics and Computing at the Indiana
University Bloomington. His research inter-
of Computing covers the breadth of ests include computer networking, mobile
computer history. The quarterly publication systems, network measurement, and energy
efficiency. Qian has a PhD in computer sci-
is an active center for the collection and ence and engineering from the University
www.computer.org/epub
FROM
FROMTHE
THEEDITOR
EDITOR Editor in Chief: Diomidis Spinellis
Athens University of Economics
and Business, [email protected]
Architecture from a
Developer’s Perspective
Diomidis Spinellis
I CAN STILL remember when, back The Importance of Software tightly coded routines, graphics ker-
in 2003, a fellow FreeBSD developer Architecture … nels, and some game engines. How-
chastised me for an architectural The most obvious way that architec- ever, once the scale increases, the
misstep. I had proposed adding a ture affects quality is maintainabil- only hope to cope with rising de-
reference to a related C library func- ity. Code that lacks clear boundaries mand comes from parallelism ar-
tion in the documentation of a Unix and interfaces is difficult to analyze. chitectures. These let you split your
system call. “I believe this is bad It’s also brittle and, therefore, dif- work horizontally (along tasks) or
practice (a layering violation),” he ficult to change. A small addition vertically (across multiple clients).
They also guide you on how to shard
or partition your data. Through
such architectures, you increase both
your current service capacity and fu-
Architecture is difficult ture scalability. Similar approaches
can increase your service’s reliabil-
to learn and practice. ity. First, you can manage fault toler-
ance by distributing the work among
nodes that can step in to cover each
other in the event of a failure. Sec-
ond, the same nodes can then help
wrote to me. He was right; I hadn’t or fi x in one place can cause a cas- the more complex task of recovery.
thought carefully about that small cade of additional required work, Don’t even think about orchestrating
addition. The truth is that as a de- or worse, bugs. Also, you can’t eas- recoverability into your service with-
veloper you practice architecture ily test and debug such software be- out an architecture to guide the deli-
daily, but only rarely do you have cause it will lack obvious interfaces cate required dance.
time to reflect on your correspond- where you can apply test probes or Another quality aspect that soft-
ing decisions, actions, and their con- add logging functionality. ware architecture aids is portabil-
sequences. Software architecture af- Then comes performance. On a ity—a must in an age of rapid in-
fects the quality of what you build small scale, code jumbled together novation and shifting technology
and how you build it. can be famously efficient: think of alliances. Through clear layering,
IEEE Software To be the best source of reliable, useful, peer-reviewed information for leading software practitioners—
Mission Statement the developers and managers who want to keep up with rapid technology change.
464 I E E E S OFebruary
F T W A R2016 Published
E | PUBLISHED BY THE IEEE C O M P U Tby
E Rthe
SOIEEE
C I EComputer
TY Society 0 7 4 0 - 7 4 52376-113X/16/$33.00
9/15/$31.00 © 2015 © I 2016
E E E IEEE
E DI T O R I AL
S TAFF
NEW
Lead Editor: Brian Brannon,
IN 2016
[email protected]
Content Editor: Dennis Taylor
SER&IP 15 BEST PAPER AWARD Staff Editors: Lee Garber, Meghan O’Dell,
and Rebecca Torres
The 2nd Annual Software Engineering Research & Industrial Practice 2015 Publications Coordinator:
IEEE TRANSACTIONS ON
(SER&IP 15) workshop, held in conjunction with the International Conference
on Software Engineering 2015 (ICSE 15), focused on the sometimes problem-
SUSTAINABLE
[email protected]
Editorial Designer: Jennie Zhu-Mai
atic interface between the academic and practitioner communities. COMPUTING
Production Specialist: Mark Bartosik
Given IEEE Software’s mandate to present the practical and impactful Webmaster: Brandi Ortega
work that can help bridge this gap, the magazine was pleased to sponsor the Multimedia Editor: Erica Hardison
Best Paper Award recognizing some of the outstanding work presented at the LEARN
Illustrators: Annie Jiu, Robert MORE
Stack,
workshop. IEEE Software editor in chief emeritus Forrest Shull served on the and Alex Torres
selection committee and helped select the best paper on the basis of the crite- Cover Artist: Peter Bollinger
For more information
Director, Products & Services:
ria of readability, rigor, and relevance. on paper submission,
Evan Butterfield
The selection committee chose “Principles and a Process for Successful featured articles, call-for-
Senior papers,
Manager, Editorial Services:
and subscription
Industry Cooperation— the Case of TUM and Munich Re,” by Maximilian Junk- Robin Baldwin
links visit:
er, Manfred Broy, Benedikt Hauptmann, Wolfgang Boehm, Henning Femmer, Manager, Editorial Services Content
Sebastian Eder, Elmar Juergens, Rainer Janßen, and Rudolf Vaas, for the Best Development:
www.computer.org/tsusc
Richard Park
Paper Award on the basis of the soundness of the lessons learned and the bal- Senior Business Development Manager:
anced treatment of both positive and negative aspects of tech transfer. IEEE Sandra Brown
Software editor in chief Diomidis Spinnellis presented the award on behalf of Senior Advertising Coordinators:
the magazine. (For more on this paper, see Practitioner’s Digest on p. 27.) Marian Anderson, [email protected]
Please join us in congratulating the authors for their excellent work and Debbie Sims, [email protected]
thank all of the authors for taking the time to share their experiences in such C S P U B L I C AT I O N S B OA R D
a forum.
Jean-Luc Gaudiot (VP for Publications), Alain
April, Alfredo Benso, Laxmi Bhuyan, Greg
Byrd, Robert Dupuis, David S. Ebert, Ming C.
Lin, Linda I. Shafer, Forrest Shull, H.J. Siegel
M AG A Z I N E O P E R AT I O N S
your software can quickly adapt to can allow you to tailor quality and COMMITTEE
new hardware platforms and soft- processes characteristics for diverse Forrest Shull (chair), M. Brian Blake, Maria
ware interfaces. Proper encapsula- software modules. Regarding test- Ebling, Lieven Eeckhout, Miguel Encarnação,
tion can also make your software ing processes, modern testing frame- Nathan Ensmenger,
T-SUSC Sumi
is Helal, San Murug-
financially
cosponsored
esan, Shari Lawrence byYong
Pfleeger, IEEERui, Dio-
easier to install and coexist with works are typically embodiments for Computer Society and IEEE
midis Spinellis, George K. Thiruvathukal, Mazin
other offerings. corresponding architectural styles. Communications Society
Yousif, Daniel Zeng
Software architecture also affects Finally, software architecture T-SUSC is technically cosponsored
your main development processes— is the key enabler for reusability— Editorial: Allby IEEE Council
submissions ontoElectronic
are subject editing for
clarity, style, and space.
DesignUnless otherwise stated, bylined
Automation
the way you can split the teams that processes that span many of your articles and departments, as well as product and service
descriptions, reflect the author’s or firm’s opinion.
develop the software, how you can organization’s products and ser- Inclusion in IEEE Software does not necessarily constitute
run it across countries and time vices. It can help you create mod- endorsement by IEEE or the IEEE Computer Society.
zones, and how you can maintain ules that can be reused within your To Submit: Access the IEEE Computer Society’s Web-
based system, ScholarOne, at http://mc.manuscriptcentral
it without disruptions. It also helps organization, and it can drive soft- .com/sw-cs. Be sure to select the right manuscript type
when submitting. Articles must be original and not exceed
your ancillary processes. A suitable ware product lines. 4,700 words including figures and tables, which count for
200 words each.
architecture goes hand-in-hand with
IEEE prohibits discrimination, harassment and bullying:
effective configuration management … And What to Do For more information, visit www.ieee.org/web/aboutus
tasks, such as versioning, branch- Given software architecture’s impor- /whatis/policies/p9-26.html.
ing, merging, and continuous inte- tance, what should you be doing as
gration. Software architecture can a developer? This is a tough ques-
provide clear boundaries to manage tion, because architecture is diffi-
quality efficiently. For instance, it cult to learn and practice (it’s been
www.computer.org/computingedge
SEPTEMBER/OCTOBER 2 0 15 | I E E E S O F T WA R E 5 47
FROM THE EDITOR
described as an old man’s art), and of design patterns and other ele- Keep in mind that architecture
its mistakes can be hugely expensive. ments often misused as architectural is about more than software code.
My advice is to focus relentlessly crutches. Frameworks, design pat- Consider how your whole system (in
on the primary concerns. Smaller terns, and enterprise-scale platforms the widest possible sense) will be de-
ones are important, but the big are all useful, but applying them to composed into processes or services;
ones determine success or failure. the wrong area creates more prob- how data are stored, communicated,
Look at your software’s most com- lems than it solves. The cognitive and processed; and how all parts fit
mon, large, and critical functions; load of a needlessly complex soft- together to deliver the required func-
study your software’s future evolu- ware architecture is higher than that tionality, reliability, capacity, scal-
tion path, looking for things that are of a slightly simplistic one. There- ability, maintainability, and porta-
difficult to change; and determine fore, avoid designing structures bility. Your decisions here may affect
the key quality attributes. These when there isn’t a clear demand for which parts you can purchase, re-
elements will point toward the im- them, and choose the simplest solu- use, or outsource. Earlier this year,
portant things that your architec- tion that can do the work. a team I worked with faced the prob-
ture needs to address. Once you have This brings me to another prin- lem of maintaining a large set of
them, invest significant effort in de- ciple: be ready to refactor when the data that would slowly evolve over
veloping a matching architecture. need emerges. Your lean and mean time, changing through both daily
Consider other successful examples, software architecture will be pres- automated processes and human in-
ask around, look for already avail- sured as the system evolves, accu- teractions. All changes should be au-
able modules, prototype, and ex- mulating technical debt. In contrast ditable, and it should be possible to
periment. Be ready to toss out a so- to an overengineered system, the rerun the processing starting at an
lution if something better emerges. pressure will quickly become ap- arbitrary point in time.
Remember, this is what can make or parent and the pressure points will Initially, we considered as an ob-
break your software. reveal where refactoring is truly re- vious choice a complex relational da-
I recently withdrew a paper I had quired. Consider yourself lucky at tabase schema encompassing time-
submitted and started working al- that point: in contrast to green-field stamped records, user authorizations,
most from scratch on a two-year ef- development, you have a very clear processing chain identifiers, and an
fort when a much more experienced requirement of where to invest your event log. We also considered us-
ing file-system directories to imple-
ment part of this functionality. Both
approaches involved considerable
amounts of application code. It then
Focus relentlessly dawned on us that by using a revi-
sion control system such as Git to
on the primary concerns. version the data files, we could get
most of the required features “for
free.” As an added bonus, team mem-
bers could also employ user-friendly
Git interfaces to manipulate the data.
colleague suggested a drastic im- architectural and refactoring effort. This simple decision, which took us
provement in a design. Not all soft- Do it without stinginess or looking about a day of deliberation and dis-
ware deserves such sacrifices, but back. An interesting example is the cussions to agree on, saved us weeks
you should be ready to make them evolution of the pipes and fi lters ar- of development effort and debugging.
when you see the potential. chitecture under Unix. When pipes
F
Then, avoid the temptation to were introduced to Unix, Bell Labs
overengineer. The worst architec- researchers worked tirelessly to inally, when you develop
tural sins have been committed by convert all their existing programs your architecture, you
developers keen to demonstrate into fi lters that could be connected should adhere to sound soft-
their (often half-baked) knowledge through them. The rest is history. ware design principles:
48
6 ComputingEdge
I E E E S O F T W A R E | W W W. C O M P U T E R . O R G / S O F T W A R E | @ I E E E S O F T WA R E February 2016
FROM THE EDITOR
SCIENCE
position, modularity, encapsu- puter labs and a library, which contains a collec- is dependent upon educational preparation and
tion of over one million items. The University also experience. Subject to budgetary authorization.
lation, and information hiding;
has campuses in Contra Costa County, Online, DATE OF APPOINTMENT: Fall Quarter, 2016
• separation of interfaces from ENGINEERING
and in Oakland, California. With an enrollment of
implementation and of policy approximately 13,000 students and 600 faculty, QUALIFICATIONS: Applicants must have a Ph.D. in
CSUEB is organized into four colleges: Letters, Computer Science by September 2016. Applicants
from mechanisms; and who can teach undergraduate and master’s level
Arts, and Social Sciences; Business and Eco-
• completeness, economy, and nomics; Education and Allied Studies; and Sci- courses in most or all of the core subject matter in
simplicity. ence. The University offers bachelor’s degrees in computer science. Candidates should demonstrate
50 fields, minors in 61 fields, master’s degrees experience in teaching, mentoring, research, or
in 37, and 1 doctoral degree program. http:// community service that has prepared them to con-
Adhering to all these tenets www20.csueastbay.edu/ tribute to our commitment to diversity and excel-
might sound like a tall order. But lence. Additionally, applicants must demonstrate a
THE DEPARTMENT: The Department of Computer record of scholarly activity. This University is fully
nobody ever said that architecture Science has over 20 full-time faculty members, committed to the rights of students, staff and fac-
is cheap; it’s a sound investment for with a wide range of backgrounds and interests. ulty with disabilities in accordance with applicable
your current needs and future evo- The faculty is committed to teaching its under- state and federal laws. For more information about
The Perfect
graduate and Master’s level students. In a typical the University’s program supporting the rights of
lution. As Brian Foote and Joseph quarter, the Department will offer over 30 under- our students with disabilities see: http://www20
Yoder once said, “If you think good graduate and about 20 graduate classes. Classes .csueastbay.edu/af/departments/as/
architecture is expensive, try bad are offered both in day and evening. Classes are
APPLICATION DEADLINE: The deadline for ap-
generally small, with many opportunities for
Blend
architecture.” faculty-student contact. The Department offers
plications is October 31, 2015; review of ap-
plications will begin November 1, 2015. The
a variety of degrees: B.S. in Computer Science
position, however, will be considered open un-
(with possible options in Networking and Data
til filled. Please submit a letter of application,
Communications, Software Engineering, or Com-
which addresses the qualifications noted in the
puter Engineering), and M.S. in both Computer
position announcement; a complete and current
Science and Computer Networks. Currently,
vita at https://my.csueastbay.edu/psp/pspdb1
thereAtarethe
moreintersection
than 350 undergraduate majors
of science, engineering,
/EMPLOYEE/HRMS/c/HRS_HRAM.HRS_CE.GBL
and over 350 students in the M.S. programs.
and computer science, ComputingAdditionally, in Science please email graduate tran-
DUTIES OF THE POSITION (2 positions currently scripts, 3 letters of recommendation, 3 refer-
& Engineering (CiSE) magazine is where
available): Teaching courses at B.S. and M.S. lev- ences, a statement of teaching philosophy, and
conversations
els, curriculum developmentstart and
at both innovations
levels, and evidencehappen.
of teaching and research abilities to
sustaining a research program. Please note that appears
CiSE the Computer inScience Search Committee to this
teaching assignments at California State Univer- email: [email protected].
IEEE
sity, East Bay include courses at the Hayward, Xplore and
AIPtolibrary A detailed
packages,position announcement is avail-
Concord and Online campuses. In addition
able at: http://www20.csueastbay.edu/about
teaching, all faculty have advising responsibili-
representing more
/career-opportunities/
ties, assist the department with administrative
This article originally appeared in than
and/or committee work, and are expected to as- 50
NOTE:scientifi cState University, East Bay hires
California
IEEE Software, vol. 32, no. 5, sume campus-wide committee responsibilities. and engineering
only individuals lawfully authorized to work in the
United States. All offers of employment are con-
societies.
2015. The ideal candidate for this position is able to:
tingent upon presentation of documents demon-
1. Teach a wide range of computer science strating the appointee’s identity and eligibility to
courses including most or all of the core sub- work, in accordance with the provisions of the
ject matter at both the undergraduate and Immigration Reform and Control Act. If you are
See www.computer.org/ graduate level. (considering all areas of com- considered as a finalist for the position, you may
software-multimedia puter science, capable of teaching in emerg- be subject to a background check.
for multimedia content ing areas). As an Equal Opportunity Employer, CSUEB
related to this article. 2. Support offerings for undergraduate C.S. stu- does not discriminate on the basis of any protect-
dents including teaching courses, developing ed categories: age, ancestry, citizenship, color,
the undergraduate curriculum, and engaging disability, gender, immigration status, marital
undergraduate students in research. status, national origin, race, religion, sexual ori-
Selected CS articles and columns 3. Support offerings for graduate C.S. students entation, or veteran’s status. The University is
are also available for free at – teaching courses, guiding M.S. theses, de- committed to the principles of diversity in em-
http://ComputingNow.computer.org. veloping the graduate comprehensive exami- ployment and to creating a stimulating learning
nation, etc. environment for its diverse student body.
50 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
100
1070-986X/15/$31.00 c 2015 IEEE Published by the IEEE Computer Society
the high end of the mobile phone market to
becoming a truly mass-market proposition.”3
With the prevalence of new smart mobile and Users are increasingly
wearable devices, such as Google Glass and
Apple Watch, it has become increasingly con-
demanding new forms of
venient for people to access the Internet every- cyber communication
where, propelling the growing popularity of
new media types as the management and that more closely
uploading of multimedia content becomes
simpler than ever. Users can now share their resemble the
experience anytime, anywhere, and unlike with
traditional social media, they do not have to characteristics of real
capture the offline world and recreate it online.
They simply record it live and communicate at in-person interaction.
the same time, which has laid the foundation
for the success of online messaging apps with
multimedia support.
especially when compared to the longer-form communication startups are bubbling up with
videos hosted by YouTube, these apps make the an astonishing variety of services and products.
media-sharing process extremely simple and Fueling this new market are the higher-than-
convenient, and they fit perfectly with the ever inflow of venture capital investments and
growing fragmentation in user behavior. emergence of basic building blocks that make
nimble startup possible, including reusable
Back to the Basics open source modules made available on the
The advent of social networks has facilitated Internet; easy-to-learn programming frame-
conservation and information distribution works; along with cloud-based services that
across a large group of users. However, their can host startup offerings (Amazon’s cloud
www.computer.org/computingedge 51
101
Startups
Anonymous Messaging
Recent years have also seen the rise (and fall) of
computing), distribute them (Apple’s App a new type of social messaging apps called anon-
Store), and market them (Facebook, Twitter). To ymous messaging, such as Whisper, Secret, and
exemplify, I describe three categories of the lat- Yik Yak. These apps draw increasing attentions
est online messaging startups and explain how from users by allowing them to post public mes-
multimedia technology plays a vital role in sages without revealing their identities, while
their product offerings. their friends or friends of friends can respond
and search by popularity, topic, or location.
Ephemeral Messaging and Short Videos Consequently, these apps naturally provide a
Among the most promising directions for online communal experience among anonymity.
messaging are ephemeral messaging apps. Their For example, one of the most well-known
idea sounds extremely simple—users have only anonymous apps, Whisper, attracted 10 million
a limited amount of time (typically several sec- active users in 2015.8 On average, the Whisper
onds) to record their images or videos, and the app is opened 1 million times an hour, which
media content self-destructs after a certain means its users are highly engaging in this plat-
expiration time. This form of messaging has form. Similarly, Secret amassed 15 million users
achieved tremendous success in recent years. and raised $35 million in venture capital before
For example, Snapchat, the leading ephem- its demise.8 The popularity of these apps can
eral messaging app, has been on a serious largely be attributed to the so-called “identity
growth curve—in 2014, it had the fastest growing fatigue”—that is, Internet users’ growing weari-
audience.7 More impressively, a recent infographic ness with associating digital communications
(https://photoworld.com/how-big-is-snapchat) with their real-world personas, making them
has shown there are already more photos susceptible to public scrutiny. As Brooks Buf-
shared on Snapchat than on main-stream fington, CEO of Yik Yak, pointed out, “Once
social networks, such as Facebook and Twitter, you have a profile, you are expected to act a cer-
despite its smaller user base. tain way. People only post the best, most beau-
To compete in the same space, three other tiful parts of their life on Instagram … [For
ephemeral messaging startups raised over US$43 anonymous apps] you just put something out
million in 2014: Wickr, Frankly, and Cyber there, and if it doesn’t resonate with anyone,
Dust. Blink is another similar startup that was it’s not a reflection on you.”9
acquired by Yahoo for an undisclosed amount, It is worth noting that multimedia has been
and Facebook had its second attempt at an widely used in some of these services. For exam-
IEEE MultiMedia
ephemeral app called Slingshot. Short videos ple, Whisper and Secret often ask users to select
can be popular without being ephemeral. For a relevant picture to feature with the anony-
example, Vine lets users create mini videos up to mous text message. Users can use an image
six seconds long and has attracted 100 million from the movie Poltergeist to illustrate words
monthly active users after being acquired by such as “fear,” “ghosts,” and “dreams.” This is
Twitter in 2012. similar to how Google’s search engine shows
indications of the explosive growth in capturing remains to be a challenging topic for mobile
and sharing mobile videos, driven by recent live streaming.
technology advances and user behavior changes.
In fact, a 2015 Cisco report predicted that by
2017, video will account for 30 percent of Inter-
net traffic and 70 percent of traffic on mobile
A s more and more users can gain access to
Internet, have shorter attention spans,
and show an inclination to return to basic com-
devices,11 and these numbers are likely to grow munication patterns, a new breed of successful
down the road. online communication startups have emerged
The appearance of live-streaming apps has to meet with these needs. As multimedia tech-
already impacted the way the media industry nology continues to evolve, this disruptive
www.computer.org/computingedge 53
103
Startups
Keeping
YOU at the Stay Informed
Access to Computer Society books,
Center
technical magazines and research
journals arm you with Industry
intelligence to keep you ahead of the
learning curve.
of Technology
• 3,000 technical books included
with membership from books 24 x
7 and Safari Books Online
• 13 technical magazines
More at www.computer.org/publications
54 ComputingEdge February 2016
104
Scientific Programming
Editors: Konrad Hinsen, [email protected] | Matthew Turk, [email protected]
T
echnical debt is a recent metaphor that the soft- before refactoring or rewriting, be it to fix bugs or quickly add
ware industry is rapidly adopting. First used by features, will require more effort than it would for well-written
Ward Cunningham in a 1992 report on a software code. It’s also probable that much of this work will have to
development project (http://c2.com/doc/oopsla92. be repeated after paying back the debt—the additional effort
html), the term refers to future obligations that are the con- is the equivalent of paying interest. Another useful analogy
sequence of technical choices made for a short-term benefit. is debt default: defaulting on a technical debt lowers quality
The standard example is writing suboptimal code under standards, indicating that an objective can’t be met because of
time pressure, knowing that the code will have to be refac- a bad technical choice in the past. For a company, it can mean
tored or rewritten later to make the software maintainable. the end of a product line or, worse, the company itself.
The additional effort for refactoring or rewriting, which But just like a financial debt, a technical debt isn’t
doesn’t improve the software’s utility for its users and there- necessarily a bad thing. There can be good reasons for
fore doesn’t add market value, serves to pay back the debt. cutting corners and fixing the resulting problems later.
Being the first company to propose a product on the market
Debt, Interest, Payback, and Default is a competitive advantage that can procure long-term
The word debt emphasizes an analogy to monetary debt: both benefits. Similarly, a scientist can derive a significant benefit
are future obligations incurred in exchange for a short-term from being the first to publish an important new result. The
benefit. But the analogy goes further: both generate interest. In point of the technical debt metaphor isn’t to reprehend such
the example of the hastily written code, any work done on it choices but to remind us of the long-term consequences.
2376-113X/16/$33.00 © 2016 IEEE Published by the IEEE Computer Society February 2016 55
November/December 2015 Copublished by the IEEE CS and the AIP 1521-9615/15/$31.00 © 2015 IEEE Computing in Science & Engineering 103
Scientific Programming
Like all analogies, the debt metaphor has its version backward compatible with earlier versions
limits. A financial debt is the result of a contract led to redundant features that made the language
between a borrower and a lender that describes the needlessly complicated. For example, old-style and
exact conditions of the debt. Unless you carelessly new-style classes exhibited subtly different behavior.
take a loan without reading the contract, you know Everyone agreed that new-style was better, but old-
what your future obligations are and what short- style was there before and existing code relied on it.
term benefits you get in return. Technical debt Similarly, the standard library acquired redundant
results from a contract with your future self, and modules, whereas other modules became obsolete in
its terms usually aren’t written down anywhere. An the sense that they relied on no longer maintained
experienced engineer will recognize having incurred libraries or were specific to computing platforms that
a technical debt but might not be able to give a had long since been transferred to museums.
precise estimate of the interest and the final payback. The reason the transition to Python 3 is partly
An inexperienced person can even incur technical a repayment and partly a default is that it preserves
debt without being aware of it at all, seeing the short- one objective while violating another. Python started
term benefit but not the long-term obligations. out with the goal of being a simple and easy-to-learn
language, an objective that was preserved with the
A Case Study: The Python Language general cleanup that led to Python 3. But publishing
A simple Web search yields many examples of and a programming language and encouraging people
discussions about technical debt in the context of to use it implies the promise of not breaking their
commercial software development. Much of this code in the future. This tacit promise was broken
applies to scientific software as well, especially to with Python 3, which is incompatible in many
larger and long-lived software projects with multiple details with earlier versions—the two objectives
developers and some form of project management. being contradictory, the only way to maintain both
However, both the nature of these software projects would have been to stop future evolution. Most
and of the organizations behind them is much more programming languages face this choice at some
diverse in scientific computing. In particular, much time, but most designers choose to continuously
software development happens in relatively small accumulate complexity rather than clean up the
research groups that have informal collaborations mess. In other words, they default on the technical
with other such groups, either on a common debt by giving up simplicity.
software package or on distinct but interdependent Looking at this from the viewpoint of the creators
software packages. In such an organization, anyone’s of scientific libraries written in Python, we see how
technical debt has an impact on everyone else. technical debt in Python’s development has a direct
I can illustrate this with examples from the impact on their work. With the Python development
scientific Python ecosystem, the term commonly community moving on to Python 3, it will eventually
used to describe the large set of scientific libraries have to abandon Python 2. Library authors thus
written in the Python language. It has an onion- have to choose: either migrate to Python 3 now or
like structure, with the Python language itself at keep the Python 2 platform alive by taking over its
the core. The next layer contains a small number maintenance. Both choices involve additional effort.
of scientific infrastructure libraries such as NumPy Doing nothing seems like a third option, but given
(array computations) and matplotlib (plotting). The the fast rate of change in computing platforms, today’s
third layer consists of domain-specific libraries that Python 2 will become effectively unusable within a
tend to depend on libraries in the infrastructure few years. Moreover, hardly any scientific library is
layer or on other items in the domain-specific layer. useful in isolation, so everyone’s choice depends on the
Outside of these three layers, we find “client code”: expected behavior of the authors of related libraries. At
scripts and workflows that are specific to a research this time, the core infrastructure libraries and many of
project but also highly domain-specific software the bigger domain-specific offerings have initiated or
tools with graphical user interfaces. even completed the transition to Python 3, while still
The transition from Python 2 to Python 3, which maintaining some level of compatibility with Python
started in 2008 and is still going on, is a nice example 2. Many libraries with a smaller developer base remain
of paying back technical debt with a partial default. in the Python 2 universe, lacking either the means or
The Python language had continuously evolved the motivation to move on.
over the years, acquiring both new features and new In terms of the technical debt metaphor, we can
modules in its standard library. The desire to keep each say that choosing the Python language, or in fact
56 ComputingEdge February 2016
104 November/December 2015
choosing to base your work on any dependency or exception. We all work with immature technology
tool controlled by someone else, creates technical every day, and we know it. My computer crashes
debt. The short-term benefit is the immediate about once per month, requiring a reboot. It asks
availability of a useful software component. The me to install software updates, often labeled as
interest is the work required to adapt your own code security-critical, at least once a week. Broken Web
to changes in the dependencies or alternatively to links are a daily experience. It’s safe to assume
take on the responsibility of maintaining a version that scientific software is of no better quality, even
of those dependencies that remains compatible though the symptoms of bugs are usually more
with your own code. Paying back the debt would subtle and can go unnoticed. For scientists, who by
mean replacing the dependency with your own definition work at the frontiers of knowledge and
code, which is rarely done in practice. The technical technology, there’s really no way to avoid immature
debt resulting from dependencies is, in most cases, dependencies. We can, however, be aware of it and
perpetual. Moreover, such debts are practically try to anticipate the consequences, or at the very
inevitable because not depending on other people’s least, avoid pretending that there aren’t any.
work—that is, writing everything yourself—isn’t
a realistic option. After all, even the computer’s Debt in Research
operating system is a dependency. You can, however, The technical debt metaphor is most frequently
try to minimize risky dependencies as part of a applied in software development, but it applies
strategy for managing technical debt. Matthew Turk equally well elsewhere. An interesting example
recently wrote about this option in this department.1 is a recent exploration of the impact of data
The kind of technical debt involved here is dependencies in applications of machine learning
perhaps the most frequent one in computing, even techniques.2 Such a systems-level view of technical
before the standard example of cutting corners to debt is also useful in the context of scientific
terminate a project as early as possible. It can be research.
summarized as relying on immature technology. Science has long-established standards of quality
When you choose a programming language that’s that all scientists have the moral obligation to respect.
just a few years old, you should expect that nobody, In particular, they should make a serious effort to
not even its creator, has sufficient practical experience verify the results they obtain, actively searching
with it to have made all the right choices. Either the for potential mistakes to overcome confirmation
language will remain static and fade from popularity bias, the natural tendency of humans to search for
quickly, or it will change and become either messy confirmation rather than refutation of their own
or incompatible. In all these scenarios, you have a hypotheses. Moreover, scientists must publish
maintenance problem with your code that relies detailed accounts of their work to permit their
on it. If you want to avoid this, you should choose peers to verify it, attempt to reproduce the findings
a programming language that has been around for themselves, and build on it in future research. The
decades. Indeed, stability is one reason cited for respect of these obligations makes the difference
choosing Fortran. Of course, the same principle between a scientific result and anecdotal evidence.
applies to other dependencies such as libraries. It’s Verifying your own results and conclusions
probably safe to bet on BLAS being around for many implies first acquiring a sufficient understanding
more years without incompatible changes, but the of your methods and tools prior to using them, as
same can’t be expected of a recent implementation of well as ensuring that they’re adequate for the task.
today’s hottest algorithms. This well-known problem Computational scientists have traditionally been
of software becoming unusable because of changes in rather negligent about this. The few prominently
its dependencies is sometimes called software rot. This public cases of mistakes in scientific results due to bugs
isn’t a good metaphor, however—software doesn’t in software are probably just the tip of the iceberg,3
degrade in time. Rather, the foundations on which suggesting a widespread lack of testing. Moreover,
the software is built change—and not by decaying scientific software is often applied incorrectly, due to a
but as a side effect of improving. The software rot lack of understanding of the computational methods
metaphor has led to the equally misleading term that the software implements.4 This is partly the fault
software maintenance for keeping software usable by of scientists using software they don’t understand,
adapting it to evolving environments. but also partly the fault of scientific software authors
In a fast-moving field such as computing, providing insufficient documentation and neglecting
immature technology is the norm rather than the the readability of their source code.
www.computer.org/computingedge 57
www.computer.org/cise 105
Scientific Programming
The word negligence already suggests that CiSE has dedicated two theme issues to it (January/
basic human tendencies such as laziness are an February 2009 and July/August 2012). As with
important cause of these problems, but there’s also software bugs, there are both human and technical
a technical aspect to it. Scientists increasingly treat reasons, the latter being cases of technical debt again.
computational methods as similar to experimental One major reason for the widespread nonre-
ones and consider computers and software as the producibility of computational results is the use of
theoretician’s equivalent of experimental equipment. immature technology, which I’ve already discussed
This point of view is useful for simulation earlier in the context of software development. It
techniques, which produce data that’s analyzed and means that software must be actively maintained
evaluated in much the same way as experimental to be usable in the future, making software main-
measurements, with a strong emphasis on statistical tenance a requirement for reproducibility. Unfortu-
approaches. There is, however, a fundamental nately, active maintenance of all research software
difference between computers and instruments used down to the tiniest script used for data munging
in experiments. Lab instruments, like any physical requires more effort than the scientific community
devices, are subject to inevitable imperfections can afford to dedicate to such activities. This isn’t
in manufacture. They’re thus designed in such a only a question of affecting the means necessary
way that small imperfections can only cause small to do the work—in many cases, only the original
deviations in the results. Computers, on the other author of a script knows what it’s supposed to do
hand, are chaotic dynamical systems. Changing a exactly. If the original author is a PhD student who
single bit in a computer’s memory can change the leaves academic research after the thesis, no one is
result of a computation beyond any predictable left to do the maintenance. In practice, we most of-
bound. Computers are practically usable devices ten prefer to default on this kind of debt, all the
in spite of this sensitivity because of their extreme more because such a default is still socially accept-
reliability, compared to other technical artifacts. able today. The reproducible research movement
Although hardware errors can become a works toward paying back the debt in two ways:
problem with long-running computations on very ensuring the sustainability of widely used pieces of
large machines, for most applications of computers scientific software, and preserving more informa-
in scientific practice, it’s safe to assume that the tion about the computational environment of a
computer does precisely what the software tells it to particular research study, to be published alongside
do. However, errors in the software or in the input its results as essential documentation.
data are amplified with each computational step. Another technical reason for nonreproducibil-
Often, we can (and do) ensure that small errors in the ity is the sheer amount of information required for
input data translate to small deviations in the results fully specifying a computation. In theory, any com-
via a judicious choice of numerical methods. But we putation is defined by a single computer program.
don’t yet have good techniques for limiting the impact All we have to do is publish that program together
of software errors. We should therefore add the use of with a scientific article, and anyone could rerun it to
chaotic devices for computation to our technical debt verify the results. In practice, that program is a com-
account and accept the effort for carefully testing our plex assembly of a multitude of parts. Typically, we
software as an inevitable interest payment, hoping to have many libraries, and multiple programs that call
pay back the debt one day by a profound change in functions from these libraries. A compiler and linker
the way computers are used in research that limits the create a single unit for each of these programs, spe-
impact of chaotic behavior. Because most scientists cialized for a particular type of computer. We then
aren’t aware of this fundamental difference between combine several such programs with input data and
software and the physical devices used in experiments, an outer algorithmic layer often called a “workflow”
this particular debt resembles a loan taken without to obtain the result. To make it worse, we often
reading the contract. launch computational steps interactively, meaning
that part of the workflow exists only in our heads.
Reproducibility Tools for managing the assembly and execution of
The reproducibility requirement of science implies such complex computations have been around for a
the publication of a sufficiently detailed description long time—the well-known make utility for the Unix
of what was done. Computational science has family of operating systems was published in 1977.
performed very badly in this respect as well. This But they’ve been ignored by most computational
problem has received a lot of attention recently, and scientists until very recently, partly out of ignorance
58 ComputingEdge February 2016
106 November/December 2015
and partly for not wanting to learn the use of such it. This includes systems software (operating systems,
tools. This debt is in the category of cutting corners compilers), programming languages, scientific librar-
for advancing more rapidly. We pay interest in the ies, and software development tools. For scientists
form of increased manual labor, and we tend to de- preparing a research project, all of these items repre-
fault on the reproducibility aspect. sent debt-laden dependencies. The more stable and
A final but frequent category of technical debt predictable the computational infrastructure is, the
in computational science results from an obsession less risky these dependencies are. This ought to be
with performance. This debt is particularly difficult sufficient motivation for science funders to invest in
to deal with because the interest can go unnoticed, infrastructure. Fortunately, this is starting to happen.
and the debt is almost never paid back. Its impor- Another good investment for the prevention
tance has nevertheless been recognized and is well of debt escalation is education and training. As
expressed by the famous D.E. Knuth quote remind- I’ve shown, much debt is the result of uninformed
ing us that “premature optimization is the root of choices. In the ideal world, computational scientists
all evil (or at least most of it) in programming.”5 would be better prepared to make technical choices,
Best practices in software engineering say that you either through better personal education about com-
should first write a clear and simple program, and puting technology or by close collaboration with
then validate it by extensive testing. In a second step, experts giving advice. Reading CiSE is, of course,
performance bottlenecks are identified by profiling a good way to improve your technical competence.
and eliminated by optimization. Computational We also see grassroots movements such as Software
scientists often rush for optimization, choosing low- Carpentry (http://software-carpentry.org), people
level programming languages for performance and who step in for the academic institutions that have
eliminating error checks perceived as too expensive failed so far to integrate computational education
before even having a validated program in which into the training of young scientists. With a bit of
they could look systematically for performance bot- luck, we could avoid a scientific debt crisis.
tlenecks. The consequences are a higher software de-
velopment effort and more mistakes, leading to less References
reliable scientific results. Both could be measured in 1. M. Turk, “Vertical Integration,” Computing in
principle, by comparing different software projects Science & Eng., vol. 17, no. 1, 2015, pp. 64–66.
using different approaches, but such an evaluation is 2. D. Sculley et al., “Machine Learning: The High
expensive and in practice almost never done. Interest Credit Card of Technical Debt,” Proc.
SE4ML: Software Eng. Machine Learning (NIPS
2014 Workshop), 2014; http://research.google.com/
www.computer.org/computingedge 59
www.computer.org/cise 107
COMPUTING CAREERS
High-Tech Careers:
Finding the Job You Want
ComputingEdge: What careers in computing Castro-Leon: Recent graduates may feel dis-
technology will see the most growth in the next couraged when starting to network. They might
several years, and why? think “I don’t know how to do it” or “Nothing ever
comes back.” However, this is only a short-term
Castro-Leon: Selecting a field because it’s in problem. Here’s a helpful analogy. Every leader is
demand or because it’s easy is not a formula for like a lighthouse beaming out light. Most of the
success. The student must select a general field light gets lost. That’s a reality of life. However,
she or he would love to work in, keeping in mind some can touch and transform lives. The sender
that society is moving from a product-oriented to never knows when a beam lands on a ship, but
a service-oriented paradigm. In economics, we when this happens, the ship uses the light to avoid
talk about societies moving from extractive and an accident. Even this is successful networking to
60 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
me. Just a handful of ships’ crews might thank the I’m an electrical engineer and computer scientist
lighthouse keeper, but counting only these as suc- by training, but I spend quality time playing clas-
cesses constitutes a narrow view. There’s no right sical piano. I love it.
or wrong here. Ultimately it’s up to the individual
to decide what the networking goal should be. ComputingEdge: What should applicants keep in
There are two considerations: networking should mind when applying for computer tech jobs?
be multimodal, and it’s important to have a role
progression from observer to participant to leader. Castro-Leon: A primary consideration is to break
Multimodal means combining traditional personal the apparent chicken-and-egg problem of job
relationships with both writing and using various postings requiring experience but the applicant
social media. It’s important not to get discouraged.needing a job to get experience. For students, it’s
important to have reasonably good grades, but it’s
We get better with practice. These are useful skills.
not optimal to study to the exclusion of everything
ComputingEdge: What advice would you give else. Participating in certain extracurricular activi-
college students to provide them with an advan- ties, such as journalism, will provide good oppor-
tage over the competition? tunities to learn communication skills and earn
points on the résumé.
Castro-Leon: Profes- Seek people who are pos-
sionals with the best There is no negative in itive role models. Seek
chances of success are opportunities for giving.
T-shaped professionals.
changing careers, as long Giving could be helping
This is a well-known as the events are part of a a friend in true need or
term in service science. volunteering. Worrying
coherent strategy.
It refers to people who about the “me” part all
have deep expertise in the time clouds the mind.
one area but who also
C
have strong interdisciplinary skills and a level
of comfort collaborating with experts in other omputingEdge’s Lori Cameron inter-
areas. The lone inventor is I-shaped, does not viewed Castro-Leon for this article. Con-
fit well in an integration society, and is unable to tact her at [email protected] if you
build bridges to other people to make wonderful would like to contribute to a future ComputingEdge
things happen. article on computing careers. Contact Castro-Leon
at [email protected].
ComputingEdge: What advice would you give
people changing careers midstream?
www.computer.org/computingedge 61
CAREER OPPORTUNITIES
CLOUDERA, INC. is recruiting for our review the feedback from developers & to: Recruiting, InnerWorkings, Inc., 600
Palo Alto, CA office: Build Technical testers, & deliver ongoing improvement. West Chicago Avenue, Suite 850, Chi-
Customer Success Manager: architect Mail resume w/job code #36907 to: cago, IL 60654.
enterprise data solutions for large or- Cloudera, Attn.: HR, 1001 Page Mill Rd.,
ganizations. Mail resume w/job code Bldg. 2, Palo Alto, CA 94304. CLOUDERA, INC. is recruiting for our
#36728 to: Cloudera, Attn.: HR, 1001 Palo Alto, CA office: Solutions Archi-
Page Mill Rd., Bldg. 2, Palo Alto, CA BLACKBOARD SYSTEM ADMINIS- tect: work on core products by contrib-
94304. TRATOR: devel. & maintain global LMS; uting code changes to those products.
LMS environ. configuration & modifica- Travel Required. Mail resume w/job
CLOUDERA, INC. is recruiting for our tion; customize LMS modules; use Ora- code #36996 to: Cloudera, Attn.: HR,
New York, NY office: Professional Ser- cle, SQL, Unix, JavaScript, and HTML. 1001 Page Mill Rd., Bldg. 2, Palo Alto, CA
vices Practice Director: manage sales MS in CS or related + 2 yrs of exp. OR 94304.
& delivery of professional srvcs (con- BS+5. Email [email protected] w/
sulting) to Cloudera customers for a de- Job#10786 in subj. line. Laureate Edu- PROGRAMMER ANALYST: Design and
fined regional territory. Recruit, retain, cation, Inc. 7080 Samuel Morse Dr., Co- develop advanced solutions for soft-
manage and mentor a team of technical lumbia, MD 21046. EOE. ware applications using knowledge in
consultants. Mail resume w/job code Apex, Visual Force, Data Loader, HTML,
#34478 to: Cloudera, Attn.: HR, 1001 JAVA DEVELOPER (E-COMMERCE). JavaScript, CSS, Workflow rules & Ap-
Page Mill Rd., Bldg. 2, Palo Alto, CA Des./dev./implement/test procure- provals, Reports, Custom Objects, Se-
94304. ment/e-commerce software. Bach. curity Controls, Sandbox data Loading,
degree (Computer Science) or higher Data Loader, Custom third party apps
CLOUDERA, INC. is recruiting for req’d. Min. 2 years’ exp. in programmer configuration and management, REST
our Palo Alto, CA office: Build and Re- analyst or software dev. posn’s req’d. API and SOAP API based integration.
lease Engineer: analyze build failures Prior exp. must incl. dev. using Java 6 Must be willing to travel & reloc to unan-
& reduce build failure occurring due to language & Hibernate framework. In- ticipated client locations throughout the
non-product code issues, periodically nerWorkings, Inc., Chicago, IL. Resumes US. Reqs MS in comp sci, eng or rel. Mail
www.cisco.com
62 February 2016 Published by the IEEE Computer Society 2376-113X/16/$33.00 © 2016 IEEE
94 CO M PUTE R PUBLISHED BY THE IEEE COMPUTER SOCIET Y 0018-9162/16/$33.00 © 2016 IEEE
CAREER OPPORTUNITIES
www.computer.org/computingedge 63
FEBRUARY 2016 95
CAREER OPPORTUNITIES
www.computer.org/computingedge 65
FEBRUARY 2016 97
CAREER OPPORTUNITIES
WYDE CORP. has multi openings at Sign On; CA Privileged Indentity Man- business case, modeling, & strategic
various levels for the following posi- ager. Frequent travel to unanticipated analysis on a variety of projects. Job ID:
tions at its office in Bloomington, MN client sites throughout the US; Work 15-TX-2620. PROJECT MANAGER _ for
& unanticipated client sites thr/o the from home anywhere in the US. Send scheduling, tracking, & implementation
US 1. Business Analyst* - Conduct Org. resume to: Althea Wilson, CA Technol- of projects supporting key customer
studies & recommend IT solutions. 2. ogies, One CA Plaza, Islandia, NY 11749, deliverables to the highest customer
SW Developer* - Design, develop & Refer to Requisition # 118862 satisfaction, while driving cost, quality,
modify s/w sys. 3. SW Developer Mgr & timeliness. Job ID: 16-TX-2659. To
– Manage s/w development project 4. ERICSSON INC. has openings for po- apply please mail resume to Ericsson
SW Architect* - Develop IT architecture sitions in Plano, TX: SOLUTIONS AR- Inc. 6300 Legacy Dr, R1-C12 Plano, TX
solution 5. SW Architect Mgr – Manage CHITECT _ to define, analyze & manage 75024 & indicate appropriate Job ID. To
IT architecture development projects 6. customer requirements utilizing Erics- apply please mail resume to Ericsson
Project Manager – Plan & manage proj- son’s OSS & BSS portfolio. Up to 20% Inc. 6300 Legacy Dr, R1-C12 Plano, TX
ect execution. Must have a Bachelor/ domestic travel required. Job ID: 16-TX- 75024 & indicate appropriate Job ID.
equiv and prior rel. exp, Master/equiv, or 3091. RF ENGINEER _ responsible for
Master/equiv and prior rel. exp. Edu/exp interaction & coordination with RF Eng, SENIOR SOFTWARE DEVELOPER:
req vary depending on position level/ Natl. RF Tech Team, Switch Operations, Design & develop new computer soft-
type. Managerial and *Lead positions Field Operations, Ntwk Development, & ware. Work with & supervise devel-
in this occupation must have Master/ Device Development. Telecommuting opers to ensure seamless integration
equiv+2yr or Bach/equiv+5yr progres- is available for this position from any- between backend application & the
sive exp. Travel/relo req. Send resume where in the US. Job ID: 16-TX-635. EN- foreground web application. Liaise with
& applied position to: Kristen Kaul, HR GINEER – SERVICES SOFTWARE _ to & supervise technical staff to explore
North America, Wyde Inc. 3600 Amer- participate in software loading, configu- & suggest strategic technical solu-
ican Blvd. W., Suite 330, Bloomington, ration, integration, verification, and trou- tions for the development of location
MN 55431. bleshooting of existing solutions. Re- & mapping technology. Supervise test
quires 20% of domestic & international & Operations teams to troubleshooting
SENIOR SERVICES SPECIALIST (NY, NY travel. Job ID: 16-TX-3571. ENGINEER- & resolve issues throughout the life-
and unanticipated client sites in US) Pro- RESEARCH _ to develop & integrate cycle. Use technologies being utilized
vide security & compliance & architec- Proof Of Concept (POC) projects for in product development such as Dart,
ture consulting. Architect & implement the realization of ideas & demonstrate JavaSCript, Java, HTMLS, CSS3 as well
security & compliance system controls. feasibility of the concept. Job ID: 15-TX- as client/server application processes
Collaborate with partners to distribute & 2617. BUSINESS CONSULTANT _ to and multi media and internet technol-
promote products & services. REQS: 5 support Ericsson business units bridge ogy. Use IOT and Building Intelligence
yrs exp in job &/or rel occup. Must have the gap betw’ strategy & implementa- Software and protocols such as hay-
exp w/ CA Data Protection; Collaborat- tion by driving the projects focused on stack, MQTT, BACnet. Bachelors de-
ing with channel partners; CA Single Ericsson growth initiatives & provide gree in Information Systems Engineer-
ing or Computer Science or Software
Engineering plus 5 yrs exp. req’d. 40
hrs/wk. Job Site & Itvu: Oakland, CA.
Send resume to Mr. Mazo at DGLogik,
Inc. at [email protected].
CLASSIFIED LINE AD SUBMISSION DETAILS: Rates are $425.00 per column
inch ($640 minimum). Eight lines per column inch and average five typeset SR. CONSULTANT/SYSTEMS ADMIN-
words per line. Send copy at least one month prior to publication date to: Debbie ISTRATOR F/T (Fishkill, NY) Position
Sims, Classified Advertising, Computer Magazine, 10662 Los Vaqueros Circle, involves travel to various unanticipated
worksites up to 100% of the time any-
Los Alamitos, CA 90720; (714) 816-2138; fax (714) 821-4010. Email: dsims@ where in the United States. Must have
computer.org. Bach deg or the foreign equiv in Elec-
tronic Engg, Engg, Electronics & Com-
In order to conform to the Age Discrimination in Employment Act and to dis- munication Engg, Comp Sci, or related
with five (5) years of progressive expe-
courage age discrimination, Computer may reject any advertisement containing rience Designing, Building or Fixing &
any of these phrases or similar ones: “…recent college grads…,” “…1–4 years Supporting integration interfaces that
maximum experience…,” “…up to 5 years experience,” or “…10 years maximum meets business requirements using
QTP. Configuring and managing VM-
experience.” Computer reserves the right to append to any advertisement with- ware on Dell, HP. Configuring & Manag-
out specific notice to the advertiser. Experience ranges are suggested minimum ing Vcenter server cluster with Vsphere
requirements, not maximums. Computer assumes that since advertisers have HA and DRSsenabled of VMotion,
VSwitch and VLAN’s in Vcenter server.
been notified of this policy in advance, they agree that any experience require- Managing snapshots, Clones, templates
ments, whether stated as ranges or otherwise, will be construed by the reader as during patch releases and new server
deployment. Provide leadership in rec-
minimum requirements only. Computer encourages employers to offer salaries ommending and implementing contin-
that are competitive, but occasionally a salary may be offered that is significantly uous process improvement, education
below currently acceptable levels. In such cases the reader may wish to inquire and training requirements to manage-
ment staff. Send resume: Novisync, Inc.,
of the employer whether extenuating circumstances apply. Recruiting (VC), 300 Westage Bus Ctr
Dr, Ste 350, Fishkill, NY 12524.
SR. HYPERION CONSULTANT. Job MANAGER. Job location: Miami, FL & 2 yrs. exp. in job offered or 2 yrs. exp.
location: Miami, FL & any other un- any other unanticipated locations in U.S. as a Consultant or Systems Analyst.
anticipated locations in U.S. Travel Travel Required. Duties: Participate in Concurrent exp. must incl.: 2 yrs. exp.
Required. Duties: Design & develop definition, develop., & implementation with design, develop. & deployment of
Hyperion forecasting/budgeting appls. of info systems based on client re- Hyperion Planning & Essbase appls. & 2
Develop hierarchies in Hyperion Data quirements. Assist in design, develop., yrs. exp. developing complex financial
Relationship Mgmt. (DRM). Resp. for & deployment of Hyperion Planning & reports using Financial Reporting Stu-
developing data processes for Hype- Essbase appls. Resp. for full systems dio. Send resume (no calls) to: Michelle
rion appls. & designing & developing develop. lifecycle (SDLC) from require- Ramirez, The Hackett Group, Inc., 1001
security processes for Hyperion appls. ments gathering through implement. of Brickell Bay Dr., Suite 3000, Miami, FL
Requires: M.S. degree in Comp. Sci., software arch. solutions. Develop com- 33131.
Eng. or related field & 3 yrs. exp. in the plex financial reports & budget books
job offered or 3 yrs. exp. as a Hyperion for clients using Financial Reporting SANDISK CORPORATION has open-
Developer or Hyperion Analyst. Will Studio & Oracle BI tools. Resp. for ad- ings in San Jose, California for Staff
accept B.S. (or foreign equiv.) & 5 yrs. ministering, automation, optimization & Systems Design Engineers to define
exp. in computer ind. in lieu of M.S. & 3 perform. tuning of Essbase appls., data/ processes for technical platforms, sys-
yrs. exp. Concurrent exp. must incl.: 3 metadata processing, upgrading, test- tem specifications, and input/output
yrs. exp. with forecasting & budgeting ing & migrating of cubes between differ- and working parameters for hardware
Hyperion appls.; 3 yrs. exp. with secu- ent server environs.Perform automating and software compatibility. Job code:
rity in Hyperion; & 3 yrs. exp. with DRM. loading of data in the system & writing SD582. To apply, reference job code #
Send resume (no calls) to: Michelle scripts to perform calcs. using calc. & mail resume to: SanDisk Corporation,
Ramirez, The Hackett Group, Inc., 1001 scripts, Load Rules, MaxL, MDX, batch & 951 SanDisk Drive, MS: HRGM, Milpitas,
Brickell Bay Dr., Suite 3000, Miami, FL shell scripting.Requires: M.S. degree in CA 95035. EOE.
33131. Comp. Sci, MIS, Eng. or related field &
www.computer.org/computingedge 67
FEBRUARY 2016 99
CAREER OPPORTUNITIES
WhatsApp, Inc.
currently has the following openings in Mountain View, CA (various levels/types):
Mobile Software Developer (5758J) Design and develop software applications for mobile message products.
Mail resume to: WhatsApp, Inc. c/o Facebook Inc. Attn: SB-GMI, 1 Hacker Way, Menlo Park, CA 94025.
Must reference job title and job# shown above, when applying.
TECHNOLOGY
Intuit Inc.
has openings for the following positions in Santa Clara County, including Mountain View, California or any office within normal commuting distance:
Data Scientists (Job code: I-537): Provide guidance and support to Business leaders and stakeholders on how best to harness available data in
support of critical business needs and goals. Participate in the full cycle of iterative big data exploration, including hypothesis formulation, algorithm
development, data cleansing and testing. Staff Application Operations Engineers (Job code: I-1828): Design and develop new software applica-
tions, services, features and enhancements, and maintain existing software products. Product Managers (Job code: I-966): Gathering requirements,
use cases and functional specifications for data products for internal and external customers of Intuit. Prioritize customer needs, analyze landscape and
develop product roadmaps for products aligned with Quickbooks data strategy.
Positions located in San Diego, California: Senior Data Engineers (Job code: I-141): Design, develop, and implement data movement and integration
processes in preparation for analysis, data warehousing, and operational data stores, involving very large quantities of data. Managers, Development
(Job code: I-138): Apply a full understanding of the business, the customer, and the solutions that a business offers to effectively design, develop, and
implement operational capabilities, tools and processes that enable highly available, scalable & reliable customer experiences. Senior Systems
Engineers (Job code: I-124): Exercise senior level knowledge in selecting methods and techniques to design, implement, and maintain servers for
Intuit’s leading commercial software products. Work on problems of complex scope where analysis of data requires evaluation of multiple factors of the
overall product and service.
Positions located in Plano, Texas: Managers 3-Group Research & Analysis (Job code: I-103): Lead and develop an expanded team of business
analysts, technical data analysts and data scientists to provide timely and effective insights to business teams and act as a trusted business partner.
To apply, submit resume to Intuit Inc., Attn: Olivia Sawyer, J203-6, 2800 E. Commerce Center Place, Tucson, AZ 85706.
You must include the job code on your resume/cover letter. Intuit supports workforce diversity.
IEEE TRANSACTIONS ON
NEW
IN 2015
MULTI-SCALE
COMPUTING SYSTEMS
SCOPE
The IEEE Transactions on Multi-Scale Computing Systems (TMSCS) is a peer-reviewed publication
devoted to computing systems that exploit multi-scale and multi-functionality. These systems consist
of computational modules that utilize diverse implementation scales (from micro down to the nano
scale) and heterogeneous hardware and software functionalities; moreover, these modules can be
based on operating principles and models that are valid within but not necessarily across their
respective scales and computational domains. Contributions to TMSCS must address computation of
information and data at higher system-levels for processing by digital and emerging domains. These
computing systems can also rely on diverse frameworks based on paradigms at molecular, quantum
and other physical, chemical and biological levels. Innovative techniques such as inexact computing,
management/optimization of smart infrastructures and neuromorphic modules are also considered
within scope.
This publication covers pure research and applications within novel topics related to high performance
computing, computational sustainability, storage organization and efficient algorithmic information
distribution/processing; articles dealing with hardware/software implementations (functional units,
architectures and algorithms), multi-scale modeling and simulation, mathematical models and
designs across multiple scaling domains and functions are encouraged. Novel solutions based on
digital and non-traditional emerging paradigms are sought for improving performance and efficiency
in computation. Contributions on related topics would also be considered for publication.
www.computer.org/tmscs
www.computer.org/computingedge 69
FEBRUARY 2016 101
CAREER OPPORTUNITIES
A
lthough cloud technologies have been advanced and adopted at an astonishing
pace, much work remains. IEEE Cloud Computing seeks to foster the evolution of
cloud computing and provide a forum for reporting original research, exchanging
experiences, and developing best practices.
IEEE Cloud Computing magazine seeks accessible, useful papers on the latest peer-reviewed
developments in cloud computing. Topics include, but aren’t limited to:
All accepted articles will be edited according to the IEEE Computer Society style guide.
Submit your papers through Manuscript Central at https://mc.manuscriptcentral.com/ccm-cs.
If you have any questions, feel free to email lead editor Brian Brannon at [email protected].
www.computer.org/cloudcomputing
70 ComputingEdge February 2016
102 COMPUTER W W W.CO M P U T E R .O R G /CO M P U T E R
CAREER OPPORTUNITIES
Analyzin
IEEE SEC
age
LeakBiometric g Archi
tecture
ng Data Spoofing Securing Healthcare Data Data Protection
Preventi License
URITY
■ ■
■
Legislation Creep
the IoT
■
Online
Securing
Anonym
& PRIVA
unties ■
ity Law
of Bug Bo s
Benefits
CY
LESSONS
IEEE SEC
LEARN
URITY
ED FRO
& PRIVA
M
THE ED
CY
RIAL BO ITO
MULTIDIS
ARD
CIPLIN
ARY SEC
UR
VOLUME
ITY
13
VOLUME 13
NUMB
ER 6
NUMBER 5
VOLUME
NOVE MB
13
ER
NUMBER
/DECEM
SEPTEMBER/OCTOBER 2015
BER 201
4
WW W. 5
DIGITAL EDITION
JULY/AUG
COMP
ust 2015
July/Aug , No. 4
Vol. 13 UTER .OR
UST
WWW.COMPUTER .ORG/SECURITY
September/October 2015
2015
G/SECUR
Vol. 13
, No. 6
WW W.C
OMPUTER
.ORG/S
ECURITY
c1.indd 1111
9/16/15 3:57 PM
www.qmags.com/SNP
www.computer.org/computingedge 71
FEBRUARY 2016 103
CONFERENCES
in the Palm of Your Hand
www.computer.org/rbseast
The Fourteenth Annual IEEE International Conference on
Pervasive Computing and Communications, PerCom 2016
CALL FOR PARTICIPATION
SPONSORS
For additional information, please visit the website www.percom.org or contact at [email protected]