JP6052847B2 - トランザクション処理装置及び不正トランザクション検出方法 - Google Patents

トランザクション処理装置及び不正トランザクション検出方法 Download PDF

Info

Publication number
JP6052847B2
JP6052847B2 JP2012038590A JP2012038590A JP6052847B2 JP 6052847 B2 JP6052847 B2 JP 6052847B2 JP 2012038590 A JP2012038590 A JP 2012038590A JP 2012038590 A JP2012038590 A JP 2012038590A JP 6052847 B2 JP6052847 B2 JP 6052847B2
Authority
JP
Japan
Prior art keywords
transaction
condition
circuit
conditions
comparison
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
JP2012038590A
Other languages
English (en)
Other versions
JP2013175017A (ja
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.)
NEC Platforms Ltd
Original Assignee
NEC Platforms Ltd
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 NEC Platforms Ltd filed Critical NEC Platforms Ltd
Priority to JP2012038590A priority Critical patent/JP6052847B2/ja
Publication of JP2013175017A publication Critical patent/JP2013175017A/ja
Application granted granted Critical
Publication of JP6052847B2 publication Critical patent/JP6052847B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Description

本発明は、トランザクション処理装置及び不正トランザクション検出方法に関し、特に、入力されるトランザクションの不正を検出するトランザクション処理装置及び不正トランザクション検出方法に関する。
情報処理装置等の電子機器では、様々な機能を実現するために、複数のLSI(Large Scale Integration)を備えており、複数のLSI間はバス等により接続されている。そして、LSI間ではリードリクエストやライトリクエスト等の各種のトランザクションが送受信される。このトランザクションの送受信により、LSIが不正な動作を行う場合があるため、不正な動作が生じ得る不正トランザクションを効果的に検出し解析する技術が望まれている。不正なトランザクションとは、LSIを不正に動作させるトランザクションであり、不正な動作とは、LSIの内部回路がトランザクションを処理することにより異常に動作することである。例えばLSIが不正な動作をすることにより、LSIを含むシステムに障害が発生する恐れがある。
なお、特許文献1には、プロセッサのプログラムデバッグにおいて、所定のトラップ条件を設定することが記載されている。また、特許文献2には、ファイルの検索において、所定条件を満たすデータを検索することが記載されている。また、特許文献3には、デジタル放送受信装置のデバッグ回路において、所定の条件でデータをフィルタリングすることが記載されている。また、特許文献4には、プリンタにおいて、不正アクセス時に初期状態とすることが記載されている。
特開平04−076737号公報 特開昭62−072028号公報 特開2004−056661号公報 特開2007−215288号公報
関連する技術では、トランザクションによりLSI内で不正な動作が発生したときには、主に以下の3通りの方法により解析を行っていた。
(1)LSI間にロジックアナライザを挿入し、不正が起きるタイミングをトリガとしてデータを採取し解析する。
(2)送信側LSIにICE(インサーキットエミュレータ)などを接続し、送信側でステップ実行等を行い解析する。
(3)シミュレーションモデルにより解析する。
上記(1)、(2)の方法では、LSIが搭載されたボード上にロジックアナライザ搭載用のエリアを必要とするため特別なボードが必要であったり、ロジックアナライザ挿入のため送信側LSIおよび受信側LSIでのトランザクションの動作タイミングがずれ、不正な現象が起こらない事がある。また、上記(3)の方法では不正が発生したときの動作を完全に再現させる事が難しい、という問題があった。
また、関連する技術では、あるトランザクションのLSI入力を契機としてシステムが不正動作したとき、受信側LSIが不正の契機となるトランザクションを特定し報告する回路を備えていないため、送信側LSIにて不正動作を検証する必要があり、原因特定に多大な工数を要するという問題があった。
このように、関連する技術では、入力されたトランザクションによりLSI内で不正な動作が発生した場合に原因の解析が困難であるという問題がある。本発明の目的は、このような課題を解決するトランザクション処理装置及び不正トランザクション検出方法を提供することにある。
本発明に係るトランザクション処理装置は、入力される入力トランザクションの不正パターンを検出するための複数の条件を格納する条件テーブルと、前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定する判定部と、前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告する報告部と、を備えるものである。
本発明に係る不正トランザクション検出方法は、入力される入力トランザクションの不正パターンを検出するための複数の条件を条件テーブルに格納し、前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定し、前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告するものである。
本発明によれば、不正トランザクションが発生したときに容易に解析が可能なトランザクション処理装置及び不正トランザクション検出方法を提供することができる。
本発明に係るトランザクション処理装置の特徴を説明するための構成図である。 本発明の実施の形態1に係るトランザクション処理システムの構成を示す構成図である。 本発明の実施の形態1に係る条件テーブルのデータ構成を示す構成図である。 本発明の実施の形態1に係る受信装置の動作を示すフローチャートである。 本発明の実施の形態1に係る条件テーブルに格納されるデータの一例を示す図である。 本発明の実施の形態1に係る受信装置の動作の一例を説明するための図である。
(本発明の特徴)
本発明の実施の形態の説明に先立って、図1を用いて、本発明の特徴についてその概要を説明する。
図1に示すように、本発明に係るトランザクション処理装置(後述の受信側LSIに相当)1は、入力される入力トランザクションの不正パターンを検出するための複数の条件を格納する条件テーブル11と、入力トランザクションが、条件テーブル11に格納された複数の条件を満たすか否か判定する判定部(後述の判定回路に相当)18と、複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告する報告部(後述の報告回路に相当)19と、を備えることを主要な特徴としている。
本発明によれば、不正なトランザクションとなる複数の条件を予め格納し、複数の条件が全て満たされたときに報告するようにした。これにより、不正なトランザクションを精度よく検出し報告できるため、不正動作が発生したときの解析を容易に行うことができる。また、本発明では、報告部が報告すると共にその時のトランザクション処理装置内部の情報を保持し外部装置が読み出す事により、複数の条件により不正が発生したときの解析を容易にすることができる。
(本発明の実施の形態1)
以下、図面を参照して本発明の実施の形態1について説明する。図2は、本発明の実施の形態1に係るトランザクション処理システムの構成を示している。図2に示すように、このトランザクション処理システムは、受信側LSI1、送信側LSI2、情報処理装置3を備えている。
情報処理装置3は、パーソナルコンピュータやワークステーション等であり、また、情報処理装置3をLSIで構成してもよい。情報処理装置3は、受信側LSI1に接続され、受信側LSI1内のバッファやレジスタにデータをリードライトすることが可能である。
送信側LSI2と受信側LSI1とは、例えばバス等により接続されており、送信側LSI2から発行されたトランザクションが受信側LSI1により受信される。送信側LSI2及び受信側LSI1は、トランザクションを送受信してデータ処理を行うプロセッサ等の集積回路である。送信側LSI2と受信側LSI1は、同じ装置内に設けられてもよいし、別々の装置に設けられていてもよい。なお、トランザクションは、所定の処理(機能)を実行するために送受信されるデータであり、例えば、リードリクエスト、ライトリクエスト、完了報告などが含まれる。
受信側LSI1は、制御回路10、条件テーブル11、テーブルライトアドレス生成回路12、テーブルリードアドレス生成回路13、スタート回路14、比較回路15、カウンタ16、条件回路17、判定回路18、報告回路19、入力バッファ20、バッファライトアドレス生成回路21、バッファリードアドレス生成回路22、定数回路23を備えている。受信側LSI1のこれらの回路は、不正トランザクションの条件を満たす場合に報告する不正トランザクション検出回路を構成し、換言すると、不正トランザクションのトラップ条件を満たす場合にトラップを報告するトラップ回路を構成する。なお、受信側LSI1は、その他、情報処理装置3と接続するためのインタフェース、送信側LSI2と接続するためのインタフェース、トランザクション等を処理しLSIの機能を実現する内部回路を有している。ここでは、LSIの各機能を各回路により実現するものとして説明するが、CPU等がメモリに格納された所定のプログラムを実行することにより、各機能を実現するように構成してもよい。
制御回路10は、情報処理装置3から送付されたデータを元に制御信号を生成し、スタート回路14、テーブルライトアドレス生成回路12、条件テーブル11、報告回路19、バッファリードアドレス生成回路22へ出力する。また、制御回路10は、報告回路19から送付されたデータを加工し情報処理装置3に送付する。
条件テーブル11は、制御回路10で生成された複数の条件を格納する。条件テーブル11は、不正となるトランザクションを検出するための複数の条件を設定するテーブルであり、情報処理装置3から各条件が入力される。
ここで、条件テーブル11は図3に示すように構成されている。条件テーブル11に格納される各条件データ11aは、識別フラグ(V)101、最終条件フラグ(L)102、データフィールド103、マスクフィールド104、タイマフィールド105、MISCフィールド106を有している。すなわち、条件テーブル11に格納される複数の条件を有する各データ(レコード)を条件データ11aと称する。
識別フラグ(V)101は、データフィールド103に格納される条件の種別を示している。識別フラグ101は、"1"であれば、データフィールド103にトランザクションのヘッダ部が格納されることを示し、"0"であれば、データフィールド103にトランザクションのデータ部が格納されることを示している。
最終条件フラグ(L)102は、条件データ11aが条件テーブル11の中で最後であるか否か示している。最終条件フラグ102は、"1"であれば、条件データ11aが最終条件であることを示し、"0"であれば、条件データ11aが最終ではなく残りの条件があることを示している。
データフィールド103は、トランザクションのヘッダ部またはデータ部の一致を判定するビットパターンが格納される。例えば、識別フラグ101及び最終条件フラグ102(V/Lフラグ)が、"10x(2進数)"のとき、データフィールド103には、トランザクションのヘッダ部のビットパターンが格納される。このとき、データフィールド103には、アドレス(Addr)111、コマンド(Cmd)112、トランザクションID(ID)113、送信元(SRC)114、宛先(DST)115、長さ(116)が格納される。例えば、識別フラグ101及び最終条件フラグ102(V/Lフラグ)が、"01x"のとき、トランザクションのデータ部のビットパターンであるデータ117が格納される。
マスクフィールド104は、データフィールド103のビットマスクパターンであるマスク118が格納される。マスク118は、データフィールド103に対応した同じ長さのビットパターンであり、トランザクションとデータフィールド103を比較する際の比較対象を示している。マスク118が"1"となるビットに対応する、データフィールド103のビット及びトランザクションのビットは、比較対象外となる。マスク118が"0"となるビットに対応する、データフィールド103のビット及びトランザクションのビットのみ比較対象となる。なお、ここでは、マスクの"1"を比較対象外、"0"を比較対象として示すが、マスクの"0"を比較対象外、"1"を比較対象としてもよい。
タイマフィールド105は、条件データ11aとトランザクションを比較するためのタイマ値119が格納される。タイマ値119は、条件データ11aとトランザクションとの比較を開始してから終了するまでのタイムアウト時間である。
MISCフィールド106は、その他の条件であるRPT値120が格納される。ここでは、他の条件として、条件データ11a(データフィールド)とトランザクションとがヒット(一致)した回数の上限であり、比較を終了するまでのヒット回数である。
さらに図2の各構成について説明する。テーブルライトアドレス生成回路12は、制御回路10で生成された条件データ11aを格納する条件テーブル11のテーブルライトアドレスを生成する。すなわち、条件テーブル11は、テーブルライトアドレスにより特定される位置(番地)に条件データ11aが書き込まれる。
テーブルリードアドレス生成回路13は、判定回路18の判定結果に応じて参照する条件テーブル11のアドレスを生成する。すなわち、条件テーブル11は、テーブルリードアドレスにより特定される位置(番地)の条件データ11aが読み出される。また、テーブルリードアドレス生成回路13は、判定回路18で条件が満たされたとき次に比較する条件テーブル11のアドレスを生成する。
入力バッファ20は、送信側LSI2から受信した複数のトランザクションを格納する。例えば、入力バッファ20は、FIFOバッファであり、入力された順番にトランザクションを内部回路へ出力する。
バッファライトアドレス生成回路21は、送信側LSI2から入力したトランザクションを入力する入力バッファ20のバッファライトアドレスを生成する。すなわち、入力バッファ20は、バッファライトアドレスにより特定される位置(番地)にトランザクションが書き込まれる。また、バッファライトアドレス生成回路21は、判定回路18の出力を契機として定数回路23で指定された時間だけ待ってバッファライトアドレスの生成を停止する。
バッファリードアドレス生成回路22は、情報処理装置3から送付されたデータを元に入力バッファ20のバッファリードアドレスを生成する。すなわち、入力バッファ20は、バッファリードアドレスにより特定される位置(番地)のトランザクションが読み出される。
スタート回路14は、情報処理装置3から送付されたデータを元に比較開始信号を生成する。すなわち、情報処理装置3からの指示により比較開始信号が生成され、条件テーブル11と入力トランザクションとの比較が開始される。
比較回路15は、送信側LSI2から入力されたトランザクションと、条件テーブル11に格納されテーブルリードアドレス生成回路13で示されたテーブルリードアドレスに格納された条件データ11aとを比較する。比較回路15は、条件テーブル11の識別フラグ101、データフィールド103、マスクフィールド104を参照し、識別フラグ101によりトランザクションの比較対象をヘッダ部もしくはデータ部に決定し、マスクフィールド104でマスクされたデータフィールド103と、トランザクションのヘッダ部もしくはデータ部とを比較する。
カウンタ(第1のカウンタ)16は、条件テーブル11に格納されテーブルリードアドレス生成回路13で示されたテーブルリードアドレスに格納された条件データ11aのタイマ値(カウンタ値)をセットする。カウンタ16は、スタート回路14の出力を契機にカウンタ値をデクリメントする(カウントする)。
条件回路(第2のカウンタ)17は、条件テーブル11に格納されテーブルリードアドレス生成回路13で示されたテーブルリードアドレスに格納された条件データ11aの値から他の条件を生成する。条件回路17は、条件テーブル11のMISCフィールド106をセットする。条件回路17は、データフィールド103がヒット(一致)した場合に、ヒットした回数をデクリメントする(カウントする)。
判定回路18は、比較回路15で条件が一致した時に、同一アドレスのその他の条件テーブル11に格納された条件データ11aが満たされるか否かを判定する。判定回路18は、条件テーブル11の条件データ11aについて、データフィールド103及びマスクフィールド104の条件、タイマフィールド105の条件、MISCフィールド106の条件等の条件が満たされるか否か判定する。
報告回路19は、判定回路18の出力から判定結果を情報処理装置3へ報告する。また、報告回路19は、情報処理装置3から要求されたバッファの読み出し要求に従い入力バッファ20から読み出すリードデータ(トランザクション)を送付する。
定数回路23は、定数を記憶し、設定する回路である。定数回路23は、判定回路18の出力からバッファライトアドレスの生成を停止する時間を設定する。
図4は、本発明の実施の形態1に係る受信側LSI1の動作の流れを示している。まず、情報処理装置3から制御回路10を介して、条件テーブル11に条件データ11aを設定する(S101)。
次いで、情報処理装置3からトラップ動作開始が要求されると、比較回路15は、受信するトランザクションと条件データ11aのデータフィールド103とを比較する(S102)。判定回路18は、トランザクションが不一致の場合、カウンタ16のカウンタ値によりタイムアウトを判定する(S103)。S103で、カウンタ値が0よりも大きく、タイムアウト前の場合、当該トランザクションの比較は終了し、S102で次のトランザクションの比較が行われる。
S102でトランザクションが一致の場合、もしくは、S103でタイムアウトの場合、条件回路17のヒット回数がデクリメントされ、判定回路18は、条件回路17を参照し、トランザクションのヒット回数の上限を判定する(S104)。S104で、条件回路17のヒット回数が0よりも大きく、上限に達していない場合、当該トランザクションの比較は終了し、S102で次のトランザクションの比較が行われる。
S104で、トランザクションのヒット回数が上限に達している場合、判定回路18は、条件データ11aの最終条件フラグ(L)102を参照し、条件データ11aが最終であるかどうか判定する(S105)。S105で、条件データ11aが最終ではない場合、当該条件データ11aによるトランザクションの比較は終了し、S102で次の条件データ11aを用いて、次のトランザクションの比較が行われる。
S105で、条件データ11aが最終である場合、判定回路18は、条件テーブル11の全ての条件を満たしているため不正であると判断し、報告回路19は、制御回路10を介して情報処理装置3へ不正トランザクションが検出されたことを報告する(S106)。
次に、図5及び図6を用いて、本発明の実施の形態1に係る受信側LSI1の具体的な動作例について説明する。図5のように条件テーブル11が設定されたとき、図6に示す順序で送信側LSI2よりトランザクションを受信した時の動作を説明する。なお、図6は、各ステップにおいて、入力されるトランザクション(図6の左側の表)と、条件データ11aをもとに比較される値(図6の右側の表)とを示している。
最初に、条件テーブル11へ図5に示す条件データ11aが格納される手順を説明する。情報処理装置3は、条件テーブル11のテーブルアドレス0番地に格納する値"10_0_111111_01_00_00_11_100_000001_11_00_00_00_000_10000000_011"(条件データ200)を受信側LSI1の制御回路10へ送出する。制御回路10は条件テーブル11のテーブルライトアドレス生成回路12にライトアドレス(0番地)とライトイネーブルを送出すると共に条件テーブル11に条件データ200をセットする。
次に情報処理装置3は、条件テーブル11のテーブルアドレス1番地に格納する値"01_0_111111_11_11_11_11_111_000000_00_00_00_00_000_00000000_001"(条件データ201)を受信側LSIの制御回路10へ送出する。制御回路10は条件テーブル11のテーブルライトアドレス生成回路12にライトアドレス(1番地)とライトイネーブルを送出すると共に条件テーブル11に条件データ201をセットする。
次に情報処理装置3は、条件テーブル11のテーブルアドレス2番地に格納する値"10_1_110111_10_01_11_00_010_000001_00_00_00_00_000_00000000_001"(条件データ202)を受信側LSIの制御回路10へ送出する。制御回路10は条件テーブル11のテーブルライトアドレス生成回路12にライトアドレス(2番地)とライトイネーブルを送出すると共に条件テーブル11に条件データ202をセットする。
最後に情報処理装置3は、トラップ回路の動作開始を要求するためのデータを受信側LSI1の制御回路10へ送出する。制御回路10はスタート回路14にトラップ動作の開始を要求すると共に、条件テーブル11の0番地に格納された条件データ200を比較回路15とカウンタ16と条件回路17にセットする。値をセットされたカウンタ16はデクリメントを開始する。なお、比較回路15はマスクフィールド104が"1"のビットについて比較対象外として入力トランザクションの値と比較する。またカウンタ16は設定された値から"0"になるまで毎サイクルデクリメントされ"0"になるとタイムアウトとなり条件のスキップを判定回路18に報告する。また、条件回路17は比較回路15がヒットした時またはカウンタ16が"0"になるとデクリメントされ、条件回路17が"0"になると判定回路18に報告する。
次に、送信側LSI2から受信側LSI1へ図6に示す順序でトランザクションが発行されたときの受信側LSI1の動作を説明する。
まず、ステップ1では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス0番地に格納されると共に、条件テーブル11のテーブルアドレス0番地に格納される条件データ200(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a1)と比較値(b1)とは不一致であり、カウンタ値(c1)は"100000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がミス(不一致)しており、かつ、カウンタ16が"0"以外の値のため、条件回路17の結果に関係なく判定回路18はミスと判断し処理は完了する。なお、比較回路15の結果がミスのため、カウンタ値(c1)はデクリメントされ、条件回路17の値(d4)はデクリメントされない。
次いで、ステップ2では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス1番地に格納されると共に、条件テーブル11のテーブルアドレス0番地に格納される条件データ200(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a2)と比較値(b1)とは不一致であり、カウンタ値(c2)は"10000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がミスしており、かつ、カウンタ16が"0"以外の値のため、条件回路17の結果に関係なく判定回路18はミスと判断し処理は完了する。
次いで、ステップ3では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス2番地に格納されると共に、条件テーブル11のテーブルアドレス0番地に格納される条件データ200(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a3)と比較値(b1)とは不一致であり、カウンタ値(c3)は"1000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がミスしており、かつ、カウンタ16が"0"以外の値のため、条件回路17の結果に関係なく判定回路18はミスと判断し処理は完了する。
次いで、ステップ4では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス3番地に格納されると共に、条件テーブル11のテーブルアドレス0番地に格納される条件データ200(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a4)と比較値(b1)とが一致し、カウンタ値(c4)は"100"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がヒット(一致)し、かつ、カウンタ16が"0"以外の値のため条件回路17の値がデクリメントされ"010"(d2)となる。そして、トラップ回路が動作中であり比較回路15の結果がヒットしカウンタ16が"0"以外であり、条件回路17の値が"0"以外なので判定回路18はヒットと判断し処理は完了する。なお、比較回路15の結果がヒットのため、カウンタ値(c4)は、初期値(条件データ200のタイマフィールド105)がセットされる。
次いで、ステップ5では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス4番地に格納されると共に、条件テーブル11のテーブルアドレス0番地に格納される条件データ200(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a5)と比較値(b1)とが一致し、カウンタ値(c5)は"1000000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がヒットし、かつ、カウンタ16が"0"以外の値のため条件回路17の値がデクリメントされ"001"(d3)となる。そして、トラップ回路が動作中であり比較回路15の結果がヒットしカウンタ16が"0"以外であり、条件回路17の値が"0"以外なので判定回路18はヒットと判断し処理は完了する。
次いで、ステップ6では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス5番地に格納されると共に、条件テーブル11のテーブルアドレス0番地に格納される条件データ200(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a6)と比較値(b1)とが一致し、カウンタ値(c6)は"1000000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がヒットし、かつ、カウンタ16が"0"以外の値のため条件回路17の値がデクリメントされ"000"(d4)となる。そして、トラップ回路が動作中であり比較回路15の結果がヒットしカウンタ16が"0"以外であり、条件回路17の値が"0"であるが、L="0"(l1)であり比較最終条件ではないので、判定回路18はヒットと判断しテーブルリードアドレス生成回路13にインクリメント要求を発行するだけで報告回路19には報告しない。さらに、テーブルリードアドレス生成回路13はインクリメントされ条件テーブル11の1番地に格納された条件データ201を比較回路15とカウンタ16と条件回路17にセットする。値をセットされたカウンタ16はデクリメントを開始する。
次いで、ステップ7では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス6番地に格納されると共に、条件テーブル11のテーブルアドレス1番地に格納される条件データ201(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a7)と比較値(b2)とが一致し、カウンタ値(c7)は"1000000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がヒットし、かつ、カウンタ16が"0"以外の値のため条件回路17の値がデクリメントされ"000"(d5)となる。そして、トラップ回路が動作中であり比較回路15の結果がヒットしカウンタ16が"0"以外であり、条件回路17の値が"0"であるがL="0"であり比較最終条件ではないので、判定回路18はヒットと判断しテーブルリードアドレス生成回路13にインクリメント要求を発行するだけで報告回路19には報告しない。さらに、テーブルリードアドレス生成回路13はインクリメントされ条件テーブル11の2番地に格納された条件データ202を比較回路15とカウンタ16と条件回路17にセットする。値をセットされたカウンタ16はデクリメントを開始する。
次いで、ステップ8では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス7番地に格納されると共に、条件テーブル11のテーブルアドレス2番地に格納される条件データ202(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a8)と比較値(b3)とは不一致であり、カウンタ値(c8)は"1000000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がミスしており、かつ、カウンタ16が"0"以外の値のため、条件回路17の結果に関係なく判定回路18はミスと判断し処理は完了する。なお、比較回路15の結果がミスのため、カウンタ値(c8)はデクリメントされ、条件回路17の値(d6)はデクリメントされない。
次いで、ステップ9では、送信側LSI2から発行され受信側LSI1で受信したトランザクションはバッファライトアドレス生成回路21で生成された入力バッファ20のバッファアドレス8番地に格納されると共に、条件テーブル11のテーブルアドレス2番地に格納される条件データ202(データフィールド103)と比較回路15で比較される。このとき、トランザクション(a9)と比較値(b3)とは一致し、カウンタ値(c9)は"10000"である。このため、スタート回路14から出力されたトラップ回路が動作中であって、比較回路15の結果がヒットし、かつ、カウンタ16が"0"以外の値のため条件回路17の値がデクリメントされ"000"(d7)となる。そして、トラップ回路が動作中であり比較回路15の結果がヒットしカウンタ16が"0"以外であり、条件回路17の値が"0"でありL="1"(l2)であり比較最終条件を満たす。このため、判定回路18はヒットと判断し報告回路19に報告すると共に、定数回路23にセットされたサイクル数だけ待ってバッファライトアドレス生成回路21に入力バッファ20へのライト禁止要求を発行する。報告回路19は制御回路10を通して情報処理装置3に報告し、報告を受けた情報処理装置3は制御回路10を通して入力バッファ20やLSI内のレジスタに格納されたデータを報告回路19から制御回路10を通して採取する。
以上のように、本実施形態では、受信側LSI内に条件テーブルと比較回路を備え、予め情報処理装置から条件テーブルにセットした複数の条件値と送信側LSIから入力したトランザクションの値を比較回路にて決められた順序で比較し、全条件が一致した場合その時のデータを保持し、情報処理装置に報告すると共にその時のLSI内のデータを情報処理装置に送信し表示させるようにした。これにより、トランザクション受信による不正動作が発生したときの解析を容易に行うことができる。
また、本機能は通常動作にて実施する事が出来るため、再現性を損なう事もなく、また低コストにて解析が実現できる。
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
1 受信側LSI(トランザクション処理装置)
2 送信側LSI
3 情報処理装置
10 制御回路
11 条件テーブル
11a 条件データ
12 テーブルライトアドレス生成回路
13 テーブルリードアドレス生成回路
14 スタート回路
15 比較回路
16 カウンタ
17 条件回路
18 判定回路(判定部)
19 報告回路(報告部)
20 入力バッファ
21 バッファライトアドレス生成回路
22 バッファリードアドレス生成回路
23 定数回路
101 識別フラグ
102 最終条件フラグ
103 データフィールド
104 マスクフィールド
105 タイマフィールド
106 MISCフィールド

