<?xml version="1.0" encoding="utf-8" standalone="yes"?>

<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Thomas Letan's Blog - research</title>
    <link>https://soap.coffee/~lthms/tags/research.html</link>
    <description>Posts tagged "research"</description>
    <atom:link href="https://soap.coffee/~lthms/tags/research.xml" rel="self"
               type="application/rss+xml" />
    
    
    <item>
      <title>I am no longer a PhD. student</title>
      <link>https://soap.coffee/~lthms/posts/EndOfPhd.html</link>
      <guid>https://soap.coffee/~lthms/posts/EndOfPhd.html</guid>
      <pubDate>January 15, 2019</pubDate>
      <description>
        
        &lt;h1&gt;I am no longer a PhD. student&lt;/h1&gt;&lt;div id=&quot;tags-list&quot;&gt;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#tag&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&amp;nbsp;&lt;a href=&quot;/~lthms/tags/research.html&quot; class=&quot;tag hover-sky&quot; marked=&quot;&quot;&gt;research&lt;/a&gt; &lt;/div&gt;
&lt;p&gt;It has been a long journey —4 years, 10 days— but I have completed my PhD on
October 25, 2018. The exact title of my PhD thesis is “&lt;a href=&quot;https://inria.hal.science/tel-01989940v2/file/2018_LETAN_archivage.pdf&quot; class=&quot;hover-periwinkle&quot; marked=&quot;&quot;&gt;&lt;em&gt;Specifying and
Verifying Hardware-based Security Enforcement
Mechanisms&lt;/em&gt;&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;”.&lt;/p&gt;
&lt;h2&gt;Abstract&lt;/h2&gt;
&lt;p&gt;In this thesis, we consider a class of security enforcement mechanisms we
called &lt;em&gt;Hardware-based Security Enforcement&lt;/em&gt; (HSE). In such mechanisms, some
trusted software components rely on the underlying hardware architecture to
constrain the execution of untrusted software components with respect to
targeted security policies. For instance, an operating system which configures
page tables to isolate userland applications implements a HSE mechanism.&lt;/p&gt;
&lt;p&gt;For a HSE mechanism to correctly enforce a targeted security policy, it
requires both hardware and trusted software components to play their parts.
During the past decades, several vulnerability disclosures have defeated HSE
mechanisms. We focus on the vulnerabilities that are the result of errors at
the specification level, rather than implementation errors. In some critical
vulnerabilities, the attacker makes a legitimate use of one hardware component
to circumvent the HSE mechanism provided by another one. For instance, cache
poisoning attacks leverage inconsistencies between cache and DRAM’s access
control mechanisms. We call this class of attacks, where an attacker leverages
inconsistencies in hardware specifications, &lt;em&gt;compositional attacks&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Our goal is to explore approaches to specify and verify HSE mechanisms using
formal methods that would benefit both hardware designers and software
developers. Firstly, a formal specification of HSE mechanisms can be leveraged
as a foundation for a systematic approach to verify hardware specifications, in
the hope of uncovering potential compositional attacks ahead of time. Secondly,
it provides unambiguous specifications to software developers, in the form of a
list of requirements.&lt;/p&gt;
&lt;p&gt;Our contribution is two-fold:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;We propose a theory of HSE mechanisms against hardware architecture models.
This theory can be used to specify and verify such mechanisms. To evaluate
our approach, we propose a minimal model for a single core x86-based
computing platform. We use it to specify and verify the HSE mechanism
provided by Intel to isolate the code executed while the CPU is in System
Management Mode (SMM), a highly privileged execution mode of x86
microprocessors. We have written machine-checked proofs in the Coq proof
assistant to that end.&lt;/li&gt;
&lt;li&gt;We propose a novel approach inspired by algebraic effects to enable modular
verification of complex systems made of interconnected components as a first
step towards addressing the challenge posed by the scale of the x86 hardware
architecture. This approach is not specific to hardware models, and could
also be leveraged to reason about the composition of software components as
well. In addition, we have implemented our approach in the Coq theorem
prover, and the resulting framework takes advantage of Coq proof automation
features to provide general-purpose facilities to reason about components
interactions.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Publications&lt;/h2&gt;
&lt;p&gt;If you are interested, you can have a look at the paper I wrote during my PhD:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://inria.hal.science/hal-01361422v1/file/speccert-fm2016.pdf&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;SpecCert: Specifying and Verifying Hardware-based Security Enforcement
Mechanisms&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;,
with Pierre Chifflier, Guillame Hiet and Benjamin Morin, at Formal Methods
2016&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://inria.hal.science/hal-01799712v1/file/main.pdf&quot; class=&quot;hover-lavender&quot; marked=&quot;&quot;&gt;Modular Verification of Programs with Effects and Effect Handlers in
Coq&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#external-link&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt;, with Yann
Régis-Gianas, Pierre Chifflier and Guillaume Hiet, at Formal Methods 2018&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;You can also have a look at the Coq frameworks I have published:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/lthms/speccert&quot; class=&quot;hover-peach&quot; marked=&quot;&quot;&gt;SpecCert on Github&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; (CeCILL-B)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/lthms/FreeSpec&quot; class=&quot;hover-lemon&quot; marked=&quot;&quot;&gt;FreeSpec on Github&amp;nbsp;&lt;span class=&quot;icon&quot;&gt;&lt;svg&gt;&lt;use href=&quot;/~lthms/img/icons.svg#github&quot;&gt;&lt;/use&gt;&lt;/svg&gt;&lt;/span&gt;&lt;/a&gt; (MPL-2.0)&lt;/li&gt;
&lt;/ul&gt;
        
      </description>
    </item>
    
    
  </channel>
</rss>
