嵌入式系统安全机制探讨

合集下载

嵌入式监督政策法规

嵌入式监督政策法规

嵌入式监督政策法规
嵌入式监督政策法规是指在嵌入式系统设计和开发过程中,遵守相关政策和法规的监督和管理机制。

嵌入式系统是指内置在特定设备或系统中,用于控制、管理或支持该设备或系统运行的软件和硬件。

嵌入式监督政策法规的主要目的是确保嵌入式系统的安全性、可靠性、合规性和可追溯性。

嵌入式监督政策法规可以从以下几个方面进行管理:
1. 安全性监督:确保嵌入式系统不会对人身安全和财产安全产生风险。

相关政策和法规可以包括物联网设备安全标准、密码法规等。

2. 数据隐私监督:保护个人数据的隐私和安全,确保嵌入式系统在处理和传输数据时符合相关隐私法规,如欧盟的通用数据保护条例(GDPR)。

3. 知识产权保护:确保嵌入式系统的设计和开发不侵犯他人的知识产权,例如专利、商标和著作权等。

4. 环境保护:嵌入式系统应符合相关环境保护法规,包括节能减排、废物管理和有害物质限制等。

例如,欧盟的RoHS(限制使用某些有害物质指令)和WEEE(废弃电子电器设备指令)。

5. 法律合规性:确保嵌入式系统的设计和开发符合国家和地区的相关法律法规要求,如产品安全认证、进出口规定等。

嵌入式监督政策法规的执行可以由相关政府部门、行业组织和标准化组织进行监督和管理。

制定和遵守这些政策和法规对于保护用户权益、促进技术发展和推动行业规范化具有重要意义。

Linux网络操作系统安全机制探究

Linux网络操作系统安全机制探究
L i n u x 网络 操作系统是 一种 支持嵌 入式 系统应用 的操作 系统 软 记录当前和历史上登录到系统的用户的登 录时间、 地 点和注销时 件, 它是嵌入式 系统( 包括硬 、 软件系统) 极 为重要 的组成 部分 , 通常包 间等信息 。 可 以用 l a s t 命令 查看 , 若想清 除系统登录信息 , 只需删除这 括与硬件相关 的底层驱动 软件 、 系统 内核 、 设 备驱动接 口、 通信协议 、 个 文件 . 系统会生成新 的登录信息 图形界面 、 标准化浏览 器等。 与通用操作系统相 比较 , 嵌入式操作 系统 L i n u x 网络操作系统提供 了用户帐号 、 文件 系统权 限和系统 日志 在系统实时高效性 、 硬件 的相关依赖性 、 软件 固态化 以及 应用的专用 文 件等基本安全机制 . 如果这些安 全机制配置不 当 . 就会使 系统存 在 性等方 面具有较为 突出的特点 定 的 安 全 隐患 1 . 4 其 他 安 全 机 制 1 L i n u x网 络操 作 系统 安 全 机 制 探 究 基于用户名与 口令的身份标识 与鉴别机制在安全上 的不足 . 主要 L i n u x网络操作系统提供 了用户帐号 、文件系统权限和系统 日志 表现在 口令 的易猜测性和泄露性 针对 口令 的易猜测和泄露 的特点 . i n u x 提供 了一定保 护措施 .主要有密码设置的脆弱性警告 、 文件 等基本安全机制 . 如果这 些安全机制 配置不 当. 就会使 系统存在 嵌入式 L 口令有效 期 、一次性 E l 令 、先进 的口令加 密算法 、使 用影子 文件 定 的安 全 隐患 ( s h a d 0 w i f l e ) 、 帐户加锁等 。嵌人式 kn u x 系统 中, 通过 自主访 问控制 1 . 1 L i n u x系统 的用 户 帐号 但是这种 自主访 问控制过于简单 , 为 在L i n u x 系统 中. 用 户帐号是用 户 的身 份标志 . 它 由用户 名和用 来确保主体访问客体的安全性 . 嵌入式 L i n u x 提供 了限制 性 s h e l l 、 特殊属主 、 文件 系统 的加 载 限 户E 1 令 组成。在 L i n u x 系统 中. 系统将输入 的用户名存放在用户密码 此 , 以及加密文件系统来 提高系统安全 。 此外 , 嵌入式 L i n u x还通过对 文件 中. 而将输入 的口令 以加密 的形式存放在 日志文件中 在正常情 制 . 在一定 程度上 限制 了超级用户给系统带来 的 况下 , 这些 口令和其他信息 由操作 系统保护 . 能够对其进行 访问的只 根用户进行适当的限制 . h e l l 、 入侵检测 、 防火墙等 , 从网络安全 的角度提高 能是超级用户( r o o t ) 和操作 系统的一些应用程序 但是如果配置不 当或 安全 隐患 。而安全 s 在一些系统运行 出错 的情况下 . 这些信息可以被普 通用户得 到 进而 . 了系统的安全性

