<node id="676819">
  <nid>676819</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1726510781</created>
  <changed>1726510819</changed>
  <title><![CDATA[PhD Proposal by Ammar Askar]]></title>
  <body><![CDATA[<p><strong>Title</strong>: Security and bug-finding in foreign function interfaces and multi-language programs</p><p>&nbsp;</p><p><strong>Date</strong>: Wednesday, September 25, 2023</p><p><strong>Time</strong>: 1:00 PM – 3:00 PM EST</p><p><strong>Location</strong>: (hybrid) CODA 1006 West End, and Zoom (<a href="https://gatech.zoom.us/j/93433886448" title="https://gatech.zoom.us/j/93433886448">https://gatech.zoom.us/j/93433886448</a>)</p><p>&nbsp;</p><p><strong>Ammar Askar</strong></p><p>Ph.D. Student</p><p>School of Computer Science &amp; School of Cybersecurity and Privacy</p><p>College of Computing</p><p>Georgia Institute of Technology</p><p>&nbsp;</p><p><strong>Committee:</strong></p><p>Dr. Taesoo Kim <em>(advisor)</em>, School of Cybersecurity and Privacy, Georgia Institute of Technology</p><p>Dr. Brendan D. Saltaformaggio, School of Cybersecurity and Privacy, Georgia Institute of Technology</p><p>Dr. Qirun Zhang - School of Computer Science, Georgia Institute of Technology</p><p>Dr. Alessandro Orso - School of Computer Science, Georgia Institute of Technology</p><p>Dr. Sangho Lee - Redmond Security Research Group, Microsoft Research</p><p>&nbsp;</p><p><strong>Abstract:</strong></p><p>Modern programs often require the use of multiple programming languages. High level languages like Java and Python allow rapid prototyping and fast development speeds without having to worry about low level details such as memory management. However, due to performance constraints, and to interface with many foundational libraries, it is sometimes necessary to write code in low level languages such as C.</p><p>&nbsp;</p><p>Due to the differences in the semantics and security considerations in different languages, there is a likelihood of security issues being introduced when programmers context-switch between writing in multiple languages. For example, a programmer who is used to array accesses being bounds-checked by the language may end up introducing a spatial memory-safety issue with an out of bounds access. One who is unfamiliar with the nuances of manual memory management may introduce a use-after-free vulnerability.</p><p>&nbsp;</p><p>In this proposal, we examine common mistakes in the space of multi-language programs and foreign function interfaces. We then look at how we can automate the process of finding bugs of this class. Through the use of synthesized fuzzing harnesses we explore how program and data flow in one language can trigger bugs in the foreign language. With static analysis, we look at language semantics of the foreign function interfaces such as memory ownership and bounds-checking.</p><p>&nbsp;</p>]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[Security and bug-finding in foreign function interfaces and multi-language programs]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[<p>Security and bug-finding in foreign function interfaces and multi-language programs</p>]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2024-09-25T13:00:00-04:00]]></value>
      <value2><![CDATA[2024-09-25T15:00:49-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[(hybrid) CODA 1006 West End, and Zoom ]]></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>102851</tid>
        <value><![CDATA[Phd proposal]]></value>
      </item>
      </field_keywords>
  <field_userdata><![CDATA[]]></field_userdata>
</node>
