集成测试范例(3篇)
时间:2024-03-17
时间:2024-03-17
为了考察这种主板的性能,尤其是其整合的显示性能到底怎样。我们特意对一款极具代表性的Geforce9系列主板进行了测试。
这款名为P5N7A-VM的主板,出自主板大厂华硕之手。不但做工细腻,而且性能稳定。作为头一批采用Geforce9系列芯片组主板的领军产品,目前它已经成为了很多玩家心中喜爱的宠物。
需要在此指出的是:Geforce9系列芯片组拥有两个不同的版本,它们分别采用GeForce9300和GeForce9400的显示核心。其中,GeForce9400的显示核心拥有更高的Croe和shader频率。不过,在目前面市的这几款产品中,均采用了相对较弱的GeForce9300显示核心。但同时,令玩家们感到欣慰的是:无论是GeForce9300显示核心还是GeForce9400显示核心,它们与目前OEM的同型号独立显卡的产品规格是基本一致的。除了具备比前一代GeForce8200/8300显示核心多出一倍的16个流处理器外,GeForce9300/9400还完全支持AVC和VC-1的硬件解码技术。简单的说,除了显存规格与独立显卡不同外,MCP7A芯片组所采用的显示核心与相应规格独立显卡中的显示核心是基本相同的。
图注:GeForce9400核心与GeForce9300核心的参数对照。从中我们不难看出:两者的差别,主要在Core/ShaderClock一个项目上。GeForce9400核心的标称参数要略高于GeForce9300核心。
【关键词】安全测试;软件设计;统一建模语言;安全模式
1引言
随着信息技术的快速发展,计算机网络及信息系统广泛地应用于政府机关、军事部门、商业企业等各个领域,极大地改善了人们的生产条件和生活水平,深刻改变并持续地影响着人们对未来的认识。与此同时,非法访问、恶意攻击、信息窃取、木马病毒等各种针对计算机网络和信息系统的攻击手段层出不穷,给各行各业造成了巨大的损失。其中,由于软件脆弱性原因而导致的重大安全事件屡见不鲜。软件脆弱性是指在软件的需求分析、设计、编码和运行期间存在的漏洞,利用该漏洞可能危害系统的安全。经验证明,防止软件脆弱性的最佳实践就是在软件的设计阶段引入安全设计,将安全特性应用在软件的每一个方面,而不是在事后作为补救措施来添加安全特性。
传统意义上的软件开发更关注软件设计上是否满足功能、性能和操作等业务需求,忽略甚至无视软件的安全需求,从而导致软件存在可以被攻击者非法利用的安全隐患。因此,本文提出一种以安全模式为基础,通过扩展统一建模语言支持安全测试的软件设计方法。
2相关概念
2.1UML的扩展机制
统一建模语言(UnifiedModelingLanguage,UML)是一种通用的可视化建模语言,适用于软件生命周期的各个阶段。尽管UML已经提供了丰富的建模元素和符号,可满足大多数情况下对软件的建模需要,但缺少必要的对软件进行安全建模的要素。使用UML的profile应用扩展机制自定义安全特性要素可实现软件安全特定领域建模。
2.2安全模式
在信息安全领域公认原则是,使用标准的、经过长期时间检验的解决方案来保证软件在其生命周期内安全、有效和稳定地运行。安全模式描述了在特定场景下重复发生的问题,并为这些问题提供了经过实践被证明是安全的通用解决方案。
3集成安全测试的软件开发方法
开发人员在软件设计阶段就要时刻有安全观念,考虑软件安全需求,定义软件安全目标,了解网络常用攻击技术、方法及应对措施,对软件面临的安全威胁进行建模,编写满足安全目标的测试用例,引入安全模式进行软件架构设计并评审,及早发现安全问题。
3.1需求分析
一般情况下,在软件需求分析阶段,软件设计人员最常见的一种错误就是只注重软件的业务需求,往往忽略了软件的安全需求。“安全的软件开发生命周期(SDL)”描绘了一种结构化的方法,用以贯彻和实现软件的安全开发。遵守SDL,安全问题可以在软件生命周期的早期得以评估和解决。
在软件需求分析阶段,除了功能、性能、操作等需求外,设计者还要考虑几个问题。
1)安全需求和原则
在需求分析阶段,设计者就必须考虑安全原则及规则,创建一份系统范围的规范,编写系统涉及到的安全需求。安全需求可能是明确的(包含在业务需求内),也可能是模糊的、含混的甚至是没有说明的。OWASP(开放式Web应用程序安全计划组织)制定了一些安全标准和指南用以指导软件设计者遵循安全设计原则来开发软件。据此,设计者可以对软件的安全性做出概要说明,阐述软件在所设计的运行环境中面临的安全威胁有哪些。
2)安全目标
安全目标是指为使软件在所设计的运行环境中能够有效运行,防止、缓解外部攻击对系统可能造成的危害而采取的措施和必须达到的要求。安全目标的制定可以减少软件的“特性蔓延”,防止添加不必要的特性而导致软件脆弱性的出现。安全目标与需求相关。对于明确的安全需求,
3)威胁模型
威胁模型的基本观点是,如果不对系统所面临的威胁进行评估,以及采取措施降低威胁风险,那么就无法建立起安全的系统。威胁模型有助于设计者更好地理解所开发的系统,发现较高层次的设计问题,判断出系统最具风险的“安全关键点”,确定系统的风险区域和采取的技术手段。
4)安全策略
为了防止、缓解威胁模型所描述的系统威胁,必须制定系统的安全策略,采用必要的安全技术和手段。安全模式描述了在特定场景下重复发生的问题,并为这些问题提供了经过实践被证明是安全的通用解决方案。以安全模式为基础,分析威胁模型所发现的问题,制定安全策略,可以建立安全的、有效地系统解决方案,防止使用临时的、随意的系统解决方案。
3.2软件设计
3.2.1软件功能形式化分解
从业务需求的角度出发,软件被划分为多个功能,每个功能的实现都是由单个或多个组件(模块)来完成的。软件功能形式化分解的任务是确定软件中相对独立功能的边界或作用范围。一般来说,软件脆弱性的产生通常是由于对数据不正确的处理造成的,特别是当数据从不可信任区域进入可信任区域时。使用数据流图(DFD,DataFlowDiagram)以数据为核心,对软件功能进行形式化分解,根据数据传递的方向和作用范围,设定可信任区域和不可信任区域之间的边界。
在图2中,假设软件功能A是由模块1和模块2共同完成,其中模块2接收并储存模块1传递的数据。
3.2.2威胁建模
软件功能形式化分解把软件功能的内部实现分为可信任区域和不可信任区域。处于不可信任区域的组件(模块)是威胁建模的设定目标,注重分析其运行过程中可能面临的安全威胁有哪些。本文使用STRIDE安全模型进行分类:身份欺骗(Spoofingidentity)、篡改数据(Tamperingwithdata)、否认(Repudiation)、信息泄露(Informationdisclosure)和拒绝服务(Denialofservice)。经分析,模块1的安全威胁主要有身份欺骗(S)、篡改数据(T)和否认(R)3类,模块2无安全威胁。因此,模块1是非可信任的,模块2是可信任的。通过威胁建模,实现软件某个独立功能的内部模块被分为可信模块和非可信模块。
3.2.3UML的安全测试扩展
为使UML提供安全测试支持,满足安全策略要求,本文把非可信模块定义为一个类,利用UML的profile扩展机制构建如下构造型:
“构造型securityTest继承自Class”。
其语义是:它代表了系统中一个非可信模块所面临的安全威胁等信息。其中,安全需求来自于威胁建模形成的安全需求文档;威胁模型说明该模块可能面临的安全威胁;STRIDE对安全威胁进行分类;安全模式是指为解除威胁在模块实现时要采用的安全模式;安全测试用例描述攻击者面对此类问题通常采用的技术和手段;安全验证标记用来标识模块是否已通过安全测试。
属性:该构造型的属性信息如表1所示。
约束:(1)安全需求来自于威胁建模形成的安全需求文档;(2)Stride限制为身份欺骗(S)、篡改数据(T),否认(R)、信息泄露(I)、拒绝服务(D)和特权提升(E)6类,Stride是这6类的组合;(3)解除威胁的安全模式来自于安全模式库;(4)安全测试用例对应于软件测试中的安全测试用例文档;(5)只有通过全部安全测试用例,安全验证标识才可以设为True。
3.2.4非可信模块的安全测试
UML安全测试扩展标记了非可信模块的安全需求和安全测试用例。对于设计者来说,首先要依据业务需求设计非可信模块的概要类图,确定类与类之间的关系。其次,根据安全需求从安全模式库中检索符合要求的安全模式,在概要类图的上下文环境中选择合适的安全模式应用于模块的实现。再次,把实现安全模式和数据处理的类标记为安全关键类。
安全关键类是实现非可信模块功能、抵御网络攻击、缓解安全威胁的核心,具有十分重要的作用。传统的单元测试侧重于验证类提供的接口及其实现是否正确,缺少对类提供接口的安全测试。通过分解安全测试用例,将安全测试用例转化为对安全关键类的单元安全测试。
只有在安全关键类完成单元安全测试后,才能对非可信模块进行安全测试,验证所采用的安全模式是否可以真正防止或缓解威胁模型中描述的安全威胁。如果采用的安全模式无法通过安全验证,需要重新选择安全模式。
4软件安全设计方法
软件安全工程从软件开发生命周期的角度在软件开发的每一个阶段都考虑安全因素。如微软的SDL定义了一系列的活动来支持安全开发,在设计阶段主张遵循常见的安全设计原则,降低软件受到的攻击面。OWASP的CLASP方法在设计阶段实施风险分析和威胁建模,并且建议使用安全相关信息注解类图。UMLSec扩展的核心思想是为UML模型元素定义构造型,与模型关联时,构造型为这些模型元素增加安全相关信息。POAD方法提出构建模式库,通过模式合成进行软件设计。
5结束语
软件安全问题是一个系统性问题,必须在软件开发的每一个阶段都予以重视。本文提出在软件设计阶段使用DFD以数据传递与处理为核心,将软件功能进行形式化分解,把功能内部实现划分为可信模块和不可信模块,采用安全模式解决不可信模块面临的安全威胁,设计模块实现的安全关键类,分解安全测试用例,对安全关键类进行安全单元测试,验证在非可信模块实现时所采用的安全模式是否可以解除安全威胁,从而将软件的安全测试提前到了设计的早期,减低了后期维护的风险和成本。下一步的工作,需要深入研究不同领域软件系统存在的典型安全问题,设计具有通用性的单元安全测试方法和规范,并将该方法应用到更多的软件项目中。
参考文献
[1]http:///.
[2]ThomasH,KoenY,RiccardoS.AnAnalysisoftheSecurityPatternsLandscape[C]Proc.ofthe3rdInternationalWorkshoponSoftwareEngineeringforSecureSystem.WashingtonD.C,USA:IEEEComputerSociety,2007.
[3]http:///security/sdl/.
[4]http:///zh-cn/magazine/cc163519.aspx.
[5]张明德,郑雪峰,蔡翌.应用安全模型研究[J].信息网络安全,2012,(08):121-125.
[6]常艳,王冠.网络安全渗透测试研究[J].信息网络安全,2012,(11):3-4.
[7]魏为民,袁仲雄.网络攻击与防御技术的研究与实践[J].信息网络安全,2012,(12):53-56.
目前集成电路的发展日新月异,电路的复杂程度也越来越高,对于配套的测试系统也提出了很高的要求,本文主要研究的就是对于复杂器件的温度测试系统的设计
【关键词】集成电路温度测试感应器控制电路
在科技飞速发展的今天,半导体电子产品的集成度也在飞速提高,产品复杂程度与之前有较大的增加,所以对整个产品的设计制造和后期的封装测试都提出了更高的要求,其中就包括了温度测试的部分。
温度对于电子产品的性能的影响是巨大的,根据费米能级的公式就可以看出,对于特定材料的电子半导体产品,温度是唯一影响其器件性能的因素,所以新一代电子产品的温度测试系统也需要改进,以满足其测试精度的要求,从而对整个自动化温度系统进行高精度的温度控制,下面就将研究提出一些新的温度测试系统及其具体的实现方案。
1研究
对于VLSI电路来说,其电路上的芯片在工作的时候它的各部位的发热是不均匀的,同时它的各部分对于温度控制的要求也是不一样的。我们在测试温度的时候就会遇到这样的问题,测试温度需要在电子器件表面去分布一些热电阻二极管来进行温度采样,但是前面提到由于产品的复杂性,不管在产品的哪个点去分布测试温度的二极管,测出来的温度都是不准确的,因为温度测试的点是单一的,但是在进行温度控制时,加热冷却的头却是一种面接触的方式,所以需要采用新的温度测试的方案来解决这一问题。
我们之前所用的热阻二极管是将二极管的两端接到芯片的边缘来进行温度的测试,这样一来问题就出现了,首先如我们之前所提到的那样,这样一种方式采集温度的方法有点单一,其次这样附在芯片表面,所测量到的温度本身就有很大的误差,这边提出两种测试方案,首先,对于那些较为复杂的集成电路,或者本身就结构复杂及晶体管数目庞大的集成芯片来说,能不能在芯片中设置一个内建的温度感应器,通过这个内建的温度感应器来感应温度,并反馈到服务器,然后进行温度的调节控制。对于这个模块的要求是必须是独立完整的,并且温度测试感应的过程必须是简单的,也就是说就用一个较为简化的模块就够了,还有非常重要的一点就是这个内建模块占用的位置必须足够的小,不能影响到芯片原有的性能,并且最好不要有多余的pin脚引出。
那针对这两个想法下面进行两个实验,首先用原先的温度测试二极管来进行测试,本文研究的温度测试系统是针对高集成度,高复杂度的的器件,所以这边所选用的芯片是一个普通的处理器芯片,用一台ATE(AutomaticTestEquipment,自动检测设备)机器进行测试并监控温度。根据之前的构想,选择3个点来进行温度检测,第一:温控控制头的温度,这个温度是机器对电路进行温度控制时的标准温度;第二:芯片表面的热阻二极管的温度,这个温度反应的是测试得到的实时的芯片温度;第三:处理器中的二极管的温度,这个温度是由于芯片中二极管特性变化,通过计算得到的处理器内部的二极管温度。实验的过程也很简单,对芯片通电,增加电压,使得温度上升,检测打开测试槽(DUT)监控界面,对以上3个温度进行实时监控。从而得到测试结果如图1所示。
从实验结果可以清楚的看到两点,第一:之前用来感应温度的热阻二极管的温度值与机器的热接触头的值不相符,存在明显的误差。第二:处理器内部的温度和热接触头的温度误差较小。
上面的实验中给出了2点启发:(1)芯片内部的温度,比附在芯片边缘的热阻二极管的温度来的可靠的多。(2)如果单纯的在芯片中加入内建的温度感应器,依然存在一定的误差,这就需要一些特别的设计。这边提出一个想法,既然一个内建温度感应器不够,那就多设计几个温度感应器,在电路的几个核心的部位,这样多点采集,再进行比较,取得温度值最高的那个,反馈到控制系统,这样就准确许多。图2所示的是处理器芯片内部的温度感应器的分布示意图,在芯片内部各个重要模块中都有设置。
这边同样一个很明显的问题就是,当我的这些感应器得到相应的各点的温度时,怎样对得到的每个温度信号进行计算校准,这就需要设计一个温度计算控制电路。
这个温度计算电路的结构相对是比较简单的,符合之前提出的尽量简化系统的要求。各个模块上的感应器得到温度,经过逻辑控制中心转换成数字信号然后通过一个比较器得到最大值,将信号传输到温度控制中心进行控制。将整个系统实施到温度测试系统当中之后,再对测试温度,温度控制头的温度以及得到的芯片内部二极管温度值进行测试观察得到如图4所示的曲线图:
从图中可以清楚的看到,除了在测试的开始和结束有少许的温度波动,整个测试过程中,感应器得到的温度和机器的温度控制头的温度是比较吻合的,所以整个设计构想也得到了验证。
2总结
本篇文章主要针对现在的复杂电路和器件中温度测试较为不稳定的问题,提出了新的测试元件,测试电路的设计,结构也表明了新的方案的是有效的,但是问题依然存在,整个系统相对于之前的单一的温度测试元件的测试方法,它的可靠性问题依然存在,后面的研究中需要针对可靠性的问题需要进行相应的改进。
参考文献
[1]ChenyangLu;HonganWang;Kottenstette,N.;Koutsoukos,X.D.;YingmingChen;YongFu.FeedbackThermalControlforReal-timeSystems.2010:111-120.
[2]CuiLiangyu;GaoWeiguo;QiXiangyang;ShenYu;ZhangDawei;ZhangHongjie.TheControlSystemDesignofThermalExperimentalPlatformforHigh-SpeedSpindleBasedPLC.2010:639-642.
[3]Khuntia,S.R.;Panda,parativestudyofdifferentcontrollersforautomaticgenerationcontrolofaninterconnectedhydro-thermalsystemwithgenerationrateconstraints.2010:243-246.
热门推荐