功能安全的策略

功能安全的策略

功能安全的策略
功能安全的策略是为了确保嵌入式系统,在发生故障或错误时,能够持续提供安全的操作和功能。

以下是一些常见的功能安全策略:
1. 故障与错误的预防和检测:通过使用可靠的设计和开发方法,预防系统故障和错误的发生,并使用故障检测和诊断机制来及时发现和处理故障。

2. 可靠性评估:对系统进行全面的可靠性评估,包括故障模式和影响分析(FMEA)和故障树分析(FTA)等方法,以识别
潜在的故障模式和故障对系统安全的影响。

3. 冗余设计:使用冗余设计来提高系统的可靠性和冗余,以确保即使有单个组件或系统的故障,系统仍然能够正常运行。

4. 异常处理和容错机制:在系统中实施异常处理和容错机制,以便在出现错误或故障时能够检测和快速响应,并采取适当的措施来确保系统的安全。

5. 安全验证和验证:对系统进行全面的安全验证和验证,包括实际测试、仿真和模型检查等方法,以确保系统在各种故障和错误条件下的安全操作和功能。

6. 检查和监测:在系统中实施故障检查和实时监测机制,以及相应的故障处理和报警系统,以及故障和错误的记录和回顾。

7. 社会法律责任:遵循相关的法律法规和标准,如ISO 26262等,以确保系统的安全性和合法性,并明确对故障和错误造成的潜在影响和责任。

总之,功能安全的策略是多个方面的综合措施,从预防、检测、冗余设计到验证和监测等,旨在确保嵌入式系统在故障和错误条件下的安全操作和功能。

嵌入式软件开发的关键技术及挑战

嵌入式软件开发的关键技术及挑战

嵌入式软件开发的关键技术及挑战近年来,嵌入式系统在诸多领域中扮演着重要角色,从智能家居设备到医疗器械,从交通工具到工业自动化,无处不见嵌入式系统的身影。

而嵌入式软件开发作为嵌入式系统的重要组成部分,也在不断地演进与发展。

本文将探讨嵌入式软件开发的关键技术及挑战,并为读者提供深入了解该领域的基本知识。

嵌入式软件开发是一种特殊领域的软件开发,主要用于为嵌入式系统提供功能和控制。

相较于桌面软件开发,嵌入式软件开发面临着一些特殊的挑战,其中一些关键技术如下所述。

首先,嵌入式软件开发需要丰富的硬件知识。

嵌入式系统通常与特定硬件平台紧密结合,因此软件开发者需要了解并熟悉所用硬件平台的特性和限制。

对于嵌入式软件开发人员来说,熟悉处理器体系结构、寄存器级编程以及硬件逻辑是至关重要的。

此外,嵌入式软件开发人员还需要理解硬件与软件之间的互动,以便能够最优化地配置和使用硬件资源。

其次,嵌入式软件开发需要设计高效的算法和优化代码。

由于嵌入式系统通常具有有限的资源(如处理能力、存储容量等),嵌入式软件必须在这些限制下运行。

因此,开发人员需要设计和实现高效的算法,使系统能够在有限资源下实现期望的功能。

为了提高性能,嵌入式软件开发人员还需要优化代码,减少计算和存储开销。

这要求开发人员具备扎实的算法和数据结构知识,以及良好的编程技巧。

除此之外,嵌入式软件开发还需要考虑可靠性和安全性。

