温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
软件
可信性
评估
保障
技术
网构软件可信性 评估与保障技术 司冠南 著 Publishing House of Electronics Industry 北京BEIJING 内 容 简 介 网构软件是近年发展起来的研究领域,涵盖了软件构件、体系结构、软件开发方法等多方面,并为当前流行的云计算、物联网等概念提供了诸多核心技术。由于网构软件工作于开放、动态、难控的互联网环境,且组成实体多由第三方提供,其可信性问题就变得非常重要,如何保证软件整体及各组成实体的可信性成为网构软件研究领域中一个非常具有挑战性的新问题。本书从网构软件的实体模型、系统结构、软件演化、可信性评估等方面对其可信性评估与保障技术进行了阐述,并提出了解决方案。本书可供计算机科学、可信计算、服务计算以及相关领域科学研究人员和工程应用人员参考,也可供高等院校和科研院(所)相关专业的教师和研究生阅读参考。未经许可,不得以任何方式复制或抄袭本书之部分或全部内容。版权所有,侵权必究。图书在版编目(CIP)数据 网构软件可信性评估与保障技术/司冠南著.北京:电子工业出版社,2015.1 ISBN 978-7-121-25134-4 网.司.软件设计研究.TP311.5 中国版本图书馆 CIP 数据核字(2014)第 294368 号 责任编辑:赵 娜 特约编辑:王 纲 印 刷:北京季蜂印刷有限公司 装 订:北京季蜂印刷有限公司 出版发行:电子工业出版社 北京市海淀区万寿路 173 信箱 邮编 100036 开 本:7201000 1/16 印张:13.75 字数:264 千字 版 次:2015 年 1 月第 1 版 印 次:2015 年 1 月第 1 次印刷 定 价:42.00 元 凡所购买电子工业出版社图书有缺损问题,请向购买书店调换。若书店售缺,请与本社发行部联系,联系及邮购电话:(010)88254888。质量投诉请发邮件至 ,盗版侵权举报请发邮件至 。服务热线:(010)88258888。III 存在于互联网各个节点上的主体化软件服务,通过多种机制进行协同、整合而形成的软件形态通称为网构软件。网构软件为有效进行异构资源整合、充分利用互联网上大量的软件服务提供了有效手段,但随着对网构软件功能需求的不断增加,系统的结构、体系变得日趋复杂,同时由于软件的运行环境从传统的“封闭、静态、可控”环境转变为“开放、动态、难控”的互联网环境,对可信性保证的要求变得日益突出。目前网构软件可信性保证技术在信任关系的约束机制、推荐信息的准确性、信任衰减参数的合理性、信任演化模型的系统化、可信性评估方法的切实性等方面还存在着不足。针对上述不足,本书在网构软件可信性保证关键技术方面进行了研究,具体研究内容与创新点包括 5 个方面。(1)在实体个体层面,研究网构软件的可信实体模型。提出了具有自省性、自明性、自主性特点的网构软件强可信智能实体模型。定义了实体可信情况形式化描述语言(EDSADL),使实体能够通过自省机制实时监控与保障自身的可信性水平,并向外界公布以供验证。设计了业务功能模块与可信性保障模块分离的系统结构,保证了实体在向外界公开可信保障机制的同时对自身业务细节的保密性。设计了“环境感知策略调度行为触发”的机制,使实体具有感知环境刺激而自主演化的能力,保证了实体在外界环境可信性发生变化时能够做出适时的响应。(2)在实体间协同层面,研究网构软件实体间的信任约束机制。引入 IV 契约式设计思想,从服务使用者和提供者的角度出发,采用“承诺评估”机制明确双方的权利和义务,为实体交互过程中的双边规范定义了从低层接口语义到高层可信性情况的约束。定义了信任契约中前置条件、后置条件和不变式三要素的描述方法,保证了服务使用者、提供者以及服务交互关系的可信性,为实体协同、合作和竞争提供了有力的评估依据。(3)对于信任传递参数,研究实体间信任传递衰减参数的计算方法。综合主观信任与客观评估的优点,提出了基于评估的信任衰减过程。在对实体环境进行可信性评估的基础上,通过逐级计算、信息合并来综合多个推荐者实体的推荐信息,使用对实体间传输可信性的评估结果来修正推荐信息,计算得到信任传递过程中的衰减参数。该方法充分考虑了外部环境、实体自身条件等情况对主观信任值的影响,使信任传递过程中信任衰减参数的计算更加客观、准确。(4)在系统层面,研究网构软件可信性演化模型。提出了一种对网构软件体系结构进行形式化的建模方法,建立了系统结构模型,并据此提出了基于分层 Petri 网的网构软件可信性演化模型;通过上层 Petri 网对实体之间的各种基本协同关系进行了建模,以此形成系统整体组成结构的描述,反映了实体间信任关系的演化;通过下层 Petri 网对实体内部的契约协商策略进行了建模,设计了基于信任等级带有路径引导的信任契约协商方法。从系统整体的角度建立起动静结合、层次分明、描述统一的网构软件可信性演化模型。(5)在系统测试与可信性评估层面,研究网构软件系统可信性评估模型。提出了符合网构软件异构性、结构化、动态化特征的可信性评估方法。定义了基于贝叶斯网络的网构软件可信性评估体系,通过树形结构整合了传统的静态指标以及适用于网构软件的动态指标。提出了基于结构模式的可信性评 V 估指标及其计算方法,在描述各实体之间结构关系、语义关系的基础上,涵盖了对网构软件系统整体及其组成实体可信性的评估。建立起不但能对系统进行评估,还能为用户选择最优化实体提供帮助的可信性评估模型。本书内容分为 8 章。第 1 章阐述了网构软件可信性相关概念。第 2 章介绍了网构软件可信性保证的相关研究现状,以及本书的主要研究内容、意义和创新之处。第 3 章对网构软件可信实体模型进行了研究,对现有的网构软件实体模型进行了分析,并给出了网构软件强可信智能实体模型及其结构和行为设计。第 4 章对网构软件实体间信任约束机制进行了研究,分析了目前常用的网构软件的信任度量及演化模型,建立了基于契约的网构软件实体交互模型,并提出了基于评估的信任衰减过程。第 5 章是对网构软件可信性演化模型的研究,建立了系统结构模型,根据此模型建立了基于分层 Petri 网的网构软件可信性演化模型,并描述了网构软件系统运行中的可信性演化机制。第 6 章是对网构软件可信性评估模型的研究,建立了基于贝叶斯网络的可信性评估体系,并介绍了评估体系中各指标及系统整体可信性的计算方法。第 7 章是对网构软件动态可信性指标评估技术的介绍,从 Web 应用安全漏洞渗透测试中 SQL 注入攻击建模和 SQL 注入渗透测试用例形式化建模等方面进行了阐述。第 8 章总结了本书已经完成的工作,并对未来的研究做出了展望。本书第 7 章的编写工作得到了天津工业大学田伟老师的大力支持,在此表示衷心感谢。由于作者水平有限,书中错误与不妥之处在所难免,欢迎各界专家和读者朋友批评指正。山东交通学院 司冠南 2014 年 10 月 VII 第1章 网构软件可信性相关概念1 1.1 网构软件1 1.2 可信计算8 1.3 软件可信性 11 第2章 网构软件可信性研究现状 15 2.1 网构软件可信性保障 15 2.2 网构软件可信性评估 20 2.3 本书的研究内容及意义 22 第3章 网构软件可信实体模型 28 3.1 网构软件实体模型.29 3.2 强可信智能实体模型.35 3.3 实体可信情况形式化描述语言.45 3.4 基于 EDSADL 的实体自省机制.57 第4章 网构软件实体间信任约束机制 60 4.1 网构软件的信任度量及演化模型 61 4.2 基于契约的网构软件实体间信任关系约束机制设计 63 VIII 4.3 基于评估的信任衰减过程 70 4.4 基于网构软件的软件评测支撑平台设计及实验分析 73 第5章 基于分层 Petri 网的网构软件可信性演化模型 86 5.1 网构软件结构分析 87 5.2 Petri 网用于网构软件可信性演化的相关研究 89 5.3 网构软件系统建模 96 5.4 网构软件系统运行中可信性演化机制 104 第6章 网构软件可信性评估模型 112 6.1 基于贝叶斯网络的网构软件可信性评估体系 113 6.2 可信性评估指标计算方法 122 6.3 网构软件可信性评估实例及结果分析 129 第7章 网构软件动态可信性指标评估技术 138 7.1 攻击模型驱动的 SQL 注入渗透测试框架 139 7.2 基于安全目的模型的 SQL 注入攻击建模 147 7.3 SQL 注入渗透测试用例的形式化建模 162 第8章 结语 180 参考文献 184 第 1 章 网构软件可信性相关概念 1 第 1 章 网构软件可信性相关概念 互联网发展日新月异,随着网络上信息量的急剧膨胀,越来越多的用户对网络服务和应用提出了实时、动态、开放、可信的要求。如何整合分布式异构资源,为网络使用者提供快速、高效、可信的动态服务是信息技术发展面临的严峻挑战,也是国家及各行业领域一系列重大需求的共同基础。为了适应这些应用领域及信息技术方面的重大需求,在面向对象、软件构件等技术支持下,形成了基于互联网环境的新的软件形态,即网构软件(Internetware)1。由于网构软件工作于开放、动态、难控的互联网环境,且组成实体多由第三方提供,软件的可信性问题就变得非常重要。因此,如何保证网构软件整体及各组成实体的可信性成为网构软件研究领域一个非常具有挑战性的新问题。1.1 网构软件 为了适应人们不断增加的功能需求,软件系统的结构、体系变得日趋复杂。同时,在飞速发展的互联网技术的推动下,软件的组成逐步由网构软件可信性评估与保障技术 2 固定转向多样,软件的行为逐步由静态转向动态,软件的开发逐步由封闭转向开放。从软件实体的角度看,主要经历了对象、构件、服务,并发展了软件 Agent 技术,软件实体的主体化(内容的自包含性、结构的独立性与实体的适应性)程度不断提高;从软件开发的角度看,主要经历了 3 个发展层次:面向对象、基于构件和面向服务211。面向对象的方法与技术很好地发展了信息隐蔽原理及抽象数据类型概念,使人们能够从认知的角度控制大型软件设计与开发过程的复杂性。其基于继承的代码复用和多态执行的机制,将各种相关的对象加以有机关联,使所设计的软件对软件工程实践中常遇到的功能易变性具有一定的适应能力。软件的设计与开发也由对功能固定、结构封闭的问题进行自顶向下、逐步精化的结构化方法求解,转变为对功能可变、结构开放的问题进行结构化适应。所使用的开发方法面向具体问题,支撑个体软件开发者,系统开发呈现一阶段集中式结构。软件构件的概念诞生于 20 世纪 60 年代后期,人们从不同的角度给出了不同的定义,OMG 组织12、Carnegie Mellon 大学软件工程研究所(SEI)的 Bachman13,以及著名构件学者 Szyperski14等均对构件给出了定义。我们认为,Szyperski14的定义较好地体现了构件的特征,其定义如下:软件构件是一种用于组装的单元,它具有规范的接口规约和显式的上下文依赖,软件构件可以被独立部署并由第三方组装软件。构件一般由为组装提供基础支撑的构件接口与包含功能具体实现的构件体组成。构件通常比对象具有更大的粒度和更强的复用性,可以在基本不改变内部实现细节的情况下被重复应用于多个软件系统。这样构件就可以由第三方通过一定的外部手段进行一定的剪裁与调节,进而应用于更加广泛与开放的环境中。由此可见,构件能够在解决已有问题的基础上第 1 章 网构软件可信性相关概念 3 对未来的同类问题提供支持,满足了大规模工业化生产软件的需求。基于构件软件的开发面向群体问题,支撑群体开发者工业化开发,构件开发与系统组装呈现两阶段分离式结构。随着互联网的发展,软件的使用环境也逐渐变得更加开放、动态和多变。而开放网络环境中各类资源的共享和集成也对计算机软件技术提出了新的挑战。软件服务的概念就是在这种环境下产生的,并较对象、构件有了新的发展,主要是应对开放网络环境中各类资源的共享和集成对计算机软件技术提出的挑战。首先,软件服务的业务功能相对独立,通常基于可共享或