CN104298935A - 嵌入式设备固件的保护方法与装置 - Google Patents

嵌入式设备固件的保护方法与装置 Download PDF

Info

Publication number
CN104298935A
CN104298935A CN201410498565.7A CN201410498565A CN104298935A CN 104298935 A CN104298935 A CN 104298935A CN 201410498565 A CN201410498565 A CN 201410498565A CN 104298935 A CN104298935 A CN 104298935A
Authority
CN
China
Prior art keywords
firmware
embedded device
character string
compilation phase
algorithm
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.)
Pending
Application number
CN201410498565.7A
Other languages
English (en)
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201410498565.7A priority Critical patent/CN104298935A/zh
Publication of CN104298935A publication Critical patent/CN104298935A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种嵌入式设备固件的保护方法与装置,将固件内容简化成字符串,通过比较写入后的字符串与编译时的字符串判断固件内容是否被篡改,在被篡改时启动保护措施,避免了固件被篡改带来的风险,提高了固件的安全性,且具有简单高效的特点。

Description

嵌入式设备固件的保护方法与装置
技术领域
本发明涉及嵌入式技术领域,特别是涉及一种嵌入式设备固件的保护方法与装置。
背景技术
固件担任着一个系统最基础最底层的工作,在嵌入式设备中,如手机、导航仪、平板电脑、音视频播放器等,固件就是硬件设备的灵魂。
一旦固件被损毁或篡改,整个设备随时可能陷入瘫痪。然而,当前却缺少有效的手段来避免固件暴露于风险中。
发明内容
基于上述情况,本发明提出了一种嵌入式设备固件的保护方法与装置,以提高嵌入式设备固件的安全性。为此,采用的方案如下。
一种嵌入式设备固件的保护方法,包括步骤:
在固件编译阶段,采用预定的算法,将固件内容映射成字符串;
当固件写入嵌入式设备后,采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串,并与固件编译阶段所得字符串比较,若一致则判定固件未被篡改,若不一致则判定固件已被篡改,启动保护措施。
一种嵌入式设备固件的保护装置,包括:
编译模块,用于在固件编译阶段,采用预定的算法,将固件内容映射成字符串;
固件检测模块,用于当固件写入嵌入式设备后,采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串,并与固件编译阶段所得字符串比较,若一致则判定固件未被篡改,若不一致则判定固件已被篡改,启动保护措施。
本发明嵌入式设备固件的保护方法与装置,将固件内容简化成字符串,通过比较写入后的字符串与编译时的字符串判断固件内容是否被篡改,在被篡改时启动保护措施,避免了固件被篡改带来的风险,提高了固件的安全性,且具有简单高效的特点。
附图说明
图1为本发明嵌入式设备固件的保护方法的流程示意图;
图2为本发明嵌入式设备固件的保护装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步的详细说明。应当理解,此处所描述的具体实施方式仅仅用以解释本发明,并不限定本发明的保护范围。
本发明嵌入式设备固件的保护方法,如图1所示,包括如下步骤:
步骤s101、在固件编译阶段,采用预定的算法,将固件内容映射成字符串。
固件保护的前提是检测固件是否被改写,检测固件是否改写,最原始的方法是一个字符一个字符的比对,显然这将耗费大量的时间与精力,效率低下。本方案为了提高效率,采用一定的算法,将固件内容映射成一段简单的字符串,在该算法下,固件内容与字符串之间的映射关系是唯一的,即固件内容稍有变化,则所对应的字符串也随之变化,反之,若字符串变化,则对应的固件内容必然也发生变化。据此,可以通过字符串的变化来判断固件内容是否出现异常。
步骤s102、当固件写入嵌入式设备后,采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串。
嵌入式设备下载并解析固件,固件内容被写入设备,设备按照固件中设置的条件运行,在运行过程中,设备上的恶意软件通常通过篡改固件内容达到特定目的。本步骤将设备上固件的当前内容按照步骤s101的方法映射成字符串,则当前字符串代表固件当前内容,编译阶段的字符串代表固件原始内容。
作为一个优选的实施例,可以将重新映射的时间设置为设备每次开机时,或者设置一个可调节的周期,从而定期对固件进行检测。
步骤s103、将固件写入后所得字符串与固件编译阶段所得字符串比较,若一致则说明固件内容没变,判定固件未被篡改,若不一致则说明固件内容有变,判定固件已被篡改,此时启动应对保护措施,例如发出告警、停止设备操作,或毁弃当前固件。
将固件内容映射成一段字符串的映射算法,本方法优选地选择哈希算法或CRC校验算法。编译阶段所得的字符串可以写入固件末尾,以备后续比较之需要。
若恶意软件不止篡改了固件的当前内容,还将编译阶段固件内容对应的字符串也篡改了,则字符串比较时可能是一致的,本保护方法将失效。为了防止字符串也被篡改,优选地对字符串进行加密,则在编译阶段得到一个与编译所得字符串对应的原始密文,在固件写入设备后,采用同样的加密算法对当前字符串进行加密,得到当前密文,将当前密文与原始密文比较,相当于将当前字符串与编译阶段的字符串比较,同样能够判断固件是否被改写。如此,可以将字符串加密后再写入固件末尾,由于密文难以破译,因而避免了被改写的风险,同时也能防止根据字符串推断映射算法的情况,从而对本保护方法本身进行保护。
本发明嵌入式设备固件的保护装置是与上述保护方法对应的装置,如图2所示,包括编译模块和固件检测模块。
编译模块,用于在固件编译阶段,采用预定的算法,将固件内容映射成字符串;固件检测模块,用于在固件写入嵌入式设备后,采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串,并与固件编译阶段所得字符串比较,若一致则判定固件未被篡改,若不一致则判定固件已被篡改,启动保护措施。
作为一个优选的实施例,所述固件编译模块还用于在固件编译阶段,对映射成的字符串加密;所述固件检测模块还用于在固件写入嵌入式设备后,对重新映射成的字符串加密,并将所得密文与固件编译阶段所得密文比较,用密文是否一致反映固件内容是否被篡改。
作为一个优选的实施例,所述预定的算法为哈希算法或CRC校验算法。
作为一个优选的实施例,所述固件检测模块在固件写入嵌入式设备后,在嵌入式设备启动时和/或间隔预设周期时,再采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串。
作为一个优选的实施例,所述保护措施包括发出告警、停止设备操作,或毁弃当前固件。
由于本保护装置是与上述保护方法对应的,技术特征不再重复解释。
综上,本发明嵌入式设备固件的保护方法与装置,将写入设备后的固件内容对应的字符串与写入设备前固件对应的字符串比较,根据比较结果判断固件是否被篡改,一旦发现被篡改,即刻启动保护措施,避免嵌入式设备陷入固件篡改导致的风险。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种嵌入式设备固件的保护方法,其特征在于,包括步骤:
在固件编译阶段,采用预定的算法,将固件内容映射成字符串;
当固件写入嵌入式设备后,采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串,并与固件编译阶段所得字符串比较,若一致则判定固件未被篡改,若不一致则判定固件已被篡改,启动保护措施。
2.根据权利要求1所述的嵌入式设备固件的保护方法,其特征在于,还包括步骤:
在固件编译阶段,对映射成的字符串加密;
当固件写入嵌入式设备后,也对重新映射成的字符串加密;
将固件编译阶段所得密文与固件写入后所得密文比较,用密文是否一致反映固件内容是否被篡改。
3.根据权利要求1或2所述的嵌入式设备固件的保护方法,其特征在于,
所述预定的算法为哈希算法或CRC校验算法。
4.根据权利要求1或2所述的嵌入式设备固件的保护方法,其特征在于,
当固件写入嵌入式设备后,在嵌入式设备启动时和/或间隔预设周期时,再采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串。
5.根据权利要求1或2所述的嵌入式设备固件的保护方法,其特征在于,
所述保护措施包括发出告警、停止设备操作,或毁弃当前固件。
6.一种嵌入式设备固件的保护装置,其特征在于,包括:
编译模块,用于在固件编译阶段,采用预定的算法,将固件内容映射成字符串;
固件检测模块,用于在固件写入嵌入式设备后,采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串,并与固件编译阶段所得字符串比较,若一致则判定固件未被篡改,若不一致则判定固件已被篡改,启动保护措施。
7.根据权利要求6所述的嵌入式设备固件的保护装置,其特征在于,
所述固件编译模块还用于在固件编译阶段,对映射成的字符串加密;
所述固件检测模块还用于在固件写入嵌入式设备后,对重新映射成的字符串加密,并将所得密文与固件编译阶段所得密文比较,用密文是否一致反映固件内容是否被篡改。
8.根据权利要求6或7所述的嵌入式设备固件的保护装置,其特征在于,
所述预定的算法为哈希算法或CRC校验算法。
9.根据权利要求6或7所述的嵌入式设备固件的保护装置,其特征在于,
所述固件检测模块在固件写入嵌入式设备后,在嵌入式设备启动时和/或间隔预设周期时,再采用与固件编译阶段同样的算法,将固件当前内容重新映射成字符串。
10.根据权利要求6或7所述的嵌入式设备固件的保护装置,其特征在于,
所述保护措施包括发出告警、停止设备操作,或毁弃当前固件。
CN201410498565.7A 2014-09-25 2014-09-25 嵌入式设备固件的保护方法与装置 Pending CN104298935A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410498565.7A CN104298935A (zh) 2014-09-25 2014-09-25 嵌入式设备固件的保护方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410498565.7A CN104298935A (zh) 2014-09-25 2014-09-25 嵌入式设备固件的保护方法与装置

