2018, 29(8):2336-2349.DOI: 10.13328/j.cnki.jos.005526
摘要:软件安全性是衡量软件是否能够抵御恶意攻击的重要性质.在当前互联网环境下,黑客攻击无处不在,因而估计软件中可能含有的漏洞数量与类型,即对软件进行安全评估,变得十分必要.在实际中,用户不仅需要对未发布或者最新发布的软件实施安全性评估,对已发布软件也会有一定的安全评估需求,例如,当用户需要从市场上互为竞争的多款软件中做出选择,就会希望能够花费较低成本、较为客观地对这些软件进行第三方的评估与比较.提出了一种由自然语言数据驱动的智能化软件安全评估方法来满足这一要求.该方法基于待评估软件现有用户的使用经验信息来评估软件的安全性.它首先自适应地爬取用户在软件使用过程中对软件的自然语言评价数据,并利用深度学习方法与机器学习评估模型的双重训练来获得软件的安全性评估指标.由于所提出的自适应爬虫能够在反馈中调整特征词,并结合搜索引擎来获得异构数据,因而可通过采集广泛的自然语言数据来进行安全评估.另外,使用一对多的机器翻译训练能够有效地解决将自然语言数据转换为语义编码的问题,使得用于安全评估的机器学习模型可以建立在自然语言的语义特征基础上.在国际通用漏洞披露数据库(CVE)和美国国家漏洞数据库(NVD)上对该方法进行了实验,结果表明,该方法在评估软件漏洞数量、漏洞类型以及漏洞严重程度等指标上十分有效.
2016, 27(3):633-644.DOI: 10.13328/j.cnki.jos.004985
摘要:干涉问题是指基础程序和方面之间或者方面之间发生不需要的相互作用,导致最终程序中产生不想要的功能,危害程序的正确性.很难检测和修正在面向方面设计中存在的干涉,已经成为推广面向方面技术的阻碍.受到技术自身可扩展能力的局限,现有的基于模型验证技术的工作不能有效地处理功能干涉问题.设计开发了基于推理验证技术直接检查和去除面向方面设计中功能干涉的工具,它可以根据类和方面的功能规约自动产生确保不发生干涉的条件,并引入交互式证明工具PVS来提高证明过程的自动化程度.证明可以确认设计中无干涉存在或者为修正干涉问题提供线索.
2015, 26(2):239-253.DOI: 10.13328/j.cnki.jos.004778
摘要:随着计算机技术的不断发展,计算机系统在安全攸关领域得到了广泛应用,其中的软件系统正逐渐成为重要的使能部件.在计算机系统中,设备驱动程序扮演了软件与硬件设备之间桥梁的角色.由于与计算机平台、操作系统、设备3个方面同时关联所导致的复杂性,设备驱动程序的开发难度大、成本高,程序中所存在的错误和缺陷常常导致系统失效,在安全攸关领域造成不可挽回的损失.以设备驱动程序可靠性和正确性保障为目标,分别从故障的隔离与恢复、正确性分析和验证、设计建模与复杂性控制这3个方面对当前相关方法和技术进行分析,为开展进一步深入的研究工作打下基础.
2015, 26(2):269-278.DOI: 10.13328/j.cnki.jos.004780
摘要:列车控制系统是一种安全攸关系统,为保证其安全性,要求测试过程对安全攸关场景中所有可能的运行进行完全的覆盖.现有的场景建模与测试用例自动生成方法不能完全满足这一技术需求.围绕列车控制系统的安全攸关场景建模以及测试用例自动生成方法展开研究,对UML活动图扩充了事件驱动机制和时间特性描述机制,以满足对安全攸关场景建模的需要,提出了简单路径覆盖准则以定义对场景中所有运行的完全覆盖,并针对这一覆盖准则给出了自动生成测试用例的方法.以地铁列车控制系统为研究对象展开实验,表明了该方法的有效性和局限性.