Claims (7)

  1. 入力される入力トランザクションの不正パターンを検出するための複数の条件を格納する条件テーブルと、
    前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定する判定部と、
    前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告する報告部と、
    を備え、
    前記複数の条件には、前記入力トランザクションのうち選択されたヘッダ部またはデータ部のビットパターンと、前記入力トランザクションと前記ビットパターンとの比較が一致する一致回数の上限が含まれ、
    前記判定部は、前記入力トランザクションと前記ビットパターンとを比較し一致/不一致を判定し、前記入力トランザクションと前記ビットパターンとの比較が一致する毎にカウントする第1のカウンタにより前記一致回数の上限を判定し、
    前記条件テーブルには、前記複数の条件を含む条件データがさらに複数格納され、
    前記判定部は、前記入力トランザクションが当該条件データの前記複数の条件を満たす場合、前記複数の条件データのうち次に格納されている前記条件データを用いて、前記複数の条件を判定し、
    前記報告部は、前記複数の条件データの前記複数の条件を満たす場合、前記不正の検出を報告する、
    トランザクション処理装置。
  2. 前記複数の条件には、前記入力トランザクションのビットのうち比較対象もしくは比較対象外のビットを示すマスクパターンが含まれ、
    前記判定部は、前記マスクパターンにより比較対象とされた前記入力トランザクションと前記ビットパターンとを比較し一致/不一致を判定する、
    請求項に記載のトランザクション処理装置。
  3. 前記複数の条件には、前記入力トランザクションと前記ビットパターンとの比較を終了するまでのタイムアウト時間が含まれ、
    前記判定部は、前記入力トランザクションと前記ビットパターンとの比較開始からの時間をカウントする第のカウンタにより前記タイムアウト時間を判定する、
    請求項またはに記載のトランザクション処理装置。
  4. 前記判定部は、前記入力トランザクションと前記ビットパターンとの比較が一致した場合、前記第のカウンタを比較開始時の値に再設定する、
    請求項に記載のトランザクション処理装置。
  5. 前記複数の条件には、前記入力トランザクションと前記ビットパターンとの比較を終了する終了フラグが含まれ、
    前記判定部は、前記入力トランザクションと前記ビットパターンとの比較が一致した場合、前記終了フラグが比較の終了を示すか否か判定する、
    請求項乃至のいずれか一項に記載のトランザクション処理装置。
  6. 前記報告部は、前記複数の条件を満たすと判定された場合、前記トランザクション処理装置が記憶している内部情報を前記外部装置へ出力する、
    請求項1乃至のいずれか一項に記載のトランザクション処理装置。
  7. 入力される入力トランザクションの不正パターンを検出するための複数の条件を条件テーブルに格納し、
    前記入力トランザクションが、前記条件テーブルに格納された前記複数の条件を満たすか否か判定し、
    前記複数の条件を満たすと判定された場合、外部装置へ不正の検出を報告し、
    前記複数の条件には、前記入力トランザクションのうち選択されたヘッダ部またはデータ部のビットパターンと、前記入力トランザクションと前記ビットパターンとの比較が一致する一致回数の上限が含まれ、
    前記判定では、前記入力トランザクションと前記ビットパターンとを比較し一致/不一致を判定し、前記入力トランザクションと前記ビットパターンとの比較が一致する毎にカウントする第1のカウンタにより前記一致回数の上限を判定し、
    前記条件テーブルには、前記複数の条件を含む条件データがさらに複数格納され、
    前記判定では、前記入力トランザクションが当該条件データの前記複数の条件を満たす場合、前記複数の条件データのうち次に格納されている前記条件データを用いて、前記複数の条件を判定し、
    前記報告では、前記複数の条件データの前記複数の条件を満たす場合、前記不正の検出を報告する、
    不正トランザクション検出方法。
