防止嵌入式系統被惡意在線調試的方法和裝置製造方法
2023-05-11 03:04:21
防止嵌入式系統被惡意在線調試的方法和裝置製造方法
【專利摘要】本發明涉及一種防止嵌入式系統被惡意在線調試的方法和裝置。包括:按照功能重要程度級別,將嵌入式系統中的原始代碼中的子函數劃分為普通代碼和關鍵代碼;在所述劃分後的關鍵代碼處加入加密程序和幹擾代碼;當所述嵌入式系統中執行到關鍵代碼時,判斷所述晶片是否處於加密狀態;當檢測到晶片處於解密狀態,進入異常處理,執行幹擾代碼;當檢測到晶片處於加密狀態,執行正常的代碼。可以杜絕有人惡意調試。
【專利說明】防止嵌入式系統被惡意在線調試的方法和裝置
【技術領域】
[0001] 本發明設及計算機領域,尤其設及一種防止嵌入式系統被惡意在線調試的方法和 裝置。
【背景技術】
[0002] 很多嵌入式系統開發投入商用後都會採取一定的措施保護自己的軟體,從而實現 開發的嵌入式系統中的思路及方法不被獲取,目前各類嵌入式系統的保護機制各不相同, 強度也各有差別,如何保證自己的方法不被獲取是一個廣泛被關注的問題。
[0003] 目前主要保護嵌入式系統的方法主要是通過巧片自帶的讀寫禁止的功能來實現, 該樣可W防止系統的代碼被人惡意獲取,例如,一個嵌入式系統採用Stm32系列巧片,在將 代碼燒寫入巧片後,可W將stm32巧片加密,加密後的stm32巧片可W直接擦除flash內 容,不能讀出flash內容,該樣可W在一定程度上保護自己的代碼。但是對代碼的保護完全 依靠stm32巧片本身,該使得方法具有局限性。而基於單片機的可W在線調試的特性,如果 有人突破該道保護之後,就可W採取靜態分析和動態調試的方法來分析該嵌入式系統,從 而獲取相關數據。在整個分析中,由於動態調試過程可W直接的看到單片機各個寄存器及 內存中的數值,所W動態調試顯得尤為重要。如何防止當前的嵌入式系統被動態調試在目 前的系統中還沒有成熟的方案。
【發明內容】
[0004] 為解決上述技術問題,本發明的目的是提供一種防止嵌入式系統被惡意在線調試 的方法和裝置。
[0005] 本發明的防止嵌入式系統被惡意在線調試的方法,包括
[0006] 按照功能重要程度級別,將嵌入式系統中的原始代碼中的子函數劃分為普通代 碼和關鍵代碼;
[0007] 在所述劃分後的關鍵代碼處加入加密程序和幹擾代碼;
[000引當所述嵌入式系統中執行到關鍵代碼時,判斷所述關鍵代碼是否有加密程序並判 斷巧片是否處於加密狀態;
[0009] 當檢測到巧片處於解密狀態,進入異常處理,執行幹擾代碼;
[0010] 當檢測到巧片處於加密狀態,執行正常的代碼。
[0011] 進一步的,所述幹擾代碼和所述正常的代碼相似。
[0012] 本發明提供一種防止嵌入式系統被惡意在線調試的裝置,包括:
[0013] 劃分單元,用於按照功能重要程度級別,將嵌入式系統中的原始代碼中的子函數 劃分為普通代碼和關鍵代碼;
[0014] 加入單元,用於在所述劃分後的關鍵代碼處加入加密程序和幹擾代碼;
[0015] 判斷單元,用於當所述嵌入式系統中執行到關鍵代碼時,判斷所述關鍵代碼是否 有加密程序並判斷巧片是否處於加密狀態;
[0016] 執行單元,當檢測到巧片處於解密狀態,進入異常處理,執行幹擾代碼;當檢測到 巧片處於加密狀態,執行正常的代碼。
[0017] 藉由上述方案,本發明至少具有W下優點:
[0018] 在代碼中加入自身判斷巧片加密狀態的內容,讓代碼執行過程中,去判斷此時巧 片是否是加密狀態,如果不是加密狀態的話就跳轉到一個錯誤分支去執行。由於在線調試 必須在巧片解密狀態下進行,該種做法可W從根本上避免在線調試。本發明通過在代碼中 加入對巧片加密信息的判斷,可W有效防止有人惡意在線調試自己的系統。由於巧片在線 調試必須在巧片解密狀態下,我們檢測到巧片處於解密狀態則進入幹擾程序,使得即使有 人通過一定的技術手段讀出了我們系統中的代碼,也只能通過一些軟體靜態的分析而無法 通過動態調試的方法快速的定位到指定的代碼位置,也無法得知代碼執行到一定位置後寄 存器及內存中的數值,可W在一定程度上增加自己系統的保密性。將單片機巧片的加密信 息放入代碼中,代碼自己判斷單片機是否加密,從而只要是用戶惡意調試,代碼就可W檢 測出來,從而可W杜絕有人惡意調試。
[0019] 上述說明僅是本發明技術方案的概述,為了能夠更清楚了解本發明的技術手段, 並可依照說明書的內容予W實施,W下W本發明的較佳實施例並配合附圖詳細說明如後。
【專利附圖】
【附圖說明】
[0020] 圖1是本發明防止嵌入式系統被惡意在線調試的方法的流程示意圖;
[0021] 圖2是本發明的關鍵代碼和普通代碼劃分的示意圖;
[0022] 圖3是本發明防止嵌入式系統被惡意在線調試的裝置結構示意圖。
【具體實施方式】
[0023] 下面結合附圖和實施例,對本發明的【具體實施方式】作進一步詳細描述。W下實施 例用於說明本發明,但不用來限制本發明的範圍。
[0024] 參見圖1所示,一種防止嵌入式系統被惡意在線調試的方法,包括:
[0025] 步驟101 ;按照功能重要程度級別,將原始代碼中的子函數區分為普通代碼和關 鍵代碼。
[0026] 例如對於兒童學習點讀筆該種裝置,使用STM32系列巧片的嵌入式系統。該個系 統主要實現的功能包括可W識別專口的圖書,識別出圖書上的圖形之後將點讀筆指向的圖 形內容轉化為一個數字序列號,之後按照序列號播放一段音頻。如圖2所示該嵌入式系統 有兩個關鍵的功能,即1,對圖形的識別,2,圖形與序列號的轉化,該兩部分的功能對應代碼 是關鍵代碼,其他為普通功能,其對應的代碼是普通的代碼。
[0027] 該此步驟需要確定哪些代碼的保密級別更高,如關鍵步驟或關鍵算法等,從而對 保密級別高的代碼採用更高強度的加密保護。如下所示為關鍵功能"對圖像的識別"的處 理代碼的例子:
[002引
【權利要求】
1. 一種防止嵌入式系統被惡意在線調試的方法,其特徵在於,包括: 按照功能重要程度級別,將嵌入式系統中的原始代碼中的子函數劃分為普通代碼和關 鍵代碼; 在所述劃分後的關鍵代碼處加入加密程序和幹擾代碼; 當所述嵌入式系統中執行到關鍵代碼時,判斷所述關鍵代碼是否有加密程序並判斷芯 片是否處於加密狀態; 當關鍵代碼檢測到晶片處於解密狀態,進入異常處理,執行幹擾代碼; 當檢測到晶片處於加密狀態,執行正常的代碼。
2. -種防止嵌入式系統被惡意在線調試的裝置,其特徵在於,包括: 劃分單元,用於按照功能重要程度級別,將嵌入式系統中的原始代碼中的子函數劃分 為普通代碼和關鍵代碼; 加入單元,用於在所述劃分後的關鍵代碼處加入加密程序和幹擾代碼; 判斷單元,用於當所述嵌入式系統中執行到關鍵代碼時,判斷所述關鍵代碼是否有加 密程序並判斷晶片是否處於加密狀態; 執行單元,當檢測到晶片處於解密狀態,進入異常處理,執行幹擾代碼;當檢測到晶片 處於加密狀態,執行正常的代碼。
【文檔編號】G06F21/56GK104504336SQ201410843435
【公開日】2015年4月8日 申請日期:2014年12月30日 優先權日:2014年12月30日
【發明者】田雨農, 劉欣, 蒼柏 申請人:大連樓蘭科技股份有限公司