Publications (1)

Publication Number Publication Date
CN104298935A true CN104298935A (zh) 2015-01-21

Family

ID=52318657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410498565.7A Pending CN104298935A (zh) 2014-09-25 2014-09-25 嵌入式设备固件的保护方法与装置

Country Status (1)

Country Link
CN (1) CN104298935A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798247A (zh) * 2017-11-24 2018-03-13 长沙理工大学 一种基于嵌入式系统的计量器具校准方法
CN108491289A (zh) * 2018-03-22 2018-09-04 北京顶象技术有限公司 固件保护方法及装置
CN109657425A (zh) * 2018-12-10 2019-04-19 积成电子股份有限公司 一种电能表程序的现场保护方法
CN113722742A (zh) * 2021-09-13 2021-11-30 青岛海信宽带多媒体技术有限公司 终端及终端对光模块mcu的固件文件加密存储方法
WO2022120572A1 (zh) * 2020-12-08 2022-06-16 深圳欣锐科技股份有限公司 一种篡改验证方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1371050A (zh) * 2001-02-20 2002-09-25 英业达股份有限公司 一种生成具有自检测和自修复功能的应用程序的方法
CN1512342A (zh) * 2002-12-27 2004-07-14 技嘉科技股份有限公司 智能型固化软件的升级控制方法
CN101236496A (zh) * 2007-01-29 2008-08-06 展讯通信(上海)有限公司 一种软件一致性检测方法和装置
CN102402470A (zh) * 2011-12-19 2012-04-04 青岛海信网络科技股份有限公司 闪存程序自动纠错修复方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1371050A (zh) * 2001-02-20 2002-09-25 英业达股份有限公司 一种生成具有自检测和自修复功能的应用程序的方法
CN1512342A (zh) * 2002-12-27 2004-07-14 技嘉科技股份有限公司 智能型固化软件的升级控制方法
CN101236496A (zh) * 2007-01-29 2008-08-06 展讯通信(上海)有限公司 一种软件一致性检测方法和装置
CN102402470A (zh) * 2011-12-19 2012-04-04 青岛海信网络科技股份有限公司 闪存程序自动纠错修复方法及装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107798247A (zh) * 2017-11-24 2018-03-13 长沙理工大学 一种基于嵌入式系统的计量器具校准方法
CN108491289A (zh) * 2018-03-22 2018-09-04 北京顶象技术有限公司 固件保护方法及装置
CN109657425A (zh) * 2018-12-10 2019-04-19 积成电子股份有限公司 一种电能表程序的现场保护方法
WO2022120572A1 (zh) * 2020-12-08 2022-06-16 深圳欣锐科技股份有限公司 一种篡改验证方法及装置
CN113722742A (zh) * 2021-09-13 2021-11-30 青岛海信宽带多媒体技术有限公司 终端及终端对光模块mcu的固件文件加密存储方法
CN113722742B (zh) * 2021-09-13 2024-04-16 青岛海信宽带多媒体技术有限公司 终端及终端对光模块mcu的固件文件加密存储方法