JP2012038590A 2012-02-24 2012-02-24 トランザクション処理装置及び不正トランザクション検出方法 Active JP6052847B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012038590A JP6052847B2 (ja) 2012-02-24 2012-02-24 トランザクション処理装置及び不正トランザクション検出方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012038590A JP6052847B2 (ja) 2012-02-24 2012-02-24 トランザクション処理装置及び不正トランザクション検出方法

Publications (2)

Publication Number Publication Date
JP2013175017A JP2013175017A (ja) 2013-09-05
JP6052847B2 true JP6052847B2 (ja) 2016-12-27

Family

ID=49267871

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012038590A Active JP6052847B2 (ja) 2012-02-24 2012-02-24 トランザクション処理装置及び不正トランザクション検出方法

Country Status (1)

Country Link
JP (1) JP6052847B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023033722A3 (en) * 2021-08-31 2023-04-06 Gp Network Asia Pte. Ltd. System and method for adaptively tracking a pattern of a transaction

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04294428A (ja) * 1991-03-22 1992-10-19 Nec Eng Ltd データモニタ回路
JPH06324957A (ja) * 1993-05-14 1994-11-25 Mitsubishi Electric Corp バス監視装置
JPH08321837A (ja) * 1995-05-24 1996-12-03 Nec Eng Ltd 情報処理装置
JP2005018317A (ja) * 2003-06-25 2005-01-20 Nec Computertechno Ltd トランザクション障害処理システム
JP5151996B2 (ja) * 2007-02-14 2013-02-27 日本電気株式会社 半導体集積回路及びデバッグ・トレース回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023033722A3 (en) * 2021-08-31 2023-04-06 Gp Network Asia Pte. Ltd. System and method for adaptively tracking a pattern of a transaction

