This fact indicates that the premise, which we
mentioned in last chapter, is almost wrong in reality.
However, there almost has not any research to
describe how to detect hardware Trojan in hardware
which uses different standard cell libraries.
If we want to use machine learning to detect
hardware Trojan in hardware with different standard
cell libraries, there exist some foreseeable issues in it.
First, the parameters pairs of cells in hardware are the
common features and the values of parameter are
decided by adopted standard cell library. Because
every company uses different standard cell library,
and different libraries are independent with each
other. However, the basic hardware cells are the
same. That is, even if the used standard cell libraries
are different, there should be some relations between
different parameters pairs generated by different
standard cell libraries. However, we cannot confirm
the relationship between parameters pairs that are
decided by different standard cell libraries. There is
no such definition to quantify this relationship.
Second, if we train a model with the parameters’ pairs
decided by A standard cell library, and then use the
parameters pairs which is generated by B standard
cell library as testing set. Although the basic hardware
cells are the same, after the values of parameters are
processed by differently independent standard cell
libraries. The performance of model is decided by
how much relationship remains between these
parameters pairs.
To evaluate how a model performance will be
affected by parameters pairs generated by different
cell libraries, we make an experiment of machine
learning detection though using different standard
cell libraries. Besides, this condition of experiment is
closed to real situation. That is, the result of
experiment owns reliability.
3 PROPOSED METHOD
In this chapter, we will introduce the process of our
proposed method. Moreover, we also explain the
meaning of parameter entered into program.
In our proposed method, the execution process
can divide into two stages. The first stage is pre-
processing stage, and the second stage is processing
stage. The former will generate training set and
testing set for machine learning according to input
parameters. The latter will use the output of the first
stage to train a model and output the result of
hardware Trojan detection. Figure 1 shows the
process diagram of our experiment and the detailed
descriptions of this diagram will be state as follows.
In the first stage, we have to execute pre-
processing twice to acquire the necessary training set
and testing set used in machine learning. Then we use
training set to generate a model that will be used in
next stage. In each pre-processing, we have to provide
six parameters to program. The parameters are circuit
name, standard cell library, mapping on/off, mapping
mode, filter threshold one and filter threshold zero.
The detailed descriptions are described in Table 2. It
is worth to notice that only the value of mapping
on/off is changed between first and second pre-
processing and the others are the same. After
execution pre-processing twice, we can acquire
training set and testing set which are used to generate
the model of machine learning and test the
performance of it. Moreover, the algorithms we used
in model are Support Vector Machine (SVM) (Noble,
2006) and random forest (RF) (Breiman, 2001). After
generating model and testing, we can acquire several
evaluation metrics like accuracy, precision, recall,
F1-score and etc.
In the second stage, we will firstly repeat the same
process of first stage from beginning to generating
training set and testing set. In this part, the only
difference is that the used standard cell library of
parameters is different from the one used in first
stage. Then we can acquire new training set and
testing set which are generated by new standard cell
library. We use this new testing set to test the model
generated in first stage and acquire the new outputs of
evaluation metrics mentioned in last paragraph.
4 EXPERIMENTS
In this chapter, we will describe our experiment to
display the comparison of the results of machine
learning with different standard cell libraries.
We make an experiment to prove that the features
compiled by different standard cell libraries will
affect the performance of machine learning detection.
We describe the dataset used in this experiment at
first. In total, we collected 199 different netlists from
various sources including public and private ones.
However, there is a problem of non-disclosure
agreement if we used the netlists collected from
private source. Thus, we selected the 88 netlists
collected from public source, Trust-Hub (Trust-
Hub.org, n.d) (Salmani et al., 2013) (Shakya et al.,
2017). Moreover, we collected 144 different standard
cell libraries from private source and randomly chose
two libraries as the compiler of training set and testing
set.