当前位置:文档之家› 软件定义网络(SDN)的安全和可靠性分析及其对策

软件定义网络(SDN)的安全和可靠性分析及其对策

软件定义网络(SDN)的安全和可靠性分析及其对策
软件定义网络(SDN)的安全和可靠性分析及其对策

龙源期刊网 https://www.doczj.com/doc/af13743836.html,

软件定义网络(SDN)的安全和可靠性分析及其对策

作者:周梅

来源:《科技信息·下旬刊》2017年第09期

摘要:软件定义网络(SDN)近几年来受到非常大的关注,其关键特点是网络可见性和网络设备可编程性。在这篇论文中我们认为需要建立安全可靠的SDNS设计。作为这个方向的第一步,我们描述了几个可能威胁到SDN漏洞利用的威胁向量。然后,勾勒出一个安全可靠的SDN控制平台的设计,并通过对现有工作的分类,提出了一组未来研究方向的结论和建议。

关键词:软件定义网络;安全和可靠性;对策

1 引言

对金融机构、能源设施、政府单位和研究机构的网络攻击正成为世界各国政府和机构最关切的问题之一。不同的安全事件已经显示出其威胁的持久性。换句话说,这些攻击有可能损害一个国家广泛的基础设施,这是一个重大而令人关注的问题。执行这些攻击的最常见手段之一是通过网络,无论是因特网还是局域网。它可以用来作为用于攻击的传输基础设施或是作为增强武器扩大攻击的影响。例如,高带宽网络可用于发起大规模攻击,即使攻击者在其处所只有一个低带宽网络连接。鉴于网络攻击的危险和数字威胁现状,安全性和可靠性是SDN里最优先考虑的问题。尽管软件定义网络的研究和实验由一些商业的参与者进行,商业应用还处于起步阶段。业内专家认为,安全性和可靠性是SDN中需要解决的问题。此外,从可靠性的角度来看,由于大量云计算的出现及其对网络的强烈期望,互联网路由器的可用性称为人们关注的热点。因此,如果要成为联网应用的主要支柱,就必须在SDN控制平台上实现高可靠性。

2 SDN中的安全和可靠性