Also Published As

Publication number Publication date
JP2013175017A (ja) 2013-09-05

Similar Documents

Publication Publication Date Title
US9952963B2 (en) System on chip and corresponding monitoring method
US7984401B2 (en) Method for checking a status of a signal port to identify an over-constrained event
US6944796B2 (en) Method and system to implement a system event log for system manageability
US6889344B2 (en) System and method for exposing hidden events on system buses
US7200776B2 (en) System and method for generating trace data in a computing system
JP6653756B2 (ja) 回路設計をデバッグするための方法および回路
US10078113B1 (en) Methods and circuits for debugging data bus communications
CN115563914A (zh) 验证方法及装置、计算设备、计算机可读存储介质
CN111078492A (zh) 一种SoC内部总线的状态监控系统及方法
US7519865B1 (en) Systems and methods for identifying incomplete transactions
Fern et al. Detecting hardware trojans in unspecified functionality using mutation testing
CN110851352A (zh) 一种模糊测试系统及终端设备
US20110225559A1 (en) Logic verifying apparatus, logic verifying method, and medium
CN112286750A (zh) 一种gpio验证方法、装置、电子设备和介质
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
US6298394B1 (en) System and method for capturing information on an interconnect in an integrated circuit
JP6052847B2 (ja) トランザクション処理装置及び不正トランザクション検出方法
JP6041749B2 (ja) トレース収集回路及びトレース収集方法
US7299386B2 (en) Apparatus and method for detecting address characteristics for use with a trigger generation unit in a target processor
US9946624B1 (en) Systems and methods to capture data signals from a dynamic circuit
CN111858307B (zh) 模糊测试方法和设备
JP2007328403A (ja) バス監視回路および情報処理検査システム
US6349371B1 (en) Circuit for storing information
US7523353B2 (en) Method for detecting hang or dead lock conditions
US7818646B1 (en) Expectation based event verification

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20140807

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150826

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151006

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20151207

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160830

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20160912

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: 20161101

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161124

R150 Certificate of patent or registration of utility model

Ref document number: 6052847

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150