(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023074447
(43)【公開日】2023-05-29
(54)【発明の名称】トロイの木馬回路検出に基づくデータ処理方法及びその回路
(51)【国際特許分類】
G06F 21/56 20130101AFI20230522BHJP
G06F 30/33 20200101ALI20230522BHJP
【FI】
G06F21/56
G06F30/33
【審査請求】有
【請求項の数】12
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2021195909
(22)【出願日】2021-12-02
(31)【優先権主張番号】110142746
(32)【優先日】2021-11-17
(33)【優先権主張国・地域又は機関】TW
(71)【出願人】
【識別番号】599060434
【氏名又は名称】財團法人資訊工業策進會
(74)【代理人】
【識別番号】110000408
【氏名又は名称】弁理士法人高橋・林アンドパートナーズ
(72)【発明者】
【氏名】リャオ ジャン ウェイ
(72)【発明者】
【氏名】リン チン ユ
(72)【発明者】
【氏名】ウ カイ チャン
(72)【発明者】
【氏名】ツァイ ジュン チェ
【テーマコード(参考)】
5B146
【Fターム(参考)】
5B146AA22
5B146DC03
5B146DL02
5B146GA06
(57)【要約】 (修正有)
【課題】トロイの木馬回路検出に基づく、データ処理回路及び方法を提供する。
【解決手段】試験段階に、プロセッサを制御することを備えるトロイの木馬回路検出に基づくデータ処理方法であって、論理ゲート回路に対応する複数の固有値を得ること、固有値に分布調整操作を実行して、複数の調整された固有値を生成すること及び調整された固有値に分類を実行して、論理識別結果を生成すること、のステップを実行する。
【選択図】
図3
【特許請求の範囲】
【請求項1】
プロセッサを制御することを備える、トロイの木馬回路検出に基づく、データ処理方法であって、試験段階に、
論理ゲート回路に対応する複数の固有値を得ること、
前記固有値に分布調整操作を実行して、複数の調整された固有値を生成すること、及び
前記調整された固有値に分類を実行して、論理識別結果を生成すること、
のステップを実行する、トロイの木馬回路検出に基づく、データ処理方法。
【請求項2】
トレーニング段階に、前記プロセッサが、
論理ゲートネットリストと、トレーニングスタンダードセルライブラリとを介した複数のトレーニング固有値を得ること、
前記トレーニング固有値に分類を実行して、トレーニングされた論理識別結果を生成すること、
を実行する請求項1に記載のデータ処理方法。
【請求項3】
スタンダードセルライブラリが既知のスタンダードセルライブラリであるかを判断し、
前記スタンダードセルライブラリが前記既知のスタンダードセルライブラリである場合に、前記固有値を前記調整された固有値として利用すること、をさらに備え、
スタンダードセルライブラリが既知のスタンダードセルライブラリではない場合に、前記調整された固有値を生成するために、前記固有値に前記分布調整操作を実行することが実行される、請求項1に記載のデータ処理方法。
【請求項4】
前記分布調整操作を実行する前に、前記プロセッサにより、
前記固有値にデータサンプリング操作を実行して、データサンプリング結果を生成し、
前記データサンプリング結果にデータフィルタリング操作を実行して、前記固有値をアップデートすること、
をさらに備える、請求項1に記載のデータ処理方法。
【請求項5】
前記論理ゲート回路が、複数の論理ゲートと、前記論理ゲートにより形成された複数のパスを備え、前記データサンプリング操作が、
前記パスの中で現在のパスが、前記パスの中の他のパスが通過した前記論理ゲートに遭遇するか、判断するために、前記複数のパスを1つ1つ検査すること、
を備える、請求項4に記載のデータ処理方法。
【請求項6】
前記データサンプリング操作が、
前記現在のパスが、前記他のパスが通過した前記論理ゲートに遭遇する場合に、前記現在のパスの出力レベルの距離が、パスの相似値以上であるか、判断すること、
をさらに備える、請求項5に記載のデータ処理方法。
【請求項7】
前記データサンプリング操作が、
前記現在のパスの出力レベルの距離が、パスの相似値以上である場合に、前記現在のパスが通過した論理ゲートの数が、パスの多様性値以下であるか、判断し、且つ、
前記現在のパスが通過した前記論理ゲートの数が、前記パスの多様性値以下である場合に、前記現在のパスを放棄すること、
をさらに備える、請求項6に記載のデータ処理方法。
【請求項8】
前記論理ゲート回路が、複数の論理ゲートと、前記論理ゲートにより形成された複数のパスを備え、前記データフィルタリング操作が、
前記複数のパスを1つ1つ検査し、且つ、
0である前記複数のパスの中の現在のパスの全ての論理ゲートのネットライン信号の確率が第1の閾値より大きい場合に、前記現在のパスを放棄し、且つ/又は
1である前記複数のパスの中の現在のパスの全ての論理ゲートの前記ネットライン信号の確率が第2の閾値より大きい場合に、前記現在のパスを放棄する、
請求項4に記載のデータ処理方法。
【請求項9】
論理ゲート回路に接続される、トロイの木馬回路検出に基づく、データ処理回路であって、
前記データ処理回路は、処理モジュールと、分布調整モジュールと、分類モジュールと、を備え、前記データ処理回路は、試験段階に、
論理ゲート回路に対応する複数の固有値を得る前記処理モジュール、
前記固有値に分布調整操作を実行して、複数の調整された固有値を生成する前記分布調整モジュール、及び
前記調整された固有値に分類を実行して、論理識別結果を生成する前記分類モジュール、
を実行する、トロイの木馬回路検出に基づく、データ処理回路。
【請求項10】
トレーニング段階に、
論理ゲートネットリストと、トレーニングスタンダードセルライブラリとを介した複数のトレーニング固有値を得る前記処理モジュール、及び
前記トレーニング固有値に分類を実行して、トレーニングされた論理識別結果を生成する前記分類モジュール、
を実行すること、をさらに備える、請求項9に記載のデータ処理回路。
【請求項11】
前記分布調整モジュールが、スタンダードセルライブラリが既知のスタンダードセルライブラリであるかを判断し、前記スタンダードセルライブラリが前記既知のスタンダードセルライブラリではない場合に、前記分布調整モジュールが、前記固有値に前記分布調整操作を実行して、前記調整された固有値を生成し、前記スタンダードセルライブラリが前記既知のスタンダードセルライブラリである場合に、前記分布調整モジュールが、前記固有値を前記調整された固有値として利用する、請求項9に記載のデータ処理回路。
【請求項12】
データクレンジングモジュールをさらに備え、前記分布調整操作を実行する前に、前記データクレンジングモジュールは、
前記固有値にデータサンプリング操作を実行して、データサンプリング結果を生成し、
前記データサンプリング結果にデータフィルタリング操作を実行して、前記固有値をアップデートすること、
を実行するように構成される、請求項9に記載のデータ処理回路。
【請求項13】
前記論理ゲート回路が、複数の論理ゲートと、前記論理ゲートにより形成された複数のパスを備え、前記データサンプリング操作を実行する前記データクレンジングモジュールが、
前記パスの中で現在のパスが、前記パスの中で他のパスが通過した前記論理ゲートに遭遇するか、判断するために、前記複数のパスを1つ1つ検査すること、
を備える、請求項12に記載のデータ処理回路。
【請求項14】
前記データサンプリング操作が、
前記現在のパスが、前記他のパスが通過した前記論理ゲートに遭遇する場合に、前記現在のパスの出力レベルの距離が、パスの相似値以上であるか判断し、前記現在のパスを放棄するか判断すること、
をさらに備える、請求項13に記載のデータ処理回路。
【請求項15】
前記データサンプリング操作が、
前記現在のパスの出力レベルの距離が、パスの相似値以上である場合に、前記現在のパスが通過した論理ゲートの数が、パスの多様性値以下であるか、判断し、且つ、
前記現在のパスが通過した前記論理ゲートの数が、前記パスの多様性値以下である場合に、前記現在のパスを放棄すること、
をさらに備える、請求項14に記載のデータ処理回路。
【請求項16】
前記論理ゲート回路が、複数の論理ゲートと、前記論理ゲートにより形成された複数のパスを備え、前記データフィルタリング操作が、
前記複数のパスを1つ1つ検査し、且つ、
0である前記複数のパスの中の現在のパスの全ての論理ゲートのネットライン信号の確率が第1の閾値より大きい場合に、前記現在のパスを放棄し、且つ/又は
1である前記複数のパスの中の現在のパスの全ての論理ゲートの前記ネットライン信号の確率が第2の閾値より大きい場合に、前記現在のパスを放棄する、
請求項12に記載のデータ処理回路。
【発明の詳細な説明】
【技術分野】
【0001】
関連出願の相互参照
本非仮出願は、合衆国法典第35巻119条(a)に基づき、2021年11月17日に台湾で出願された特許出願第110142746号に優先権を主張し、その全体の構成が参照によりここに取り込まれる。
【0002】
本開示は、データ処理方法及びデータ処理回路に関し、特に、トロイの木馬回路検出に基づく、データ処理方法及びデータ処理回路に関する。
【背景技術】
【0003】
集積回路(IC)の開発が急速に拡大したように、回路設計は、ますます複雑になってきている。近年、ICの内部は、異なる機能に対して、異なるブロックに分割される。ICの設計者は、ICのある機能を設計することに特化したサードパーティのシリコン知的財産コアから承諾を得ることにより、設計コストを低減するかもしれない。シリコン知的財産コアは、論理ユニットの形成において再利用可能なモジュールやIC内の再利用可能な設計手法におけるチップ設計を示す。シリコン知的財産コアは、通常、設計検証に合格し、設計者は、設計に必要な期間を短くするために、設計の基礎としてシリコン知的財産コアを利用するかもしれない。設計者は、設計の期間を短くするために、アプリケーションに特化した集積回路又はフィールド・プログラマブル・ゲート・アレイ(FPGA)の論理設計の基礎として、シリコン知的財産コアを利用するかもしれない。
【0004】
上述の利便性を提供するとき、シリコン知的財産コアの開発は、いくつかの問題にも直面する。例えば、インターネット・オブ・シングス(IoT)の開発、様々な埋め込みシステムの普及、及びチップ設計の制作、チップ設計の制作の発展は、ますます複雑になってきており、分業をより専門的にし、詳細にしている。したがって、外注化した開発や制作の可能性も増加している。チップの設計、製造及び大量生産から、それらの大部分が信頼できない環境に晒され、チップ及び関連する製品の信頼性に疑問を生じさせる。換言すると、IC設計企業は、構成のデータベースなしにIC内に詳細な回路構造を得ることはできず、各ブロックにトロイの木馬が存在しないかを判断することができず、情報セキュリティを保証させない。製造工程を外注化することにおいて、回路が故意に変更された場合、回路のパフォーマンスを低下させ、機能の変更や情報漏洩さえも生じる、所謂、悪意のある回路又はハードウェアのトロイの木馬である。
【0005】
既存のトロイの木馬攻撃防止回路においては、アタッカーは、トロイの木馬をチップ内にランダムに埋め込むかもしれない。したがって、各チップは、検証される必要がある。したがって、ハードウェアによって実行される、目的とする悪意ある挙動検出は達成されるが、これらの方法は、同じ時間コストで、多くの時間と費用である。
【0006】
まとめると、トロイの木馬回路検出に基づく、新規なデータ処理方法及びデータ処理回路に対する早急なニーズがある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
したがって、本開示は、従来技術によって直面した技術的課題を解決するために、トロイの木馬回路検出に基づく、データ処理回路及び方法を提供する。
【課題を解決するための手段】
【0008】
本開示の一つ以上の実施形態によると、トロイの木馬回路検出に基づく、データ処理方法は、プロセッサを制御することを含み、試験段階に、論理ゲート回路に対応する複数の固有値を得ること、固有値に分布調整操作を実行して、複数の調整された固有値を生成すること、及び、調整された固有値に分類を実行して、論理識別結果を生成すること、のステップを実行する。
【0009】
本開示の一つ以上の実施形態によると、論理ゲート回路に接続される、トロイの木馬回路検出に基づく、データ処理回路であって、データ処理回路が、処理モジュールと、分布調整モジュールと、分類モジュールと、を備え、データ処理回路は、試験段階に、論理ゲート回路に対応する複数の固有値を得る前記処理モジュール、前記固有値に分布調整操作を実行して、複数の調整された固有値を生成する前記分布調整モジュール、及び、前記調整された固有値に分類を実行して、論理識別結果を生成する前記分類モジュール、を実行する。
【発明の効果】
【0010】
上記を考慮すると、本開示は、トレーニング段階のトレーニング結果を介して、試験段階を調整し、トレーニング情報の複数の要素がトレーニング段階で入力される。試験段階は、データクレンジング操作及び分調整操作を介して検出される必要のある論理パスの数をさらに低減させる。したがって、本開示は、トロイの木馬論理ゲートの正確な識別結果を提供し、同時に、計算時間を顕著に低減してもよい。
【図面の簡単な説明】
【0011】
本開示は、以下に与えられる詳細な記載及び説明の手段として与えられ、本開示を限定しない添付の図面にからより完全に理解される。
【0012】
【
図1】本開示の一実施形態に係るトロイの木馬回路検出に基づく、データ処理回路の模式図である。
【
図2】
図1のデータ処理回路により実行されるトロイの木馬回路検出のフロー図である。
【
図3】
図2のトレーニング段階の詳細なフロー図である。
【
図6】論理ゲート信号が出現する確率の模式図である。
【
図7A】トレーニング段階に完了した固有値に対する固有値の数のヒストグラムである。
【
図7B】試験段階に検出されるべき回路の固有値に対する固有値の数のヒストグラムである。
【
図7C】検出されるべき回路の調整された固有値に対する固有値の数のヒストグラムである。
【発明を実施するための形態】
【0013】
以下の詳細な記載において、説明の目的のため、開示された実施形態の完全な理解を提供するために、多くの特定の詳細が示される。明細書に開示された記載、請求項と図面によると、当業者は、本発明の概念及び特徴を容易に理解できるであろう。以下の実施形態は、本発明の様々な態様をさらに説明するが、本発明の範囲を限定することを意図するものではない。
【0014】
設計者は、シリコン知的財産コアを、特定用途向け集積回路(ASIC)又はフィールドプログラマブルゲートアレイ(FPGA)の論理設計の基礎として利用してもよい。シリコン知的財産コアがトロイの木馬ハードウェアを埋め込まれたかを検証するために、スタンダードセルライブラリ由来の情報が判断のために利用されてもよく、スタンダードセルライブラリは、AND、OR等の電子論理機能、及び固有情報(値)の収集であってもよい。しかしながら、収集されたデータの高い再現性のために、本開示は、以下の課題I及びIIをおもに解決するデータ処理方法を提案する。
【0015】
課題I: データ収集の間に過剰な正常データを収集しがちである。データ収集の間に、収集された正常データの量は、異常データの量よりも通常は非常に多く、収集されたデータは、次のトレーニング段階に利用される。したがって、本開示の目的の一つは、高い類似性を有するデータの除外と、少量のユニークなデータの保持のみのための、データフィルタリングである。したがって、分類モジュールのトレーニング期間は、低減されてもよく、分類モジュールのトレーニング期間は、以下の記載に詳述される。
【0016】
課題II: 異なるスタンダードセルライブラリに基づく同じ回路タイプである回路は、エクスポートされたデータの一貫性をなくす。異なる製造工程のため、同じタイプの回路は、異なるスタンダードセルライブラリを利用してもよく、生成された回路情報も異なってもよい。回路情報はベンダーに対して最高機密であるため、研究者は、回路情報の欠如のために後に分析が困難である。したがって、本開示の目的の一つは、既知と未知のスタンダードセルライブラリとの関係を得るために、固有値の分布の調整方法を提供し、分類モジュールを再訓練することなしに、次の検出の精度を改善する。本開示において述べられる「既知」及び「未知」のスタンダードセルライブラリは、試験段階で利用されるスタンダードセルライブラリ(例えば、
図2の試験段階S2)及びトレーニング段階で利用されるスタンダードセルライブラリ(例えば、
図2のトレーニング段階S1)が同じであるか否か示すことに注意する。例えば、試験段階で利用されるスタンダードセルライブラリがトレーニング段階で利用されるスタンダードセルライブラリと同じであれば、試験段階で利用されるスタンダードセルライブラリは、「既知」のスタンダードセルライブラリと称し、反対に、試験段階で利用されるスタンダードセルライブラリがトレーニング段階で利用されるスタンダードセルライブラリと同じでなければ、試験段階で利用されるスタンダードセルライブラリは、「未知」のスタンダードセルライブラリと称する。
【0017】
図1を参照する。
図1は、本開示の一実施形態に係るトロイの木馬回路検出に基づく、データ処理回路の模式図である。データ処理回路100は、論理ゲート回路200に接続される。データ処理回路100は、処理モジュール110、データクレンジングモジュール120、分布調整モジュール130及び分類モジュール140を備える。処理モジュール110は、データクレンジングモジュール120に接続される、分布調整モジュール130は、データクレンジングモジュール120及び分類モジュール140に接続される、データ処理回路100は、プロセッサー、例えば、マイクロプロセッシングユニット(MPU)、マイクロコントロールユニット(MCU)又は中央処理装置(CPU)であってもよい。
【0018】
図2を参照する。
図2は、
図1のデータ処理回路により実行されるトロイの木馬回路検出のフロー図である。
図2に示すように、データ処理回路100は、トレーニング段階S1を実行し、トレーニング結果に応じて、試験段階S2において引き続き利用されるデータをアップデートする。
【0019】
図3を参照する。
図3は、
図2のトレーニング段階の詳細なフロー図である。
図3に示すように、ステップS11において、データ処理回路100は、論理ゲートネットリストに従って、既知のトレーニングスタンダードセルライブラリから論理ゲート回路に対応する複数の固有値を得て;ステップS13において、データ処理回路100は、トレーニング固有値にデータクレンジング操作を実行し;ステップS15において、データ処理回路100は、クレンジングされたトレーニング固有値に分類を実行し、トレーニングセルライブラリに関連した分類子を生成する。分類子は、検出すべき回路の固有値に引き続き利用され、検出すべき回路のトロイの木馬論理ゲートの数を決定してもよい。ステップS11からS15迄の詳細は、続けて述べるステップS21からS29と類似するため、ステップS11からS15の記載について、ステップS21からS29の記載を参照する。
【0020】
図4を参照する。
図4は、
図2の試験段階の詳細なフロー図である。
図4に示すように、ステップS21において、データ処理回路100は、論理ゲート回路200に対応する複数の固有値を得て;ステップS23において、データ処理回路100は、固有値にデータクレンジング処理を実行し、固有値をアップデートし;ステップS25において、データ処理回路100は、固有値に関連したスタンダードセルライブラリが既知のスタンダードセルライブラリであるか判断し、固有値に関連したスタンダードセルライブラリが既知のスタンダードセルライブラリである場合には、データ処理回路100は、ステップS29の実行に進み;スタンダードセルライブラリが未知のスタンダードセルライブラリである場合には、データ処理回路100は、ステップS27の実行に進む。ステップS27において、データ処理回路100は、クレンジングした固有値(ステップS23においてアップデートされた後の固有値)に分布調整操作を実行し、調整された固有値を生成し;ステップS29において、データ処理回路100は、全ての処理された固有値に分類を実行し、論理ゲート回路200の悪意のある論理ゲートの識別結果を得る。例えば、処理された固有値は、論理ゲート回路200の悪意のある論理ゲートの識別結果を得るための、調整された固有値又はクレンジングされた固有値であってもよい。
【0021】
詳細には、ステップS21において、論理ゲート回路200の複数の固有値は、スタンダードセルライブラリに関連する。いくつかの実施形態において、論理ゲート回路200に関連した複数の固有値は、論理ゲート回路200の論理ゲートネットリストのテーブルと、既知のスタンダードセルライブラリを介して得られてもよい。いくつかの実施形態において、データ処理回路100は、論理ゲート回路200の複数の固有値を得るだけでもよいが、スタンダードセルライブラリは、未知のままの固有値に関連する。
【0022】
固有値は、論理ゲートネットリストテーブルに利用された論理ゲートに基づく、スタンダードセルライブラリを調べることにより、得られる。特に、論理ゲートパスの固有値は、論理ゲートが1つのパスを通過させるようなスタンダードセルライブラリから抽出された固有情報の統計値、及び論理ゲートの数に基づいて、決定される。固有情報(値)は、論理ゲートの占有された領域、ソースパワー、論理入力数の量、論理出力数の量、0である論理入力数/論理出力数の確率、及び1である論理入力数/論理出力数の確率等を含んでもよい。論理入力数と論理出力数は、論理ゲートの負荷能力のメトリクスとして利用されてもよく、論理入力数と論理出力数は、論理ゲート回路によって駆動されてもよい論理ゲート回路の論理ゲートと同じタイプの論理ゲートの数として定義される。論理入力数/論理出力数の確率が0又は1であるために、各論理ゲートの論理入力数/論理出力数の信号確率は、論理ゲートネットリストテーブルの動的シミュレーションの処理の間に得られる。上述した固有情報は、最大値、最小値、合計、平均、標準偏差等の論理ゲートの複数の統計値を備えてもよい。例えば、1つの論理ゲートパスが合計でN個の論理ゲートを通過するとき、固有値は、これらN個の論理ゲートの占有された領域、ソースパワー、論理入力数の量、論理出力数の量、0である論理入力数/論理出力数の確率、及び1である論理入力数/論理出力数の確率等を備えてもよい。「占有された領域」の固有情報として、N個の論理ゲートの5つの統計値(最大値、最小値、合計、平均、標準偏差)が計算される。したがって、上述した論理ゲートパスは、30の固有値(即ち、5つの統計値で乗じた6つの固有値)を有する。
【0023】
ステップS23は、
図1のデータクレンジングモジュール120によって実装される。詳細には、データクレンジングモジュール120は、クレンジング操作を実行するように構成され、固有値にデータサンプリング操作を実行して、データサンプリング結果を生成し;且つ、データサンプリング結果にデータフィルタリング操作を実行して、データフィルタリング結果(即ち、アップデートされた後の固有値)を生成する。データクレンジング操作は、「正常」(トロイの木馬論理ゲートではない)として判断される論理ゲートを予め排除するためであり、悪意のある論理ゲートが論理ゲート回路200にどれくらい含まれるかを判断するための分類モジュール140に要求される時間を低減する。データクレンジング操作の詳細を、以下に述べる。
【0024】
いくつかの実施形態において、論理ゲート回路200は、複数の論理ゲートを備え、これらの大量の論理ゲートは、それらの接続に基づいて、パスを形成してもよい。したがって、論理ゲート回路200は、これらの論理ゲートによって形成された複数のパスを備えてもよい。
【0025】
図5を参照する。
図5は、部分的な論理ゲート回路の模式図であり、上述した論理ゲート回路200の例であってもよい。
図5に示したように、論理ゲート回路500は、論理ゲートAからKと、一次出力ノードPOとを備え、これらの論理ゲートは、AND、OR、NOT、XOR等の基本的な論理ゲートを備えてもよい。
図5に示したように、論理ゲート回路500は、A-B-C-D-E-F-Gのパス(即ち、これらの論理ゲートを通過するパス)、H-I-B-C-D-E-F-Gのパス及びH-I-J-Kのパスを備えてもよい。いくつかの実施形態において、論理ゲート回路500にサンプリング操作を実行することは、論理ゲート回路500のパスを1つ1つ検査し、現在のパスが、他のパスが通過した論理ゲートに遭遇する場合に、現在のパスの出力レベルの距離が、パスの相似値以上であり、且つ、現在のパスの出力レベルの距離が、パスの多様性値以下である場合に、現在のパスを放棄するステップを含む。記載のために、パスの多様性値が3であり、パスの相似値が5であると仮定する。
図5に示したように、論理ゲートAから開始した場合に、論理ゲートBは、論理ゲートAとのその関係に基づいて次に得られ、次の論理ゲートは、論理ゲートBとのその関係に基づいて得られる。一実施形態において、現在のパスは、パスA-B-C-D-E-F-Gである。パスA-B-C-D-E-F-Gが、他のパスが通過した前記論理ゲートに遭遇することなしに検出される最初のパスであるため、パスA-B-C-D-E-F-Gは、放棄されない。そして、論理ゲートHから開始した場合には、論理ゲートIは、論理ゲートHとのその関係に基づいて次に得られ、論理ゲートBは、論理ゲートIとのその関係に基づいて次に得られる。このとき、論理ゲートBは、以前のパスA-B-C-D-E-F-Gによって遭遇したことが検出される。そして、論理ゲートBから論理ゲートG迄の出力距離(論理ゲートの数)は、5であると決定され、パスの相似値5に等しい。したがって、論理ゲートBとその次に接続された論理ゲートは、現在のパスには加えられない。換言すると、現在のパスは、論理ゲートHとIを備える。そして、データクレンジングモジュール120は、現在のパスの論理ゲートの数が、パスの多様性値以下であるか判断する。現在のパスH-Iの論理ゲートの数が2であり、パスの多様性値以下であるため、現在のパスH-Iは放棄される。そして、論理ゲートHから開始した場合には、論理ゲートJとKが、論理ゲートIとのそれらの関係に基づいて次に得られる。次の論理ゲートが他のパスによって以前に遭遇していないので、現在のパスH-I-J-Kは保持される。換言すると、本実施形態において、3つのパスA-B-C-D-E-F-G、H-I及びH-I-J-Kの中で、2つのパスA-B-C-D-E-F-G及びH-I-J-Kがサンプリングされ、パスH-I-B-C-D-E-F-G及びH-I-J-Kが消去される。したがって、高頻度のパスがデータフィルタリング操作によって消去されたので、論理ゲート回路500でのトロイの木馬回路のその後の検出に要求される計算と時間が低減されてもよい。パスの多様性値及び/又はパスの相似値が異なる設計に応じた他の値として調整されてもよく、パスの多様性値及びパスの相似値は自然数であることに注目すべきである。
【0026】
以下に、ステップS23におけるデータクレンジング操作のデータフィルタリング操作を説明する。データフィルタリング操作は、0である現在のパスの全ての論理ゲートのネットライン信号の全ての確率の最小値を決定すること、確率の最小値が第1の閾値(例えば、0.1)よりも大きい場合に、現在のパスを放棄することを備える。一方、データフィルタリング操作は、1である現在のパスの全ての論理ゲートのネットライン信号の全ての確率の最小値を決定すること、確率の最小値が第2の閾値(例えば、0.1)より大きい場合に、現在のパスを放棄する。
【0027】
さらに、データフィルタリング操作は、信号が出現する確率と閾値との関係に基づいて、アップデートされた後の固有値に実行される。1であるネットライン信号と、0であるネットライン信号の確率は、何れも高く(第1及び第2の閾値よりも大きい)、パスに出現するネットライン信号の1つだけの特異的な信号の状態が存在しなくてもよいことを意味する。したがって、パスに出現するこれらの2つの諡号の時間の量の分布が正常であり、ハードウェアのトロイの木馬論理ゲートを有するパスの確率が低いと判断することは妥当である。詳細な記述として、
図6を参照する。
【0028】
図6は、論理ゲート信号が出現する確率の模式図である。
図6に示したように、パスPI-A’(PIは、一次入力のためのノードを示す)、パスA’-B’、パスB’-C’、パスC’-POに出現する信号0及び1の確率は、それぞれ、0.3/0.7、0.6/0.4、0.65/0.35、0.65/0.35であり、0.3/0.7は、現在のパスのネットライン信号に存在する0の確率が0.3(即ち、確率は30%である)且つ存在する1の確率が0.7(即ち、確率は70%である)等を示す。
図6に示したいくつかの実施形態において、ネットラインは、例えば、論理PIとA’の間の信号伝達ライン、論理A’とB’の間の信号伝達ライン、論理B’とC’の間の信号伝達ライン、論理C’とPOの間の信号伝達ラインを備える。パスPI-A’-B’-C’-PO全体の全てにネットライン信号に0が存在する確率は0.1より小さくはなく、パスPI-A’-B’-C’-PO全体の全てにネットライン信号に1が存在する確率は0.1より小さくはないため、このパスの論理ゲートは、トロイの木馬論理ゲートを含まない正常な論理ゲートとして判断されてもよい。したがって、現在のパスPI-A’-B’-C’-POは、放棄される。
【0029】
いくつかの実施形態において、閾値の設定方法は、0であるパスの全ての論理ゲートの信号の確率を読み込むこと、パス(信号が0である)の確率を示すこれらの確率の最小値を利用することを備える。そして、全てのパスを示す確率の最大値は、閾値(閾値=確率の最小値×0.2)として利用される0.2を乗ずる。例えば、3つのパスの3つの確率を示す確率の最大値が0.5である場合、閾値は、0.1に設定される。いくつかの実施形態において、閾値を設定する方法は、各パスを示す確率を得て、これらの確率の平均及び標準偏差を計算した後に、閾値(閾値=確率の平均―2×標準偏差)として確率の平均よりも小さなn個の標準偏差を利用することをさらに備える。例えば、計算された確率の平均が0.25であり、標準偏差が0.1である場合、閾値は0.05として設定される。1であるネットライン信号の確率に対する閾値の設定方法が0であるネットライン信号の確率に対する閾値の上述した設定方法に類似することは言及する価値があり、1の確率の記載は、ここでは省略される。したがって、本開示は、分類モジュール140の計算を調整するためにフィルタリング下パスの数を調整してもよい。
【0030】
ステップS25は、スタンダードセルライブラリが既知のスタンダードセルライブラリであるか判断している。スタンダードセルライブラリが既知のスタンダードセルライブラリである場合、処理はステップS29に続き;そうでなければ、処理はステップS27に続く。詳細には、分布調整モジュール130は、スタンダードセルライブラリがトレーニングスタンダードセルライブラリと同じであるか判断し、スタンダードセルライブラリが既知のスタンダードセルライブラリであるか判断する。スタンダードセルライブラリが既知のスタンダードセルライブラリではない場合は、分布調整モジュール130は、ステップS27を実行し、固有値に分布調整操作を実行して、調整された固有値を生成する分布調整モジュール130であり;スタンダードセルライブラリが既知のスタンダードセルライブラリである場合は、処理はステップS29に続き、分布調整モジュール130は、調整された固有値として、固有値を直接利用する。分布調整操作の目的は、異なるスタンダードセルライブラリから得られた固有値を、互いにより類似するようにさせることである。したがって、本開示は、未知のスタンダードセルライブラリに特異的な分類子を得るために、未知のスタンダードセルライブラリに関連した固有値を再訓練する必要がなく、分類モジュール140に調整された固有値を直接入力してもよく、論理ゲート回路200が何れかのトロイの木馬回路を含むか分析/検出する。
【0031】
いくつかの実施形態において、分布調整モジュール130は、分布機能に応じて、固有値の数に対して、固有値を調整する。
図7Aから7Cを参照し、
図7Aは、トレーニング段階S1の間に完了した固有値に対する固有値の数のヒストグラムであり;
図7Bは、試験段階S2の間に検出されるべき回路(例えば、
図2の論理ゲート回路200)の固有値に対する固有値の数のヒストグラムであり;
図7Cは、検出されるべき回路(例えば、
図2の論理ゲート回路200)の調整された固有値に対する固有値の数のヒストグラムである。
図7Bにおいて、分布調整モジュール130は、トレーニング分布に応じて、分布の特異的な間隔の中の固有値の数に対して固有値を調整してもよい。分布調整操作は、例えば、以下の再調整のための分布関数によって示される:
【数1】
ここで、Xは固有値を表し、X’は調整された固有値を表し、aは特異的な間隔の下限を表し、bは特異的な間隔の上限を表す。
図7Bの例において、各トレーニング固有の及び試験特有の百分位数は、例えば、[0~25]、[25~50]、[50~75]、[75~100]の4つのセグメントに分割される。例えば、特異的な間隔が[25~50](即ち、a=25、b=50)である場合、
図7Aに示されたトレーニング結果が、新たな固有値を生成するために、[25~50]間隔での固有値を拡大縮小するために利用され、
図7Aのトレーニング固有値に可能な限り近づけ、
図7Aに類似した特徴を有するために、拡大縮小の原理は、
図7Bの試験固有値のためのものである。拡大縮小後、
図7Cに示したような固有値の調整された分布が生成され、トロイの木馬の検出における精度を改善する手助けをしてもよい。
【0032】
ステップS29は、論理識別結果を生成するために、全ての固有値(ステップS25から得られた調整された固有値及びステップS27から得られたクレンジングされた固有値を含む)に分類を実行するために、分類モジュール140を利用し、論理識別結果は、論理ゲート回路200において識別されたトロイの木馬論理ゲートである。換言すると、分類モジュール140は、正常な回路とトロイの木馬回路に分類をさらに実行し、悪意のある攻撃の検出結果を得る。例えば、分類モジュール140は、論理ゲート回路200の検出結果、例えば、論理ゲート回路200にのトロイの木馬回路を含むパスの数を得てもよい。
【0033】
本開示のトロイの木馬回路検出に基づくデータ処理方法は、検出回路によって要求された時間と計算リソースを実際に低減し、用いるスタンダードセルライブラリを識別することなしに、トロイの木馬回路の検出精度を改善してもよく、以下に、実際の検出ベンチマークとの組み合わせが説明される。表1は、検出ベンチマーク1において、同じスタンダードセルライブラリ及び異なるスタンダードセルライブラリを用いた多重論理パスの実際の検出であり、検出ベンチマークは異なっていてもよく、例えば、後述する検出ベンチマーク2及び3とは異なっていてもよい。検出ベンチマーク1の検出構成は、同じスタンダードセルライブラリ、分布調整が実行されない異なるスタンダードセルライブラリ、及び分布調整が実行された異なるスタンダードセルライブラリでのトロイの木馬検出結果を備える。同じスタンダードセルライブラリは、合計で107,074の正常パスを有し、異なるスタンダードセルライブラリは、合計で106,626の正常パスを有し、及び合計で599のトロイの木馬パスを有する。詳細には、表1に示された「検出されたトロイの木馬パス」は、「実際のトロイの木馬パス、及びトロイの木馬パスとして検出された」の数を表し、「正常パス」は、「実際の正常パス、及び正常パスとして検出された」数を表し、「トロイの木馬パスとして誤って判定された」は、「実際の正常パス、しかし、トロイの木馬パスとして判定された」数を表し、「見逃されたトロイの木馬パス」は、「実際のトロイの木馬パス、しかし、正常パスとして判定された」の数を表す。
【0034】
【0035】
表1に見られるように、本開示のデータ処理回路100は、同じスタンダードセルライブラリの環境下で、630のパスから619のトロイの木馬を首尾よく検出したが、分布調整を実行していない異なるスタンダードセルライブラリの環境下では僅か4つのトロイの木馬パスだけを検出した。異なるスタンダードセルライブラリに分布調整を実行した後に(
図4のステップS27と同等)、225のトロイの木馬パスが首尾よく検出され、トロイの木馬パスの1/3が首尾よく検索されたことを意味する。即ち、559の当初検出されなかったトロイの木馬パスに対して、首尾よく検出された新たな221のトロイの木馬パスがある。
【0036】
加えて、同じスタンダードセルライブラリの環境下では、本開示によって実行されるトロイの木馬パスの検出が既に十分な精度であるため、表1から分布調整だけが、異なるスタンダードセルライブラリに対する推定下に適用する。したがって、
図4のステップS25において分布調整を実行する前に、本開示は、検出するべきパスが既知か未知かを素早く区別するために、パスがスタンダードセルライブラリに属するかさらに判断し、必要なときに分布調整を実行することだけを確かめ、トロイの木馬検出における全体的な改善を手助けする。
【0037】
次に、表2は、検出ベンチマーク1において、Nは5~20であってもよい、上位N個の論理ゲート、上位N個の最高スコア(例えば、トロイの木馬位置分析の確率にランク付けされた上位N個の論理ゲート)に応じて監視する。換言すると、トロイの木馬が位置する場合に、各論理ゲートは、トロイの木馬である論理ゲートの可能性を示す確率を有する。そして、上位N個の論理ゲートは、検証のために利用されてもよく、Nは5~20であってもよい。表2に示したように、本開示のデータ処理回路100は、同じスタンダードセルライブラリの環境下で、上位5個の論理ゲート、上位10個の論理ゲート及び上位20個の論理ゲートから、それぞれ、トロイの木馬を含む4個、5個及び10個の論理ゲートを見つけ;異なるスタンダードセルライブラリの環境下で、上位5個の論理ゲート、上位10個の論理ゲート及び上位20個の論理ゲートから、それぞれ、トロイの木馬を含む3個、5個及び5個の論理ゲートを見つけ;異なるスタンダードセルライブラリに分布調整を実行した後に(
図4のステップS27と同等)、上位5個の論理ゲート、上位10個の論理ゲート及び上位20個の論理ゲートから、それぞれ、トロイの木馬を含む4個、6個及び9個の論理ゲートを見つけた。したがって、表2から分かるように、本開示の分布調整は、トロイの木馬検出における効率を改善する。
【0038】
【0039】
そして、表3は、本開示のデータサンプリング操作とデータフィルタリング操作(
図4のステップS23)の異なる検出ベンチマークでの効率を実例として示し、検出ベンチマークの3つの種類のサンプリング設定の全ては、パスの相似値=最長パス×0.8;パスの多様性値=最長パス×0.4であるが、本開示はこれらの限定されず、これらのパラメータは、実際の設計に応じて調整されてもよい。
【0040】
【0041】
表3に見られるように、検出ベンチマーク1を一実施例として取ると、本出願のデータサンプリング操作を実行後に、トロイの木馬論理ゲートを有するか否かを判断される(検出される)必要があるパスの数は、当初の数の半分よりも少なく(200007個のパスに低減される);データサンプリングを実行した後のパスは、データフィルタリング操作を実行される。データフィルタリング操作後に、116352個のパスが放棄されてもよく(即ち、これらの116352個のパスは、検出される必要はない)、フィルタリングされていないパスの数は、83073だけであり、判断される(検出される)必要があるパスの当初の数の約20%である。最終的に、これらの83073個の対象パスは、実際に、トロイの木馬を含む582個のパスを有し、放棄された116352個のパスは如何なるトロイの木馬パスも含まない。
【0042】
表3に見られるように、検出ベンチマーク2を一実施例として取ると、本出願のデータサンプリング操作を実行した後に、トロイの木馬論理ゲートを有するか否かを判断される(検出される)必要があるパスの数は、当初の数の半分よりも少なく(204528個のパスに低減される);そして、データフィルタリング操作が、データサンプリング操作を実行したパスに実行される。データフィルタリング操作後に、107510個のパスが放棄されてもよく(即ち、これらの107510個のパスは、検出される必要はない)、フィルタリングされていないパスの数は、91914だけであり、判断される(検出される)必要があるパスの当初の数の約20%である。最終的に、これらの91914個の対象パスは、実際に、トロイの木馬を含む5104のパスを有し、放棄された107510個のパスは如何なるトロイの木馬パスも含まない。
【0043】
表3に見られるように、検出ベンチマーク3を一実施例として取ると、本出願のデータサンプリング操作を実行した後に、トロイの木馬論理ゲートを有するか否かを判断される(検出される)必要があるパスの数は、当初の数の半分よりも少なく(200490個のパスに低減される);そして、データフィルタリング操作が、データサンプリング操作を実行したパスに実行される。データフィルタリング操作後に、判断される(検出される)必要がある125460個のパスが残り、対象パスとして利用される。最終的に、これらの125460個の対象パスは、実際に、トロイの木馬を含む1066個のパスを有し、フィルタリング後に残った73964個のパスは如何なるトロイの木馬パスも含まない。
【0044】
そして、データフィルタリング操作が、データサンプリング操作を実行されたパスに実行される。データサンプリング操作後に、73964個のパスが放棄されてもよく(即ち、これらの73964個のパスは、検出される必要はない)、フィルタリングされていないパスの数は、125460だけであり、判断される(検出される)必要があるパスの当初の数の約30%である。最終的に、これらの125460個の対象パスは、実際に、トロイの木馬を含む1066のパスを有し、フィルタリング後に残った73964個のパスは如何なるトロイの木馬パスも含まない。
【0045】
上述の記載を考慮すると、本開示は、トレーニング段階S1のトレーニング結果を介して、試験段階S2を調整し、トレーニング情報の複数の要素がトレーニング段階で入力される。試験段階S2は、データクレンジング操作及び分調整操作を介して検出される必要のある論理パスの数をさらに低減させる。したがって、本開示は、トロイの木馬論理ゲートの正確な識別結果を提供し、同時に、計算時間を顕著に低減する。
【手続補正書】
【提出日】2023-04-06
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
プロセッサを制御することを備える、トロイの木馬回路検出に基づく、データ処理方法であって、試験段階に、
複数の論理ゲートと、前記論理ゲートにより形成された複数のパスを備える論理ゲート回路に対応する複数の固有値を得ること、
前記固有値に分布調整操作を実行して、複数の調整された固有値を生成すること、及び
前記調整された固有値に分類を実行して、論理識別結果を生成すること、
のステップを実行し、
前記分布調整操作を実行する前に、前記プロセッサにより、
前記固有値にデータサンプリング操作を実行して、データサンプリング結果を生成し、
前記データサンプリング結果にデータフィルタリング操作を実行して、前記固有値をアップデートすること、
をさらに備え、
前記データフィルタリング操作が、
前記複数のパスを1つ1つ検査し、且つ、
0である前記複数のパスの中の第1の現在のパスの全ての論理ゲートのネットライン信号の確率が第1の閾値より大きい場合に、前記第1の現在のパスを放棄し、且つ/又は
1である前記第1の現在のパスの全ての論理ゲートの前記ネットライン信号の確率が第2の閾値より大きい場合に、前記第1の現在のパスを放棄する、トロイの木馬回路検出に基づく、データ処理方法。
【請求項2】
トレーニング段階に、前記プロセッサが、
論理ゲートネットリストと、トレーニングスタンダードセルライブラリとを介した複数のトレーニング固有値を得ること、
前記トレーニング固有値に分類を実行して、トレーニングされた論理識別結果を生成すること、
を実行する請求項1に記載のデータ処理方法。
【請求項3】
スタンダードセルライブラリが既知のスタンダードセルライブラリであるかを判断し、
前記スタンダードセルライブラリが前記既知のスタンダードセルライブラリである場合に、前記固有値を前記調整された固有値として利用すること、をさらに備え、
スタンダードセルライブラリが既知のスタンダードセルライブラリではない場合に、前記調整された固有値を生成するために、前記固有値に前記分布調整操作を実行することが実行される、請求項1に記載のデータ処理方法。
【請求項4】
前記データサンプリング操作が、
前記パスの中で第2の現在のパスが、前記パスの中の他のパスが通過した前記論理ゲートに遭遇するか、判断するために、前記複数のパスを1つ1つ検査すること、
を備える、請求項1に記載のデータ処理方法。
【請求項5】
前記データサンプリング操作が、
前記第2の現在のパスが、前記他のパスが通過した前記論理ゲートに遭遇する場合に、前記第2の現在のパスの出力レベルの距離が、パスの相似値以上であるか、判断すること、
をさらに備える、請求項4に記載のデータ処理方法。
【請求項6】
前記データサンプリング操作が、
前記第2の現在のパスの出力レベルの距離が、パスの相似値以上である場合に、前記第2の現在のパスが通過した論理ゲートの数が、パスの多様性値以下であるか、判断し、且つ、
前記第2の現在のパスが通過した前記論理ゲートの数が、前記パスの多様性値以下である場合に、前記第2の現在のパスを放棄すること、
をさらに備える、請求項5に記載のデータ処理方法。
【請求項7】
論理ゲート回路に接続される、トロイの木馬回路検出に基づく、データ処理回路であって、
前記データ処理回路は、処理モジュールと、分布調整モジュールと、分類モジュールと、データクレンジングモジュールと、を備え、前記データ処理回路は、試験段階に、
複数の論理ゲートと、前記論理ゲートにより形成された複数のパスを備える論理ゲート回路に対応する複数の固有値を得る前記処理モジュール、
前記固有値に分布調整操作を実行して、複数の調整された固有値を生成する前記分布調整モジュール、及び
前記調整された固有値に分類を実行して、論理識別結果を生成する前記分類モジュール、
を実行し、
前記分布調整操作を実行する前に、前記データクレンジングモジュールは、
前記固有値にデータサンプリング操作を実行して、データサンプリング結果を生成し、
前記データサンプリング結果にデータフィルタリング操作を実行して、前記固有値をアップデートすること、
を実行するように構成され、
前記データフィルタリング操作が、
前記複数のパスを1つ1つ検査し、且つ、
0である前記複数のパスの中の第1の現在のパスの全ての論理ゲートのネットライン信号の確率が第1の閾値より大きい場合に、前記第1の現在のパスを放棄し、且つ/又は
1である前記第1の現在のパスの全ての論理ゲートの前記ネットライン信号の確率が第2の閾値より大きい場合に、前記第1の現在のパスを放棄する、トロイの木馬回路検出に基づく、データ処理回路。
【請求項8】
トレーニング段階に、
論理ゲートネットリストと、トレーニングスタンダードセルライブラリとを介した複数のトレーニング固有値を得る前記処理モジュール、及び
前記トレーニング固有値に分類を実行して、トレーニングされた論理識別結果を生成する前記分類モジュール、
を実行すること、をさらに備える、請求項7に記載のデータ処理回路。
【請求項9】
前記分布調整モジュールが、スタンダードセルライブラリが既知のスタンダードセルライブラリであるかを判断し、前記スタンダードセルライブラリが前記既知のスタンダードセルライブラリではない場合に、前記分布調整モジュールが、前記固有値に前記分布調整操作を実行して、前記調整された固有値を生成し、前記スタンダードセルライブラリが前記既知のスタンダードセルライブラリである場合に、前記分布調整モジュールが、前記固有値を前記調整された固有値として利用する、請求項7に記載のデータ処理回路。
【請求項10】
前記データサンプリング操作を実行する前記データクレンジングモジュールが、
前記パスの中で第2の現在のパスが、前記パスの中で他のパスが通過した前記論理ゲートに遭遇するか、判断するために、前記複数のパスを1つ1つ検査すること、
を備える、請求項7に記載のデータ処理回路。
【請求項11】
前記データサンプリング操作が、
前記第2の現在のパスが、前記他のパスが通過した前記論理ゲートに遭遇する場合に、前記第2の現在のパスの出力レベルの距離が、パスの相似値以上であるか判断し、前記第2の現在のパスを放棄するか判断すること、
をさらに備える、請求項10に記載のデータ処理回路。
【請求項12】
前記データサンプリング操作が、
前記第2の現在のパスの出力レベルの距離が、パスの相似値以上である場合に、前記第2の現在のパスが通過した論理ゲートの数が、パスの多様性値以下であるか、判断し、且つ、
前記第2の現在のパスが通過した前記論理ゲートの数が、前記パスの多様性値以下である場合に、前記第2の現在のパスを放棄すること、
をさらに備える、請求項11に記載のデータ処理回路。
【外国語明細書】