<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//TaxonX//DTD Taxonomic Treatment Publishing DTD v0 20100105//EN" "../../nlm/tax-treatment-NS0.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:tp="http://www.plazi.org/taxpub" article-type="research-article" dtd-version="3.0" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">109</journal-id>
      <journal-id journal-id-type="index">urn:lsid:arphahub.com:pub:3dc5f44e-8666-58db-bc76-a455210e8891</journal-id>
      <journal-title-group>
        <journal-title xml:lang="en">JUCS - Journal of Universal Computer Science</journal-title>
        <abbrev-journal-title xml:lang="en">jucs</abbrev-journal-title>
      </journal-title-group>
      <issn pub-type="ppub">0948-695X</issn>
      <issn pub-type="epub">0948-6968</issn>
      <publisher>
        <publisher-name>Journal of Universal Computer Science</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.3217/jucs-024-04-0515</article-id>
      <article-id pub-id-type="publisher-id">23154</article-id>
      <article-categories>
        <subj-group subj-group-type="heading">
          <subject>Research Article</subject>
        </subj-group>
        <subj-group subj-group-type="scientific_subject">
          <subject>B.6.1 - Design Styles</subject>
          <subject>C.5.4 - VLSI Systems</subject>
          <subject>D.4.6 - Security and Protection</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>A Fine-Grained Hardware Security Approach for Runtime Code Integrity in Embedded Systems</article-title>
      </title-group>
      <contrib-group content-type="authors">
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Wang</surname>
            <given-names>Xiang</given-names>
          </name>
          <email xlink:type="simple">wxiang@buaa.edu.cn</email>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Wang</surname>
            <given-names>Weike</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Xu</surname>
            <given-names>Bin</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Du</surname>
            <given-names>Pei</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Li</surname>
            <given-names>Lin</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
        <contrib contrib-type="author" corresp="no">
          <name name-style="western">
            <surname>Liu</surname>
            <given-names>Muyang</given-names>
          </name>
          <xref ref-type="aff" rid="A1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="A1">
        <label>1</label>
        <addr-line content-type="verbatim">Beihang University, Beijing, China</addr-line>
        <institution>Beihang University</institution>
        <addr-line content-type="city">Beijing</addr-line>
        <country>China</country>
      </aff>
      <author-notes>
        <fn fn-type="corresp">
          <p>Corresponding author: Xiang Wang (<email xlink:type="simple">wxiang@buaa.edu.cn</email>).</p>
        </fn>
        <fn fn-type="edited-by">
          <p>Academic editor: </p>
        </fn>
      </author-notes>
      <pub-date pub-type="collection">
        <year>2018</year>
      </pub-date>
      <pub-date pub-type="epub">
        <day>28</day>
        <month>04</month>
        <year>2018</year>
      </pub-date>
      <volume>24</volume>
      <issue>4</issue>
      <fpage>515</fpage>
      <lpage>536</lpage>
      <uri content-type="arpha" xlink:href="http://openbiodiv.net/D4A0B0EE-57D2-550A-9BF5-79B4C47B866C">D4A0B0EE-57D2-550A-9BF5-79B4C47B866C</uri>
      <uri content-type="zenodo_dep_id" xlink:href="https://zenodo.org/record/5505073">5505073</uri>
      <history>
        <date date-type="received">
          <day>14</day>
          <month>12</month>
          <year>2017</year>
        </date>
        <date date-type="accepted">
          <day>15</day>
          <month>04</month>
          <year>2018</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>Xiang Wang, Weike Wang, Bin Xu, Pei Du, Lin Li, Muyang Liu</copyright-statement>
        <license license-type="creative-commons-attribution" xlink:href="" xlink:type="simple">
          <license-p>This article is freely available under the J.UCS Open Content License.</license-p>
        </license>
      </permissions>
      <abstract>
        <label>Abstract</label>
        <p>Embedded systems are subjected to various adversaries including software attacks, physical attacks, and side channel attacks. Most of these malicious attacks can lead to the invalid execution of programs, and launch of destructive actions or reveal critical information. However, most previous security mechanisms suffer from coarse checking granularity and unacceptable performance overhead, due to strict restriction on system resources. This paper presents a fine-grained hardware-based security approach to ensure runtime code integrity in the embedded systems by offline profiling of the program features and runtime integrity check. We design a hardware implemented instruction stream integrity checker (ISIC) to perform runtime checking of pre-extracted features. Any invalid execution of the program will trigger the corresponding exception signal. We implement the ISIC with OR1200 processor on XC5VLX50T field-programmable gate array (FPGA). The experimental results show that the proposed approach can detect all the attacks destructing integrity of the instruction stream, and the performance overhead induced by the security mechanism is less than 3.45% according to the selected benchmarks.</p>
      </abstract>
    </article-meta>
  </front>
</article>
