TW202321971A - 基於木馬電路檢測的資料處理方法及資料處理電路 - Google Patents
基於木馬電路檢測的資料處理方法及資料處理電路 Download PDFInfo
- Publication number
- TW202321971A TW202321971A TW110142746A TW110142746A TW202321971A TW 202321971 A TW202321971 A TW 202321971A TW 110142746 A TW110142746 A TW 110142746A TW 110142746 A TW110142746 A TW 110142746A TW 202321971 A TW202321971 A TW 202321971A
- Authority
- TW
- Taiwan
- Prior art keywords
- data processing
- paths
- path
- current path
- data
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/563—Static detection by source code analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/56—Computer malware detection or handling, e.g. anti-virus arrangements
- G06F21/562—Static detection
- G06F21/564—Static detection by virus signature recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Virology (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
- Communication Control (AREA)
- Digital Transmission Methods That Use Modulated Carrier Waves (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一種基於木馬電路檢測的資料處理方法及資料處理電路。資料處理方法包含控制處理器於測試階段執行以下步驟:取得對應邏輯閘電路的多個特徵數值,對些特徵數值進行分佈調整操作以產生多個調整後特徵數值,以及對調整後特徵數值進行分類以產生邏輯辨識結果。
Description
本發明關於一種資料處理方法及資料處理電路,尤指一種基於木馬電路檢測的資料處理方法及資料處理電路。
隨著近年來積體電路(Integrated circuit,IC)的迅速發展,電路設計漸驅複雜。現階段的IC內部皆會劃分不同區塊,每個區塊各自負責不同功能,IC設計廠商藉由取得擅長設計某些功能的第三方矽智財(silicon intellectual property core)的授權,以解決和減緩設計生產率上的成本。矽智財係指在IC內的可重用設計方法學中,形式為邏輯單元、晶片設計的可重用模組。矽智財通常已經通過了設計驗證,設計人員以矽智財為基礎進行設計,可以縮短設計所需的周期。設計人員能夠以矽智財為基礎進行特殊應用積體電路或現場可程式化邏輯閘陣列的邏輯設計,以減少設計周期。
在提供上述便利性的同時,矽智財的發展上也面臨了一些問題。舉例來說,隨著物聯網(Internet of things,IoT)的發展,各式嵌入式系統的普及,以及製程科技的進步,晶片的設計及製造流程漸趨複雜,促使其生產過程中的分工更為專業與細緻,使得委外開發或製造的機會日漸增加。而晶片從設計、製造到量產,大量暴露於不信任的環境下,造成晶片及其相關產品的可信度備受質疑。換言之,IC 設計公司在缺乏元件資料庫的情況下無法取得詳細的IC內部電路結構,故無從確定各區塊內部是否不具木馬,這使得資訊安全沒有保障。在外包的製造過程中,電路遭有心人士刻意更動,則稱之為惡意電路(malicious circuit)或硬體木馬(Hardware Trojan),可能導致該項電路的效能降低、功能改變甚至資訊洩漏。
在現有的硬體木馬攻擊防治中,針對攻擊者可能將木馬隨機的植入晶片,每一片晶片都需要驗證,如此一來,雖然達到硬體惡意行為檢測的目的,但同時這些方法會耗費大量的時間及金錢成本。
綜上所述,實有需要一種新穎的基於木馬電路檢測的資料處理方法及資料處理電路應是迫切需要的。
有鑑於此,本發明提出一種基於木馬電路檢測的資料處理方法及資料處理電路,以解決現有技術所面臨的問題。
本發明一實施例提供了一種基於木馬電路檢測的資料處理方法,包含控制一處理器於一測試階段執行以下步驟:自一邏輯閘層網表取得對應一邏輯閘電路的一標準元件庫;自標準元件庫擷取多個特徵數值;對特徵數值進行一分佈調整操作以產生多個調整後特徵數值;以及對調整後特徵數值進行分類以產生一邏輯辨識結果。
除了上述資料處理方法,本發明還提供一種基於木馬電路檢測的資料處理電路,其中該資料處理電路並且包含相互耦接之相互耦接之一處理模組、一分佈調整模組以及一分類模組;資料處理電路於一測試階段執行以下步驟:處理模組取得對應一邏輯閘電路的多個特徵數值分佈調整模組對特徵數值進行一分佈調整操作,以產生多個調整後特徵數值;以及分類模組對調整後特徵數值進行分類以產生一邏輯辨識結果。
以上關於本揭露內容之說明及以下之實施方法說明係用以示範與解釋本發明之精神與原理,並且提供本發明之專利申請範圍更進一步之解釋。
以下在實施方法中詳細敘述本發明之詳細特徵以及特點,其內容足以使任何熟習相關技藝者了解本發明之技術內容並據以實施,且根據本說明書所揭露之內容、申請專利範圍及圖式,任何熟習相關技藝者可輕易地理解本發明相關之構想及特點。以下之實施例係進一步詳細說明本發明之觀點,但非以任何觀點限制本發明之範疇。
晶片設計人員可以矽智財為基礎,進行設計特殊應用積體電路或可程式化邏輯閘陣列的邏輯設計。為驗證矽智財是否遭植入硬體木馬,可藉由分析標準元件庫(StandardCellLibrary)匯出的資訊進行判斷。但因資料蒐集的重複性過高,本發明提出一資料處理的方法,主要解決以下問題:
一、蒐集資料時,會獲得過多的正常資料:在資料蒐集的過程中,可獲得之正常資料遠多於異常資料。因此,本發明的目的之一在於進行資料篩選,以排除大量相似度過高的資料,且僅保留少量較具獨特代表性之資料,以減少分類模組所需之訓練時間,關於分類模組的訓練將於後續內容詳加介紹。
二、同一電路基於不同標準元件庫編譯後匯出的資料不一致:因製程不同,同一電路使用的標準元件庫不同則產生的電路資訊也不同,而這些電路資訊為廠商的最高機密,在無法取得這些電路資訊的情況下,造成研發人員後續分析困難。因此,本發明另一目的在於提出一種藉由調整特徵值的分布來獲得已知及未知標準元件庫間的關聯性,而達成提高後續檢測的準確率,且不須重新訓練分類模組。請注意,在全文中所提及的「已知」標準元件庫和「未知」標準元件庫是針對測試階段(例如圖2之測試階段S2)所使用的標準元件庫與訓練階段(例如圖2之訓練階段S1)所使用的標準元件庫是否相同。舉例而言,若測試階段所使用的標準元件庫相同於訓練階段所使用的標準元件庫,則稱測試階段所使用的標準元件庫為「已知」;反之,若測試階段所使用的標準元件庫不同於訓練階段所使用的標準元件庫,則稱測試階段所使用的標準元件庫為「未知」。
請參閱圖1,圖1係為根據本發明一實施例的基於木馬電路檢測的資料處理電路100的示意圖。資料處理電路100耦接於邏輯閘電路200。資料處理電路100包含處理模組110、資料清洗模組120、分佈調整模組130以及分類模組140。處理模組110耦接於資料清洗模組120。分佈調整模組130耦接於資料清洗模組120及分類模組140。資料處理電路100可理解為一處理器,可例如是微處理器(Micro Processing Unit,MPU)、微控制器(Micro Control Unit,MCU)或中央處理單元(Central Processing Unit,CPU)。
請參閱圖2,圖2係為圖1之資料處理電路100所執行的木馬電路偵測的流程圖。如圖2所示,資料處理電路100會先執行一訓練階段S1,並根據一訓練結果更新後續的測試階段S2。
請參閱圖3,圖3係為圖2之訓練階段S1的細部流程圖。如圖3所示,步驟S11係根據邏輯閘層網表查詢已知的訓練標準元件庫以獲得邏輯閘層網表對應的邏輯閘電路之多個訓練特徵數值;步驟S13係為對訓練特徵數值進行一資料清洗操作;以及步驟S15係為對清洗後之訓練特徵數值進行分類訓練以產生關聯於該訓練標準元件庫之分類器。此分類器可在後續使用於待檢測電路的特徵數值,來判斷待檢測電路中帶有多少木馬邏輯閘。由於步驟S11~步驟S15的細節於後續步驟S21~步驟S29相似,步驟S11~步驟S15的說明請參照步驟S21~步驟S29的內容。
請參閱圖4,圖4係為圖2之測試階段S2的細部流程圖。如圖4所示,步驟S21係獲得關聯於邏輯閘電路200之多個特徵數值;步驟S23係為對特徵數值進行資料清洗操作;步驟S25係判斷該些特徵數值所關聯的標準元件庫是否為已知,若是,流程接著執行步驟S29;否則,執行步驟S27;步驟S27係為對清洗後的特徵數值進行分佈調整操作以產生調整後特徵數值;以及步驟S29係為對所有特徵數值進行分類檢測(例如是調整後特徵數值或者是清洗後特徵數值)以獲得該邏輯閘電路200中的惡意邏輯閘之辨識結果。
詳細來說,步驟S21中,邏輯閘電路200之多個特徵數值關聯於一標準元件庫。於一些實施例中,關聯於邏輯閘電路200之多個特徵數值可以是透過邏輯閘電路200的邏輯閘層網表與已知的標準元件庫所獲得。於另一些實施例中,也可以是僅獲得邏輯閘電路200的多個特徵數值但未知該些特徵數值關聯於哪一個標準元件庫。
特徵數值是由邏輯閘層網表內所使用到的邏輯閘來反查標準元件庫而取得,詳細來說,邏輯閘路徑的特徵數值是根據從標準元件庫萃取出的特徵資訊的統計值來決定,例如一條路徑行經哪些邏輯閘以及這些邏輯閘的數量。特徵資訊可包含邏輯閘之佔用面積、電源功率、扇入數量、扇出數量、扇入/扇出訊號為0的機率及扇入/扇出訊號為1的機率等,其中扇入、扇出的值可作為對邏輯閘的負載能力度量,其定義為一個邏輯閘電路能驅動與之同類邏輯閘的個數;關於扇入/扇出為0或1的機率,則是經由動態模擬邏輯閘層網表的執行過程來取得每個邏輯閘的扇入/扇出的訊號機率。以上每一項特徵資訊可各包含多個統計值,諸如最大值(Max)、最小值(Min)、總和(Sum)、平均值(Average)、標準差( Standard deviation)等。舉例來說,當一條邏輯閘路徑共經過了N個邏輯閘,特徵資訊會包含關於這N個邏輯閘之佔用面積、電源功率、扇入數量、扇出數量、扇入/扇出訊號為0的機率及扇入/扇出訊號為1的機率。而單就“佔用面積”這項特徵資訊而言,會分別針對這N個邏輯閘計算出最大值、最小值、總和、平均值以及標準差5項統計值,以此類推 。如此一來,上述邏輯閘路徑便有 30個特徵數值(即6個特徵資訊 × 5個統計值)。
步驟S23係透過圖1中資料清洗模組120來實現。詳細而言,資料清洗模組120係用以進行清洗操作:對邏輯閘路徑進行一資料取樣操作,以產生一資料取樣結果;以及對資料取樣結果進行一資料過濾操作,以產生一資料過濾結果。上述資料清洗操作是透過初步排除被判斷為是正常的邏輯閘(非木馬邏輯閘),來減少分類模組140判斷邏輯閘電路200含有多少惡意邏輯閘的所需時間,詳細說明如下。
於一些實施例中,邏輯閘電路200包含多個邏輯閘,此些邏輯閘中的數個可依據其連通關係形成一路徑。因此,邏輯閘電路200包含由此些邏輯閘電路所形成的多個路徑。
請參閱圖5,圖5係為一邏輯閘電路的部份示意圖,可作為上述邏輯閘電路200的一例。如圖5所示,邏輯閘電路500包含邏輯閘A~K以及一主輸出(Primary output)節點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的所有路徑,其中若當前路徑遇到一已被其他路徑經過的邏輯閘、當前路徑的路徑輸出距離(Level-to-output)大於或等於一路徑相似度(Similarity)、以及當前路徑已經通過的邏輯閘數量小於或等於一路徑歧異度(Diversity),則決定捨棄當前路徑。以下將以路徑歧異度設定為3、路徑相似度設定為5作為實施例來說明。如圖5所示,若從邏輯閘A開始,根據連通關係往下一個邏輯閘B依序獲得下一個邏輯閘,於一實施例中,可以獲得一當前路徑為路徑A-B-C-D-E-F-G。由於是路徑A-B-C-D-E-F-G第一條被檢測的路徑,沒有經過其他邏輯閘,因此不會被捨棄。接著,若從邏輯閘H開始,根據連通關係往下一個邏輯閘I依序獲得下一個邏輯閘B,此時,檢測到邏輯閘B已於先前的路經被經過,接著,判斷邏輯閘B到邏輯閘G的輸出距離(邏輯閘數目)為5,可以判定輸出距離大於或等於路徑相似度5,因此,當前路徑不加入邏輯閘B及後續連通的邏輯閘。換言之,當前路徑包含邏輯閘H及I。接著,判斷當前路徑的邏輯閘數目是否小於或等於路徑歧異度。由於當前路徑H-I的邏輯閘數目為2,係小於或等於路徑歧異度,因此捨棄此當前路徑。接著,若從邏輯閘H開始,根據連通關係往下一個邏輯閘I依序獲得下一個邏輯閘J及K,由於後續的邏輯閘沒有被其他的路徑經過,因此保留當前路徑H-I-J-K。換言之,於此實施例中,從全部的三條路徑中,取樣了兩條路徑A-B-C-D-E-F-G及H-I-J-K,而刪除了路徑H-I-B-C-D-E-F-G及H-I-J-K。如此一來,資料取樣操作刪除高度重複的路徑,可以降低後續在檢測邏輯閘電路500中是否有木馬電路所耗費的運算資源及時間。
值得注意的是,路徑歧異度及/或路徑相似度也可根據設計需求調整為不同的值。
接下來將說明步驟S23中的資料清洗操作之資料過濾操作,資料過濾操作包含判斷當前路徑之所有邏輯閘的網線訊號為0的所有機率中的最小值,若此最小機率大於一第一門檻值(例如0.1),則捨棄當前路徑。另一方面,資料過濾操作還包含判斷前路徑之所有邏輯閘的網線訊號為1的所有機率中的最小值,若此最小機率大於一第二門檻值(例如0.1)時,則捨棄當前路徑。
進一步而言,以上資料過濾操作係基於訊號出現的機率來設定門檻值(Threshold)來作判斷。當一路徑上網線的訊號 1 及訊號 0 出現機率的最小值都不低,代表路徑上的網線的訊號並沒有只出現一種特定訊號的情況,可合理判斷該路徑上的兩種訊號出現次數分佈正常,則其帶有硬體木馬邏輯閘的機率較低,相關操作請進一步參閱圖6。
圖6係為邏輯閘的訊號出現機率的示意圖。如圖6所示,路徑PI-A’(其中PI代表主輸入(Primary input)節點)、路徑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%),以此類推。由於整條路徑PI-A’-B’-C’-PO上的網線訊號出現0的機率皆不小於0.1,且由於整個當前路徑PI-A’-B’-C’-PO上的網線訊號出現1的機率也不小於0.1,可判斷此路徑的邏輯閘皆為正常的邏輯閘,不具有木馬邏輯閘,故當前路徑PI-A’-B’-C’-PO將被捨棄。
於一些實施例中,門檻值的設定方法包含讀取一路徑之所有邏輯閘中訊號為0的機率值,並從這些機率值中取最小值來作為代表該路徑(訊號為0)的機率,接著,以代表所有路徑的機率中之最大值的0.2倍來作為門檻值(門檻值=最大機率×0.2)。舉例而言,若三條路徑的三個機率值中的最大值為0.5,則設定門檻值為0.1。於另一些實施例中,門檻值的設定方法還包含於獲得代表每一條路徑的機率後,計算此些機率的平均值及標準差後,以小於平均值的n個標準差來設定為門檻值(門檻值=平均值-2×標準差)。舉例而言,若計算出的機率平均值為0.25,標準差為0.1,則門檻值為0.05。值得一提的是,網線訊號為1的機率也執行相似步驟而不再重述。如此一來,本案的方法可以調整被過濾的路徑之數目,來調整後續分類模組140所需要執行的運算量。
步驟S25係判斷標準元件庫是否為已知,若是,流程接著執行步驟S29;否則,執行步驟S27。詳細來說,分佈調整模組130判斷標準元件庫是否為相同於訓練標準元件庫以判斷標準元件庫是否為已知標準元件庫。若標準元件庫非為已知標準元件庫,則執行步驟S27,分佈調整模組130對特徵數值進行分佈調整操作以產生調整後特徵數值;若標準元件庫為已知標準元件庫,則流程跳至步驟S29,分佈調整模組130則直接以特徵數值作為調整後特徵數值。分佈調整操作的目的在於使透過不同標準元件庫所獲得的特徵數值彼此之間的特性可以藉由分布調整來更為相近。如此一來,本案不需要針對未知的標準元件庫關聯的特徵數值來重新訓練得到專屬於該標準元件庫的分類器,即可直接將調整後特徵數值輸入分類模組140,來分析檢測邏輯閘電路200中是否存在木馬電路。
於一些實施例中,分佈調整模組130根據一分佈函數來調整特徵數值對照於(versus)特徵數值的數量的分佈。請參閱圖7A~圖7C,圖7A係為訓練階段S1訓練完成之特徵數值對照於特徵數值的數量的直方圖(Histogram),圖7B係為測試階段S2之待檢測電路(例如是圖2之邏輯閘電路200)的特徵數值對照於特徵數值的數量的直方圖,圖7C係為待檢測電路(例如是圖2之邏輯閘電路200)之調整後的特徵數值對照於特徵數值的數量的直方圖。在圖7B中,分佈調整模組130可於分佈的特定區間,根據訓練分佈來調整特徵數值對照於特徵數值的數量的分佈。分佈調整操作例如是以下重調分佈函數表示:
其中x代表一特徵數值、x’ 代表一調整後特徵數值、a代表特定區間的下限值、b代表特定區間的上限值。在圖7B的範例中,會先對每個訓練特徵和測試特徵的百分位數進行分段,例如分為[0~25]、[25~50]、[50~75]、[75~100]等四個區間,舉例來說,若上述特定區間是[25~50](亦即 a = 25, b = 50),則會以圖7A所示的訓練結果對位於區間[25~50]的特徵數值進行校正(Rescaling),以產生新的特徵分佈,其中校正的原則是使圖7B的測試特徵的分佈儘可能趨近圖7A的訓練特徵或是有相近的特徵特性。校正後,將產生如圖7C所示的調整後的特徵數值分佈,這將有助於提昇整體木馬偵測的正確性。
步驟S29係為使用分類模組140對所有特徵數值(包含來自步驟S25的調整後特徵數值以及來自步驟S27的清洗後特徵數值)進行分類以產生邏輯辨識結果。換言之,分類模組140會進一步將正常電路和木馬電路進行區分,得到惡意攻擊偵測結果。舉例而言,分類模組140可以得到邏輯閘電路200的檢測結果,例如是邏輯閘電路200中具有木馬電路的路徑數目。
為了進一步佐證本發明的基於木馬電路檢測的資料處理方法確實可降低檢測電路所需要的時間及運算資源並可在不需要知道所使用的標準元件庫的前提下提昇偵測木馬電路的正確性,以下將搭配實際的測試基準(Benchmark)來說明。表1係為測試基準1下,對使用相同標準元件庫及不同標準元件庫的多個邏輯路徑所作的實測,其中測試基準可進行更換,例如後續將提到的測試基準2、3。測試基準1的測試內容包含:分別於相同標準元件庫下、不同標準元件庫下未進行分佈調整、以及針對不同標準元件庫進行分佈調整後的木馬偵測狀況。相同標準元件庫下的正常路徑共有107074條,而帶有木馬電路的路徑(簡稱木馬路徑)共有107074條;不同標準元件庫下的正常路徑則有106626條,木馬路徑則有599條。詳細來說,表1所列出的「已偵測出之木馬路徑」代表「實際上為木馬路徑,且判定為木馬路徑」的數量、「正常路徑」代表「實際上為正常路徑,且判定為正常路徑」的數量、「誤判之木馬路徑」代表「實際上為正常路徑,卻判定為木馬路徑」的數量,以及「漏判之木馬路徑」代表「實際上為木馬路徑,卻判定為正常路徑」的數量。
表1(單位:路徑數量)
情境 指標 | 同標準元件庫 | 不同標準元件庫、未作分佈調整 | 不同標準元件庫、有作分佈調整 |
已偵測出之木馬路徑 | 619 | 4 | 225 |
正常路徑 | 107074 | 106626 | 106612 |
誤判之木馬路徑 | 0 | 0 | 14 |
漏判之木馬路徑 | 11 | 595 | 374 |
從表1可知,本發明資料處理電路100在相同元件資料庫的狀況下成功地從630條偵測出619條木馬路徑,但在不同標準元件庫且未進行分佈調整的狀況下只偵測出4條木馬路徑。在針對不同標準元件庫進行分佈調整後(相當於圖4步驟S27),則成功偵測出225條木馬路徑,這相當於成功挽回了三分之一的木馬路徑,亦即本來未偵測出的595條木馬路徑現在從中偵測出221條木馬路徑。
另外,從表1也可以看出分佈調整僅適用於不同標準元件庫的前提下,因為在相同標準元件庫的狀況下,本發明對於木馬路徑的判斷已經相當準確, 因此圖4步驟S25於進行分佈調整之前事先判斷路徑是否屬於標準元件庫,能夠快速地針對待偵測路徑是否為已知進行區分,以確保在有需要進行分佈調整時才進行分佈調整,這實有助於整體木馬偵測效能的提昇。
接下來,表2係根據測試基準1中跑分最高(例如木馬定位分析機率排名最高)的前5至前20邏輯閘進行觀察,換言之,對木馬進行定位時,每一個邏輯閘會有一個機率值表示有多高的機率是木馬,接著,可取排名前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(單位:邏輯閘數量)
代表性邏輯閘\情境 | 相同標準元件庫 | 不同標準元件庫 | 調整分佈後 |
排名前5邏輯閘 | 4 | 3 | 4 |
排名前10邏輯閘 | 5 | 5 | 6 |
排名前20邏輯閘 | 10 | 5 | 9 |
接著,表3示意了本發明的資料取樣操作和資料過濾操作(可參考圖4步驟S23)在不同測試基準下效能,其中三種測試基準的取樣設定皆為:路徑相似度 = 最長路徑*0.8、路徑歧異度 = 最長路徑*0.4,但本發明不以此為限,這些參數的設定可根據實際設計需求作調整。
表3(單位:路徑數量)
測試基準 | 原始路徑數量 | 資料取樣後的路徑數量 | 保留的木馬路徑/正常路徑 | 捨棄的木馬路徑/正常路徑 |
測試基準1 | 432850 | 200007 | 582/83073 | 0/116352 |
測試基準2 | 440958 | 204528 | 5104/91914 | 0/107510 |
測試基準3 | 432218 | 200490 | 1066/125460 | 0/73964 |
以測試基準1為例,從表3可看出,在進行本發明資料取樣操作後,需要判斷的路徑數量剩下不到原來的一半(降至200007條);接著再對這資料取樣後的路徑進行資料過濾操作,於過濾後,得知116352路徑被可捨棄(亦即不用判斷),而未被過濾掉的路徑數量剩下83073條,也就是需要判斷的路徑剩下原來的20%左右。最後,從這83073條目標路徑中實際上包含木馬的有582條路徑,而捨棄掉的116352路徑則不具任何木馬路徑。
以測試基準2為例,從表3可看出,在進行本發明資料取樣操作後,需要判斷的路徑數量剩下不到原來的一半(降至204528條); 接著再對這資料取樣後的路徑進行資料過濾操作,於過濾後,得知107510路徑被可捨棄(亦即不用判斷),而未被過濾掉的路徑數量剩下91914條,也就是需要判斷的路徑剩下原來的20%左右。最後,從這91914條目標路徑中實際上包含木馬的有5104條路徑,而捨棄掉的107510路徑則不具任何木馬路徑。
以測試基準3為例,從表3可看出,在進行本發明資料取樣操作後,需要判斷的路徑數量剩下不到原來的一半(降至200490條);接著在對這資料取樣後的路徑進行資料過濾操作,需要判斷的路徑數量剩下125460條作為目標路徑。最後,這125460條目標路徑實際上有1066條木馬路徑,而過濾後的73964路徑則不具任何木馬路徑。
接著再對這資料取樣後的路徑進行資料過濾操作,於過濾後,得知73964路徑被可捨棄(亦即不用判斷),而未被過濾掉的路徑數量剩下125460條,也就是需要判斷的路徑剩下原來的30%左右。最後,從這125460條目標路徑中實際上包含木馬的有1066條路徑,而捨棄掉的73964路徑則不具任何木馬路徑。
綜上所述,本發明透過訓練階段S1的訓練結果調整測試階段S2,其中訓練階段輸入了多筆不同的訓練資料。測試階段S2進一步透過資料清洗操作、分佈調整操作來縮小需要檢測的邏輯路徑數量,故可在大幅縮減運算時間的情況下提供準確的木馬邏輯閘辨識結果。
雖然本發明以前述之實施例揭露如上,然其並非用以限定本發明。在不脫離本發明之精神和範圍內,所為之更動與潤飾,均屬本發明之專利保護範圍。關於本發明所界定之保護範圍請參考所附之申請專利範圍。
100:資料處理電路
200,500:邏輯閘電路
110:處理模組
120:資料清洗模組
130:分佈調整模組
140:分類模組
A~K,A’~C’:邏輯閘
PI:主輸入節點
PO:主輸出節點
S1:訓練階段
S2:測試階段
S11,S13,S15,S21,S23,S25,S27,S29:步驟
圖1係為根據本發明一實施例的基於木馬電路檢測的資料處理電路的示意圖。
圖2係為圖1之資料處理電路所執行的進行木馬電路偵測的流程架構圖。
圖3係為圖2之訓練階段的細部流程圖。
圖4係為圖2之測試階段的細部流程圖。
圖5係為一邏輯閘電路的部份示意圖。
圖6係為邏輯閘的訊號出現機率的示意圖。
圖7A係為訓練階段訓練完成之特徵數值對照於特徵數值的數量的直方圖。
圖7B係為測試階段的待檢測電路之特徵數值對照於特徵數值的數量的直方圖。
圖7C係為待檢測電路之調整後的特徵數值對照於特徵數值的數量的直方圖。
無
S2:測試階段
S21,S23,S25,S27,S29:步驟
Claims (16)
- 一種基於木馬電路檢測的資料處理方法,包含控制一處理器於一測試階段執行以下步驟: 取得對應一邏輯閘電路的多個特徵數值; 對該些特徵數值進行一分佈調整操作,以產生多個調整後特徵數值;以及 對該些調整後特徵數值進行分類以產生一邏輯辨識結果。
- 如請求項1所述之資料處理方法,其中該處理器於一訓練階段執行以下步驟: 透過一邏輯閘層網表與一訓練標準元件庫擷取多個訓練特徵數值;以及 對該些訓練特徵數值進行分類以產生一訓練邏輯辨識結果。
- 如請求項1所述之資料處理方法,其中對該些特徵數值進行該分佈調整操作以產生該些調整後特徵數值包含: 判斷一標準元件庫是否為已知標準元件庫; 若該標準元件庫並非為已知標準元件庫,對該些特徵數值進行該分佈調整操作以產生該些調整後特徵數值;以及 若該標準元件庫為已知標準元件庫,則直接以該些特徵數值作為該些調整後特徵數值。
- 如請求項1所述之資料處理方法,其中該處理器還用以於該分佈調整操作之前進行以下操作: 對該些特徵數值進行一資料取樣操作,以產生一資料取樣結果;以及 對該資料取樣結果進行一資料過濾操作,以產生一資料過濾結果; 其中該資料處理方法進一步包含: 對該資料過濾結果進行該分佈調整操作以產生該些調整後特徵數值。
- 如請求項4所述之資料處理方法,其中該邏輯閘電路包含多個邏輯閘及由該些邏輯閘所形成的多個路徑,該資料取樣操作包含: 逐一檢測該些路徑,判斷該些路徑之一當前路徑是否遇到一已被其他路徑經過的邏輯閘。
- 如請求項5所述之資料處理方法,其中該資料取樣操作進一步包含: 若該些路徑之該當前路徑遇到該已被其他路徑經過的邏輯閘,則判斷該當前路徑的路徑輸出距離是否大於或等於一路徑相似度。
- 如請求項6所述之資料處理方法,其中該資料取樣操作進一步包含: 若該當前路徑的路徑輸出距離大於或等於該路徑相似度,則判斷該當前路徑所經過的邏輯閘數量是否小於或等於一路徑歧異度;以及 若該當前路徑所經過的邏輯閘數量小於或等於該路徑歧異度,則決定捨棄該當前路徑。
- 如請求項4所述之資料處理方法,其中該邏輯閘電路包含複數個邏輯閘及由該些邏輯閘所形成的複數個路徑,該資料過濾操作包含: 逐一檢測該些路徑,若該些路徑之一當前路徑上的所有邏輯閘之網線訊號出現0的機率大於一第一門檻值,則捨棄該當前路徑,及/或該當前路徑上的所有邏輯閘之網線訊號出現1的機率大於一第二門檻值,則捨棄該當前路徑。
- 一種基於木馬電路檢測的資料處理電路,耦接於一邏輯閘電路,其中該資料處理電路包含相互耦接之一處理模組、一分佈調整模組以及一分類模組,該資料處理電路於一測試階段執行以下操作: 該處理模組取得對應該邏輯閘電路的多個特徵數值; 該分佈調整模組對該些特徵數值進行一分佈調整操作,以產生多個調整後特徵數值;以及 該分類模組對該些調整後特徵數值進行分類以產生一邏輯辨識結果。
- 如請求項9所述之資料處理電路,進一步於一訓練階段執行以下操作: 該處理模組透過一邏輯閘層網表與一訓練標準元件庫擷取多個訓練特徵數值;以及 該分類模組對該些訓練特徵數值進行分類以產生一訓練邏輯辨識結果。
- 如請求項9所述之資料處理電路,其中該分佈調整模組根據該些特徵數值判斷一標準元件庫是否為已知標準元件庫,若該標準元件庫並非為已知標準元件庫,該分佈調整模組對該些特徵數值進行該分佈調整操作以產生該些調整後特徵數值;以及若該標準元件庫為已知標準元件庫,該分佈調整模組則直接以該些特徵數值作為該些調整後特徵數值。
- 如請求項9所述之資料處理電路,還包含一資料清洗模組,該資料清洗模組用以於該分佈調整操作之前,進行以下操作: 對該些特徵數值進行一資料取樣操作,以產生一資料取樣結果;以及 對該資料取樣結果進行一資料過濾操作,以產生一資料過濾結果。
- 如請求項12所述之資料處理電路,其中該邏輯閘電路包含多個邏輯閘及由該些邏輯閘所形成的多個路徑,該資料取樣操作包含: 逐一檢測該些路徑,判斷該些路徑之一當前路徑是否遇到一已被其他路徑經過的邏輯閘。
- 如請求項13所述之資料處理電路,其中該資料取樣操作進一步根據以下規則以決定是否捨棄該當前路徑: 若該些路徑之該當前路徑遇到該已被其他路徑經過的邏輯閘,則判斷該當前路徑的路徑輸出距離是否大於或等於一路徑相似度。
- 如請求項14所述之資料處理電路,其中該資料取樣操作進一步包含: 若該當前路徑的路徑輸出距離大於或等於該路徑相似度,則判斷該當前路徑所經過的邏輯閘數量是否小於或等於一路徑歧異度;以及 若該當前路徑所經過的邏輯閘數量小於或等於該路徑歧異度,則決定捨棄該當前路徑。
- 如請求項12所述之資料處理電路,其中該邏輯閘電路包含複數個邏輯閘及由該些邏輯閘所形成的複數個路徑,該資料過濾操作包含: 逐一檢測該些路徑,若該些路徑之一當前路徑上的所有邏輯閘之網線訊號出現0的機率大於一第一門檻值,及/或該當前路徑上的所有邏輯閘之網線訊號出現1的機率大於一第二門檻值,則捨棄該當前路徑,則決捨棄該當前路徑。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110142746A TWI789997B (zh) | 2021-11-17 | 2021-11-17 | 基於木馬電路檢測的資料處理方法及資料處理電路 |
US17/538,963 US11983267B2 (en) | 2021-11-17 | 2021-11-30 | Data processing method and circuit thereof based on trojan circuit detection |
JP2021195909A JP7331069B2 (ja) | 2021-11-17 | 2021-12-02 | トロイの木馬回路検出に基づくデータ処理方法及びその回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW110142746A TWI789997B (zh) | 2021-11-17 | 2021-11-17 | 基於木馬電路檢測的資料處理方法及資料處理電路 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI789997B TWI789997B (zh) | 2023-01-11 |
TW202321971A true TW202321971A (zh) | 2023-06-01 |
Family
ID=86323617
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110142746A TWI789997B (zh) | 2021-11-17 | 2021-11-17 | 基於木馬電路檢測的資料處理方法及資料處理電路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11983267B2 (zh) |
JP (1) | JP7331069B2 (zh) |
TW (1) | TWI789997B (zh) |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015112760A1 (en) * | 2014-01-23 | 2015-07-30 | Qualcomm Incorporated | Adaptive observation of determined behavioral features on a mobile device |
US20170308701A1 (en) * | 2016-04-22 | 2017-10-26 | Qualcomm Incorporated | Methods and Systems for Intelligently Detecting Malware and Attacks on Client Computing Devices and Corporate Networks |
US20180089426A1 (en) * | 2016-09-29 | 2018-03-29 | Government Of The United States As Represented By The Secretary Of The Air Force | System, method, and apparatus for resisting hardware trojan induced leakage in combinational logics |
US11023623B2 (en) * | 2018-04-11 | 2021-06-01 | Nxp B.V. | Method for triggering and detecting a malicious circuit in an integrated circuit device |
US20200104497A1 (en) * | 2018-09-28 | 2020-04-02 | Amida Technology Solutions, Inc. | Method, system, and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in method, system, and apparatus for security assurance, protection, monitoring and analysis of integrated circuits and electronic systems in relation to hardware trojans |
US11586728B2 (en) * | 2019-06-07 | 2023-02-21 | Nxp B.V. | Methods for detecting system-level trojans and an integrated circuit device with system-level trojan detection |
CN112231775B (zh) * | 2019-07-15 | 2022-10-21 | 天津大学 | 一种基于Adaboost算法的硬件木马检测方法 |
US11693966B2 (en) * | 2019-08-14 | 2023-07-04 | Nxp B.V. | System and method for triggering and detecting hardware trojans |
US11321510B2 (en) * | 2019-09-30 | 2022-05-03 | University Of Florida Research Foundation, Incorporated | Systems and methods for machine intelligence based malicious design alteration insertion |
CN110929301B (zh) * | 2019-11-20 | 2022-07-26 | 海宁利伊电子科技有限公司 | 一种基于提升算法的硬件木马检测方法 |
US11556647B2 (en) | 2020-03-30 | 2023-01-17 | Bae Systems Information And Electronic Systems Integration Inc. | System for detecting trojans in an artificial network and method therof |
CN112380534B (zh) * | 2020-11-12 | 2022-12-09 | 上海电力大学 | 一种基于电路结构分析的硬件木马检测方法 |
CN113312678B (zh) | 2021-03-24 | 2023-07-11 | 龙芯中科技术股份有限公司 | 硬件木马检测电路、硬件木马检测方法及电子设备 |
CN113626812B (zh) * | 2021-07-27 | 2024-09-06 | 西安电子科技大学 | 基于结构特征筛选及负载扩展的机器学习木马检测方法 |
-
2021
- 2021-11-17 TW TW110142746A patent/TWI789997B/zh active
- 2021-11-30 US US17/538,963 patent/US11983267B2/en active Active
- 2021-12-02 JP JP2021195909A patent/JP7331069B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
TWI789997B (zh) | 2023-01-11 |
US20230153423A1 (en) | 2023-05-18 |
US11983267B2 (en) | 2024-05-14 |
JP2023074447A (ja) | 2023-05-29 |
JP7331069B2 (ja) | 2023-08-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI767506B (zh) | 圖像識別方法、識別模型的訓練方法、設備 | |
JP3913715B2 (ja) | 不良検出方法 | |
WO2021037280A2 (zh) | 基于rnn的反洗钱模型的训练方法、装置、设备及介质 | |
CN107391369B (zh) | 一种基于数据筛选和数据过采样的跨项目缺陷预测方法 | |
CN104950246B (zh) | 基于延时的硬件木马检测方法和系统 | |
JP4786505B2 (ja) | 不良検出方法 | |
CN109657461B (zh) | 基于梯度提升算法的rtl硬件木马检测方法 | |
CN103593470B (zh) | 一种双度集成的不均衡数据流分类算法 | |
CN102045358A (zh) | 一种基于整合相关性分析与分级聚类的入侵检测方法 | |
WO2023056723A1 (zh) | 故障诊断的方法、装置、电子设备及存储介质 | |
CN107656839A (zh) | 集成电路安全性评估与检测方法 | |
CN104316861B (zh) | 集成电路硬件木马检测方法及系统 | |
CN110414277B (zh) | 基于多特征参数的门级硬件木马检测方法 | |
CN110988652B (zh) | 一种回收芯片检测方法 | |
CN109446708B (zh) | 一种检查时钟路径的方法 | |
TW201909010A (zh) | 設計佈局為主的快速線上缺陷診斷、分類及取樣方法及系統 | |
TWI789997B (zh) | 基於木馬電路檢測的資料處理方法及資料處理電路 | |
CN107861873A (zh) | 基于两属性分级调整的测试用例优先级调整方法 | |
TW202121553A (zh) | 晶圓圖的辨識方法與電腦可讀取記錄媒體 | |
WO2023179014A1 (zh) | 流量识别方法、装置、电子设备及存储介质 | |
CN109858246A (zh) | 一种针对控制信号型硬件木马的分类方法 | |
WO2022266890A1 (zh) | 一种确定失效原因的方法及装置 | |
CN114692227A (zh) | 一种规模化芯片网表级硬件木马检测方法 | |
Liu et al. | A pca based svm hardware trojan detection approach | |
Devi et al. | Consistent Interpretation of Ensemble Classifiers in Trojan-Horse Detection |