在近期的SDN文献中已经提出了多样化的安全和可靠性的建议。大多数利用SDN来改善对安全系统和网络需要的服务,如策略执行(例如,访问控制和防火墙)、DoS攻击检测和缓解、随机主机突变(即随机突变地改变终端主机的IP地址来打破攻击者关于静态IP地址假设,这是常见的情况)、细粒度地安全检查云基础设施的监控(即自动分析和迂回由专门的网络安全设备进一步检查嫌疑流量,如深度数据包检测系统)、流量异常检测、基于流的细粒度网络访问控制以及针对个人移动应用[等的细粒度策略执行。其他说明都基于OpenFlow的网络问题,如流规则优先级、安全服务组合、防止流量过载的保护以及防止恶意管理员的保护。

基本上有两种方法,一种是使用SDN来提高网络的安全性,另一个是提高SDN本身的安全。到目前为止,重点一直是后者。

软件定义网络SDN(特点、实现途径与展望)

软件定义网络SDN(特点、实现途径与展望) 2013/7/19 10:19:04 SDN软件定义网络简介 软件定义网络(SDN,Software Defined Network),是由美国斯坦福大学clean slate研究组提出的一种新型网络创新架构,其核心技术OpenFlow通过将路由器和交换机中的控制平面分离出数据平面,这个控制平面是开放的,并且受到集中控制,同时将命令和逻辑发送回硬件的数据平面。从而实现了网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。相关的概念还有:软件定义环境、软件定义存储、软件定义数据中心、OpenDaylight 开源SDN项目。 软件定义网络目的是将网络控制与物理网络拓扑分离,从而摆脱硬件对网络架构的限制。这样的话,企业就可以通过软件对网络架构修改,获得企业对网络的需求,达到底层交换机和理由器等硬件无需替换,为企业节省成本。软件定义网络能够从路由器和交换机中的控制平面分离出数据平面,这个控制平面原本是专有的,只有开发它们的供应商知道,而在SDN 中,控制平面将是开放的,并且受到集中控制,同时将命令和逻辑发送回硬件(路由器或交换机)的数据平面。 SDN软件定义网络强调两方面的能力: 1、控制转发分离:传统网络设备紧耦合的网络架构,被分拆成控制和转发两个平面。同时,在控制平面,增加集中控制器进行整体调度,将命令和逻辑发送回硬件(路由器或交换机)的数据转发平面。 2、开放API及软件定义:即通过基于SDN技术的对外开放的API进行软件编程,实现整个网络集中的管理能力,而不需要在每个路由器或交换机上分别以设备为中心进行管理。 软件定义网络的特点 简单化,可以实现中心控制,可以使得很多复杂的协议处理得到简化; 快速部署与维护; 灵活扩展,从一个机柜大的网络还可以扩展到像大的运营商的网络,也可以从一个控制器得到控制; 开放性,因OpenFlow是其重要的组成部分,它的数据转发功能和网络控制功能是分离的,由于这种分离可以分别由交换机来处理,分别由网络控制器处理,从而简化了网络的管理,由此可以使用户有更多的选择自定义网络节省他的投资,使用户选择多家设备共存,打破垄断。用户根据自己的需求和需要在任何时候方便升级。 软件定义网络的安全优势 拥有了自由移动的SDN软件定义网络后,工程师将能够通过快速且高水平地查看网络的所有区域以及修改网络来改变规则。 这种自由和控制还能为你的系统带来更好的安全性。通过快速限制以及从中央视角查看网络内部的能力,管理人员可以有效地作出更改。例如,如果你的网络中爆发了恶意软件,通过SDN软件定义网络和OpenFlow,你将能够迅速地从集中控制平面阻止这种流量来限制这种爆发,而不需要访问多个路由器或交换机。 快速对网络作出调整的能力使管理人员能够以更安全的方式来执行流量整形和数据包QoS.这种能力现在已经存在,但速度和效率不好,当管理人员在试图保护网络安全时,这将限制他们的能力。

几种常见软件可靠性测试方法综述及应用对比(精)

几种常见软件可靠性测试方法综述及应用对比 上海交通大学陈晓芳 [摘要]软件可靠性测试是软件可靠性工程的一项重要工作内容,是满足软件可靠性要求、评价软件可靠性水平及验证软件产品是否达到可靠性要求的重要途径。本文探讨、研究了软件可靠性测试的基本概念,分析、对比了几种软件可靠性测试主要方法的优缺点。 [关键词]软件可靠性软件可靠性测试软件测试方法 引言 软件可靠性工程是指为了满足软件的可靠性要求而进行的一系列设计、分析、测试等工作。其中确定软件可靠性要求是软件可靠性工程中要解决的首要问题,软件可靠性测试是在软件生存周期的系统测试阶段提高软件可靠性水平的有效途径。各种测试方法、测试技术都能发现导致软件失效的软件中残存的缺陷,排除这些缺陷后,一般来讲一定会实现软件可靠性的增长,但是排除这些缺陷对可靠性的提高的作用却是不一样的。其中,软件可靠性测试能最有效地发现对可靠性影响大的缺陷,因此可以有效地提高软件的可靠性水平。 软件可靠性测试也是评估软件可靠性水平,验证软件产品是否达到软件可靠性要求的重要且有效的途径。 一、软件可靠性测试概念 “测试”一般是指“为了发现程序中的错误而执行程序的过程”。但是在不同的开发阶段、对于不同的人员,测试的意义、目的及其采用的方法是有差别的。在软件开发的测试阶段,测试的主要目的是开发人员通过运行程序来发现程序中存在的缺陷、错误。而在产品交付、验收阶段,测试主要用来验证软件产品是否达到用户的要求。或者说,对于开发人员,测试是发现缺陷的一种途径、手段,而对于用户,测试则是验收产品的一种手段。

二、软件测试方法 软件测试方法有以下几个主要概念:白盒测试、黑盒测试、灰盒测试。 白盒测试(W h ite-box testing或glass-box testing是通过程序的源代码进行测试而不使用用户界面。这种类型的测试需要从代码句法发现内部代码在算法,溢出,路径,条件等等中的缺点或者错误,进而加以修正。 黑盒测试(B lack-box testing是通过使用整个软件或某种软件功能来严格地测试,而并没有通过检查程序的源代码或者很清楚地了解该软件或某种软件功能的源代码程序具体是怎样设计的。测试人员通过输入他们的数据然后看输出的结果从而了解软件怎样工作。通常测试人员在进行测试时不仅使用肯定出正确结果的输入数据,而且还会使用有挑战性的输入数据以及可能结果会出错的输入数据以便了解软件怎样处理各种类型的数据。 灰盒测试(Gray-box testing就像黑盒测试一样是通过用户界面测试,但是测试人员已经有所了解该软件或某种软件功能的源代码程序具体是怎样设计的,甚至于还读过部分源代码,因此测试人员可以有的放矢地进行某种确定的条件或功能的测试。这样做的意义在于:如果你知道产品内部的设计和透过用户界面对产品有深入了解,你就能够更有效和深入地从用户界面来测试它的各项性能。 1、白盒测试 白盒测试又称结构测试,透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。 白盒的测试用例需要做到: (1保证一个模块中的所有独立路径至少被使用一次; (2对所有逻辑值均需测试true和false;

基于OwnShip-Proof模型的软件定义网络控制器集群故障安全恢复方法

13 基于OwnShip-Proof 模型的软件定义 网络控制器集群故障安全恢复方法 武泽慧1,2,魏强1,2 (1.解放军信息工程大学网络空间安全学院,河南郑州 450001;2.数学工程与先进计算国家重点实验室,河南郑州 450001) 摘 要:控制平面负责软件定义网络的管理和控制,是软件定义网络的核心。当前针对控 制平面的研究主要集中在性能和稳定性提升,以及控制器的安全性方面,针对控制平面故障恢 复过程中的安全问题未见研究成果。文章提出了一种基于OwnShip-Proof 模型的故障安全恢复 方法,在故障恢复过程前构建哈希树存储对应备份资源,故障恢复过程中使用哈希树完成快速 身份校验,实现了控制器与备份资源所有权的安全认证。测试结果表明,该方法不仅可以降低 控制平面备份文件的存储空间,也可以有效阻断攻击者利用故障恢复实施信息窃取的攻击行为。 同时与传统方法相比,随着备份文件的增大,二者的性能差异逐渐减小。 关键词:软件定义网络;网络安全;故障恢复;控制器集群 中图分类号:TP393 文献标识码: A 文章编号:1671-1122(2016)12-0013-06 中文引用格式: 武泽慧,魏强. 基于OwnShip-Proof 模型的软件定义网络控制器集群故障安全恢复方法 [J]. 信息网络安全,2016(12):13-18. 英文引用格式:WU Zehui, WEI Qiang. A Secure Fault Recovery Approach Using OwnShip-Proof Model for Controller Cluster of Software Defined Networks[J]. Netinfo Security, 2016 (12) : 13-18. A Secure Fault Recovery Approach Using OwnShip-Proof Model for Controller Cluster of Software De ? ned Networks WU Zehui 1,2, WEI Qiang 1,2 (1. Institute of Cyber Security, PLA Information Engineering University, Zhengzhou Henan 450001, China ; 2. State Key Laboratory of Mathematical Engineering and Advanced Computing, Zhengzhou Henan 450001, China ) Abstract: Control plane is the core of software de ? ned network, which is responsible for network management and control. Current research focus on the performance, the stability, and the security of controllers, while take no attention on the security of fault recovery progress, by which the attackers could pretend to be a controller and obtain the resources of the network from the backups of control plane. We propose a secure recovery approach based on OwnShip-Proof model to address this threat. Our method employs hash tree to map one backup ? le with different controllers before backup and recovery procedure, and during the recovery, the controller should provide the solution of the challenge generated through OwnShip-Proof model by the server that stored the backup ? le. Then the server verify the solution and decide to recovery or not. The testing results show that our approach is able to decrease the memory space used to store the backup ? le and defense the attackers from the forged recovery attack. Compared with the ordinary method, the performance difference of the two methods would narrow down with the increasing of the size of the backup ? le. Key words: SDN; cyber security; fault recovery; controller cluster 收稿日期: 2016-11-15 基金项目: 国家高技术研究发展计划(国家863计划)[2012AA012902];国家自然科学基金[614051512];国家杰出青年科学基金[61402526]作者简介: 武泽慧(1988—),男,安徽,博士研究生,主要研究方向为网络安全;魏强(1979—),男,江西,副教授,博士,主要研究方向为工业控制系统安全。 通信作者: 武泽慧wuzehui2010@https://www.doczj.com/doc/af13743836.html, doi :10.3969/j.issn.1671-1122.2016.12.003万方数据

软件定义网络(SDN)的国内外研究与发展现状

题目:软件定义网络(SDN)的国内外研究与发展现状一、背景 Software Defined Networking是Kate Greene创造的一个词,在大约2009年提出的。它是指网络的控制平面与实际的物理上的拓扑结构互相分离。这种分离可以使控制平面用一种不同的方式实现,比如分布式的实现方式;另外,它还可以改变控制平面的运行环境,比如不再运行在传统交换机上的那种低功耗CPU上。 所以SDN的关键所在就是控制层与网络数据层是分离的,并不是传统的嵌入关系。并且这种关系在物理实现上也是分离的,这意味着控制层与网络数据在不同的服务器与路由器上操作。而连接两者的“协议”就是OpenFlow,OpenFlow的要点就是相当于给路由器安装一个小软件OpenFlow(后文详细论述),然后研究人员就可以很容易的改变路由器的路由规则等等,从而改善网络质量。而且这是看似没有新意的主意最大的新意就是大大开放了接口权限,所以面向众很广,门槛也比较低。 近年来,伴随着云计算、大数据的迅速兴起,人们对数据业务的流量要求越来越大。而相比于互联网日新月异,不断创新多变的应用层,网络层的发展却越来越跟不上步伐,显得愈发死板不够兼容灵活。而网络层日益落伍的根源则是控制网络运行的软件都是内嵌入路由器或是交换机中,并且交换器或是路由的软件操作标准又是不太一致的,所以就造成了路由器/交换机的复杂度大大提高,造成了很大的流量阻塞和资源浪费。所以SDN的作用不是由嵌入到路由器和交换机内部的软件来控制网络流量,而是来自设备外部的软件接手了这部分的工作。网络布局,或者说网络的形态分布,不再是植入在物理端。它将对实时的系统需求非常灵活且可调节。如果SDN实行得当的话,这意味着一个运行在云端自身内部的应用程序可以接管引导网络流量的任务。或者说一个第三方云端管理应用程序将能够完成这项任务。这样可以简化许多工作,诸如跨服务器装载平衡设备,以及自动地调节网络构造来适时给出最快最高效的数据路径。 二、文献引述 文献[1]主要重在介绍讨论了SDN在数据层、控制层以及应用层的一些关键技术,并从SDN的诞生背景引入,详细说明了SDN的发展历程。在文献[1]中在SDN的层次结构中,文章重点针对了其中的一致性、可用性以及容错性进行分析,并结合SDN的一些热门特性探讨未来的发展之路和新的潜力点。 文献[2]是一篇研究综述,主要阐述了SDN中的关键技术OpenFlow。并详细介绍了

什么是软件可靠性

关于软件可靠性 什么的软件可靠性? 软件可靠性是指在给定时间内,特定环境下软件无错运行的概率。 软件可靠性的内容 软件可靠性包含了以下三个要素: 1.规定的时间 软件可靠性只是体现在其运行阶段,所以将“运行时间”作为“规定的时间”的度量。“运行时间”包括软件系统运行后工作与挂起(开启但空闲)的累计时间。由于软件运行的环境与程序路径选取的随机性,软件的失效为随机事件,所以运行时间属于随机变量。 2.规定的环境条件 环境条件指软件的运行环境。它涉及软件系统运行时所需的各种支持要素,如支持硬件、操作系统、其它支持软件、输入数据格式和范围以及操作规程等。不同的环境条件下软件的可靠性是不同的。具体地说,规定的环境条件主要是描述软件系统运行时计算机的配置情况以及对输入数据的要求,并假定其它一切因素都是理想的。有了明确规定的环境条件,还可以有效判断软件失效的责任在用户方还是研制方。 3.规定的功能 软件可靠性还与规定的任务和功能有关。由于要完成的任务不同,软件的运行剖面会有所区别,则调用的子模块就不同(即程序路径选择不同),其可靠性也就可能不同。所以要准确度量软件系统的可靠性必须首先明确它的任务和功能。 软件可靠性的测试 软件可靠性测试的目的 软件可靠性测试的主要目的有:

(1)通过在有使用代表性的环境中执行软件,以证实软件需求是否正确实现。 (2) 为进行软件可靠性估计采集准确的数据。估计软件可靠性一般可分为四个步骤,即数据采集、模型选择、模型拟合以及软件可靠性评估。可以认为,数据采集是整个软件可靠性估计工作的基础,数据的准确与否关系到软件可靠性评估的准确度。 (3)通过软件可靠性测试找出所有对软件可靠性影响较大的错误。 软件可靠性测试的特点 软件可靠性测试不同于硬件可靠性测试,这主要是因为二者失效的原因不同。硬件失效一般是由于元器件的老化引起的,因此硬件可靠性测试强调随机选取多个相同的产品,统计它们的正常运行时间。正常运行的平均时间越长, 则硬件就越可靠。软件失效是由设计缺陷造成的,软件的输入决定是否会遇到软件内部存在的故障。因此,使用同样一组输入反复测试软件并记录其失效数据是没有意义的。在软件没有改动的情况下,这种数据只是首次记录的不断重复,不能用来估计软件可靠性。软件可靠性测试强调按实际使用的概率分布随机选择输入,并强调测试需求的覆盖面。软件可靠性测试也不同于一般的软件功能测试。相比之下,软件可靠性测试更强调测试输入与典型使用环境输入统计特性的一致,强调对功能、输入、数据域及其相关概率的先期识别。测试实例的采样策略也不同,软件可靠性测试必须按照使用的概率分布随机地选择测试实例,这样才能得到比较准确的可靠性估计,也有利于找出对软件可靠性影响较大的故障。 此外,软件可靠性测试过程中还要求比较准确地记录软件的运行时间,它的输入覆盖一般也要大于普通软件功能测试的要求。 对一些特殊的软件,如容错软件、实时嵌入式软件等,进行软件可靠性测试时需要有多种测试环境。这是因为在使用环境下常常很难在软件中植入错误,以进行针对性的测试。 软件可靠性测试的效果 软件可靠性测试是软件可靠性保证过程中非常关键的一步。经过软件可靠性测试的软件并不能保证该软件中残存的错误数最小,但可以保证该软件的可靠性达到较高的要求。从工程的角度来看,一个软件的可靠性高不仅意味着该软件的失效率低,而且意味着一旦该软件失效,由此所造成的危害也小。一个大型的工程软件没有错误是不可能的,至少理论上还不能证 明一个大型的工程软件能没有错误。因此,保证软件可靠性的关键不是确保软件没有错误,而是要确保软件的关键部分没有错误。更确切地说,是要确保软件中没有对可靠性影响较大的错误。这正是软件可靠性测试的目的之一。软件可靠性测试的侧重点不同于一般的软件功能测试,其测试实例设计的出发点是寻找对可靠性影响较大的故障。因此,要达到同样的可靠性要求,可靠性测试比一般的功能测试更

设备软件可靠性测试

设备软件可靠性测试 设备为达到连续可运行目标,除了在硬件设计中考虑器件可连续无故障运行外,很重要的方面是软件在各种条件下可经受考验,持续工作。这需要在实现基本功能前提下,在软件中设计一系列容错性逻辑去保证。 为全面评估软件容错性和故障恢复能力,测试需要制造或模拟一系列条件,包括内部硬件故障条件、外部恶意攻击条件、偶发过载条件、软件资源耗尽条件、周边环境故障条件以及长时间正常负荷持续运行模拟。为了在产品开发的不同阶段组织针对性测试,这些测试行为又被明确定义并归类。 测试分类 1、协议健壮性测试 协议健壮性测试是为了找出特定协议的具体实现代码的弱点。是一种以破坏性手段去尝试运行软件的行为,通过用户接口的异常输入,使用异常协议消息交互引导软件进入未定义或未保护的状态。 对软件系统而言,合法输入组合以外的输入往往超出正常输入的组合,软件运行中总会遇到一些预期之外的输入。因此,软件需要有严格的合法性检查才能避免进入未知状态。协议健壮行测试的目标就是尽可能找出软件保护不周的问题。 在软件测试的早期阶段进行的参数边界值测试就属于健壮性测试的一部分。比如一个用户接口接受1-100的整数输入,那么1和100就是合法边界,大于100和小于1的输入都是非法输入。其他非整数型的输入也属于非法值,包括故意破坏检查输入条件的代码的一些组合(如超长输入值,空输入,格式化字符等)。软件面对的接口除了最终用户可见的部分之外,还有大量的软件组件之间的不可见部分,以及设备之间的通信协议接口。 除了单一输入的简单合法性判断,软件在组合输入和特定状态下可接受输入的定义更为复杂。为确认软件在各种条件下的运行正常,测试需要尝试尽可能多的组合。复杂的通信协议除了定义有逻辑化结构的报文格式,还有一系列的内部状态,要测试人员完全手工方式遍历这些状态,并且构造所有可能的异常组合输入条件是无法想象的,因此需要专用的测试工具和仪器专门检测软件对各种协议变异报文的处理。目前,商用化的测试工具已经很多,比如IxDefend协议健壮性测试套件和MuDynamics的fuzzing测试套件是比较强大的。为了达成在特定状态下注入错误,测试套件需要先完成一些合法的交互过程,使被测目标达到预设状态,然后再注入异常。复杂的协议需要事先配置很多参数去达成这种交互,而变异输入的变化和组合数量非常庞大,一个复杂协议经常达到几十万甚至上百万的测试用例,尽管有自动化测试工具,这种测试运行也要耗费大量的时间。因此,对参数的调整是测试需要关注的一个重要方面。 从系统测试的角度,观测协议健壮性的测试结果是比较困难的,一般是从系统外部观察整机是否存在异常,正在被测试的协议功能有没有停止响应,正常用户请求是否得到及时处理,设备的性能有没有下降。最容易被观测到现象是系统死锁或重启,系统性能变化或主要功能异常也能被及时发现。而一些细微的功能异常或资源耗费,很容易被测试人员忽视,在这里,测试工具也无能为力。 以IxDefend测试TLS-Server举例。 完成测试仪器与被测试设备的物理连接,并且将端口配置IP地址,开启TLS-Server服务。 通过测试仪器的GUI控制界面装入TLS Server测试套件,。 配置TLS Server测试所需要的参数,包括被测试设备IP、TLS服务端口、超时时间等,。 点击开始按钮启动测试运行。

软件定义网络(SDN)的安全和可靠性分析及其对策

龙源期刊网 https://www.doczj.com/doc/af13743836.html, 软件定义网络(SDN)的安全和可靠性分析及其对策 作者:周梅 来源:《科技信息·下旬刊》2017年第09期 摘要:软件定义网络(SDN)近几年来受到非常大的关注,其关键特点是网络可见性和网络设备可编程性。在这篇论文中我们认为需要建立安全可靠的SDNS设计。作为这个方向的第一步,我们描述了几个可能威胁到SDN漏洞利用的威胁向量。然后,勾勒出一个安全可靠的SDN控制平台的设计,并通过对现有工作的分类,提出了一组未来研究方向的结论和建议。 关键词:软件定义网络;安全和可靠性;对策 1 引言 对金融机构、能源设施、政府单位和研究机构的网络攻击正成为世界各国政府和机构最关切的问题之一。不同的安全事件已经显示出其威胁的持久性。换句话说,这些攻击有可能损害一个国家广泛的基础设施,这是一个重大而令人关注的问题。执行这些攻击的最常见手段之一是通过网络,无论是因特网还是局域网。它可以用来作为用于攻击的传输基础设施或是作为增强武器扩大攻击的影响。例如,高带宽网络可用于发起大规模攻击,即使攻击者在其处所只有一个低带宽网络连接。鉴于网络攻击的危险和数字威胁现状,安全性和可靠性是SDN里最优先考虑的问题。尽管软件定义网络的研究和实验由一些商业的参与者进行,商业应用还处于起步阶段。业内专家认为,安全性和可靠性是SDN中需要解决的问题。此外,从可靠性的角度来看,由于大量云计算的出现及其对网络的强烈期望,互联网路由器的可用性称为人们关注的热点。因此,如果要成为联网应用的主要支柱,就必须在SDN控制平台上实现高可靠性。 2 SDN中的安全和可靠性 在近期的SDN文献中已经提出了多样化的安全和可靠性的建议。大多数利用SDN来改善对安全系统和网络需要的服务,如策略执行(例如,访问控制和防火墙)、DoS攻击检测和缓解、随机主机突变(即随机突变地改变终端主机的IP地址来打破攻击者关于静态IP地址假设,这是常见的情况)、细粒度地安全检查云基础设施的监控(即自动分析和迂回由专门的网络安全设备进一步检查嫌疑流量,如深度数据包检测系统)、流量异常检测、基于流的细粒度网络访问控制以及针对个人移动应用[等的细粒度策略执行。其他说明都基于OpenFlow的网络问题,如流规则优先级、安全服务组合、防止流量过载的保护以及防止恶意管理员的保护。 基本上有两种方法,一种是使用SDN来提高网络的安全性,另一个是提高SDN本身的安全。到目前为止,重点一直是后者。

11种方法检测软件可靠性

11种方法检测软件可靠性 软件的安全可靠性是衡量软件好坏的一个重要标准,安全性指与防止对程序及数据的非授权的故意或意外访问的能力有关的软件属性,可靠性指与在规定的一段时间和条件下,软件能维持其性能水平能力有关的一组属性。具体我们可以从以下几个方面来判断: 1.用户权限限制。软件是否按功能模块划分用户权限,权限划分是否合理,考察超级用户对各个用户的权限管理是否合理,包括修改用户的登录资料等。 2.用户和密码封闭性。软件对用户名和密码有无校验,有无保护措施,尤其对密码有无屏蔽功能。 3.系统对用户错误登录的次数限制。软件对用户错误登录有无次数限制,一般做法是连续三次登录失败就退出系统。 4.留痕功能。软件是否提供操作日志,比如某用户登录的时间,查询、修改或删除的动作以及离开的时间等。 5.屏蔽用户操作错误。考察对用户常见的误操作的提示和屏蔽情况,例如可否有效避免日期的录入错误或写入无效的日期。 6.错误提示的准确性。当用户操作错误或软件发生错误时,能否有准确清晰的提示,使用户知道造成错误的原因。例如当用户未输入完有效信息时存盘,系统应当给出关于未输入项的提示。 7.错误是否导致系统异常退出。考察软件运行的稳定性,当软件发生一般错误或严重错误时,软件是否会自动退出。 8.数据备份与恢复手段。主要针对有数据存储需要的软件,有的软件依靠数据库操作系统本身的备份与恢复机制,这需要用户具备一定的操作知识;好的软件会提供备份与恢复的操作,不需要用户直接对数据库系统进行操作。 9.输入数据有效性检查。当用户输入的数据有错时,软件应能判断数据的有效性,避免无效数据的生成。 10.异常情况的影响。在程序运行过程中进行掉电等试验,考查数据和系统的受影响程度;若受损,是否提供补救工具,补救的情况如何。 11.网络故障对系统的影响。当网络中断连接时,是否会造成数据的丢失。

软件定义网络(SDN)

软件定义网络(Software-Defined Network—SDN) 目录 背景—VMWare 12.6亿美金收购Nicira (1) 网络虚拟化—互联网的下一波革命 (2) Nicira引领网络虚拟化 (6) 附件:SDN—应对云计算与网络管理新思路 (8) SDN (8) 常见专有SDN (9) OpenFlow SDN与应用 (11) SDN商业价值应用展望 (14) SDN发展挑战 (16) 背景—VMWare 12.6亿美金收购Nicira 2009 年,Cisco、EMC 与VMware 共同成立“虚拟计算环境联盟”,同时推出Vblock 虚拟化基础架构包,以Cisco的网络硬件和VMware 的服务为基础,希望在面向企业用户的数据中心虚拟化和私有云技术市场中有所斩获。 日前,VMware 以12.6 亿美元的大手笔收购了一家小型初创公司Nicira。VMware 之所以看中Nicira,是因为它的SDN技术。这个技术能够无视网络交换机在物理层面上的差别,创建出虚拟网络与机器相连,让网络资源的分配更加灵活。这也意味着,当Nicira 的技术被VMware 大规模应用之后,VMware 的软件将减少对硬件的依赖,为企业提供更加灵活的解决方案。什么牌子的路由器,将不是“企业虚拟化”的必选项,这有利于VMware 拓展市场。 ComputerWord 今年三月撰文指出,VMware的产品面临微软Hyper-V 有力的竞争。Gartner 认为2012 年,Hyper-V 的市场份额将为27%,同时占中小企业市场的85%。它还指出,VMware 中低端产品多为免费,无法带来收入,前景是危险的。

软件可靠性模型综述(完整资料).doc

【最新整理,下载后即可编辑】 软件可靠性模型综述 可靠性是衡量所有软件系统最重要的特征之一。不可靠的软件会让用户付出更多的时间和金钱, 也会使开发人员名誉扫地。IEEE 把软件可靠性定义为在规定条件下, 在规定时间内, 软件不发生失效的概率。该概率是软件输入和系统输出的函数, 也是软件中存在故障的函数, 输入将确定是否会遇到所存在的故障。 软件可靠性模型,对于软件可靠性的评估起着核心作用,从而对软件质量的保证有着重要的意义。一般说来,一个好的软件可靠性模型可以增加关于开发项目的效率,并对了解软件开发过程提供了一个共同的工作基础,同时也增加了管理的透明度。因此,对于如今发展迅速的软件产业,在开发项目中应用一个好的软件可靠性模型作出必要的预测,花费极少的项目资源产生好的效益,对于企业的发展有一定的意义。 1软件失效过程 1.1软件失效的定义及机理 当软件发生失效时,说明该软件不可靠,发生的失效数越多,发生失效的时间间隔越短,则该软件越不可靠。软件失效的机理如下图所示:

1)软件错误(Software error):指在开发人员在软件开发过程中出现的失误,疏忽和错误,包括启动错、输入范围错、算法错和边界错等。 2)软件缺陷(Software defect):指代码中存在能引起软件故障的编码,软件缺陷是静态存在的,只要不修改程序就一直留在程序当中。如不正确的功能需求,遗漏的性能需求等。 3)软件故障(Software fault):指软件在运行期间发生的一种不可接受的内部状态,是软件缺陷被激活后的动态表现形式。 4)软件失效(Software failure):指程序的运行偏离了需求,软件执行遇到软件中缺陷可能导致软件的失效。如死机、错误的输出结果、没有在规定的时间内响应等。 从软件可靠性的定义可以知道,软件可靠性是用概率度量的,那么软件失效的发生是一个随机的过程。在使用一个程序时,在其他条件保持一致的前提下,有时候相同的输入数据会得到不同的输出结果。因此,在实际运行软件时,何时遇到程序中的缺陷导致软件失效呈现出随机性和不稳定性。 所有的软件失效都是由于软件中的故障引起的,而软件故障是一种人为的错误,是软件缺陷在不断的测试和使用后才表现出来的,如果这些故障不能得到及时有效的处理,便不可避免的会

软件定义网络SDN文献综述

软件定义网络SDN研究 文献综述 1.引言 现有的网络设备(如交换机、路由器等)都是设备制造商在专门的硬件系统基础上高度集成大量网络协议、配备专用的设备控制系统,构成的一个相对独立封闭的网络设备[1]。在近几十年的发展过程中,云计算、移动互联网等相关技术的兴起和发展加快了网络技术的变革历程[2]。网络带宽需求的持续攀升、网络业务的丰富化、个性化等都给新一代网络提出了更高的要求。面对日益复杂的网络环境,这种紧耦合大型主机式的发展限制了IP网络创新技术的出现,更多的是通过不断增长的RFC数量对现行网络进行修修补补,造成了交换机/路由器设备控制功能的高度复杂。网络研究人员想要在真实网络中基于真实生产流量进行大规模网络实验几乎是不可能的,因为网络设备是封闭的,没有提供开放的API,无法对网络设备进行自动化配置和对网络流量进行实时操控。 为了适应今后互联网业务的需求,业内形成了“现在是创新思考互联网基本体系结构、采用新的设计理念的时候”的主流意见[3],并对未来网络的体系架构提出了新的性质和功能需求[4]。软件定义网络[5]SDN的出现为人们提供了一种崭新的思路。 本文从SDN的起源和概念出发,分析了SDN的逻辑架构与技术特点、描述了SDN 的标准化进程,梳理了国内外的研究进展与最新动态,在此基础上提出了SDN技术在未来的发展中面临的挑战并总结了可能的研究方向。 2.起源与概念 2.1起源 2006 年,斯坦福大学启动了名为“Clean-Slate Design for the Internet”项目,该项目旨在研究提出一种全新的网络技术,以突破目前互联网基础架构的限制,更好地支持新的技术应用和创新。通过该项目,来自斯坦福大学的学生Martin Casado 和他

软件可靠性验证测试实验报告

标识: RMS-SRDT-{S Y1514127, SY1514207}-BG-V1.0-2015 ATM软件 可靠性验证测试实验报告 北航可靠性与系统工程学院 二〇一五年十二月

ATM软件 可靠性验证测试实验报告 编写:林烨 (SY1514127)日期:12月31日校对:王洋洋(SY1514207)日期:12月31日

目录 1 软件可靠性验证测试要求 (1) 1.1 软件可靠性验证测试统计方案 (1) 1.2 软件失效的定义 (1) 1.3 软件可靠性验证测试终止条件 (1) 2 测试结果 (2) 2.1 测试用例生成情况 (2) 2.2 测试用例执行情况 (2) 3 软件可靠性验证测试结论 (3) 4 软件可靠性点估计和区间估计 (4) 5 软件可靠性验证测试实验总结与建议 (4)

1软件可靠性验证测试要求 1.1软件可靠性验证测试统计方案 软件可靠性验证测试常用的统计方法有定时结尾、贯序截尾和无失效结尾三种。序贯截尾试验事先对试验总时间及试验所需用资源无法确定,只能根据事先拟定的接收、拒收条件结束试验,无法估计MTBF的真值,但是为了更充分地利用软件每次的失效信息,以及在可靠性比较高或比较低的情况下可以做出更快的判决,我们采用序贯验证测试。选取的序贯测试方案参数为:生产方风险(α):10%,使用方风险(β):10%,鉴别比(d):1.5,MTBF最低可接受值:600s。生成序贯曲线如图1所示。 图1 序贯验证测试曲线图 1.2软件失效的定义 软件不能实现软件需求规格说明书上的功能。 1.3软件可靠性验证测试终止条件 当有点落到接受区或拒绝区时终止测试。

SDN软件定义光网络技术与发展

软件定义光网络技术与发展 软件定义光 网络技术与发展
Software ft Defined fi d Optical ti l Networks t k
张杰,纪越峰 北京邮电大学 中国/北京 中国/北京,2014年5月21日 年 月 日
BUPT—Jie Zhang
1 2014中国光网络研讨会

主要内容 1. 光联网与SDON理念
软件定义 光网络 SDON
2. SDON若干关键技术 3 863-AONI 项目进展 3. 4. SDON发展几点思考
BUPT—Jie Zhang
2
2014中国光网络研讨会

光联网的趋势与挑战
信息时代的标签:ABC
应用(Application)
大数据(Big Data)
云(Cloud)
光联网发展趋势之一 高速/宽带/长距 容量 提升 挑战
? ? ?
光联网发展趋势之二 动态/弹性/灵活 智能 增强 挑战
? ? ?
Gbps能力(多业务接入) Tbps能力(多复用传输) Pbps能力(多粒度交换)
高突发—D 能力(动态适应) 变带宽 —E 能力 ( 弹性调节 ) 大规模 —F 能力 ( 灵活扩展 )
永恒主题 非“光”莫属 永恒主题,非“光”莫属
BUPT—Jie Zhang
3
价值追求 “光”有可为 价值追求,“光”有可为
2014中国光网络研讨会

大容量光网络:交换点重心下移, 光联网作用凸显
2000年 至今
RrR结构
基于Router 分组级转发
RmR结构
基于MSTP 电路级交叉
RoR结构
基于OTN 子波级调度
RwR结构
基于WDM 波长级交换
数字洪流的出现迫切需要大带宽交换 联网能力向光层迁移 数字洪流的出现迫切需要大带宽交换,联网能力向光层迁移
BUPT—Jie Zhang
4 2014中国光网络研讨会

软件可靠性的评价准则

软件可靠性的评价准则 迄今为止,尚无一个软件可靠性模型对软件的不同特性和不同使用环境都有效。已公开发表的100余种软件可靠性模型,表达形式不同,适应性各异,与实际的软件开发过程有较大差异。而且,新模型还在不断发表。因此,在进行软件可靠性预计、分析、分配、评价和设计之前,对软件可靠性模型进行评价及选择与软件项目相符或相近的模型非常重要。通过建立有效的评价准则,在考虑它们与各种软件的关系的基础上,对拟评价的可靠性模型就有效性、适应性和模型能力等进行评价,判定它们的价值,比较它们的优劣,然后选择有效的软件可靠性模型。另一方面,在可接受的模型之间无法做出明确的选择时,可根据模型的使用环境等,在模型评价准则的基础上,进行模型择优。当然,软件可靠性模型的评价不仅依赖于模型的应用,还依赖于理论的支持和丰富的、高质量可靠性数据的支持。软件可靠性模型的评价最早始于1984年Iannino、Musa、Okumoto和Littlewood所提出的原则。根据这一原则,结合后人的工作,形成了基本的软件可靠性评价准则集。它们是软件可靠性模型比较、选择和应用的基础。 准则一:模型预测有效 软件可靠性模型最重要的评价指标是模型预测的有效性。它根据软件现在和过去的故障 行为,用模型预测软件将来的故障行为和可靠性水平。它主要通过能有效描述软件故障随机过程特性的故障数方式对模型进行描述与评价。基于软件故障时间特性的随机过程也是一种常用的方法,而且这两种方法相互重叠。 要确定软件可靠性模型预测的有效性,首先要比较模型预测质量。这种比较通常通过相 对误差法、偏值、U图法、Y图法、趋势法等方法进行。故障数度量是一种在工程上被广泛应 用的方法。此外,还可以通过比较不同数据集合所做出的中位线图形来评价模型预测的有效性。如果一个模型产生的曲线最接近于0,则该模型是最优的。而且,这种有效性测定方法有效地克服了规范化图形评价与具体软件项目之间的联系,保证了它的独立性。 用给定可靠性数据对软件可靠性模型进行比较时,必须考察拟合模型与观察数据的一致 性和符合性。当然,根据拟合模型进行采样,是否可以获得足够的观察数据非常重要。拟合优度检验是一种系统地表达并证明观察数据和拟合模型之间全局符合性的方法,使用最广泛的是x2检验。 1.准确性 软件可靠性模型预测的准确性可用前序似然函数来测定。设观察到的失效数据对应于软 件相继失效之间的时间序列t1,t2,..,ti-1,并用这些数据来预测软件在未来可能的Ti,即希 望得到Ti的真实概率密度函数Fi(t)的最优估计值。假设以t1,t2,...,ti-1为基础预测Ti的 分布Fi(t)的概率密度函数 @@42D11000.GIF;表达式1@@ 对Ti+1,Ti+2,...,Ti+n的这种向前一步预测,即进行了n+1次预测之后的前序似然函数为 @@42D11001.GIF;表达式2@@ 由于这种度量常常接近于0,所以常用其自然对数进行比较。假定比较的两个软件可靠性 模型分别为A和B,则对它们进行n次预测之后的前序似然比为 @@42D11002.GIF;表达式3@@

对软件可靠性测试的认识

一、对软件可靠性测试的认识 1.有关术语 (1)软件可靠性在规定条件下,在规定时间内,软件不引起系统失效的概率。该概率是系统输入和系统使用的函数,也是软件中存在故障的函数,系统输入将确定是否会遇到存在的故障。 (2)软件可靠性估计应用统计技术处理在系统测试和运行期间采集、观察到的失效数据,以评估该软件的可靠性。 (3)软件可靠性测试在有使用代表性的环境中,为进行软件可靠性估计对该软件进行的功能测试。需要说明的是,"使用代表性"指的是在统计意义下该环境能反映出软件的使用环境特性。 2.软件可靠性测试的目的 软件可靠性测试的主要目的有: (1)通过在有使用代表性的环境中执行软件,以证实软件需求是否正确实现。 (2)为进行软件可靠性估计采集准确的数据。估计软件可靠性一般可分为四个步骤,即数据采集、模型选择、模型拟合以及软件可靠性评估。可以认为,数据采集是整个软件可靠性估计工作的基础,数据的准确与否关系到软件可靠性评估的准确度。 (3)通过软件可靠性测试找出所有对软件可靠性影响较大的错误。 3.软件可靠性测试的特点 软件可靠性测试不同于硬件可靠性测试,这主要是因为二者失效的原因不同。硬件失效一般是由于元器件的老化引起的,因此硬件可靠性测试强调随机选取多个相同的产品,统计它们的正常运行时间。正常运行的平均时间越长,则硬件就越可靠。软件失效是由设计缺陷造成的,软件的输入决定是否会遇到软件内部存在的故障。因此,使用同样一组输入反复测试软件并记录其失效数据是没有意义的。在软件没有改动的情况下,这种数据只是首次记录的不断重复,不能用来估计软件可靠性。软件可靠性测试强调按实际使用的概率分布随机选择输入,并强调测试需求的覆盖面。 软件可靠性测试也不同于一般的软件功能测试。相比之下,软件可靠性测试更强调测试输入与典型使用环境输入统计特性的一致,强调对功能、输入、数据域及其相关概率的先期识别。测试实例的采样策略也不同,软件可靠性测试必须按照使用的概率分布随机地选择测试实例,这样才能得到比较准确的可靠性估计,也有利于找出对软件可靠性影响较大的故障。 此外,软件可靠性测试过程中还要求比较准确地记录软件的运行时间,它的输入覆盖一般也要大于普通软件功能测试的要求。对一些特殊的软件,如容错软件、实时嵌入式软件等,进行软件可靠性测试时需要有多种测试环境。这是因为在使用环境下常常很难在软件中植入错误,以进行针对性的测试。 4.软件可靠性测试的效果 软件可靠性测试是软件可靠性保证过程中非常关键的一步。经过软件可靠性测试的软件并不能保证该软件中残存的错误数最小,但可以保证该软件的可靠性达到较高的要求。从工程的角度来看,一个软件的可靠性高不仅意味着该软件的失效率低,而且意味着一旦该软件失效,由此所造成的危害也小。一个大型的工程软件没有错误是不可能的,至少理论上还不能证明一个大型的工程软件能没有错误。因此,保证软件可靠性的关键不是确保软件没有错误,而是要确保软件的关键部分没有错误。更确切地说,是要确保软件中没有对可靠性影响较大的错误。这正是软件可靠性测试的目的之一。 软件可靠性测试的侧重点不同于一般的软件功能测试,其测试实例设计的出发点是寻找对可靠性影响较大的故障。因此,要达到同样的可靠性要求,可靠性测试比一般的功能测试更有效,所花的时间也更少。 另外,软件可靠性测试的环境是具有使用代表性的环境,这样,所获得的测试数据与软件的实际运行数据比较接近,可用于软件可靠性估计。 总之,软件可靠性测试比一般的功能测试更加经济和有效,它可以代替一般的功能测试,而一般的软件功能测试却不能代替软件可靠性测试,而且一般功能测试所得到的测试数据也不宜用于软件可靠性估计。 二、软件可靠性测试中需注意的问题 软件可靠性测试一般可分为四个阶段:制定测试方案,制定测试计划,进行测试并记录测试结果,编写测试

相关主题
文本预览
相关文档 最新文档