嵌入式系统通常运行在关键环境中,例如医疗设备、航空航天系统等,其可靠性和安全性至关重要。

开发人员需要对系统进行严格的测试和验证,以确保其能够可靠地运行,并对可能出现的错误进行预防和处理。

此外,由于嵌入式系统被连接到网络中,安全性也变得非常重要。

开发人员需要采取安全措施来保护系统免受潜在攻击的威胁。

另一个关键技术是实时性和响应性。

许多嵌入式系统需要实时响应外界事件,例如汽车制动系统、航空导航系统等。

因此,嵌入式软件必须能够满足严格的实时性要求。

开发人员需要使用实时操作系统(RTOS)和实时调度算法来保证系统的响应性并确保任务的按时完成。

嵌入式系统中的实时操作系统研究与应用

嵌入式系统中的实时操作系统研究与应用

嵌入式系统中的实时操作系统研究与应用嵌入式系统是指被嵌入在其他设备中的电子计算系统。

这种系统通常具有小巧、低功耗、低成本等特点。

嵌入式系统被广泛运用于智能家居、智能交通、医疗器械、工业控制等领域。

嵌入式系统最重要的特点之一就是实时性。

实时性是指系统能够在预定的时间内,按照既定的要求完成任务。

因此,在嵌入式系统中,实时操作系统是非常重要的。

本文将围绕嵌入式系统中的实时操作系统进行研究探讨。

一、实时操作系统概述实时操作系统(RTOS)是嵌入式系统中最常见的操作系统类型之一。

RTOS是一种使得系统能够及时响应外部事件,按时完成任务的操作系统。

它具有高度的可预测性和可靠性。

RTOS常被运用于需要实时响应的设备中,如航空飞行控制系统、医疗监测设备、智能交通系统等。

与一般的操作系统不同,RTOS需要具备以下特点:1.响应速度快:实时操作系统需要及时响应任务,而且响应时间必须小于任务的时间限制。

2.可预测性:实时操作系统需要保证任务在规定时间内完成,因此必须具有可预测性。

3.可靠性:RTOS需要保证任务的可靠性,确保任务能够按时完成,不出错。

4.实时性:RTOS需要保证系统实时性,能够在规定时间内完成任务。

二、实时系统的分类按照实时性的要求,实时系统可以分为硬实时系统和软实时系统。

硬实时系统:硬实时系统对任务的响应时间有极高的要求,任务必须在严格的时间限制内完成。

举例来说,发生在航空飞行控制系统中的事件必须在极短的时间内得到响应,否则将带来灾难性的后果。

软实时系统:软实时系统对任务的响应时间要求有所放宽,任务可以在更广泛的时间范围内完成。

虽然并不是所有任务都必须在规定时间内得到响应,但是任务响应的时间超出一定的范围,也会对系统造成灾难性的后果。

通常,软实时系统和硬实时系统一同出现在一个复杂的嵌入式系统中。

三、实时操作系统的调度机制实时操作系统可以采用不同的调度策略。

常见的调度策略如下:1.先进先出调度(FIFO):按照任务的到来顺序进行调度。

汽车嵌入式软件开发流程与质量保障研究

汽车嵌入式软件开发流程与质量保障研究

汽车嵌入式软件开发流程与质量保障研究近年来,随着汽车电子技术的飞速发展,汽车嵌入式软件的开发变得越来越重要。

汽车嵌入式软件负责控制和管理车辆的各种功能,包括引擎控制、刹车控制、空调控制等。

因此,确保汽车嵌入式软件的高质量和稳定性对车辆的安全性和便利性至关重要。

为了保证汽车嵌入式软件的质量,需要进行全面的研究和探索。

本篇文章将探讨汽车嵌入式软件开发的流程以及质量保障的方法。

首先,汽车嵌入式软件开发流程是一个复杂的过程,它包括需求分析、设计、编码、测试和发布等多个阶段。

在需求分析阶段,开发团队与客户充分交流,明确软件的功能和性能要求。

在设计阶段,开发团队根据需求分析阶段的结果设计软件的结构和模块。

