Nothing Special   »   [go: up one dir, main page]

JP7565561B2 - DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM - Google Patents

DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM Download PDF

Info

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
Application number
JP2021085409A
Other languages
Japanese (ja)
Other versions
JP2022178534A (en
Inventor
健人 長谷川
清良 披田野
晋作 清本
望 戸川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Waseda University
KDDI Corp
Original Assignee
Waseda University
KDDI Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Waseda University, KDDI Corp filed Critical Waseda University
Priority to JP2021085409A priority Critical patent/JP7565561B2/en
Publication of JP2022178534A publication Critical patent/JP2022178534A/en
Application granted granted Critical
Publication of JP7565561B2 publication Critical patent/JP7565561B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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.

M. Oya, Y. Shi, M. Yanagisawa, and N. Togawa, "A score-based classification method for identifying Hardware-Trojans at gate-level netlists," Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 465-470, 2015.M. Oya, Y. Shi, M. Yanagisawa, and N. Togawa, "A score-based classification method for identifying Hardware-Trojans at gate-level netlists," Proceedings of the 2015 Design, Automation & Test in Europe Conference & Exhibition (DATE), pp. 465-470, 2015. K. Hasegawa, M. Yanagisawa, and N. Togawa, "Hardware Trojans classification for gate-level netlists using multi-layer neural networks," Proceedings of the 2017 IEEE 23rd International Symposium on On-Line Testing and Robust System Design (IOLTS), pp. 227-232, 2017.K. Hasegawa, M. Yanagisawa, and N. Togawa, "Hardware Trojans classification for gate-level netlists using multi-layer neural networks," Proceedings of the 2017 IEEE 23rd International Symposium on On-Line Testing and Robust System Design (IOLTS) , pp. 227-232, 2017.

ハードウェアトロイの検知において、特徴量の設計及び最適化は検知精度を向上させるために非常に重要である。
しかしながら、従来の機械学習によるハードウェアトロイの検知手法では、有効な特徴量を予め定め、回路設計情報から抽出する必要があった。このため、特徴量を設計する際に、ハードウェア設計及びハードウェアトロイの性質について専門的な知識が必要であった。さらに、訓練データとして用いる回路設計情報が大きく変化した場合や、未知の不正回路を対象として学習及び検知を試みる場合、新たに適切な特徴量を設計し直す必要があった。
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.

実施形態における検知装置の機能構成を示す図である。FIG. 2 is a diagram illustrating a functional configuration of a detection device according to an embodiment. 実施形態におけるハードウェアトロイの検知対象とする回路の例を示す図である。FIG. 2 is a diagram illustrating an example of a circuit to be subjected to detection of a hardware Trojan in the embodiment. 実施形態における回路図から変換されたグラフ表現を例示する図である。FIG. 10 is a diagram illustrating a graph representation converted from a circuit diagram in an embodiment. 実施形態におけるグラフ学習によるノード埋め込み処理の手順を示すフローチャートである。11 is a flowchart illustrating a procedure for node embedding processing by graph learning according to an embodiment. 実施形態における検知モデルの学習フェーズの処理を示すフローチャートである。10 is a flowchart illustrating a process of a learning phase of a detection model in an embodiment. 実施形態における検知モデルを用いた検知フェーズの処理を示すフローチャートである。10 is a flowchart illustrating a detection phase process using a detection model in an embodiment.

以下、本発明の実施形態の一例について説明する。
本実施形態の検知装置は、グラフ学習におけるノード埋め込み技術を回路設計情報に適用することで、回路設計情報からハードウェアトロイを検知するために有用な回路素子の特徴量を自動的に抽出する。検知装置は、この特徴量を用いて検知モデルの学習、及び学習した検知モデルによるハードウェアトロイの検知を行う。
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 detection device 1 according to the present embodiment.
The detection device 1 is an information processing device (computer) including a control unit 10, a storage unit 20, various input/output devices, communication devices, and the like.

制御部10は、検知装置1の全体を制御する部分であり、記憶部20に記憶された各種プログラムを適宜読み出して実行することにより、本実施形態における各機能を実現する。制御部10は、CPUであってよい。 The control unit 10 is a part that controls the entire detection device 1, and realizes each function in this embodiment by appropriately reading and executing various programs stored in the memory unit 20. The control unit 10 may be a CPU.

記憶部20は、ハードウェア群を検知装置1として機能させるための各種プログラム、及び各種データ等の記憶領域であり、ROM、RAM、フラッシュメモリ又はハードディスクドライブ(HDD)等であってよい。
具体的には、記憶部20は、本実施形態の各機能を制御部10に実行させるためのプログラム(検知プログラム)の他、ハードウェアトロイの検知モデル、検知モデルを学習するための訓練データ等を記憶する。
The storage unit 20 is a storage area for various programs for causing the hardware group to function as the detection device 1, various data, and the like, and may be a ROM, a RAM, a flash memory, a hard disk drive (HDD), or the like.
Specifically, the memory unit 20 stores a program (detection program) for causing the control unit 10 to execute each function of this embodiment, as well as a detection model for hardware Trojans, training data for learning the detection model, and the like.

制御部10は、グラフ取得部11と、属性取得部12と、特徴量更新部13と、学習部14と、判定部15とを備え、これらの機能部により、検知モデルの学習、及びハードウェアトロイの検知を行う。 The control unit 10 includes a graph acquisition unit 11, an attribute acquisition unit 12, a feature update unit 13, a learning unit 14, and a judgment unit 15, and these functional units are used to learn the detection model and detect hardware Trojans.

グラフ取得部11は、ゲートレベルで記述された回路設計情報のうち、回路素子をノードとし、回路素子に接続された信号線をエッジとするグラフを取得する。 The graph acquisition unit 11 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.

属性取得部12は、グラフにおけるノードのそれぞれに対して、回路設計情報から得られるノードの属性を示すベクトルを、ノードの特徴量の初期値として付与する。
このとき、属性取得部12は、ノードの属性として、このノードに対応する回路素子の種類を示す値を取得する。さらに、属性取得部12は、ノードの属性として、このノードに対応する回路素子が含まれているモジュールの種類を示す値を取得してもよい。
The attribute acquiring unit 12 assigns, to each node in the graph, a vector indicating the attribute of the node obtained from the circuit design information as an initial value of the feature amount of the node.
At this time, the attribute acquiring unit 12 acquires, as an attribute of the node, a value indicating the type of the circuit element corresponding to this node. Furthermore, the attribute acquiring unit 12 may acquire, as an attribute of the node, a value indicating the type of the module that includes the circuit element corresponding to this node.

また、属性取得部12は、回路設計情報から得られるノードに隣接したエッジの属性を集約(例えば、平均、合計等)したベクトルを、ノードの属性を示すベクトルに連結し、このノードの特徴量の初期値としてもよい。
このとき、属性取得部12は、エッジの属性として、このエッジに対応する信号線の種類を示す値を取得する。
In addition, the attribute acquisition unit 12 may concatenate a vector that aggregates (e.g., averages, sums, etc.) the attributes of edges adjacent to a node obtained from the circuit design information to a vector indicating the attributes of the node, and use this as the initial value of the feature of this node.
At this time, the attribute acquiring unit 12 acquires, as an attribute of the edge, a value indicating the type of the signal line corresponding to this edge.

具体的には、グラフ取得部11及び属性取得部12により、次のように回路設計情報のグラフ表現が得られる。 Specifically, the graph acquisition unit 11 and the attribute acquisition unit 12 obtain a graph representation of the circuit design information as follows:

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に対して、この回路素子の属性を示すベクトルをxとする。xは、回路素子の種類(例えば、プライマリ入力、プライマリ出力、論理ゲート、フリップフロップ、マルチプレクサ、定数)、又は回路素子が存在するモジュールの種類等を示す値であり、回路設計情報から直接的に、あるいは変換により機械的に得られる。
なお、本実施形態では、回路の端点(プライマリ入力及びプライマリ出力)も回路素子の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に対して、この信号線の属性を示すベクトルをdとする。dは、信号線の種類(例えば、クロック信号、リセット信号、その他特別な意味を持つ信号線、それ以外の一般的な信号線)を示す値であり、回路設計情報から直接的に、あるいは変換により機械的に得られる。 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 feature update unit 13 updates the features of each node included in the graph by a node embedding process of graph learning based on a vector that aggregates the features of the nodes adjacent to this node.

グラフ学習では、訓練データとしてグラフの集合Dが用いられる。特徴量更新部13は、訓練データ中の各グラフG=(V,E)∈Dtrainに対し、各ノードv∈Vの属性を示すベクトルxを用いて、各ノードの特徴を示す特徴ベクトルz∈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 feature update unit 13 obtains a feature vector zv∈Z indicating the feature of each node by using a vector xv indicating the attribute of each node v∈V.
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として、h を初期化する。h ,∀v∈Vは、k回目の試行における各ノードの特徴ベクトルを示す。
なお、h =xとして、ノードの属性を初期値に与えることとしてよいが、前述のようにエッジの属性が連結されてもよく、また、初期値はこれらには限られない。
In step S1, the feature updating unit 13 initializes h v 0 by setting the repetition counter k = 0. h v k , ∀v∈V indicates the feature vector of each node in the kth trial.
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 feature update unit 13 increments the counter k by 1 and proceeds to the kth attempt of the following step.

ステップS3において、特徴量更新部13は、全てのノードv∈Vに関して、次の計算により特徴ベクトルを更新する。

Figure 0007565561000001
ここで、集約関数fAggは、例えば、平均又は合計といった統計処理が該当し、隣接ノードの数によらず、ベクトルの次元は維持される。 In step S3, the feature updating unit 13 updates the feature vectors for all nodes v∈V by the following calculation.
Figure 0007565561000001
Here, the aggregation function f Agg corresponds to a statistical process such as an average or a sum, and the dimension of the vector is maintained regardless of the number of adjacent nodes.

ステップS4において、特徴量更新部13は、k=Kであるか否かを判定する。この判定がYESの場合、処理はステップS5に進み、判定がNOの場合、処理はステップS2に戻る。
なお、Kは、予め設定される定数である。
In step S4, the feature amount update unit 13 determines whether or not k = K. If the determination is YES, the process proceeds to step S5, and if the determination is NO, the process returns to step S2.
It should be noted that K is a constant that is set in advance.

ステップS5において、特徴量更新部13は、z←h ,∀v∈Vとして、各ノードvの特徴ベクトルを決定する。 In step S5, the feature amount update unit 13 determines a feature vector of each node v, where z v ←h v K , ∀v∈V.

ここで、特徴量更新部13は、隣接するノードの特徴量を集約する集約関数fAgg、及び特徴量を更新する際の重み行列Wを、グラフにおける特徴量の分布に基づく損失関数を最適化するように更新しつつ、特徴量の更新を所定回数(K回)繰り返す。 Here, the feature update unit 13 repeats updating the features a predetermined number of times (K times) while updating the aggregation function fAgg that aggregates the features of adjacent nodes and the weighting matrix W used when updating the features so as to optimize a loss function based on the distribution of the features in the graph.

具体的には、ノードuをノードvの近くに存在するノード、P(v)をノードvから離れた位置に存在する(すなわち、ネガティブサンプルとなる)ノードの集合、Qをネガティブサンプルの個数とすると、集約関数fAgg及び重み行列Wのパラメータを最適化するための損失関数Jは、例えば次のように示される(文献A参照)。

Figure 0007565561000002
なお、近くに存在するノードとは、ノードvからのホップ数が所定以内のノード、離れた位置に存在するノードとは、ノードvからのホップ数が所定以上のノードである。 Specifically, if node u is a node near node v, Pn (v) is a set of nodes that are located away from node v (i.e., negative samples), and Q is the number of negative samples, then the loss function Jg for optimizing the parameters of the aggregation function fAgg and the weight matrix W is expressed, for example, as follows (see Document A):
Figure 0007565561000002
A nearby node is a node that is within a predetermined number of hops from node v, and a distant node is a node that is more than a predetermined number of hops from node v.

このように、ノード埋め込み処理により、各ノードの属性値は、周囲のノード(及びエッジ)との接続関係に応じて、回路の構造的な特徴を良く示す特徴ベクトル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 learning unit 14 learns parameters of the detection model based on the feature amounts of the nodes in the training data and the correct labels assigned to each node.
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 learning unit 14 acquires training data for learning the detection model.
The training data includes gate-level circuit design information for multiple circuits. The learning unit 14 obtains a set D train of graphs converted from each circuit design information and a set L of correct labels indicating whether a node v ∈ V in each graph G = (V, E) ∈ D train constitutes a hardware Trojan.
At this time, the learning unit 14 obtains, from the circuit included in the training data, a vector x which is a set of values indicating the attributes of the circuit elements, and a vector d which is a set of values indicating the attributes of the signal lines.

ステップS12において、学習部14は、ステップS11で得た情報に基づいて、ノード埋め込み処理により、各回路素子の特徴を良く表す特徴ベクトルの集合Zを得る。 In step S12, the learning unit 14 obtains a set Z of feature vectors that well represent the characteristics of each circuit element by node embedding processing based on the information obtained in step S11.

ステップS13において、学習部14は、ステップS12で得た特徴ベクトルの集合Zを利用し、ステップS11で得た正解ラベルと対応づけ、機械学習アルゴリズムにより検知モデルを学習する。 In step S13, the learning unit 14 uses the set Z of feature vectors obtained in step S12, associates them with the correct labels obtained in step S11, and learns a detection model using a machine learning algorithm.

判定部15は、学習済みの検知モデルにより、新たな回路設計情報に含まれる回路素子それぞれがハードウェアトロイを構成するものか否かを判定する。
具体的には、例えば、ノード毎の特徴量を入力とした検知モデルの出力であるハードウェアトロイを構成する回路素子である確率を、所定の閾値と比較することで、要注意の回路素子が検知される。
回路設計情報の中に、このような要注意の回路素子が検知されると、この回路設計情報は、人手により、あるいは既存のテスト手法を用いて、より詳細に解析される。
The determination unit 15 determines, using the learned detection model, whether or not each of the circuit elements included in the new circuit design information constitutes a hardware Trojan.
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 determination unit 15 acquires test data to be detected. This data includes gate level design information for one or more circuits. The determination unit 15 acquires a set D test of graphs converted from the respective circuit design information from the graph acquisition unit 11, and acquires attribute vectors x and d of nodes and edges corresponding to the graphs from the attribute acquisition unit 12.

ステップS22において、判定部15は、学習フェーズと同様に、特徴量更新部13から各回路素子の特徴を良く表す特徴ベクトルの集合Zを得る。 In step S22, the determination unit 15 obtains a set Z of feature vectors that well represent the characteristics of each circuit element from the feature update unit 13, similar to the learning phase.

ステップS23において、判定部15は、学習フェーズで学習した検知モデルを用いて、ステップS22で得た特徴ベクトルの集合Zに含まれるベクトルのそれぞれに対応する各回路素子がハードウェアトロイを構成するものか否かを判定する。 In step S23, the determination unit 15 uses the detection model learned in the learning phase to determine whether each circuit element corresponding to each vector included in the set Z of feature vectors obtained in step S22 constitutes a hardware Trojan.

本実施形態によれば、検知装置1は、ゲートレベルで記述された回路設計情報をグラフとして表現する。このとき、回路素子をノード、回路素子の間を接続する配線をエッジとし、回路素子の属性を示す値及び配線の属性を示す値が、それぞれノード及びエッジに対応付けられる。検知装置1は、このように生成されたグラフをもとに、グラフ学習によるノード埋め込みを適用することで、各ノードの特徴を良く表す特徴量(特徴ベクトル)を得る。
そして、検知装置1は、訓練データとなる回路設計情報から得られた特徴ベクトルと正解ラベルとに基づいて、機械学習アルゴリズムを利用して検知モデルを学習する。不正な回路であるハードウェアトロイの検知にあたっては、検知装置1は、訓練データと同様の手順でテストデータから得られた各ノードの特徴ベクトルをもとに、学習済みの検知モデルを用いて、ハードウェアトロイを構成するノードか否かを判定する。
According to this embodiment, the detection device 1 expresses the circuit design information described at the gate level as a graph. At this time, the circuit elements are regarded as nodes, the wiring connecting the circuit elements are regarded as edges, and values indicating the attributes of the circuit elements and values indicating the attributes of the wiring are associated with the nodes and edges, respectively. Based on the graph generated in this way, the detection device 1 applies node embedding by graph learning to obtain feature quantities (feature vectors) that well represent the features of each node.
The detection device 1 then uses a machine learning algorithm to learn a detection model based on the feature vectors and ground truth labels obtained from the circuit design information that serves as training data. When detecting hardware Trojans, which are unauthorized circuits, the detection device 1 uses the learned detection model to determine whether a node constitutes a hardware Trojan, based on the feature vectors of each node obtained from the test data in a similar procedure to that for the training data.

したがって、検知装置1は、ハードウェアトロイの検知に有効な特徴量を予め定義することなく自動的に抽出し、機械学習により、回路設計段階で混入されたハードウェアトロイを検知できる。この結果、例えば、従来の技術で定義されていた特徴量が有効でないハードウェアトロイに対しても高い検知性能が期待できる。また、特徴量の設計情報が攻撃者に知られないことから、検知を回避するための回路設計がされるリスクを低減できる。 The detection device 1 can therefore automatically extract features that are effective for detecting hardware Trojans without having to define them in advance, and use machine learning to detect hardware Trojans that have been mixed in at the circuit design stage. As a result, high detection performance can be expected even for hardware Trojans for which features defined by conventional technology are ineffective. In addition, because the design information for the features is not known to attackers, the risk of circuits being designed to evade detection can be reduced.

検知装置1は、隣接するノードの特徴量を集約する集約関数、及び特徴量を更新する際の重み行列を、グラフにおける特徴量の分布に基づく損失関数を最適化するように更新しつつ、特徴量の更新を所定回数繰り返す。
これにより、検知装置1は、例えば、グラフ上で近くのノードの特徴ベクトルを類似させ、かつ、離れたノードの特徴ベクトルを乖離させて、グラフ全体としてノード間の関係性を表した特徴量を適切に決定できる。
The detection device 1 repeats updating the features a predetermined number of times while updating the aggregation function that aggregates the features of adjacent nodes and the weighting matrix used when updating the features so as to optimize a loss function based on the distribution of the features in the graph.
This allows the detection device 1 to appropriately determine features that represent the relationships between nodes in the graph as a whole, for example by making the feature vectors of nearby nodes on the graph similar and by diverging the feature vectors of distant nodes.

検知装置1は、ノードの属性として、ノードに対応する回路素子の種類、モジュールの種類等、回路設計情報から容易に抽出又は変換可能な情報を属性として取得する。
したがって、検知装置1は、適切な特徴量を効率的に決定することができる。
The detection device 1 acquires, as attributes of a node, information that can be easily extracted or converted from circuit design information, such as the type of circuit element corresponding to the node, the type of module, etc.
Therefore, the detection device 1 can efficiently determine appropriate feature quantities.

検知装置1は、回路設計情報から得られるノードに隣接したエッジの属性を集約したベクトルを、ノードの属性を示すベクトルに連結し、ノードの特徴量の初期値とすることにより、信号線の情報も含むより信頼性の高い特徴量を決定できる。 The detection device 1 concatenates a vector that aggregates the attributes of edges adjacent to a node obtained from the circuit design information to a vector indicating the attributes of the node, and sets this as the initial value of the node's features, thereby being able to determine more reliable features that also include signal line information.

検知装置1は、エッジの属性として、当該エッジに対応する信号線の種類等、回路設計情報から容易に抽出又は変換可能な情報を属性として取得する。
したがって、検知装置1は、適切な特徴量を効率的に決定することができる。
The detection device 1 acquires, as an attribute of an edge, information that can be easily extracted or converted from circuit design information, such as the type of signal line corresponding to the edge.
Therefore, the detection device 1 can efficiently determine appropriate feature quantities.

なお、前述の実施形態により、例えば、回路設計情報に対するハードウェアトロイの混入を適切に検知できるので、ハードウェア設計における安全性を向上できることから、国連が主導する持続可能な開発目標(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 detection device 1 is realized by software. When realized by software, the programs that make up this software are installed in an information processing device (computer). These programs may be recorded on removable media such as CD-ROM and distributed to users, or may be distributed by being downloaded to the user's computer via a network. Furthermore, these programs may be provided to the user's computer as a web service via a network without being downloaded.

1 検知装置(学習装置)
10 制御部
11 グラフ取得部
12 属性取得部
13 特徴量更新部
14 学習部
15 判定部
20 記憶部
1. Detection device (learning device)
REFERENCE SIGNS LIST 10 Control unit 11 Graph acquisition unit 12 Attribute acquisition unit 13 Feature amount update unit 14 Learning unit 15 Determination unit 20 Storage unit

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.
前記特徴量更新部は、前記隣接するノードの特徴量を集約する集約関数、及び前記特徴量を更新する際の重み行列を、前記グラフにおける特徴量の分布に基づく損失関数を最適化するように更新しつつ、前記特徴量の更新を所定回数繰り返す請求項1に記載の検知装置。 The detection device according to claim 1, wherein the feature update unit updates an aggregation function that aggregates the features of the adjacent nodes and a weight matrix used when updating the features to optimize a loss function based on the distribution of the features in the graph, while repeating the update of the features a predetermined number of times. 前記属性取得部は、前記ノードの属性として、当該ノードに対応する回路素子の種類を示す値を取得する請求項1に記載の検知装置。 The detection device according to claim 1, wherein the attribute acquisition unit acquires, as an attribute of the node, a value indicating the type of circuit element corresponding to the node. 前記属性取得部は、前記ノードの属性として、前記回路設計情報において当該ノードに対応する回路素子が含まれているモジュールの種類を示す値を取得する請求項3に記載の検知装置。 The detection device according to claim 3, wherein the attribute acquisition unit acquires, 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. 前記属性取得部は、前記回路設計情報から得られる前記ノードに隣接した前記エッジの属性を集約したベクトルを、当該ノードの属性を示すベクトルに連結し、当該ノードの特徴量の初期値とする請求項1から請求項4のいずれかに記載の検知装置。 The detection device according to any one of claims 1 to 4, wherein the attribute acquisition unit connects a vector that aggregates the attributes of the edges adjacent to the node obtained from the circuit design information to a vector indicating the attribute of the node, and sets the vector as an initial value of the feature of the node. 前記属性取得部は、前記エッジの属性として、当該エッジに対応する信号線の種類を示す値を取得する請求項5に記載の検知装置。 The detection device according to claim 5, wherein the attribute acquisition unit acquires a value indicating the type of signal line corresponding to the edge as an attribute of the edge. 請求項1から請求項6のいずれかに記載の検知装置が用いる前記検知モデルを、前記訓練データにおけるノードの特徴量に基づいて学習する学習装置。 A learning device that learns the detection model used by the detection device according to any one of claims 1 to 6 based on the feature quantities of nodes in the 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.
請求項1から請求項6のいずれかに記載の検知装置としてコンピュータを機能させるための検知プログラム。 A detection program for causing a computer to function as a detection device according to any one of claims 1 to 6.
JP2021085409A 2021-05-20 2021-05-20 DETECTION DEVICE, LEARNING DEVICE, DETECTION METHOD, AND DETECTION PROGRAM Active JP7565561B2 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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