<?xml version="1.0" encoding="UTF-8"?>
<TEI xml:space="preserve" xmlns="http://www.tei-c.org/ns/1.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://www.tei-c.org/ns/1.0 https://raw.githubusercontent.com/kermitt2/grobid/master/grobid-home/schemas/xsd/Grobid.xsd"
 xmlns:xlink="http://www.w3.org/1999/xlink">
	<teiHeader xml:lang="en">
		<fileDesc>
			<titleStmt>
				<title level="a" type="main">Whack-A-Mole Security: Incentivising the Production, Delivery and Installation of Security Updates</title>
			</titleStmt>
			<publicationStmt>
				<publisher/>
				<availability status="unknown"><licence/></availability>
			</publicationStmt>
			<sourceDesc>
				<biblStruct>
					<analytic>
						<author>
							<persName><forename type="first">Alastair</forename><forename type="middle">R</forename><surname>Beresford</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computer Laboratory</orgName>
								<orgName type="institution">University of Cambridge</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">D</forename><surname>Aspinall</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computer Laboratory</orgName>
								<orgName type="institution">University of Cambridge</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">L</forename><surname>Cavallaro</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computer Laboratory</orgName>
								<orgName type="institution">University of Cambridge</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><forename type="middle">N</forename><surname>Seghir</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computer Laboratory</orgName>
								<orgName type="institution">University of Cambridge</orgName>
							</affiliation>
						</author>
						<author>
							<persName><forename type="first">M</forename><surname>Volkamer</surname></persName>
							<affiliation key="aff0">
								<orgName type="laboratory">Computer Laboratory</orgName>
								<orgName type="institution">University of Cambridge</orgName>
							</affiliation>
						</author>
						<title level="a" type="main">Whack-A-Mole Security: Incentivising the Production, Delivery and Installation of Security Updates</title>
					</analytic>
					<monogr>
						<imprint>
							<date/>
						</imprint>
					</monogr>
					<idno type="MD5">1362E2BBE9E59E1EE70758720102C5F8</idno>
				</biblStruct>
			</sourceDesc>
		</fileDesc>
		<encodingDesc>
			<appInfo>
				<application version="0.7.2" ident="GROBID" when="2023-03-24T01:42+0000">
					<desc>GROBID - A machine learning software for extracting information from scholarly documents</desc>
					<ref target="https://github.com/kermitt2/grobid"/>
				</application>
			</appInfo>
		</encodingDesc>
		<profileDesc>
			<abstract>
<div xmlns="http://www.tei-c.org/ns/1.0"><p>Writing vulnerability-free code is currently impossible. The best we can hope for is whacka-mole security. In other words, fixing bugs and updating Internet-enabled devices before remote exploitation occurs. Unfortunately, security updates do not always happen in a timely fashion, or at all. The root cause of this problem is the lack of incentives, something which we must fix.</p></div>
			</abstract>
		</profileDesc>
	</teiHeader>
	<text xml:lang="en">
		<body>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Introduction</head><p>Many computers today, from servers to laptops, and from tablets to smartphones are connected to the Internet. Connectivity is an essential feature of these platforms. Over the next few years, the rise of the Internet of Things (IoT) will see many more embedded computers connected to the Internet too. Everything from heating controllers to lightbulbs will be online.</p><p>Unfortunately, connecting computers to the Internet does not just provide essential functionality, but also enables remote attack. Yet we rely on many of our Internet-enabled devices to operate correctly. This state of affairs occurs because we cannot write vulnerability-free software. We cannot even provide reasonable guarantees of software correctness when developing complex, feature-rich software for a reasonable price. What, then, can we do? Current best practice is whack-a-mole security: in other words, devices are secured by patching latent vulnerabilities in software after their discovery, but before exploitation.</p><p>Whack-a-mole security works when vulnerabilities are discovered by good netizens, such as penetration testers, anti-virus vendors and academics, who report the vulnerabilities to the appropriate software vendors. Software vendors then produce an update and send it to all affected devices before a potential attacker discovers the vulnerability and uses it for malice.</p><p>Failures occur for two reasons: firstly, attackers exploit vulnerabilities before good netizens find them (zero-day exploits); secondly, software updates from vendors do not arrive before attackers exploit a vulnerability found by a good netizen.</p><p>There is good academic literature on exploits, both on how they are found and how they work. There is also excellent work looking at reducing the likelihood of introducing vulnerabilities in the first place. There is much less work on whether software vendors actually patch vulnerabilities however. As a research community we should do more in this space.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>An example: the Android ecosystem</head><p>We have looked at the Android ecosystem in order to determine if Android smartphones receive security updates. What we found was worrying-from July 2011 until July 2015, 87.7% of Android devices were vulnerable to at least one of 11 critical vulnerabilities <ref type="bibr" target="#b4">[TBR15]</ref>. In this case, the problem occurs because handset manufacturers are not producing security updates. Analysis of the Android Open Source Project, and Google Nexus devices reveals that Google does regularly produce fixes for disclosed vulnerabilities. When updates do appear for devices, data from our Device Analyzer <ref type="bibr" target="#b5">[WRB13]</ref> project shows that updates are installed by users across many different mobile network operators, suggesting that the network operators are providing the updates, and users are installing them.</p><p>Note that in this analysis we have quantified the proportion of devices which are at risk of attack. We have not yet measured the harm which might follow 1 through exploitation.</p><p>For the Android ecosystem, the cost of producing the fix is non-trivial and manufacturers are economically incentivised to spend valuable engineering time on producing new models, not fixing older ones which generate little or no future revenue. To address this, we need to develop better measures of both risk and harm. And we need to provide better incentives to manufacturers through accreditation, through regulation, and through awareness raising with consumers and corporate buyers.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>The anatomy of an update</head><p>It's not just operating systems which require updates. All layers of the stack, including apps themselves, require updates to fix vulnerabilities. For example, Fahl et al. found that 8% of Android apps examined contained SSL/TLS code which was vulnerable to manin-the-middle attacks [FHM + 12]. As part of an undergraduate project, we found the same vulnerabilities in many apps on the Google Play store two years later. Incentivising developers to fix apps is, in some ways, harder than fixing operating systems because there are many more app developers than smartphone handset manufacturers, many of whom are individuals or small companies with limited resources and less expertise.</p><p>The issue of managing updates extends beyond software, since the security of Internet-connected devices has a basis in cryptography, which in turn requires managing updates to key material. Indeed, the integrity of updates to operating systems and apps is protected by cryptography. At the extreme, in the case of JavaScript running in a browser, an update to the software may be performed on every page load. Similarly, in the case of TLS, a server may present a new certificate on every connection establishment, or even during the lifetime of a single connection.</p><p>Since we are unable to write vulnerability-free software, keys can, and are, compromised. Therefore devices will need to securely update keys too.</p></div>
<div xmlns="http://www.tei-c.org/ns/1.0"><head>The solution space</head><p>The rate at which security vulnerabilities are found in a stable code base may reduce over time <ref type="bibr" target="#b3">[OS06]</ref>, which offers some hope for IoT systems whose feature set might be small and does not necessarily need to change. This is unlikely to be a popular solution for smartphones or laptops since a vibrant ecosystem demands new apps, new hardware and new operating system features regularly. (So called feature creep may turn out to be a requirement in the IoT space too.)</p><p>Auditing of software by independent third-parties is useful. Google Play and Apple's App Store do this for apps, although unfortunately they do not often publish detailed results. This makes it hard for consumers or regulators to make informed choices based on data. In the cryptographic sphere, Certificate Transparency <ref type="bibr" target="#b1">[Lau14]</ref> shows great promise, because it produces an auditable public log. Auditable public logs can be applied to software updates too. This would allow us to track the progress (or not) of updates from software vendors, through network operators and on towards installation by individuals. Note that there is a potential privacy conflict here-the update status of devices may implicitly leak some personal data.</p><p>It is also important to distinguish between risk and harm. Estimating the potential future harm from risk is a difficult process which deserves more attention.</p><p>Finally, quantifying the ability of software vendors to whack their security moles is not enough. We need to improve incentives. This can take a variety of forms, including presenting appropriate data to the public, as well as to corporations and governments. Better regulation is also likely to be important.</p></div>		</body>
		<back>

			<div type="acknowledgement">
