随着技术的发展,信息物理融合系统(cyber-physical system,简称CPS)在生活中扮演着越来越重要的角色,例如电力系统、铁路系统.如果CPS遭到攻击,将对现实世界的正常运转造成巨大影响,甚至威胁生命安全.垂悬指针是指向的区域被释放后未被置为空的指针,它是一种会导致攻击的软件缺陷.由垂悬指针导致的use-after-free和double-free漏洞能够执行任意恶意代码.迄今为止,只有少量工作针对垂悬指针进行检测、防御.其中多数都会导致过高的额外运行时开销.提出DangDone用于检测和防御垂悬指针.首先,通过静态分析检测潜在垂悬指针;然后,基于检测到的垂悬指针信息和一系列预定义的指针变换规则,依据指针传播信息变换指针,使得指针及其别名都指向同一个新引入的指针.基于该方法,实现了DangDone的原型工具.基于11个开源项目和SPEC CPU benchmark的实验结果表明:DangDone的静态分析部分只有33%的误报率,指针变换部分只引入了1%左右的额外开销.同时,DangDone成功防护了11个开源项目中的use-after-free和double-free漏洞.实验结果体现了DangDone的高效率及有效性.
随着面向服务的体系结构、云计算以及软件即服务的流行和发展,提供相同或相似的服务功能以及差异化服务质量(quality of service,QoS)的服务提供者越来越多.因此,如何为一个复合服务业务流程中的抽象服务选择合适的服务提供者,并通过动态组合来最大限度地保障并优化整体服务质量就成了一个重要的研究课题.对于一个复合服务,传统的服务组合方法会为所有服务请求实例选择一套共同的服务绑定方案直至下一次自适应调整.此外,这些方法只考虑了候选服务质量的期望值,而忽略了服务质量在运行时的波动带来的潜在风险.这些问题可能导致复合服务请求者和提供者之间达成的服务等级协议(service level agreement,SLA)经常被违反,从而影响复合服务提供者业务价值的实现.针对这一问题,本文提出了一种支持风险偏好的Web服务动态组合方法.该方法综合考虑了服务质量的期望值和波动性,应用投资组合理论产生适应给定风险偏好的多套服务绑定方案的组合,从而控制风险、适应不同的风险偏好.实验结果表明,该方法与全局服务选择方法相比能够有效降低SLA违反率,同时提高复合服务所创造的业务价值.