Similar Documents

Publication Publication Date Title
CN104298935A (zh) 嵌入式设备固件的保护方法与装置
MX2019006678A (es) Sistema y procedimientos de deteccion de cryptoware.
CN104217161B (zh) 一种病毒扫描方法及系统、终端设备
KR101900841B1 (ko) 이동 단말기의 애플리케이션 프로그램 패스워드를 보호하는 방법 및 장치
WO2015013376A3 (en) Systems and methods for self-tuning network intrusion detection and prevention
US20180204004A1 (en) Authentication method and apparatus for reinforced software
CN104063660B (zh) 一种病毒扫描方法、装置及终端
CN104751054A (zh) 恶意程序的识别方法及装置、移动终端
CN103530559A (zh) 一种Android系统的完整性保护系统
CN104217162A (zh) 一种智能终端恶意软件的检测方法及系统
CN103064706A (zh) 虚拟机系统的启动方法和装置
CN102637422B (zh) 一种字模获取方法、字符显示装置和系统,电子签名工具
WO2019134276A1 (zh) 一种保护网页代码的方法、存储介质、电子设备和系统
KR100954356B1 (ko) 코드 보호 기법을 고려한 악성 프로그램 감지 시스템 및 그방법
CN103034810B (zh) 一种检测方法、装置及电子设备
US20150371525A1 (en) Power distribution unit and alarm method applied in the same
CN103425910B (zh) 程序中函数是否被非法调用的检测方法
CN103369555A (zh) 一种用于检测手机病毒的方法和装置
CN105162770A (zh) 一种智能家庭安全防护系统及其控制方法
CN105809494A (zh) 发票生成及验证方法及系统
CN105760750B (zh) 软件篡改识别方法和系统
CN105975860B (zh) 一种信任文件管理方法、装置及设备
TW200638236A (en) Protection System and method of computer security
CN104298914A (zh) 应用程序检测系统及方法
CN105701401B (zh) 安卓设备及其控制方法和控制装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20150121