在编码阶段,开发团队根据设计的要求,使用编程语言将代码转换成机器语言。

在测试阶段,开发团队通过系统测试、冒烟测试和功能测试等手段,检查软件的正确性和稳定性。

在最后一个阶段,开发团队将软件发布到汽车中,开始使用和监测。

这个开发流程的目标是保证每个阶段都严格按照质量控制标准进行,从而最大程度地减少软件中的错误和缺陷。

然而,单纯依靠开发流程还远远不够,还需要进行有效的质量保障措施。

质量保障是指通过一系列方法和技术来确保软件的质量满足预期标准。

在汽车嵌入式软件开发中,质量保障应该包括以下几个方面:首先,应该建立全面有效的测试策略和方法。

测试是发现和纠正软件缺陷的关键环节。

在测试阶段,开发团队应该根据不同的测试目标制定不同的测试策略。

例如,可以使用黑盒测试和白盒测试来验证软件的功能和逻辑正确性。

此外,还应该考虑到边界测试、压力测试和兼容性测试等,以保证软件在各种情况下都能正常运行。

其次,应该加强软件的代码审查和静态分析。

代码审查是指通过对软件代码的检查和评估来提高代码的质量。

静态分析是指使用分析工具对软件源代码进行自动扫描和检测,以发现和纠正潜在的软件缺陷和漏洞。

通过代码审查和静态分析,可以减少软件中的错误和缺陷,提高软件的稳定性和可靠性。

操作系统在嵌入式系统中的应用

操作系统在嵌入式系统中的应用

操作系统在嵌入式系统中的应用嵌入式系统是指集成了硬件和软件的特定功能的计算机系统。

与个人计算机或服务器等大型计算机不同,嵌入式系统通常被用于特定的应用领域,如智能手机、家用电器、汽车电子等。

而在这些嵌入式系统中,操作系统起着关键的作用。

本文将探讨操作系统在嵌入式系统中的应用,并分析其重要性与挑战。

一、嵌入式系统中操作系统的重要性操作系统是嵌入式系统的灵魂和核心。

它负责管理和控制硬件资源,使嵌入式系统能够正常运行。

具体而言,操作系统承担以下几个重要任务:1.资源管理:嵌入式系统通常具有有限的资源,例如处理器、内存和外设等。

操作系统需要合理分配和管理这些资源,以满足不同的功能需求。

通过调度算法,操作系统可以控制和优化处理器的工作顺序,提高系统的响应速度和吞吐量。

2.任务调度:嵌入式系统通常需要同时处理多个任务。

操作系统通过任务调度机制,按照一定的优先级和时间片分配原则,合理安排任务的执行顺序。

这样可以确保系统的正常运行,并提高系统的并发性和效率。

3.设备驱动:嵌入式系统中常常需要与多种外部设备进行交互,如传感器、显示器、音频设备等。

操作系统提供了相应的设备驱动程序,使应用程序可以通过简单的接口与这些设备进行通信。

这减轻了应用程序的开发难度,提高了开发效率。

4.错误处理与调试:嵌入式系统的开发和运行过程中,常常会出现各种错误和异常情况。

操作系统可以提供相应的错误处理机制和调试方式,以帮助开发人员发现并解决问题。

这样可以提高系统的可靠性和可维护性。

二、嵌入式系统中操作系统的应用实例在实际应用中,操作系统在嵌入式系统中有着广泛的应用。

以下是一些常见的嵌入式系统中操作系统的应用实例:1.智能手机:作为一种典型的移动嵌入式设备,智能手机通常搭载了运行Android或iOS等操作系统。

这些操作系统提供了丰富的功能和良好的用户体验,支持多任务处理、多媒体播放、网络通信等功能,使智能手机成为了人们生活中必不可少的工具。

fpga功能安全机制

fpga功能安全机制

FPGA(现场可编程门阵列)的功能安全机制主要关注的是确保FPGA在预期应用中的功能正确性和可靠性。

这种机制通常包括以下方面:
1.故障检测:通过内部自检或外部测试设备检测FPGA的故障。

2.冗余设计:通过增加额外的硬件资源来提高系统的可靠性和容错能力。

