<node id="641800">
  <nid>641800</nid>
  <type>event</type>
  <uid>
    <user id="27707"><![CDATA[27707]]></user>
  </uid>
  <created>1606939659</created>
  <changed>1606939659</changed>
  <title><![CDATA[PhD Proposal  by Wen Xu]]></title>
  <body><![CDATA[<p>Title: An IR-based Fuzzing Approach for Finding Context-Aware Bugs in API-based Systems</p>

<p>&nbsp;</p>

<p>Wen Xu</p>

<p>Ph.D. Student</p>

<p>School of Computer Science</p>

<p>College of Computing</p>

<p>Georgia Institute of Technology</p>

<p>&nbsp;</p>

<p>Date: Wednesday, December 2, 2020</p>

<p>Time: 1:00 pm - 2:30 pm (EST)</p>

<p>Location: *No Physical Location*</p>

<p>BlueJeans: <a href="https://gatech.bluejeans.com/5992360268">https://gatech.bluejeans.com/5992360268</a></p>

<p>&nbsp;</p>

<p>Committee:</p>

<p>---------------</p>

<p>Dr. Taesoo Kim (Advisor, School of Computer Science, Georgia Institute of Technology)</p>

<p>Dr. Wenke Lee (School of Computer Science, Georgia Institute of Technology)</p>

<p>Dr. Alessandro Orso (School of Computer Science, Georgia Institute of Technology)</p>

<p>Dr. Qirun Zhang (School of Computer Science, Georgia Institute of Technology)</p>

<p>Dr. Weidong Cui (Microsoft Research Redmond)</p>

<p>&nbsp;</p>

<p>Abstract:</p>

<p>---------------</p>

<p>Fuzzing, a time-honored software testing approach, has gained increasing</p>

<p>popularity in recent years. With the emerging utilization of coverage</p>

<p>feedback, random inputs generated by merely byte- or syntactic-level</p>

<p>mutations effectively discover numerous bugs in the real-world programs that</p>

<p>accept binary or structural inputs. Nevertheless, API-based systems, a large</p>

<p>group of security critical software including OS kernels and web browsers,</p>

<p>that accept a program input comprising API calls are the exceptions. The deep</p>

<p>context-aware bugs in API-based systems involve semantically correct inputs</p>

<p>with certain context complexity. Such inputs are hardly constructed in a</p>

<p>context-insensitive manner even with feedback guidance in practice.</p>

<p>&nbsp;</p>

<p>In this proposal, we first present two state-of-the-art fuzzers that find</p>

<p>context-aware bugs in different API-based systems with domain-specific</p>

<p>designs. The first one is Janus, a kernel file system fuzzer. In the design</p>

<p>of Janus, we first time introduce the concept of context-aware API</p>

<p>generation. Particularly, Janus maintains file object states to generate</p>

<p>every file operation and updates the states after generation in order to avoid</p>

<p>semantic errors. The second one is FREEDOM, a DOM engine fuzzer. Unlike the</p>

<p>previous fuzzers that can only generate random HTML documents based on</p>

<p>context-free grammars, FREEDOM designs a custom IR for HTML document to</p>

<p>enable both DOM API generation and mutation in a context-aware manner.</p>

<p>&nbsp;</p>

<p>Finally, we will propose GAF (General-API-Fuzzing), an API fuzzing platform</p>

<p>that adopts a general IR-based solution to context-aware API call generation</p>

<p>and mutation for any type of common API-based systems. GAF provides a</p>

<p>pseudoformal language for the developers to define not only API prototypes but</p>

<p>also context interactions. GAF then automatically compiles an API grammar</p>

<p>file into a fuzzing engine that generates random API programs represented in</p>

<p>GAF IR based on the grammar. A GAF IR program can also be mutated into new</p>

<p>ones with context-awareness for testing. In general, GAF aims at being the</p>

<p>first design standard for general API fuzzers and facilitating bug finding</p>

<p>in real-world API-based systems.</p>
]]></body>
  <field_summary_sentence>
    <item>
      <value><![CDATA[An IR-based Fuzzing Approach for Finding Context-Aware Bugs in API-based Systems ]]></value>
    </item>
  </field_summary_sentence>
  <field_summary>
    <item>
      <value><![CDATA[]]></value>
    </item>
  </field_summary>
  <field_time>
    <item>
      <value><![CDATA[2020-12-02T13:00:00-05:00]]></value>
      <value2><![CDATA[2020-12-02T15:00:00-05: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[Faculty/Staff]]></value>
      </item>
          <item>
        <value><![CDATA[Public]]></value>
      </item>
          <item>
        <value><![CDATA[Graduate students]]></value>
      </item>
          <item>
        <value><![CDATA[Undergraduate students]]></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[https://gatech.bluejeans.com/5992360268]]></url>
      <title><![CDATA[Bluejeans]]></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>
