<node id="550991">
  <nid>550991</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1467819433</created>
  <changed>1475893095</changed>
  <title><![CDATA[PhD Defense by Byoungyoung Lee]]></title>
  <body><![CDATA[<p>Title:&nbsp;<strong>Protecting computer systems through eliminating&nbsp;or analyzing vulnerabilities</strong><br /> <br /> <strong>Byoungyoung Lee</strong><br /> School of Computer Science<br /> College of Computing<br /> Georgia Institute of Technology<br /> <br /> Date:&nbsp;Thursday, July 14, 2016<br /> Time:&nbsp;2 PM to 4 PM EST<br /> <strong>Location: KACB 3126</strong><br /> <br /> Committee:<br /> ---------------<br /> Dr. Wenke Lee (Co-Advisor, School of Computer Science, Georgia Tech)<br /> Dr. Taesoo Kim (Co-Advisor, School of Computer Science, Georgia Tech)<br /> Dr. William R. Harris (School of Computer Science, Georgia Tech)<br /> Dr. Alex Orso (School of Computer Science, Georgia Tech)<br /> Dr. Weidong Cui (Microsoft Research Redmond)<br /> <br /> Abstract:<br /> ---------------</p><p>There have been tremendous efforts to build fully secure computer</p><p>systems, but it is not an easy goal.&nbsp; Making a simple mistake</p><p>introduces a vulnerability, which can critically endanger a whole</p><p>system's security.</p><p>&nbsp;</p><p>This thesis aims at protecting computer systems from</p><p>vulnerabilities. We take two complementary approaches in achieving</p><p>this goal, eliminating or analyzing vulnerabilities.&nbsp; In the</p><p>vulnerability elimination approach, we eliminate a certain class</p><p>of memory corruption vulnerabilities to completely close attack</p><p>vectors from such vulnerabilities.&nbsp; In particular, we develop tools</p><p>DangNull and CaVer, each of which eliminates popular and emerging</p><p>vulnerabilities, use-after-free and bad-casting, respectively.</p><p>DangNull relies on the key observation that the root cause of</p><p>use-after-free is that pointers are not nullified after the target</p><p>object is freed.&nbsp; Thus, DangNull instruments a program to trace the</p><p>object's relationships via pointers and automatically nullifies all</p><p>pointers when the target object is freed.&nbsp; Similarly, CaVer relies</p><p>on the key observation that the root cause of bad-casting is that</p><p>casting operations are not properly verified.&nbsp; Thus, CaVer uses a</p><p>new runtime type tracing mechanism to overcome the limitation of</p><p>existing approaches, and performs efficient verification on all type</p><p>casting operations dynamically.&nbsp; We have implemented these protection</p><p>solutions and successfully applied them to Chrome and Firefox</p><p>browsers. Our evaluation showed that DangNull and CaVer imposes 29%</p><p>and 7.6% benchmark overheads in Chrome, respectively. We have also</p><p>tested seven use-after-free and five bad-casting exploits in Chrome,</p><p>and DangNull and CaVer safely prevented them all.</p><p>&nbsp;</p><p>In the vulnerability analysis approach, we focus on a timing-channel</p><p>vulnerability which allows an attacker to learn information about</p><p>program's sensitive data without causing a program to perform</p><p>unsafe operations.&nbsp; It is challenging to test and further confirm</p><p>the timing-channel vulnerability as it typically involves complex</p><p>algorithmic operations.&nbsp; We implemented SideFinder, an assistant tool</p><p>identifying timing-channel vulnerabilities in a hash table. Empowered</p><p>with symbolic execution techniques, SideFinder semi-automatically</p><p>synthesizes inputs attacking timing-channels, and thus confirms the</p><p>vulnerability.&nbsp; Using SideFinder, we analyzed and further synthesized</p><p>two real-world attacks in the Linux kernel, and showed it can break</p><p>one important security mechanism, Address Space Layout Randomization</p><p> </p>]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[Protecting computer systems through eliminating or analyzing vulnerabilities]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2016-07-14T15:00:00-04:00]]></value>
      <value2><![CDATA[2016-07-14T17:00:00-04:00]]></value2>
      <rrule><![CDATA[]]></rrule>
      <timezone><![CDATA[America/New_York]]></timezone>
    </item>
  </field_time>
  <field_fee>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_fee>
  <field_extras>
      </field_extras>
  <field_audience>
          <item>
        <value><![CDATA[Public]]></value>
      </item>
      </field_audience>
  <field_media>
      </field_media>
  <field_contact>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_contact>
  <field_location>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_location>
  <field_sidebar>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_sidebar>
  <field_phone>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_phone>
  <field_url>
    <item>
      <url><![CDATA[]]></url>
      <title><![CDATA[]]></title>
            <attributes><![CDATA[]]></attributes>
    </item>
  </field_url>
  <field_email>
    <item>
      <email><![CDATA[]]></email>
    </item>
  </field_email>
  <field_boilerplate>
    <item>
      <nid><![CDATA[]]></nid>
    </item>
  </field_boilerplate>
  <links_related>
      </links_related>
  <files>
      </files>
  <og_groups>
          <item>221981</item>
      </og_groups>
  <og_groups_both>
          <item><![CDATA[Graduate Studies]]></item>
      </og_groups_both>
  <field_categories>
          <item>
        <tid>1788</tid>
        <value><![CDATA[Other/Miscellaneous]]></value>
      </item>
      </field_categories>
  <field_keywords>
          <item>
        <tid>100811</tid>
        <value><![CDATA[Phd Defense]]></value>
      </item>
      </field_keywords>
  <field_userdata><![CDATA[]]></field_userdata>
</node>