<div xmlns="http://www.tei-c.org/ns/1.0"><head>Acknowledgements</head><p>Huge thanks to my collaborators Daniel R. Thomas and Andrew Rice on Android vulnerabilities, and Graham Edgecombe for his work analysing Android apps.</p></div>
			</div>

			<div type="references">

				<listBibl>

<biblStruct xml:id="b0">
	<analytic>
		<title level="a" type="main">Why Eve and Mallory love Android: An analysis of Android SSL (in) security</title>
		<author>
			<persName><forename type="first">Marian</forename><surname>Fhm + ; Sascha Fahl</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Thomas</forename><surname>Harbach</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Lars</forename><surname>Muders</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Bernd</forename><surname>Baumgärtner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Matthew</forename><surname>Freisleben</surname></persName>
		</author>
		<author>
			<persName><surname>Smith</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM conference on Computer and Communications Security</title>
				<meeting>the ACM conference on Computer and Communications Security</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2012">2012</date>
			<biblScope unit="page" from="50" to="61" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b1">
	<monogr>
		<title level="m" type="main">Certificate Transparency</title>
		<author>
			<persName><forename type="first">Ben</forename><surname>Laurie</surname></persName>
		</author>
		<imprint/>
	</monogr>
</biblStruct>

<biblStruct xml:id="b2">
	<analytic>
		<title/>
	</analytic>
	<monogr>
		<title level="j">Queue</title>
		<imprint>
			<biblScope unit="volume">12</biblScope>
			<biblScope unit="issue">8</biblScope>
			<biblScope unit="page">10</biblScope>
			<date type="published" when="2014">2014</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b3">
	<analytic>
		<title level="a" type="main">Milk or wine: does software security improve with age?</title>
		<author>
			<persName><forename type="first">Andy</forename><surname>Ozment</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Stuart</forename><forename type="middle">E</forename><surname>Schechter</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Usenix Security</title>
				<imprint>
			<date type="published" when="2006">2006</date>
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b4">
	<analytic>
		<title level="a" type="main">Security metrics for the android ecosystem</title>
		<author>
			<persName><forename type="first">R</forename><surname>Daniel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alastair</forename><forename type="middle">R</forename><surname>Thomas</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrew</forename><surname>Beresford</surname></persName>
		</author>
		<author>
			<persName><surname>Rice</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Proceedings of the ACM CCS Workshop on Security and Privacy in Smartphones and Mobile Devices</title>
				<meeting>the ACM CCS Workshop on Security and Privacy in Smartphones and Mobile Devices</meeting>
		<imprint>
			<publisher>ACM</publisher>
			<date type="published" when="2015">2015</date>
			<biblScope unit="page" from="87" to="98" />
		</imprint>
	</monogr>
</biblStruct>

<biblStruct xml:id="b5">
	<analytic>
		<title level="a" type="main">Device analyzer: Understanding smartphone usage</title>
		<author>
			<persName><forename type="first">T</forename><surname>Daniel</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Andrew</forename><surname>Wagner</surname></persName>
		</author>
		<author>
			<persName><forename type="first">Alastair</forename><forename type="middle">R</forename><surname>Rice</surname></persName>
		</author>
		<author>
			<persName><surname>Beresford</surname></persName>
		</author>
	</analytic>
	<monogr>
		<title level="m">Mobile and Ubiquitous Systems: Computing, Networking, and Services</title>
				<imprint>
			<publisher>Springer</publisher>
			<date type="published" when="2013">2013</date>
			<biblScope unit="page" from="195" to="208" />
		</imprint>
	</monogr>
</biblStruct>

				</listBibl>
			</div>
		</back>
	</text>
</TEI>
