JP7565561B2 - DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM - Google Patents
DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM Download PDFInfo
- Publication number
- JP7565561B2 JP7565561B2 JP2021085409A JP2021085409A JP7565561B2 JP 7565561 B2 JP7565561 B2 JP 7565561B2 JP 2021085409 A JP2021085409 A JP 2021085409A JP 2021085409 A JP2021085409 A JP 2021085409A JP 7565561 B2 JP7565561 B2 JP 7565561B2
- Authority
- JP
- Japan
- Prior art keywords
- node
- nodes
- feature
- attribute
- design information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims description 72
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000013461 design Methods 0.000 claims description 49
- 239000013598 vector Substances 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 23
- 238000000034 method Methods 0.000 claims description 22
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 16
- 238000004220 aggregation Methods 0.000 claims description 7
- 230000002776 aggregation Effects 0.000 claims description 7
- 239000011159 matrix material Substances 0.000 claims description 6
- 238000009826 distribution Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 9
- 238000010801 machine learning Methods 0.000 description 7
- 239000000284 extract Substances 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 235000008694 Humulus lupulus Nutrition 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012938 design process Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000010365 information processing Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
Images
Description
本発明は、回路設計情報を対象とし、不正に動作する回路を機械学習により検知するための装置、方法及びプログラムに関する。 The present invention relates to an apparatus, method, and program for detecting circuits that are operating improperly using machine learning in circuit design information.
従来、ハードウェア設計及び製造工程のグローバル化、競争に伴う効率化及び低廉化、さらに、回路の大規模化及び複雑化が進んでいる。こうした背景から、設計及び製造工程の一部を第三者(サードパーティ)に外部委託することがある。サードパーティの関与により、設計段階で意図しない不正な機能を実現する回路(ハードウェアトロイ)を挿入される危険性が指摘されている。 Traditionally, hardware design and manufacturing processes have become globalized, and competition has led to greater efficiency and lower costs, while circuits have become larger and more complex. Against this background, some design and manufacturing processes are sometimes outsourced to third parties. It has been pointed out that the involvement of third parties poses the risk of inserting circuits (hardware Trojans) that realize unintended unauthorized functions at the design stage.
多くの場合、ハードウェアトロイは、不正な機能の動作条件を判定するトリガ回路と、不正な機能そのものを実現するペイロード回路から構成される。トリガ回路は、外部からの入力、内部の信号線の値、又は回路の内部状態がある一定の条件を満たすかどうかを判定する。ペイロード回路は、回路の内部情報の流出、正常な機能の改変若しくは停止、又は消費電力の増大等、正常回路の性能低下を引き起こす。
このようなトリガ回路及びペイロード回路の特性から、ゲートレベルで記述された回路設計情報におけるハードウェアトロイ特有の特徴が示されている(例えば、非特許文献1参照)。
In most cases, hardware Trojans consist of a trigger circuit that determines the operating conditions of the malicious function, and a payload circuit that realizes the malicious function itself. The trigger circuit determines whether an external input, the value of an internal signal line, or the internal state of the circuit meets a certain condition. The payload circuit causes a decrease in the performance of a normal circuit, such as leaking internal information of the circuit, modifying or stopping normal functions, or increasing power consumption.
From such characteristics of the trigger circuit and the payload circuit, characteristics specific to hardware Trojans in circuit design information described at the gate level are shown (for example, see Non-Patent Document 1).
これらの特徴量に基づいてハードウェアトロイを検知するための代表的な技術として、回路素子(例えば、論理ゲート、フリップフロップ、マルチプレクサ等)の接続関係をゲートレベルで記述した情報であるネットリストを元に、直近のプライマリ出力ポート又はフリップフロップまでの段数等を特徴量として抽出し、これらの特徴量を機械学習アルゴリズムにより学習、識別する方法が提案されている(例えば、非特許文献2参照)。
非特許文献2の手法は、学習及び識別の手順から構成される。学習手順では、ネットリストに含まれる信号線(ネット)に対応する特徴量を抽出し、ハードウェアトロイを構成するネット(トロイネット)か、通常の回路を構成するネット(ノーマルネット)かを機械学習アルゴリズムで訓練する。識別手順では、ハードウェアトロイの検知対象となるネットリストに含まれる各ネットの特徴量に対し、トロイネットかノーマルネットかを識別する。
A representative technique for detecting hardware Trojans based on these features is to extract features such as the number of stages to the nearest primary output port or flip-flop from a netlist, which is information that describes the connections of circuit elements (e.g., logic gates, flip-flops, multiplexers, etc.) at the gate level, and then learn and identify these features using a machine learning algorithm (see, for example, Non-Patent Document 2).
The method of Non-Patent Document 2 consists of learning and identification procedures. In the learning procedure, feature values corresponding to signal lines (nets) included in a netlist are extracted, and a machine learning algorithm is used to train whether the net is a Trojan net that constitutes a hardware Trojan or a normal circuit (normal net). In the identification procedure, feature values of each net included in a netlist that is the target of hardware Trojan detection are used to identify whether it is a Trojan net or a normal net.
ハードウェアトロイの検知において、特徴量の設計及び最適化は検知精度を向上させるために非常に重要である。
しかしながら、従来の機械学習によるハードウェアトロイの検知手法では、有効な特徴量を予め定め、回路設計情報から抽出する必要があった。このため、特徴量を設計する際に、ハードウェア設計及びハードウェアトロイの性質について専門的な知識が必要であった。さらに、訓練データとして用いる回路設計情報が大きく変化した場合や、未知の不正回路を対象として学習及び検知を試みる場合、新たに適切な特徴量を設計し直す必要があった。
In hardware Trojan detection, feature design and optimization are very important for improving detection accuracy.
However, in conventional machine learning-based hardware Trojan detection methods, it was necessary to predetermine effective features and extract them from circuit design information. Therefore, when designing the features, specialized knowledge about hardware design and the properties of hardware Trojans was required. Furthermore, when the circuit design information used as training data changed significantly or when learning and detection were attempted for unknown malicious circuits, it was necessary to redesign new appropriate features.
また、攻撃者が特徴量を熟知していると、通常の回路と区別がつかない特徴量が抽出される不正回路を設計できる可能性がある。
このように、従来の手法では、ハードウェアトロイの検知技術を広く利用する上で特徴量設計に関しての課題があった。
Furthermore, if an attacker has intimate knowledge of the features, he or she may be able to design a fraudulent circuit that extracts features that are indistinguishable from normal circuits.
As described above, conventional methods have had issues with feature design that prevent hardware Trojan detection technology from being widely used.
本発明は、有用な特徴量を予め定義することなく自動的に抽出し、ハードウェアトロイを検知できる検知装置、検知方法及び検知プログラムを提供することを目的とする。 The present invention aims to provide a detection device, a detection method, and a detection program that can automatically extract useful features without predefining them and detect hardware Trojans.
本発明に係る検知装置は、ゲートレベルで記述された回路設計情報のうち、回路素子をノードとし、当該回路素子に接続された信号線をエッジとするグラフを取得するグラフ取得部と、前記ノードのそれぞれに対して、前記回路設計情報から得られる当該ノードの属性を示すベクトルを、当該ノードの特徴量の初期値として付与する属性取得部と、前記ノードのそれぞれに隣接するノードの特徴量を集約したベクトルに基づくノード埋め込み処理により、当該ノードの特徴量を更新する特徴量更新部と、訓練データにおけるノードの特徴量に基づいて当該ノードに付与されたラベルを学習した検知モデルにより、新たな回路設計情報に含まれる回路素子それぞれがハードウェアトロイを構成するものか否かを判定する判定部と、を備える。 The detection device according to the present invention includes a graph acquisition unit that acquires a graph from circuit design information described at the gate level, in which circuit elements are nodes and signal lines connected to the circuit elements are edges; an attribute acquisition unit that assigns to each of the nodes a vector indicating the attribute of the node obtained from the circuit design information as an initial value of the feature of the node; a feature update unit that updates the feature of the node by a node embedding process based on a vector that aggregates the feature of nodes adjacent to each of the nodes; and a determination unit that determines whether each of the circuit elements included in the new circuit design information constitutes a hardware Trojan or not, using a detection model that has learned the labels assigned to the nodes based on the feature of the nodes in the training data.
前記特徴量更新部は、前記隣接するノードの特徴量を集約する集約関数、及び前記特徴量を更新する際の重み行列を、前記グラフにおける特徴量の分布に基づく損失関数を最適化するように更新しつつ、前記特徴量の更新を所定回数繰り返してもよい。 The feature update unit may repeat updating the features a predetermined number of times while updating an aggregation function that aggregates the features of the adjacent nodes and a weight matrix used when updating the features so as to optimize a loss function based on the distribution of the features in the graph.
前記属性取得部は、前記ノードの属性として、当該ノードに対応する回路素子の種類を示す値を取得してもよい。 The attribute acquisition unit may acquire, as an attribute of the node, a value indicating the type of circuit element corresponding to the node.
前記属性取得部は、前記ノードの属性として、前記回路設計情報において当該ノードに対応する回路素子が含まれているモジュールの種類を示す値を取得してもよい。 The attribute acquisition unit may acquire, as an attribute of the node, a value indicating the type of module that includes a circuit element corresponding to the node in the circuit design information.
前記属性取得部は、前記回路設計情報から得られる前記ノードに隣接した前記エッジの属性を集約したベクトルを、当該ノードの属性を示すベクトルに連結し、当該ノードの特徴量の初期値としてもよい。 The attribute acquisition unit may concatenate a vector that aggregates the attributes of the edges adjacent to the node obtained from the circuit design information to a vector indicating the attributes of the node, and set this as the initial value of the feature of the node.
前記属性取得部は、前記エッジの属性として、当該エッジに対応する信号線の種類を示す値を取得してもよい。 The attribute acquisition unit may acquire, as an attribute of the edge, a value indicating the type of signal line corresponding to the edge.
本発明に係る学習装置は、前記検知装置が用いる前記検知モデルを、前記訓練データにおけるノードの特徴量に基づいて学習する。 The learning device of the present invention learns the detection model used by the detection device based on the feature quantities of the nodes in the training data.
本発明に係る検知方法は、ゲートレベルで記述された回路設計情報のうち、回路素子をノードとし、当該回路素子に接続された信号線をエッジとするグラフを取得するグラフ取得ステップと、前記ノードのそれぞれに対して、前記回路設計情報から得られる当該ノードの属性を示すベクトルを、当該ノードの特徴量の初期値として付与する属性取得ステップと、前記ノードのそれぞれに隣接するノードの特徴量を集約したベクトルに基づくノード埋め込み処理により、当該ノードの特徴量を更新する特徴量更新ステップと、訓練データにおけるノードの特徴量に基づいて当該ノードに付与されたラベルを学習した検知モデルにより、新たな回路設計情報に含まれる回路素子それぞれがハードウェアトロイを構成するものか否かを判定する判定ステップと、をコンピュータが実行する。 The detection method according to the present invention includes a graph acquisition step of acquiring a graph from circuit design information described at the gate level, in which circuit elements are nodes and signal lines connected to the circuit elements are edges; an attribute acquisition step of assigning to each of the nodes a vector indicating the attribute of the node obtained from the circuit design information as an initial value of the feature of the node; a feature update step of updating the feature of the node by a node embedding process based on a vector that aggregates the feature of nodes adjacent to each of the nodes; and a determination step of determining whether each of the circuit elements included in the new circuit design information constitutes a hardware Trojan or not, using a detection model that has learned the labels assigned to the nodes based on the feature of the nodes in the training data.
本発明に係る検知プログラムは、前記検知装置としてコンピュータを機能させるためのものである。 The detection program of the present invention is for causing a computer to function as the detection device.
本発明によれば、有用な特徴量を予め定義することなく自動的に抽出し、ハードウェアトロイを検知できる。 The present invention makes it possible to automatically extract useful features without predefining them and detect hardware Trojans.
以下、本発明の実施形態の一例について説明する。
本実施形態の検知装置は、グラフ学習におけるノード埋め込み技術を回路設計情報に適用することで、回路設計情報からハードウェアトロイを検知するために有用な回路素子の特徴量を自動的に抽出する。検知装置は、この特徴量を用いて検知モデルの学習、及び学習した検知モデルによるハードウェアトロイの検知を行う。
An example of an embodiment of the present invention will now be described.
The detection device of this embodiment applies a node embedding technique in graph learning to circuit design information to automatically extract features of circuit elements useful for detecting hardware Trojans from the circuit design information. The detection device uses these features to train a detection model and detects hardware Trojans using the trained detection model.
図1は、本実施形態における検知装置1の機能構成を示す図である。
検知装置1は、制御部10及び記憶部20の他、各種の入出力デバイス及び通信デバイス等を備えた情報処理装置(コンピュータ)である。
FIG. 1 is a diagram showing the functional configuration of a
The
制御部10は、検知装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。
The
記憶部20は、ハードウェア群を検知装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(検知プログラム)の他、ハードウェアトロイの検知モデル、検知モデルを学習するための訓練データ等を記憶する。
The
Specifically, the
制御部10は、グラフ取得部11と、属性取得部12と、特徴量更新部13と、学習部14と、判定部15とを備え、これらの機能部により、検知モデルの学習、及びハードウェアトロイの検知を行う。
The
グラフ取得部11は、ゲートレベルで記述された回路設計情報のうち、回路素子をノードとし、回路素子に接続された信号線をエッジとするグラフを取得する。
The
属性取得部12は、グラフにおけるノードのそれぞれに対して、回路設計情報から得られるノードの属性を示すベクトルを、ノードの特徴量の初期値として付与する。
このとき、属性取得部12は、ノードの属性として、このノードに対応する回路素子の種類を示す値を取得する。さらに、属性取得部12は、ノードの属性として、このノードに対応する回路素子が含まれているモジュールの種類を示す値を取得してもよい。
The
At this time, the
また、属性取得部12は、回路設計情報から得られるノードに隣接したエッジの属性を集約(例えば、平均、合計等)したベクトルを、ノードの属性を示すベクトルに連結し、このノードの特徴量の初期値としてもよい。
このとき、属性取得部12は、エッジの属性として、このエッジに対応する信号線の種類を示す値を取得する。
In addition, the
At this time, the
具体的には、グラフ取得部11及び属性取得部12により、次のように回路設計情報のグラフ表現が得られる。
Specifically, the
Gをゲートレベルで記述された回路設計情報に対応するグラフとする。Gは、回路素子(例えば、論理ゲート、フリップフロップ、マルチプレクサ、外部入出力端子等)を示すノードの集合Vと、回路素子間を接続する信号線を示すエッジの集合Eとで構成される。 Let G be a graph corresponding to circuit design information described at the gate level. G is composed of a set V of nodes representing circuit elements (e.g., logic gates, flip-flops, multiplexers, external input/output terminals, etc.) and a set E of edges representing signal lines connecting the circuit elements.
各回路素子を示すノードv∈Vに対して、この回路素子の属性を示すベクトルをxvとする。xvは、回路素子の種類(例えば、プライマリ入力、プライマリ出力、論理ゲート、フリップフロップ、マルチプレクサ、定数)、又は回路素子が存在するモジュールの種類等を示す値であり、回路設計情報から直接的に、あるいは変換により機械的に得られる。
なお、本実施形態では、回路の端点(プライマリ入力及びプライマリ出力)も回路素子の1つとみなし、グラフGのノードとする。また、定数とは、例えば論理ゲートに入力される0又は1の固定された信号のことをいう。
For a node v∈V indicating each circuit element, a vector indicating the attribute of this circuit element is denoted by x v . x v is a value indicating the type of the circuit element (e.g., primary input, primary output, logic gate, flip-flop, multiplexer, constant) or the type of module in which the circuit element exists, and is obtained directly from the circuit design information or mechanically by conversion.
In this embodiment, the end points (primary input and primary output) of the circuit are also regarded as circuit elements and are set as nodes of the graph G. Furthermore, a constant refers to a fixed signal of 0 or 1 that is input to a logic gate, for example.
同様に、各信号線を示すエッジe∈Eに対して、この信号線の属性を示すベクトルをdeとする。deは、信号線の種類(例えば、クロック信号、リセット信号、その他特別な意味を持つ信号線、それ以外の一般的な信号線)を示す値であり、回路設計情報から直接的に、あるいは変換により機械的に得られる。 Similarly, for an edge e∈E representing each signal line, a vector indicating the attribute of this signal line is denoted by d e . d e is a value indicating the type of signal line (e.g., clock signal, reset signal, other signal line with a special meaning, other general signal line), and is obtained directly from the circuit design information or mechanically by conversion.
各ノードvに対し、このノードに対応する回路素子がハードウェアトロイを構成するものであるか否かを示すラベルをl∈Lとする。 For each node v, let l∈L be a label that indicates whether the circuit element corresponding to this node constitutes a hardware Trojan.
図2は、本実施形態におけるハードウェアトロイの検知対象とする回路の例を示す図である。
この回路では、3つのプライマリ入力a,b,ciが、複数の論理ゲートにより、2つのプライマリ出力s,coに変換されている。
この回路図から、入出力、及び論理ゲートをノードとし、各信号線をエッジとした次のグラフが得られる。
FIG. 2 is a diagram showing an example of a circuit to be subjected to detection of hardware Trojans in this embodiment.
In this circuit, three primary inputs a, b, and ci are transformed into two primary outputs s and co by a number of logic gates.
From this circuit diagram, the following graph is obtained, with inputs/outputs and logic gates as nodes and each signal line as an edge.
図3は、本実施形態における回路図から変換されたグラフ表現を例示する図である。
この例では、ノードの属性として、プライマリ入力か否か、論理ゲートか否か、プライマリ出力か否か、という3つの属性を要素とするベクトルが各ノードに付与されている。
FIG. 3 is a diagram illustrating a graph representation converted from a circuit diagram in this embodiment.
In this example, a vector having three elements, ie, whether or not it is a primary input, whether or not it is a logic gate, and whether or not it is a primary output, is assigned to each node as the attributes of the node.
例えば、3つのプライマリ入力a,b,ciを示すノードにはそれぞれ、属性ベクトル(1,0,0)が付与され、2つのプライマリ出力s,coを示すノードにはそれぞれ、属性ベクトル(0,0,1)が付与されている。
また、5つの論理ゲートを示すノードにはそれぞれ、属性ベクトル(0,1,0)が付与されている。
For example, the nodes representing the three primary inputs a, b, and ci are each assigned the attribute vector (1, 0, 0), and the nodes representing the two primary outputs s and co are each assigned the attribute vector (0, 0, 1).
Furthermore, the nodes representing the five logic gates are each assigned an attribute vector (0, 1, 0).
特徴量更新部13は、グラフに含まれるノードのそれぞれについて、このノードに隣接するノードの特徴量を集約したベクトルに基づくグラフ学習のノード埋め込み処理により、ノードそれぞれの特徴量を更新する。
The
グラフ学習では、訓練データとしてグラフの集合DGが用いられる。特徴量更新部13は、訓練データ中の各グラフG=(V,E)∈Dtrainに対し、各ノードv∈Vの属性を示すベクトルxvを用いて、各ノードの特徴を示す特徴ベクトルzv∈Zを得る。
ここで、特徴ベクトルの集合Zは、次の文献Aによると、周辺のノードの情報を集約(例えば、平均化)する集約関数fAgg、重み行列W、連結関数fConcat、ノードvに隣接するノードの集合N(v)、シグモイド関数σを用いて、以下の手順により得られる。
文献A: William L. Hamilton, Zhitao Ying, Jure Leskovec, "Inductive Representation Learning on Large Graphs", NIPS, pp. 1024-1034, 2017.
In graph learning, a set of graphs DG is used as training data. For each graph G=(V,E) ∈Dtrain in the training data, the
Here, according to the following literature A, the set Z of feature vectors can be obtained by the following procedure using an aggregation function fAgg that aggregates (e.g., averages) information from surrounding nodes, a weight matrix W, a concatenation function fConcat , a set N(v) of nodes adjacent to node v, and a sigmoid function σ.
Document A: William L. Hamilton, Zhitao Ying, Jure Leskovec, "Inductive Representation Learning on Large Graphs", NIPS, pp. 1024-1034, 2017.
図4は、本実施形態におけるグラフ学習によるノード埋め込み処理の手順を示すフローチャートである。 Figure 4 is a flowchart showing the steps of node embedding processing using graph learning in this embodiment.
ステップS1において、特徴量更新部13は、繰り返しカウンタk=0として、hv
0を初期化する。hv
k,∀v∈Vは、k回目の試行における各ノードの特徴ベクトルを示す。
なお、hv
0=xvとして、ノードの属性を初期値に与えることとしてよいが、前述のようにエッジの属性が連結されてもよく、また、初期値はこれらには限られない。
In step S1, the
Note that, although h v 0 =x v and the attribute of the node may be given as the initial value, the attribute of the edge may be linked as described above, and the initial value is not limited to these.
ステップS2において、特徴量更新部13は、カウンタkを1増やし、以下のステップのk回目の試行に進む。
In step S2, the
ステップS3において、特徴量更新部13は、全てのノードv∈Vに関して、次の計算により特徴ベクトルを更新する。
ステップS4において、特徴量更新部13は、k=Kであるか否かを判定する。この判定がYESの場合、処理はステップS5に進み、判定がNOの場合、処理はステップS2に戻る。
なお、Kは、予め設定される定数である。
In step S4, the feature
It should be noted that K is a constant that is set in advance.
ステップS5において、特徴量更新部13は、zv←hv
K,∀v∈Vとして、各ノードvの特徴ベクトルを決定する。
In step S5, the feature
ここで、特徴量更新部13は、隣接するノードの特徴量を集約する集約関数fAgg、及び特徴量を更新する際の重み行列Wを、グラフにおける特徴量の分布に基づく損失関数を最適化するように更新しつつ、特徴量の更新を所定回数(K回)繰り返す。
Here, the
具体的には、ノードuをノードvの近くに存在するノード、Pn(v)をノードvから離れた位置に存在する(すなわち、ネガティブサンプルとなる)ノードの集合、Qをネガティブサンプルの個数とすると、集約関数fAgg及び重み行列Wのパラメータを最適化するための損失関数Jgは、例えば次のように示される(文献A参照)。
このように、ノード埋め込み処理により、各ノードの属性値は、周囲のノード(及びエッジ)との接続関係に応じて、回路の構造的な特徴を良く示す特徴ベクトルzに変換される。 In this way, the node embedding process converts the attribute values of each node into a feature vector z that accurately represents the structural characteristics of the circuit, depending on the connection relationships with the surrounding nodes (and edges).
学習部14は、訓練データにおけるノードの特徴量、及びノード毎に付与された正解ラベルに基づいて、検知モデルのパラメータを学習する。
検知モデルf(Z)は、入力をZとして、それぞれのノードがハードウェアトロイを構成するものであるか否かを示す確率L’を出力する。検知モデルは、例えば、多層パーセプトロン又はランダムフォレスト等のアルゴリズムを用いることにより、出力L’と正解ラベルLとの誤差を最小化するように学習される。
The
The detection model f(Z) takes Z as input and outputs a probability L' indicating whether or not each node constitutes a hardware Trojan. The detection model is trained to minimize the error between the output L' and the correct label L by using an algorithm such as a multi-layer perceptron or a random forest.
図5は、本実施形態における検知モデルの学習フェーズの処理を示すフローチャートである。 Figure 5 is a flowchart showing the processing of the learning phase of the detection model in this embodiment.
ステップS11において、学習部14は、検知モデルの学習のための訓練データを取得する。
訓練データには、複数の回路に対するゲートレベルの回路設計情報が含まれる。学習部14は、それぞれの回路設計情報から変換されたグラフの集合Dtrainと、各グラフG=(V,E)∈Dtrainにおけるノードv∈Vがハードウェアトロイを構成するものであるか否かを示す正解ラベルの集合Lを得る。
このとき、学習部14は、訓練データに含まれる回路から、回路素子の属性を示す値の集合であるベクトルx、及び信号線の属性を示す値の集合であるベクトルdを得る。
In step S11, the
The training data includes gate-level circuit design information for multiple circuits. The
At this time, the
ステップS12において、学習部14は、ステップS11で得た情報に基づいて、ノード埋め込み処理により、各回路素子の特徴を良く表す特徴ベクトルの集合Zを得る。
In step S12, the
ステップS13において、学習部14は、ステップS12で得た特徴ベクトルの集合Zを利用し、ステップS11で得た正解ラベルと対応づけ、機械学習アルゴリズムにより検知モデルを学習する。
In step S13, the
判定部15は、学習済みの検知モデルにより、新たな回路設計情報に含まれる回路素子それぞれがハードウェアトロイを構成するものか否かを判定する。
具体的には、例えば、ノード毎の特徴量を入力とした検知モデルの出力であるハードウェアトロイを構成する回路素子である確率を、所定の閾値と比較することで、要注意の回路素子が検知される。
回路設計情報の中に、このような要注意の回路素子が検知されると、この回路設計情報は、人手により、あるいは既存のテスト手法を用いて、より詳細に解析される。
The
Specifically, for example, circuit elements requiring caution are detected by comparing the probability that a circuit element constitutes a hardware Trojan, which is the output of a detection model that uses the features of each node as input, with a predetermined threshold.
When such a circuit element requiring attention is detected in the circuit design information, the circuit design information is analyzed in more detail, either manually or using existing test techniques.
図6は、本実施形態における検知モデルを用いた検知フェーズの処理を示すフローチャートである。 Figure 6 is a flowchart showing the detection phase processing using the detection model in this embodiment.
ステップS21において、判定部15は、検知対象であるテストデータを取得する。このデータには、1つ以上の回路に対するゲートレベル設計情報が含まれる。判定部15は、それぞれの回路設計情報から変換したグラフの集合Dtestをグラフ取得部11から、このグラフに対応するノード及びエッジの属性ベクトルx及びdを属性取得部12から得る。
In step S21, the
ステップS22において、判定部15は、学習フェーズと同様に、特徴量更新部13から各回路素子の特徴を良く表す特徴ベクトルの集合Zを得る。
In step S22, the
ステップS23において、判定部15は、学習フェーズで学習した検知モデルを用いて、ステップS22で得た特徴ベクトルの集合Zに含まれるベクトルのそれぞれに対応する各回路素子がハードウェアトロイを構成するものか否かを判定する。
In step S23, the
本実施形態によれば、検知装置1は、ゲートレベルで記述された回路設計情報をグラフとして表現する。このとき、回路素子をノード、回路素子の間を接続する配線をエッジとし、回路素子の属性を示す値及び配線の属性を示す値が、それぞれノード及びエッジに対応付けられる。検知装置1は、このように生成されたグラフをもとに、グラフ学習によるノード埋め込みを適用することで、各ノードの特徴を良く表す特徴量(特徴ベクトル)を得る。
そして、検知装置1は、訓練データとなる回路設計情報から得られた特徴ベクトルと正解ラベルとに基づいて、機械学習アルゴリズムを利用して検知モデルを学習する。不正な回路であるハードウェアトロイの検知にあたっては、検知装置1は、訓練データと同様の手順でテストデータから得られた各ノードの特徴ベクトルをもとに、学習済みの検知モデルを用いて、ハードウェアトロイを構成するノードか否かを判定する。
According to this embodiment, the
The
したがって、検知装置1は、ハードウェアトロイの検知に有効な特徴量を予め定義することなく自動的に抽出し、機械学習により、回路設計段階で混入されたハードウェアトロイを検知できる。この結果、例えば、従来の技術で定義されていた特徴量が有効でないハードウェアトロイに対しても高い検知性能が期待できる。また、特徴量の設計情報が攻撃者に知られないことから、検知を回避するための回路設計がされるリスクを低減できる。
The
検知装置1は、隣接するノードの特徴量を集約する集約関数、及び特徴量を更新する際の重み行列を、グラフにおける特徴量の分布に基づく損失関数を最適化するように更新しつつ、特徴量の更新を所定回数繰り返す。
これにより、検知装置1は、例えば、グラフ上で近くのノードの特徴ベクトルを類似させ、かつ、離れたノードの特徴ベクトルを乖離させて、グラフ全体としてノード間の関係性を表した特徴量を適切に決定できる。
The
This allows the
検知装置1は、ノードの属性として、ノードに対応する回路素子の種類、モジュールの種類等、回路設計情報から容易に抽出又は変換可能な情報を属性として取得する。
したがって、検知装置1は、適切な特徴量を効率的に決定することができる。
The
Therefore, the
検知装置1は、回路設計情報から得られるノードに隣接したエッジの属性を集約したベクトルを、ノードの属性を示すベクトルに連結し、ノードの特徴量の初期値とすることにより、信号線の情報も含むより信頼性の高い特徴量を決定できる。
The
検知装置1は、エッジの属性として、当該エッジに対応する信号線の種類等、回路設計情報から容易に抽出又は変換可能な情報を属性として取得する。
したがって、検知装置1は、適切な特徴量を効率的に決定することができる。
The
Therefore, the
なお、前述の実施形態により、例えば、回路設計情報に対するハードウェアトロイの混入を適切に検知できるので、ハードウェア設計における安全性を向上できることから、国連が主導する持続可能な開発目標(SDGs)の目標9「レジリエントなインフラを整備し、持続可能な産業化を推進するとともに、イノベーションの拡大を図る」に貢献することが可能となる。 The above-mentioned embodiment can, for example, properly detect the inclusion of hardware Trojans in circuit design information, thereby improving safety in hardware design, and thus contributing to Goal 9 of the United Nations-led Sustainable Development Goals (SDGs) "Build resilient infrastructure, promote sustainable industrialization and foster innovation."
以上、本発明の実施形態について説明したが、本発明は前述した実施形態に限るものではない。また、前述した実施形態に記載された効果は、本発明から生じる最も好適な効果を列挙したに過ぎず、本発明による効果は、実施形態に記載されたものに限定されるものではない。 Although the embodiments of the present invention have been described above, the present invention is not limited to the above-described embodiments. Furthermore, the effects described in the above-described embodiments are merely a list of the most favorable effects resulting from the present invention, and the effects of the present invention are not limited to those described in the embodiments.
検知装置1による検知方法は、ソフトウェアにより実現される。ソフトウェアによって実現される場合には、このソフトウェアを構成するプログラムが、情報処理装置(コンピュータ)にインストールされる。また、これらのプログラムは、CD-ROMのようなリムーバブルメディアに記録されてユーザに配布されてもよいし、ネットワークを介してユーザのコンピュータにダウンロードされることにより配布されてもよい。さらに、これらのプログラムは、ダウンロードされることなくネットワークを介したWebサービスとしてユーザのコンピュータに提供されてもよい。
The detection method by the
1 検知装置(学習装置)
10 制御部
11 グラフ取得部
12 属性取得部
13 特徴量更新部
14 学習部
15 判定部
20 記憶部
1. Detection device (learning device)
REFERENCE SIGNS
Claims (9)
前記ノードのそれぞれに対して、前記回路設計情報から得られる当該ノードの属性を示すベクトルを、当該ノードの特徴量の初期値として付与する属性取得部と、
前記ノードのそれぞれに隣接するノードの特徴量を集約したベクトルに基づくノード埋め込み処理により、当該ノードの特徴量を更新する特徴量更新部と、
訓練データにおけるノードの特徴量に基づいて当該ノードに付与されたラベルを学習した検知モデルにより、新たな回路設計情報に含まれる回路素子それぞれがハードウェアトロイを構成するものか否かを判定する判定部と、を備える検知装置。 a graph acquisition unit that acquires a graph from the circuit design information described at the gate level, in which circuit elements are nodes and signal lines connected to the circuit elements are edges;
an attribute acquisition unit that assigns, to each of the nodes, a vector indicating an attribute of the node obtained from the circuit design information as an initial value of a feature amount of the node;
a feature updating unit that updates the feature of each of the nodes by a node embedding process based on a vector that aggregates the feature of each of the nodes adjacent to the node;
and a determination unit that determines whether each circuit element included in new circuit design information constitutes a hardware Trojan using a detection model that has learned labels assigned to nodes based on the features of the nodes in training data.
前記ノードのそれぞれに対して、前記回路設計情報から得られる当該ノードの属性を示すベクトルを、当該ノードの特徴量の初期値として付与する属性取得ステップと、
前記ノードのそれぞれに隣接するノードの特徴量を集約したベクトルに基づくノード埋め込み処理により、当該ノードの特徴量を更新する特徴量更新ステップと、
訓練データにおけるノードの特徴量に基づいて当該ノードに付与されたラベルを学習した検知モデルにより、新たな回路設計情報に含まれる回路素子それぞれがハードウェアトロイを構成するものか否かを判定する判定ステップと、をコンピュータが実行する検知方法。 a graph acquisition step of acquiring a graph from the circuit design information described at the gate level, in which circuit elements are nodes and signal lines connected to the circuit elements are edges;
an attribute acquisition step of assigning a vector indicating an attribute of each of the nodes obtained from the circuit design information as an initial value of a feature amount of the node;
a feature updating step of updating the feature of each of the nodes by a node embedding process based on a vector that aggregates the feature of each of the nodes adjacent to the node;
a determination step of determining whether or not each circuit element included in new circuit design information constitutes a hardware Trojan using a detection model that has learned labels assigned to nodes based on the features of the nodes in training data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021085409A JP7565561B2 (en) | 2021-05-20 | 2021-05-20 | DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2021085409A JP7565561B2 (en) | 2021-05-20 | 2021-05-20 | DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2022178534A JP2022178534A (en) | 2022-12-02 |
JP7565561B2 true JP7565561B2 (en) | 2024-10-11 |
Family
ID=84239656
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2021085409A Active JP7565561B2 (en) | 2021-05-20 | 2021-05-20 | DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP7565561B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102688659B1 (en) * | 2024-02-14 | 2024-07-25 | 주식회사 알세미 | Method and apparatus for circuit evaluation using artificial neural network model |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016080380A1 (en) | 2014-11-18 | 2016-05-26 | 学校法人早稲田大学 | Method of detecting hardware trojan, program for detecting hardware trojan, and device for detecting hardware trojan |
CN109657461A (en) | 2018-11-26 | 2019-04-19 | 浙江大学 | RTL hardware Trojan horse detection method based on gradient boosting algorithm |
US20200151288A1 (en) | 2018-11-09 | 2020-05-14 | Nvidia Corp. | Deep Learning Testability Analysis with Graph Convolutional Networks |
-
2021
- 2021-05-20 JP JP2021085409A patent/JP7565561B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016080380A1 (en) | 2014-11-18 | 2016-05-26 | 学校法人早稲田大学 | Method of detecting hardware trojan, program for detecting hardware trojan, and device for detecting hardware trojan |
US20200151288A1 (en) | 2018-11-09 | 2020-05-14 | Nvidia Corp. | Deep Learning Testability Analysis with Graph Convolutional Networks |
CN109657461A (en) | 2018-11-26 | 2019-04-19 | 浙江大学 | RTL hardware Trojan horse detection method based on gradient boosting algorithm |
Non-Patent Citations (2)
Title |
---|
藤城裕一郎 外5名,R-GCNを用いたゲートレベルネットリスト機能分類手法,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2019年11月06日,Vol. 119, No. 283,pp. 7-12 |
長谷川健人 外3名,SVMを利用したネットリストの特徴に基づくハードウェアトロイ識別,電子情報通信学会技術研究報告,一般社団法人電子情報通信学会,2015年11月24日,Vol. 115, No. 339,pp. 135-140 |
Also Published As
Publication number | Publication date |
---|---|
JP2022178534A (en) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Yasaei et al. | Gnn4tj: Graph neural networks for hardware trojan detection at register transfer level | |
US11604917B2 (en) | Static voltage drop (SIR) violation prediction systems and methods | |
Hoque et al. | Hardware IP trust validation: Learn (the untrustworthy), and verify | |
RU2708356C1 (en) | System and method for two-stage classification of files | |
Han et al. | Hardware trojans detection at register transfer level based on machine learning | |
CN113935033B (en) | Feature fusion malicious code family classification method, device and storage medium | |
Yu et al. | HW2VEC: A graph learning tool for automating hardware security | |
US11321510B2 (en) | Systems and methods for machine intelligence based malicious design alteration insertion | |
US11797668B2 (en) | Sample data generation apparatus, sample data generation method, and computer readable medium | |
Yu et al. | A novel feature extraction strategy for hardware trojan detection | |
CN111062036A (en) | Malicious software identification model construction method, malicious software identification medium and malicious software identification equipment | |
Chowdhury et al. | ReIGNN: State register identification using graph neural networks for circuit reverse engineering | |
CN113360912A (en) | Malicious software detection method, device, equipment and storage medium | |
CN109657461B (en) | RTL hardware Trojan horse detection method based on gradient lifting algorithm | |
Choo et al. | Register-transfer-level features for machine-learning-based hardware trojan detection | |
CN112966713A (en) | DGA domain name detection method and device based on deep learning and computer equipment | |
Sharma et al. | A new hardware Trojan detection technique using class weighted XGBoost classifier | |
JP7565561B2 (en) | DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM | |
Lashen et al. | TrojanSAINT: Gate-level netlist sampling-based inductive learning for hardware Trojan detection | |
Li et al. | A XGBoost based hybrid detection scheme for gate-level hardware Trojan | |
CN111522736A (en) | Software defect prediction method and device, electronic equipment and computer storage medium | |
CN114826681A (en) | DGA domain name detection method, system, medium, equipment and terminal | |
Kurihara et al. | Hardware-Trojan Detection Based on the Structural Features of Trojan Circuits Using Random Forests | |
Hasegawa et al. | Empirical evaluation and optimization of hardware-trojan classification for gate-level netlists based on multi-layer neural networks | |
CN112926647A (en) | Model training method, domain name detection method and device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20231023 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20240809 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20240827 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20240920 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 7565561 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |