<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Light Blue Touchpaper &#187; Operating systems</title>
	<atom:link href="http://www.lightbluetouchpaper.org/category/operating-systems/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lightbluetouchpaper.org</link>
	<description>Security Research, Computer Laboratory, University of Cambridge</description>
	<lastBuildDate>Mon, 30 Jan 2012 10:06:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FreeBSD 9.0 ships with experimental Capsicum support</title>
		<link>http://www.lightbluetouchpaper.org/2012/01/30/freebsd-9-0-ships-with-experimental-capsicum-support/</link>
		<comments>http://www.lightbluetouchpaper.org/2012/01/30/freebsd-9-0-ships-with-experimental-capsicum-support/#comments</comments>
		<pubDate>Mon, 30 Jan 2012 10:06:12 +0000</pubDate>
		<dc:creator>Robert N. M. Watson</dc:creator>
				<category><![CDATA[Academic papers]]></category>
		<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[Web security]]></category>

		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=3533</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=FreeBSD+9.0+ships+with+experimental+Capsicum+support&amp;rft.aulast=Watson&amp;rft.aufirst=Robert&amp;rft.subject=Academic+papers&amp;rft.subject=Operating+systems&amp;rft.subject=Web+security&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2012-01-30&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2012/01/30/freebsd-9-0-ships-with-experimental-capsicum-support/&amp;rft.language=English"></span>
Jon Anderson, Ben Laurie, Kris Kennaway, and I were pleased to see prominent mention of Capsicum in the recent FreeBSD 9.0 press release:

Continuing its heritage of innovating in the area of security research, FreeBSD 9.0 introduces Capsicum. Capsicum is a lightweight framework which extends a POSIX UNIX kernel to support new security capabilities and adds [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=FreeBSD+9.0+ships+with+experimental+Capsicum+support&amp;rft.aulast=Watson&amp;rft.aufirst=Robert&amp;rft.subject=Academic+papers&amp;rft.subject=Operating+systems&amp;rft.subject=Web+security&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2012-01-30&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2012/01/30/freebsd-9-0-ships-with-experimental-capsicum-support/&amp;rft.language=English"></span>
<p>Jon Anderson, Ben Laurie, Kris Kennaway, and I were pleased to see prominent mention of <a href="http://www.cl.cam.ac.uk/research/security/capsicum/">Capsicum</a> in the recent <a href="http://www.freebsdfoundation.org/press/FreeBSD%209.0%20Announcement.shtml">FreeBSD 9.0 press release</a>:</p>
<blockquote><p>
Continuing its heritage of innovating in the area of security research, FreeBSD 9.0 introduces Capsicum. Capsicum is a lightweight framework which extends a POSIX UNIX kernel to support new security capabilities and adds a userland sandbox API. Originally developed as a collaboration between the University of Cambridge Computer Laboratory and Google and sponsored by a grant from Google, FreeBSD was the prototype platform and Chromium was the prototype application. FreeBSD 9.0 provides kernel support as an experimental feature for researchers and early adopters. Application support will follow in a later FreeBSD release and there are plans to provide some initial Capsicum-protected applications in FreeBSD 9.1.</p>
<p>&#8220;Google is excited to see the award-winning Capsicum work incorporated in FreeBSD 9.0, bringing native capability security to mainstream UNIX for the first time,&#8221; said Ulfar Erlingsson, Manager, Security Research at Google.</p></blockquote>
<p>We first wrote about Capsicum, a hybridisation of the capability system security model with POSIX operating system semantics developed with support from Google, in <a href="http://www.cl.cam.ac.uk/research/security/capsicum/documentation.html"><em>Capsicum: practical capabilities for UNIX</em></a> (USENIX Security 2010 and ;login magazine). Capsicum targets the problem of operating system support for application compartmentalisation &#8212; the restructuring of applications into a set of sandboxed components in order to enforce policies and mitigate security vulnerabilities. While Capsicum&#8217;s <em>hybrid capability model</em> is not yet used by the FreeBSD userspace, experimental kernel support will make Capsicum more accessible to researchers and software developers interested in deploying application sandboxing. For example, the Policy Weaving project at the University of Wisconsin has been investigating automated application compartmentalisation in support of security policy enforcement using Capsicum.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lightbluetouchpaper.org/2012/01/30/freebsd-9-0-ships-with-experimental-capsicum-support/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Job ad: post-doctoral researcher in security, operating systems, computer architecture</title>
		<link>http://www.lightbluetouchpaper.org/2011/12/06/job-ad-post-doctoral-researcher-in-security-operating-systems-computer-architecture/</link>
		<comments>http://www.lightbluetouchpaper.org/2011/12/06/job-ad-post-doctoral-researcher-in-security-operating-systems-computer-architecture/#comments</comments>
		<pubDate>Tue, 06 Dec 2011 17:38:51 +0000</pubDate>
		<dc:creator>Robert N. M. Watson</dc:creator>
				<category><![CDATA[Hardware & signals]]></category>
		<category><![CDATA[Jobs]]></category>
		<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[Processors]]></category>

		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=3313</guid>
		<description><![CDATA[We are very pleased to announce a job opening at the University of Cambridge Computer Laboratory for a post-doctoral researcher working in the areas of security, operating systems, and computer architecture.]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Job+ad%3A+post-doctoral+researcher+in+security%2C+operating+systems%2C+computer+architecture&amp;rft.aulast=Watson&amp;rft.aufirst=Robert&amp;rft.subject=Hardware+%26%23038%3B+signals&amp;rft.subject=Jobs&amp;rft.subject=Operating+systems&amp;rft.subject=Processors&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2011-12-06&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2011/12/06/job-ad-post-doctoral-researcher-in-security-operating-systems-computer-architecture/&amp;rft.language=English"></span>
<p>We are pleased to announce a job opening at the University of Cambridge Computer Laboratory for a post-doctoral researcher working in the areas of security, operating systems, and computer architecture.</p>
<p><strong>Research Associate</strong><br />
University of Cambridge &#8211; Faculty of Computer Science &#038; Technology</p>
<p>Salary: £27,428 &#8211; £35,788 pa<br />
The funds for this post are available for one year:</p>
<p>We are seeking a Post-doctoral Research Associate to join the CTSRD Project, which is investigating fundamental improvements to CPU architecture, operating system (OS), and programming language structure in support of computer security. The CTSRD Project is a collaboration between the University of Cambridge and SRI International, and part of the DARPA CRASH research programme on clean-slate computer system design.</p>
<p>This position will be an integral part of an international team of researchers spanning multiple institutions across academia and industry. The successful candidate will contribute to low-level aspects of system software: compilers, language run-times, and OS kernels. Responsibilities will include researching the application of novel dynamic techniques to C-language operating systems and applications, including adaptation of the FreeBSD kernel and LLVM compiler suite, and measurement of the resulting system.</p>
<p>An ideal candidate will hold (or be close to finishing) a PhD in Computer Science, Mathematics, or similar with a strong background in low-level system software development, which should include at least of one of strong kernel development experience (FreeBSD preferred; Linux acceptable), or compiler internals experience (LLVM preferred; gcc acceptable). Strong experience with the C programming language is critical. Some background in computer security is also recommended.</p>
<p>Candidates must be able to provide evidence of relevant work demonstrated by a research publication track record or industrial experience. Good interpersonal and organisational skills and the ability to work in a team are also essential. This post is intended to be filled as soon as practically possible after the closing date.</p>
<p>Applications should include:</p>
<ul>
<li> Curriculum Vitae
<li> Brief statement of the particular contribution you would make to the project
<li><a href="http://www.admin.cam.ac.uk/offices/hr/forms/chris6/">A completed form CHRIS6</a>
</ul>
<p>Completed applications should be sent by post to: Personnel-Admin,Computer Laboratory, William Gates Building, JJ Thomson Avenue, Cambridge, CB3 0FD, or by email to: personnel-admin@cl.cam.ac.uk</p>
<p>Quote Reference: NR10692<br />
Closing Date: 10 January 2012</p>
<p>The University values diversity and is committed to equality of opportunity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lightbluetouchpaper.org/2011/12/06/job-ad-post-doctoral-researcher-in-security-operating-systems-computer-architecture/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Capsicum: practical capabilities for UNIX</title>
		<link>http://www.lightbluetouchpaper.org/2010/08/12/capsicum-practical-capabilities-for-unix/</link>
		<comments>http://www.lightbluetouchpaper.org/2010/08/12/capsicum-practical-capabilities-for-unix/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 02:57:37 +0000</pubDate>
		<dc:creator>Robert N. M. Watson</dc:creator>
				<category><![CDATA[Academic papers]]></category>
		<category><![CDATA[Awards]]></category>
		<category><![CDATA[Operating systems]]></category>

		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=2349</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Capsicum%3A+practical+capabilities+for+UNIX&amp;rft.aulast=Watson&amp;rft.aufirst=Robert&amp;rft.subject=Academic+papers&amp;rft.subject=Awards&amp;rft.subject=Operating+systems&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2010-08-12&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2010/08/12/capsicum-practical-capabilities-for-unix/&amp;rft.language=English"></span>
Today, Jonathan Anderson, Ben Laurie, Kris Kennaway, and I presented Capsicum: practical capabilities for UNIX at the 19th USENIX Security Symposium in Washington, DC; the slides can be found on the Capsicum web site. We argue that capability design principles fill a gap left by discretionary access control (DAC) and mandatory access control (MAC) in [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Capsicum%3A+practical+capabilities+for+UNIX&amp;rft.aulast=Watson&amp;rft.aufirst=Robert&amp;rft.subject=Academic+papers&amp;rft.subject=Awards&amp;rft.subject=Operating+systems&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2010-08-12&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2010/08/12/capsicum-practical-capabilities-for-unix/&amp;rft.language=English"></span>
<p>Today, Jonathan Anderson, Ben Laurie, Kris Kennaway, and I presented <a href="http://www.cl.cam.ac.uk/research/security/capsicum/papers/2010usenix-security-capsicum-website.pdf">Capsicum: practical capabilities for UNIX</a> at the <a href="http://www.usenix.org/events/sec10/">19th USENIX Security Symposium</a> in Washington, DC; the <a href="http://www.cl.cam.ac.uk/research/security/capsicum/slides/20100811-usenix-capsicum.pdf">slides</a> can be found on the <a href="http://www.cl.cam.ac.uk/research/security/capsicum/">Capsicum web site</a>. We argue that capability design principles fill a gap left by discretionary access control (DAC) and mandatory access control (MAC) in operating systems when supporting security-critical and security-aware applications.</p>
<p>Capsicum responds to the trend of application compartmentalisation (sometimes called privilege separation) by providing strong and well-defined isolation primitives, and by facilitating rights delegation driven by the application (and eventually, user). These facilities prove invaluable, not just for traditional security-critical programs such as tcpdump and OpenSSH, but also complex security-aware applications that map distributed security policies into local primitives, such as Google&#8217;s Chromium web browser, which implement the same-origin policy when sandboxing JavaScript execution.</p>
<p>Capsicum extends POSIX with a new <i>capability mode</i> for processes, and <i>capability</i> file descriptor type, as well as supporting primitives such as <i>process descriptors</i>. Capability mode denies access to global operating system namespaces, such as the file system and IPC namespaces: only delegated rights (typically via file descriptors or more refined capabilities) are available to sandboxes. We prototyped Capsicum on FreeBSD 9.x, and have extended a variety of applications, including Google&#8217;s Chromium web browser, to use Capsicum for sandboxing. Our paper discusses design trade-offs, both in Capsicum and in applications, as well as a performance analysis. Capsicum is available under a BSD license.</p>
<p>Capsicum is collaborative research between the University of Cambridge and Google, and has been sponsored by Google, and will be a foundation for future work on application security, sandboxing, and security usability at Cambridge and Google. Capsicum has also been backported to FreeBSD 8.x, and Heradon Douglas at Google has an in-progress port to Linux.</p>
<p>We&#8217;re also pleased to report the Capsicum paper won Best Student Paper award at the conference!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lightbluetouchpaper.org/2010/08/12/capsicum-practical-capabilities-for-unix/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>When Layers of Abstraction Don&#8217;t Get Along: The Difficulty of Fixing Cache Side-Channel Vulnerabilities</title>
		<link>http://www.lightbluetouchpaper.org/2009/02/20/when-layers-of-abstraction-dont-get-along-the-difficulty-of-fixing-cache-side-channel-vulnerabilities/</link>
		<comments>http://www.lightbluetouchpaper.org/2009/02/20/when-layers-of-abstraction-dont-get-along-the-difficulty-of-fixing-cache-side-channel-vulnerabilities/#comments</comments>
		<pubDate>Fri, 20 Feb 2009 06:58:15 +0000</pubDate>
		<dc:creator>Joseph Bonneau</dc:creator>
				<category><![CDATA[Cryptology]]></category>
		<category><![CDATA[Hardware & signals]]></category>
		<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[Security engineering]]></category>

		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/?p=661</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=When+Layers+of+Abstraction+Don%26%238217%3Bt+Get+Along%3A+The+Difficulty+of+Fixing+Cache+Side-Channel+Vulnerabilities&amp;rft.aulast=Bonneau&amp;rft.aufirst=Joseph&amp;rft.subject=Cryptology&amp;rft.subject=Hardware+%26%23038%3B+signals&amp;rft.subject=Operating+systems&amp;rft.subject=Security+engineering&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2009-02-20&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2009/02/20/when-layers-of-abstraction-dont-get-along-the-difficulty-of-fixing-cache-side-channel-vulnerabilities/&amp;rft.language=English"></span>
(co-authored with Robert Watson)
Recently, our group was treated to a presentation by Ruby Lee of Princeton University, who discussed novel cache architectures which can prevent some cache-based side channel attacks against AES and RSA. The new architecture was fascinating, in particular because it may actually increase cache performance (though this point was spiritedly debated by [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=When+Layers+of+Abstraction+Don%26%238217%3Bt+Get+Along%3A+The+Difficulty+of+Fixing+Cache+Side-Channel+Vulnerabilities&amp;rft.aulast=Bonneau&amp;rft.aufirst=Joseph&amp;rft.subject=Cryptology&amp;rft.subject=Hardware+%26%23038%3B+signals&amp;rft.subject=Operating+systems&amp;rft.subject=Security+engineering&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2009-02-20&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2009/02/20/when-layers-of-abstraction-dont-get-along-the-difficulty-of-fixing-cache-side-channel-vulnerabilities/&amp;rft.language=English"></span>
<p>(co-authored with <a href="http://www.watson.org/~robert/">Robert Watson</a>)</p>
<p>Recently, our group was treated to a presentation by <a href="http://www.princeton.edu/~rblee/">Ruby Lee</a> of Princeton University, who discussed novel cache architectures which can prevent some cache-based side channel attacks against AES and RSA. The new architecture was fascinating, in particular because it may actually <em>increase</em> cache performance (though this point was spiritedly debated by several systems researchers in attendance). For the security group, though, it raised two interesting and troubling questions. What is the proper defence against side-channels due to processor cache? And why hasn&#8217;t it been implemented despite these attacks being around for years?</p>
<p><span id="more-661"></span>The history of cached memory being used a side channel goes all the way back to the classic page-fault password attacks against TENEX <a href="http://cwe.mitre.org/documents/sources/RISOSProjectFinalReport.pdf">reported in 1976</a>.  The possibility of using processor cache as a side channel against crypto routines was <a href="http://www.cryptography.net/resources/whitepapers/TimingAttacks.pdf">suggested</a> by Paul Kocher in 1996, and <a href="http://www.schneier.com/paper-side-channel2.pdf">again</a> by John Kelsey et al. in 1998, but largely ignored during AES standardisation. Rijndael was selected despite its heavy reliance on table lookup to achieve good performance in software. Daniel Page described <a href="http://www.compsci.bristol.ac.uk/Publications/Papers/1000625.pdf">theoretical cache attacks against DES</a> in more detail in 2002. Daniel Bernstein finally broke the flood gates open in 2005 with an <a href="http://cr.yp.to/antiforgery/cachetiming-20050414.pdf">experimental statistical timing attack</a> on AES. This was followed over the next year by Colin Percival&#8217;s <a href="http://cr.yp.to/bib/2005/percival-cache.pdf">cache-snooping attacks against RSA on hyperthreaded processors</a>,  Dag Osvik et al.&#8217;s <a href="http://mirror.cr.yp.to/eprint.iacr.org/2005/271.pdf">cache-preloading-and-inspection attacks</a>, Guido Bertoni et al.&#8217;s <a href="http://home.dei.polimi.it/gpalermo/papers/ITCC05.pdf">cache power-consumption attacks</a>, and my own <a href="http://www.jbonneau.com/AES_timing_full.pdf">cache-collision timing attacks</a>.</p>
<p>All of the AES attacks have a common structure and cause: AES performs table lookups at indexes dependent on individual bytes of the key. Cache being a shared resource, attackers can potentially see the side-effects of these lookups, such as eviction of the attacker&#8217;s data from cache, or increased time and power consumption due to the ratio of hits to misses. This is an excellent example of how security vulnerabilities get overlooked: a bizarre interaction of algorithmic optimisations of AES and the architecture of processor caches. Both of these are messy details which were designed to be abstracted away from the majority of their users.</p>
<p>Here we are in 2009, and the vulnerability still exists. Interestingly, the problem hasn&#8217;t seen a lack of proposed solutions (there have been dozens), but too many solutions at different levels of abstraction, each with its own drawbacks:</p>
<ul>
<li><strong>Algorithmic level:</strong> AES could be de-certified for situations where an attacker may have access to side-channel information. AES runner-up <a href="http://www.cl.cam.ac.uk/~rja14/Papers/serpent.pdf">Serpent</a> avoided table-lookups, as do most candidates in the current <a href="http://www.ecrypt.eu.org/stream/">eSTREAM</a> and <a href="http://csrc.nist.gov/groups/ST/hash/sha-3/index.html">SHA-3</a> competitions. Of course, this relies on millions of implementers to determine if side-channel attacks may apply and then choose an appropriate alternative to AES. For the future, we can chalk up the use of table-lookups in cryptographic software as a one-time mistake and move on, but for now we&#8217;re stuck with AES for decades.</li>
<li><strong>Software level: </strong>Many neat implementation tricks have been proposed to protect AES, from <a href="http://eprint.iacr.org/2006/052.pdf">altering or randomising</a> the use of caches to <a href="http://www.springerlink.com/index/950m081267502000.pdf">bitslicing the encryption</a> and eliminating caches. A software patch worked for RSA, where re-shuffling the pre-computed values of the message <a href="http://cvs.openssl.org/chngview?cn=13344">has been deployed</a> to mitigate Percival&#8217;s hyperthreading attacks against bit-windowed exponentiation. Unfortunately, the cost of this approach is prohibitive for AES as re-shuffling the AES lookup tables between encryptions is many times more costly than encrypting with no tables at all, an approach whose performance got us into the reliance on table-lookup in the first place. Even worse, randomisation doesn&#8217;t prevent collision attacks.</li>
<li><strong>OS level:</strong> The operating system, possibly with the assistance of new hardware-instructions, could close the cache side-channel by partitioning the cache between processes, locking critical sections of cache, or simply disabling shared cache or hyperthreading during sections of code marked as &#8220;security critical&#8221; by application programmers. The downsides here are multifold: this adds a lot of complexity for OS programmers, and the very transparency of caching becomes a problem-will the OS scheduling policy have to be changed for each minor cache design change in hardware, and will OS developer misunderstandings of hardware-specific cache behavior progress from edge-case performance loss to crypto vulnerability? Requiring a large number of people to understand the intricacies of caching behavior is almost certainly unrealistic (try giving <a href="download.intel.com/design/processor/manuals/253668.pdf">section 10</a> of Intel&#8217;s manual a read). We think there&#8217;s a nice analogy to the number of bugs introduced by concurrent execution-if each one of these were potentially a security vulnerability, it would be trouble.</li>
<li><strong>Cache implementation level:</strong> This is where Ruby Lee and her colleague&#8217;s proposal comes in. Perhaps we can exploit the fact that caches are just a performance optimisation which software shouldn&#8217;t rely on in detail, silently changing the caching behaviour to be randomised. This is nice in that action is required of relatively few people, but even assuming there is no performance penalty it is unsettling in that it makes caches even more complex, raising the possibility of future side-channels being found. The proposal also does nothing to prevent collision attacks.</li>
<li><strong>Instruction set level: </strong>Intel has finally announced dedicated AES support with its <a href="http://softwarecommunity.intel.com/isn/downloads/intelavx/Intel-AVX-Programming-Reference-31943302.pdf">AVX extensions</a>, due out in 2010. To most people&#8217;s satisfaction, a hardware AES implementation eliminates cache vulnerabilities, but servers purchased today will likely be running for decades.</li>
</ul>
<p>So, in the end we are left with many options and few good ones. We advocate in general that we should aim for a fix which requires the smallest number of people to make changes, and one which reduces complexity so as to prevent future vulnerabilities. By this metric the first and last options seem the best, but they also take the longest to implement, meaning for the short-term we&#8217;ll need to rely on hacks at the software and OS level, which means a lot of pain for crypto and operating system implementers. And while crypto algorithms are clear targets for cache attacks due to their iterated implementation which facilitates statistical attacks, we can&#8217;t rule out more general attacks in the future against other security-sensitive code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lightbluetouchpaper.org/2009/02/20/when-layers-of-abstraction-dont-get-along-the-difficulty-of-fixing-cache-side-channel-vulnerabilities/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Securing Network Location Awareness with Authenticated DHCP</title>
		<link>http://www.lightbluetouchpaper.org/2008/03/19/securing-network-location-awareness-with-authenticated-dhcp/</link>
		<comments>http://www.lightbluetouchpaper.org/2008/03/19/securing-network-location-awareness-with-authenticated-dhcp/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 12:47:02 +0000</pubDate>
		<dc:creator>Steven J. Murdoch</dc:creator>
				<category><![CDATA[Academic papers]]></category>
		<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[Privacy technology]]></category>
		<category><![CDATA[Security engineering]]></category>

		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/2008/03/19/securing-network-location-awareness-with-authenticated-dhcp/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Securing+Network+Location+Awareness+with+Authenticated+DHCP&amp;rft.aulast=Murdoch&amp;rft.aufirst=Steven+J.&amp;rft.subject=Academic+papers&amp;rft.subject=Operating+systems&amp;rft.subject=Privacy+technology&amp;rft.subject=Security+engineering&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2008-03-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2008/03/19/securing-network-location-awareness-with-authenticated-dhcp/&amp;rft.language=English"></span>
During April&#8211;June 2006, I was an intern at Microsoft Research, Cambridge. My project, supervised by Tuomas Aura and Michael Roe, was to improve the privacy and security of mobile computer users. A paper summarizing our work was published at SecureComm 2007, but I&#8217;ve only just released the paper online: &#8220;Securing Network Location Awareness with Authenticated [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=Securing+Network+Location+Awareness+with+Authenticated+DHCP&amp;rft.aulast=Murdoch&amp;rft.aufirst=Steven+J.&amp;rft.subject=Academic+papers&amp;rft.subject=Operating+systems&amp;rft.subject=Privacy+technology&amp;rft.subject=Security+engineering&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2008-03-19&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2008/03/19/securing-network-location-awareness-with-authenticated-dhcp/&amp;rft.language=English"></span>
<p>During April&ndash;June 2006, I was an intern at <a href="http://research.microsoft.com/cambridge/">Microsoft Research, Cambridge</a>. My project, supervised by <a href="http://research.microsoft.com/users/tuomaura/">Tuomas Aura</a> and <a href="http://research.microsoft.com/users/mroe/">Michael Roe</a>, was to improve the privacy and security of mobile computer users. A paper summarizing our work was published at <a href="http://www.securecomm.org/2007/">SecureComm 2007</a>, but I&#8217;ve only just released the paper online: <a href="http://www.cl.cam.ac.uk/~sjm217/papers/securecomm07authdhcp.pdf">&#8220;Securing Network Location Awareness with Authenticated DHCP&#8221;</a>.</p>
<p>How a computer should behave depends on its network location. Existing security solutions, like firewalls, fail to adequately protect mobile users because they assume their policy is static. This results in laptop computers being configured with fairly open policies, in order to facilitate applications appropriate for a trustworthy office LAN (e.g. file and printer sharing, collaboration applications, and custom servers). When the computer is taken home or roaming, this policy leaves an excessively large attack surface.</p>
<p>This static approach also harms user privacy. Modern applications broadcast a large number of identifiers which may leak privacy sensitive information (name, employer, office location, job role); even randomly generated identifiers allow a user to be tracked. When roaming, a laptop should not broadcast identifiers unless necessary, and on moving location either pseudonymous identifiers should be re-used or anonymous ones generated.</p>
<p>Both of these goals require a computer to be able to identify which network it is on, even when an attacker is attempting to spoof this information. Our solution was to extend DHCP to include an network location identifier, authenticated by a public-key signature. I built a proof-of-concept implementation for the Microsoft Windows Server 2003 DHCP server, and the Vista DHCP client. </p>
<p>A scheme like this should ideally work on both small PKI-less home LANs and still permit larger networks to aggregate multiple access points into one logical network. Achieving this requires some subtle naming and key management tricks. These techniques, and how to implement the protocols in a privacy-preserving manner are described in our <a href="http://www.cl.cam.ac.uk/~sjm217/papers/securecomm07authdhcp.pdf">paper</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lightbluetouchpaper.org/2008/03/19/securing-network-location-awareness-with-authenticated-dhcp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>USENIX WOOT07, Exploiting Concurrency Vulnerabilities in System Call Wrappers, and the Evil Genius</title>
		<link>http://www.lightbluetouchpaper.org/2007/08/06/usenix-woot07-exploiting-concurrency-vulnerabilities-in-system-call-wrappers-and-the-evil-genius/</link>
		<comments>http://www.lightbluetouchpaper.org/2007/08/06/usenix-woot07-exploiting-concurrency-vulnerabilities-in-system-call-wrappers-and-the-evil-genius/#comments</comments>
		<pubDate>Mon, 06 Aug 2007 20:33:24 +0000</pubDate>
		<dc:creator>Robert N. M. Watson</dc:creator>
				<category><![CDATA[Academic papers]]></category>
		<category><![CDATA[Operating systems]]></category>
		<category><![CDATA[Security engineering]]></category>

		<guid isPermaLink="false">http://www.lightbluetouchpaper.org/2007/08/06/usenix-woot07-exploiting-concurrency-vulnerabilities-in-system-call-wrappers-and-the-evil-genius/</guid>
		<description><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=USENIX+WOOT07%2C+Exploiting+Concurrency+Vulnerabilities+in+System+Call+Wrappers%2C+and+the+Evil+Genius&amp;rft.aulast=Watson&amp;rft.aufirst=Robert&amp;rft.subject=Academic+papers&amp;rft.subject=Operating+systems&amp;rft.subject=Security+engineering&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2007-08-06&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2007/08/06/usenix-woot07-exploiting-concurrency-vulnerabilities-in-system-call-wrappers-and-the-evil-genius/&amp;rft.language=English"></span>
I&#8217;ve spent the day at the First USENIX Workshop on Offensive Technologies (WOOT07) &#8212; an interesting new workshop on attack strategies and technologies. The workshop highlights the tension between the &#8220;white&#8221; and &#8220;black&#8221; hats in security research &#8212; you can&#8217;t design systems to avoid security problems if you don&#8217;t understand what they are. USENIX&#8217;s take [...]]]></description>
			<content:encoded><![CDATA[	
	<span class="Z3988" title="ctx_ver=Z39.88-2004&amp;rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Adc&amp;rfr_id=info%3Asid%2Focoins.info%3Agenerator&amp;rft.title=USENIX+WOOT07%2C+Exploiting+Concurrency+Vulnerabilities+in+System+Call+Wrappers%2C+and+the+Evil+Genius&amp;rft.aulast=Watson&amp;rft.aufirst=Robert&amp;rft.subject=Academic+papers&amp;rft.subject=Operating+systems&amp;rft.subject=Security+engineering&amp;rft.source=Light+Blue+Touchpaper&amp;rft.date=2007-08-06&amp;rft.type=blogPost&amp;rft.format=text&amp;rft.identifier=http://www.lightbluetouchpaper.org/2007/08/06/usenix-woot07-exploiting-concurrency-vulnerabilities-in-system-call-wrappers-and-the-evil-genius/&amp;rft.language=English"></span>
<p>I&#8217;ve spent the day at <a href="http://www.usenix.org/events/woot07/tech/">the First USENIX Workshop on Offensive Technologies (WOOT07)</a> &#8212; an interesting new workshop on attack strategies and technologies. The workshop highlights the tension between the &#8220;white&#8221; and &#8220;black&#8221; hats in security research &#8212; you can&#8217;t design systems to avoid security problems if you don&#8217;t understand what they are. <a href="http://www.usenix.org/">USENIX</a>&#8217;s take on such a forum is less far down the questionable ethical spectrum than some other venues, but it certainly presented and talked about both new exploits for new vulnerabilities, and techniques for evading current protections in concrete detail.</p>
<p>I presented, <a href="http://www.watson.org/~robert/2007woot/">&#8220;Exploiting Concurrency Vulnerabilities in System Call Wrappers,&#8221;</a> a paper on the topic of compromising system call interposition-based protection systems, such as COTS virus scanners, <a href="http://www.citi.umich.edu/u/provos/systrace/">OpenBSD and NetBSD&#8217;s Systrace</a>, the <a href="http://www.isso.sparta.com/opensource/wrappers/">TIS Generic Software Wrappers Toolkit (GSWTK)</a>, and <a href="http://cerber.sourceforge.net/">CerbNG</a>. The key insight here is that the historic assumption of &#8220;atomicity&#8221; of system calls is falacious, and that on both uniprocessor and multiprocessing systems, it is trivial to construct a race between system call wrappers and malicious user processes to bypass protections. I demonstrated sample exploit code against the <a href="http://sysjail.bsd.lv/">Sysjail policy on Systrace</a>, and <a href="http://www.isso.sparta.com/opensource/wrappers/index.html">IDwrappers on GSWTK</a>, but the paper includes a more extensive discussion including vulnerabilities in <a href="http://www.gratisoft.us/sudo/">sudo</a>&#8217;s Systrace monitor mode. You can <a href="http://www.watson.org/~robert/2007woot/">read the paper and see the presentation slides here</a>. All affected vendors received at least six months, and in some cases many years advance notice regarding these vulnerabilities.</p>
<p>The moral, for those unwilling to read the paper, is that system call wrappers are a bad idea, unless of course, you&#8217;re willing to rewrite the OS to be message-passing. Systems like the <a href="http://www.trustedbsd.org/mac.html">TrustedBSD MAC Framework</a> on <a href="http://www.FreeBSD.org/">FreeBSD</a> and <a href="http://www.apple.com/macosx/leopard/">Mac OS X Leopard</a>, <a href="http://en.wikipedia.org/wiki/Linux_Security_Modules">Linux Security Modules (LSM)</a>, <a href="http://developer.apple.com/technotes/tn2005/tn2127.html">Apple&#8217;s (and now also NetBSD&#8217;s) kauth(9)</a>, and other tightly integrated kernel security frameworks offer specific solutions to these concurrency problems. There&#8217;s plenty more to be done in that area.</p>
<p>Concurrency issues have been discussed before in computer security, especially relating to races between applications when accessing /tmp, unexpected signal interruption of socket operations, and distributed systems races, but this paper starts to explore the far more sordid area of OS kernel concurrency and security. Given that even notebook computers are multiprocessor these days, emphasizing the importance of correct synchronization and reasoning about high concurrency is critical to thinking about security correctly. As someone with strong interests in both OS parallelism and security, the parallels (no pun intended) seem obvious: in both cases, the details really matter, and it requires thinking about a proverbial <a href="http://plato.stanford.edu/entries/descartes-epistemology/">Cartesian Evil Genius</a>. Anyone who&#8217;s done serious work with concurrent systems knows that they are actively malicious, so a good alignment for the infamous malicious attacker in security research!</p>
<p>Some of the other presentations have included talks about <a href="http://code.google.com/p/flayer/">Google&#8217;s software fuzzing tool Flayer</a> based on <a href="http://valgrind.org/">Valgrind</a>, attacks on deployed SIP systems including AT&amp;T&#8217;s product, Bluetooth sniffing with BlueSniff, and quantitative analyses of OS fingerprinting techniques. <a href="http://www.usenix.org/">USENIX</a> members will presumably be able to read the full set of papers online immediately; for others, check back in a year or visit the personal web sites of the speakers after you look at the <a href="http://www.usenix.org/events/woot07/tech/">WOOT07 Programme</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lightbluetouchpaper.org/2007/08/06/usenix-woot07-exploiting-concurrency-vulnerabilities-in-system-call-wrappers-and-the-evil-genius/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
	</channel>
</rss>