3.故障避免:通过设计冗余和容错机制来减少故障发生的可能性。

4.故障处理:一旦检测到故障,系统应采取适当的措施来处理,例如降级、回退或重
新启动。

5.安全性考虑:确保FPGA在面临潜在的安全威胁时能够保持其功能完整性。

这可能
涉及到加密、防火墙、入侵检测等安全措施。

在工业4.0环境中,由于FPGA在嵌入式系统中的广泛应用,其功能安全机制变得尤为重要。

采用纵深防御安全机制,加强具有安全层的硬件,可以增强FPGA的安全性。

同时,还需要保证数据的完整性和可靠性,防止篡改和伪造攻击。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

- 0 - 嵌入式系统安全机制探讨 一、嵌入式系统所面临的安全问题 一套完整的嵌入式系统由相关的硬件及其配套的软件构成;硬件部分又可以划分为电路系统和芯片两个层次。在应用环境中,恶意攻击者可能从一个或多个设计层次对嵌入式系统展开攻击,从而达到窃取密码、篡改信息、破坏系统等非法目的。若嵌入式系统应用在诸如金融支付、付费娱乐、军事通讯等高安全敏感领域,这些攻击可能会为嵌入式系统的安全带来巨大威胁,给用户造成重大的损失。根据攻击层次的不同,这些针对嵌入式系统的恶意攻击可以划分为软件攻击、电路系统级的硬件攻击以及基于芯片的物理攻击三种类型,如图1所示。

图1嵌入式系统所面临的安全威胁 在各个攻击层次上均存在一批非常典型的攻击手段。这些攻击手段针对嵌入式系统不同的设计层次展开攻击,威胁嵌入式系统的安全。下面本文将对嵌入式系统不同层次上的攻击分别予以介绍。 1、软件层次的安全性分析 在软件层次,嵌入式系统运行着各种应用程序和驱动程序。在这个层次上,嵌入式系统所面临的恶意攻击主要有木马、蠕虫和病毒等。从表现特征上看,这些不同的恶意软件攻击都具有各自不同的攻击方式。病毒是通过自我传播以破坏系统的正常工作为目的;蠕虫是以网络传播、消耗系统资源为特征;木马则需要通过窃取系统权限从而控制处理器。从传播方式上看,这些恶意软件都是利用通讯网络予以扩散。在嵌入式系统中最为普遍的恶意软件就是针对智能手机所开发的

软件 系 统

芯 片 - 1 -

病毒、木马。这些恶意软件体积小巧,可以通过 SMS(ShortMessagingservice)短信、软件下载等隐秘方式侵入智能手机系统,然后等待合适的时机发动攻击。 尽管在嵌入式系统中恶意软件的代码规模都很小,但是其破坏力却是巨大的。 2005年在芬兰赫尔辛基世界田径锦标赛上大规模爆发的手机病毒Cabir便是恶意软件攻击的代表。截至到2006年4月,全球仅针对智能手机的病毒就出现了近两百种,并且数量还在迅猛增加。恶意程序经常会利用程序或操作系统中漏洞获取权限,展开攻击。最常见的例子就是由缓冲区溢出所引起的恶意软件攻击。攻击者利用系统中正常程序所存在的漏洞,对系统进行攻击。图2.就描述了一段具有安全隐患的程序代码。在主程序f()中调用了g()子程序,其中参数x、y以指针的形式进行传递,字符串x的内容将被复制到本地变量b中,然而在这一过程中程序并没有进行检查字符串x的大小。因此,恶意攻击者可以在程序在运行的过程中利用该漏洞展开缓冲区溢出攻击。 攻击者所采取的具体攻击方法如图3所示。在系统运行过程中,当子程序调用系统函数strcpy()时,若攻击者输入的字符串x大于b的大小,则会在内存片段中发生溢出,程序会跳转到攻击者所设计的危险代码中,从而导致程序的控制权为恶意攻击者所获取。在这一过程中,攻击者必须要了解处理器的体系结构与执行方式,掌握正常程序中所存在的漏洞,同时还要能够将危险的程序代码注入到系统中,才能够完成软件攻击。 - 2 -

