防止嵌入式系统被恶意在线调试的方法和装置制造方法

文档序号:6640683阅读:325来源:国知局
防止嵌入式系统被恶意在线调试的方法和装置制造方法
【专利摘要】本发明涉及一种防止嵌入式系统被恶意在线调试的方法和装置。包括:按照功能重要程度级别,将嵌入式系统中的原始代码中的子函数划分为普通代码和关键代码;在所述划分后的关键代码处加入加密程序和干扰代码;当所述嵌入式系统中执行到关键代码时,判断所述芯片是否处于加密状态;当检测到芯片处于解密状态,进入异常处理,执行干扰代码;当检测到芯片处于加密状态,执行正常的代码。可以杜绝有人恶意调试。
【专利说明】防止嵌入式系统被恶意在线调试的方法和装置

【技术领域】
[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日
【发明者】田雨农, 刘欣, 苍柏 申请人:大连楼兰科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1