图2具有安全隐患的代码 图3缓冲溢出攻击 因而,随着嵌入式系统日益推广应用,其己经不像过去那么安全。恶意软件攻击可以根据恶意攻击者的需求对嵌入式系统实施干扰、监视甚至远程控制,己经对嵌入式系统的安全应用构成了实质性的威胁。 2、系统层次的安全性分析 在嵌入式设备的系统层次中,设计者需要将各种电容、电阻以及芯片等不同的器件焊接在印刷电路板上组成嵌入式系统的基本硬件,而后将相应的程序代码写入电路板上的非易失性存储器中,使嵌入式系统具备运行能力,从而构成整个系统。为了能够破解嵌入式系统,攻击者在电路系统层次上设计了多种攻击方式。这些攻击都是通过在嵌入式系统的电路板上施加少量的硬件改动,并配合适当的底层汇编代码,来达到欺骗处理器、窃取机密信息的目的。在这类攻击中,具有代表性的攻击方式主要有:总线监听、总线篡改以及存储器非法复制等攻击方式。 攻击者为了实现系统级攻击,首先需要在硬件层次上对嵌入式系统进行修改,增加必要的攻击电路,从而构成硬件攻击平台。图4描述了一套用于总线监听的攻击平台。恶意攻击者将一块FPGA电路板挂载在嵌入式系统的数据总线与地址总线上。通过配置FPGA器件,攻击者可以构建攻击所需要的各种监控逻辑,从而捕捉系统总线中的通信信息,为攻击者提供分析所需的数据素材。此外,FPGA - 3 -

电路板还对嵌入式处理器的通用接口进行监听。当程序指令运行到操作通用接口时,FPGA电路板可以在截获程序指令的同时捕获接口上的电平变化,从而为分析嵌入式系统的程序提供数据支持。FPGA搜集到的所有信息都将上传到攻击者的 PC(PersonalComPuter)中,帮助攻击者对嵌入式系统的运行方式进行解析。攻击者在侦测总线、监听通讯的基础上,还可以对处理器与外部设备之间的通讯进行修改,从而破坏系统的正常运行,这种攻击被称为总线篡改攻击。

图4基于总线监听的攻击平台 在总线监听的攻击平台上,攻击者只需要进行少量的硬件改动即可实施总线篡改攻击。攻击者在硬件上的工作是要在系统总线上插入多路选择器,使得攻击平台可以旁路嵌入式处理器在与外部设备之间的正常通讯。除此以外,攻击者还需要对FPGA器件进行重新配置,使其能够在系统运行时伪装成嵌入式系统中的正常外设,欺骗嵌入式处理器。当嵌入式处理器对外部设备进行通讯时,由FPGA电路板对外部设备的应答予以篡改,或者直接伪造应答,从而诱导嵌入式处理器完成各种攻击者所需要的相关操作。 总线监听攻击可以帮助恶意攻击者盗取保存在片外存储器中的有价值信息;总线篡改攻击可以帮助恶意攻击者控制嵌入式系统的运行;在适当的软件配合下,总线篡改攻击还可以完成对加密系统的暴力攻击。在实际攻击中,这两种攻击方式经常结合起来,共同对嵌入式系统展开攻击。 - 4 -

3、芯片层次的安全性分析 嵌入式系统的芯片是硬件实现中最低的层次,然而在这个层次上依然存在着面向芯片的硬件攻击。这些攻击主要期望能从芯片器件的角度寻找嵌入式系统安全漏洞,实现破解。根据实现方式的不同,芯片级的攻击方式可以分为侵入式和非侵入式两种方法。其中,侵入式攻击方式需要将芯片的封装予以去除,然后利用探针等工具直接对芯片的电路进行攻击。侵入式的攻击方式中,以硬件木马攻击最具代表性。而非侵入式的攻击方式主要是指在保留芯片封装的前提下,利用芯片在运行过程中泄露出来的物理信息进行攻击的方式,这种攻击方式也被称为边频攻击。硬件木马攻击是一种新型的芯片级硬件攻击。这种攻击方式通过逆向工程分析芯片的裸片电路结构,然后在集成电路的制造过程中,向芯片硬件电路中注入的带有特定恶意目的的硬件电路,即“硬件木马”,从而达到在芯片运行的过程中对系统的运行予以控制的目的。硬件木马攻击包括木马注入、监听触发以及木马发作三个步骤。首先,攻击者需要分析芯片的内部电路结构,在芯片还在芯片代工厂制造时将硬件木马电路注入到正常的功能电路中;待芯片投入使用后硬件木马电路监听功能电路中的特定信号;当特定信号达到某些条件后,硬件木马电路被触发,木马电路完成攻击者所期望的恶意功能。经过这些攻击步骤,硬件木马甚至可以轻易地注入到加密模块中,干扰其计算过程,从而降低加密的安全强度。在整个攻击过程中,硬件木马电路的设计与注入是攻击能否成功的关键。攻击者需要根据实际电路设计,将硬件木马电路寄生在某一正常的功能电路之中,使其成为该功能电路的旁路分支。 硬件木马攻击只需要植入很小规模的电路就可以对芯片的功能造成显著影响。基于侵入式的芯片级硬件攻击对整体系统的功能破坏非常奏效。 另一方面,以不破坏芯片的物理封装为特点的边频攻击,利用芯片在工作时的功耗、时间、电磁辐射等物理特性推断芯片的工作方式,猜测系统中的密文信息。边频攻击中,以差分功耗分析最具代表性。 差分功耗分析根据嵌入式处理器芯片使用固定密钥对输入的多组不同明文数据进行加密操作时CMOS(complementary Metal Oxide Semieonduetor)电路的功耗变化情况,猜测局部密钥位与可量测输出之间的区分函数,并将区分函数的输出与实际功耗曲线进行对比验证,从而分析出嵌入式处理器在加密操作中所 - 5 -

使用的密钥。尽管攻击者无需在硬件平台上进行大量的改动,但是在攻击过程中,攻击者需要有处理器准确的功耗模型,并且在实施攻击的过程中,电路板的环境噪声、示波器的采样频率、数据深度等因素都对攻击的结果造成直接的影响。因而,在实际环境中的边频攻击存在着局限性。 这些攻击方式都各具特点。软件攻击的攻击范围广泛、实施容易,且不易发觉,但是其对攻击对象的平台依赖度高,传播需要借助网络等通讯手段。嵌入式系统多种多样,并且不是所有的系统都采用相同的开放操作系统,还有大量的嵌入式设备处于离线工作状态中。此外为满足不同的应用环境的需求,不少设备都是使用封闭的或者特别定制的软件系统,有的设备甚至没有操作系统。这样的软件环境大大降低了恶意软件的威胁。 而芯片级的物理攻击在实际攻击中会受到各种约束条件的限制。首先,对于侵入式的芯片级硬件攻击来说,其攻击成本非常高昂,并且每次攻击都只能针对一块芯片。对攻击者来说,实现起来也困难,必须要借助专门的实验环境才能完成有效攻击。然而最重要的一点是侵入式的芯片级硬件攻击无法了解系统在运行过程中的情况。另一方面,对于非侵入式的芯片级硬件攻击需要有精确的芯片模型作为参考,并且对嵌入式系统的工作环境要求严格,环境误差对攻击结果的影响明显,因而也无法广泛地针对嵌入式系统展开攻击。 相反在实际攻击中,采用系统级的硬件攻击最为现实。首先,系统级的硬件攻击可以针对任何能够运行的嵌入式系统;其次攻击者可以通过系统级的硬件攻击确切地掌握嵌入式设备在运行时的数据信息;最后,系统级的硬件攻击成本低廉的特点使得攻击者可以很容易地实现。因此,就实际意义而言,系统级攻击,特别是总线监听以及篡改攻击,才是嵌入式系统在运行过程中所需要面临的最主要安全威胁。 各种攻击方式的特性比较如表1所示。 表1各类攻击方式的特性比较 软件攻击 系统级硬件攻击 侵入式芯片级硬件攻击 非侵入式芯片级硬件攻击 技术难度 容易 容易 低 单个系统

平台依赖性 局 一般 廉价 困难

相关文档
最新文档