首页> 中国专利> 软件安全需求获取方法、装置、设备、介质及程序产品

软件安全需求获取方法、装置、设备、介质及程序产品

摘要

本申请提供一种软件安全需求获取方法、装置、设备、介质及程序产品,包括:接收待开发软件的控制结构图;根据控制结构图,获取待开发软件的控制动作的描述语句;控制动作用于控制目标对象执行对应的动作;根据待开发软件的控制动作的描述语句,以及,预设的危险控制动作引导词,获取待开发软件的危险控制动作的描述语句;根据待开发软件的危险控制动作的描述语句,获取待开发软件的软件安全需求;输出待开发软件的软件安全需求。通过上述方法,本申请提高了获取软件安全需求的效率。

著录项

  • 公开/公告号CN112799639A

    专利类型发明专利

  • 公开/公告日2021-05-14

    原文格式PDF

  • 申请/专利权人 北京海博思创科技股份有限公司;

    申请/专利号CN202110215174.X

  • 发明设计人 袁劲涛;王海龙;杨洸;郭富强;

    申请日2021-02-24

  • 分类号G06F8/10(20180101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人荣甜甜;黄健

  • 地址 100094 北京市海淀区丰豪东路9号院2号楼12层3单元1201

  • 入库时间 2023-06-19 11:00:24

说明书

技术领域

本申请涉及软件安全技术,尤其涉及一种软件安全需求获取方法、装置、设备、介质及程序产品。

背景技术

软件是系统的重要组成部分。随着信息技术的发展,软件在系统中承担着越来越多的功能,发挥着越来越重要的作用。当软件用于控制其所在系统中的其他对象,则系统安全与软件安全紧密相关。通常,研发人员需要根据软件安全需求(Software SecurityRequirements,SSR),来进行软件设计开发,以及,软件测试,以避免软件出现安全问题。

现有的获取软件安全需求的方法主要借鉴于可靠性设计分析方法,例如软件故障模式和影响分析(Software Failure Mode and Effects Analysis,SFMEA)方法。在通过SFMEA方法获取软件安全需求时,需要依靠人工经验获取软件故障模式,并通过人工分析各种软件故障模式产生的原因,以及,相应的软件故障模式可能造成的后果。然后,通过人工寻找消除(或减少)上述软件故障模式可能造成的后果中的有害后果的方法,从而提出软件安全需求。

然而,现有的软件安全需求获取方法需要人工对待开发软件进行分析,导致获取软件安全需求的效率较低。

发明内容

本申请提供一种软件安全需求获取方法、装置、设备、介质及程序产品,以提高获取软件安全需求的效率。

第一方面,本申请提供一种软件安全需求获取方法,所述方法包括:

接收待开发软件的控制结构图;

根据所述控制结构图,获取所述待开发软件的控制动作的描述语句;所述控制动作用于控制目标对象执行对应的动作;

根据所述待开发软件的控制动作的描述语句,以及,预设的危险控制动作引导词,获取所述待开发软件的危险控制动作的描述语句;

根据所述待开发软件的危险控制动作的描述语句,获取所述待开发软件的软件安全需求;

输出所述待开发软件的软件安全需求。

可选的,所述根据所述待开发软件的危险控制动作的描述语句,获取所述待开发软件的软件安全需求,包括:

根据所述待开发软件的危险控制动作的描述语句,获取所述待开发软件的初始软件安全需求;

根据所述初始软件安全需求,以及,所述待开发软件的过程模型,获取所述待开发软件的软件安全需求;其中,所述过程模型用于指示所述待开发软件控制过程中的可变参数信息。

可选的,所述根据所述待开发软件的危险控制动作的描述语句,获取所述待开发软件的初始软件安全需求,包括:

对所述待开发软件的危险控制动作的描述语句进行逻辑取反,得到所述待开发软件的初始软件安全需求。

可选的,所述根据所述初始软件安全需求,以及,所述待开发软件的过程模型,获取所述待开发软件的软件安全需求,包括:

根据所述待开发软件的过程模型,获取所述目标对象的可变参数信息;

根据所述目标对象的可变参数信息,以及,所述待开发软件的控制动作,确定所述控制动作的危险场景;

将所述控制工作的危险场景与所述初始软件安全需求关联,得到所述待开发软件的软件安全需求。

可选的,所述根据所述初始软件安全需求,以及,所述待开发软件的过程模型,获取所述待开发软件的软件安全需求之前,所述方法还包括:

根据所述控制结构图,以及,所述待开发软件的控制动作的描述语句,生成所述待开发软件的过程模型。

可选的,所述根据所述待开发软件的控制动作的描述语句,以及,预设的危险控制动作引导词,获取所述待开发软件的危险控制动作的描述语句,包括:

将所述预设的危险控制动作引导词插入所述待开发软件的控制动作的描述语句的预设位置,得到所述待开发软件的危险控制动作的描述语句。

第二方面,本申请提供一种软件安全需求获取装置,所述装置包括:

接收模块,用于接收待开发软件的控制结构图;

获取模块,用于根据所述控制结构图,获取所述待开发软件的控制动作的描述语句;根据所述待开发软件的控制动作的描述语句,以及,预设的危险控制动作引导词,获取所述待开发软件的危险控制动作的描述语句;根据所述待开发软件的危险控制动作的描述语句,获取所述待开发软件的软件安全需求;其中,所述控制动作用于控制目标对象执行对应的动作;

输出模块,用于输出所述待开发软件的软件安全需求。

第三方面,本申请提供一种电子设备,包括:至少一个处理器、存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述电子设备执行第一方面任一项所述的方法。

第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机执行指令,当所述计算机执行指令被处理器执行时,实现第一方面任一项所述的方法。

第五方面,本申请提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现第一方面任一项所述的方法。

本申请提供的软件安全需求获取方法、装置、设备、介质及程序产品,通过待开发软件的控制结构图,获取控制动作的描述语句,实现了自动化的对待开发软件的控制动作的描述。然后通过将预设的危险控制动作引导词,与控制动作的描述语句进行结合,获取到待开发软件的危险控制动作的描述语句,实现了自动化的获取待开发软件可能出现的危险的控制动作。进而根据该危险控制工作的描述语句,获取待开发软件的软件安全需求,实现了自动化的获取软件安全需求。该方法可以自动化的获取待开发软件的软件安全需求,不需要人为对待开发软件进行繁琐的分析,提高了获取软件安全需求的效率。进一步的,该方法不需要依赖人工经验对待开发软件进行分析,避免了人工分析产生的误差和不充分性,提高了获取软件安全需求的准确性。

附图说明

为了更清楚地说明本申请或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为现有的一种软件安全需求获取方法的流程示意图;

图2为本申请提供的一种软件安全需求获取方法的流程示意图;

图3为本申请提供的一种待开发软件的控制结构图的示意图;

图4为本申请提供的一种获取待开发软件的软件安全需求的方法的流程示意图;

图5为本申请提供的一种待开发软件的过程模型的示意图;

图6为本申请提供的另一种软件安全需求获取方法的流程示意图;

图7为本申请提供的一种软件安全需求获取装置的结构示意图;

图8为本申请提供的一种电子设备结构示意图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请中的附图,对本申请中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

当待开发软件用于控制其所在系统中的其他对象时,研发人员需要根据待开发软件的软件安全需求,进行软件设计开发,以保证软件在系统中运行时的安全性。其中,本申请所涉及的软件安全需求主要指的是软件的内部安全需求。该内部安全需求例如可以是软件安全实现自身功能时,需要遵守的标准、指南和实践模式等。

以安装在电池储能系统中的继电器控制软件为例,该软件在电池储能系统中运行时,可以提供继电器闭合信号或者继电器断开信号。当该软件提供继电器闭合信号,继电器根据该信号闭合充电电路,电池储能系统开始充电。当该软件提供继电器断开信号,继电器根据该信号断开充电电路,电池储能系统停止充电。若该软件提供错误的继电器闭合信号或者断开信号,则可能导致电池储能系统不能充电或者过度充电,进行可能导致电池储能系统出现安全故障。因此,可以基于此软件的故障,获取到该软件的软件安全需求,从而在开发设计该软件时,可以根据该软件的软件安全需求来设计该软件,以使该软件在运行时,能够提供正确的继电器闭合信号或者继电器断开信号。

现有的获取待开发软件的软件安全需求方法主要是借鉴于可靠性设计分析方法,例如SFMEA方法、软件故障树分析(Software Fault Tree Analysis,SFTA)方法等。上述方法均需要依靠人工经验获取待开发软件的软件安全需求。以SFMEA方法为例,图1为现有的一种软件安全需求获取方法的流程示意图。如图1所示,在使用SFMEA方法获取待开发软件的软件安全需求时,首先需要对软件所在的系统进行定义,然后分析待开发软件的软件故障模式。再通过人工分析得出各种软件故障模式产生的原因,以及,相应的软件故障模式可能造成的后果。其中,对于上述软件故障模式可能造成的后果中的有害后果,需要通过人工寻找消除(或减少)该有害后果的方法。然后再通过软件危害性分析(Softwarecriticality analysis,SCA)获取待开发软件的软件安全需求。

然而,当待开发软件需要实现的功能或者内部实现逻辑较为复杂时,通过人工对待开发软件进行分析,来获取软件安全需求,可能导致获取软件安全需求的效率较低。

考虑到现有的软件安全需求获取方法存在上述问题,本申请提出一种自动化软件安全需求获取方法。该方法不需人工对待开发软件进行分析,即可实现自动化的获取待开发软件的软件安全需求,提高了获取软件安全需求的效率。具体实现时,该方法的执行主体可以为电子设备。该电子设备例如可以为终端、服务器等具有处理功能的设备。

下面结合具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。

图2为本申请提供的一种软件安全需求获取方法的流程示意图。如图2所示,该方法包括以下步骤:

S101:接收待开发软件的控制结构图。

其中,上述待开发软件的控制结构图(Control structure diagram,CSD)可以表示待开发软件的输入、控制过程、输出中的至少一项。示例性的,以待开发软件的控制结构图包括待开发软件的输入、控制过程和输出为例,图3为本申请提供的一种待开发软件的控制结构图的示意图。如图3所示,该待开发软件的控制结构图包括了该待开发软件的x个输入、y个输出,以及,待开发软件的控制过程。其中,x和y均为正整数。

示例性的,以该待开发软件为继电器控制软件为例,该继电器的输入、控制过程,以及,输出例如可以如表1中所示:

表1

可选的,电子设备例如可以通过应用程序接口(application programinterface,API)或者图形用户界面(graphical user interface,GUI)等接收用户输入的待开发软件的控制结构图。或者,电子设备例如还可以通过无线网络、有线网络等方式,从其他设备(例如终端或者服务器等)处获取待开发软件的控制结构图。应理解,本申请对电子设备如何接收,以及,从何处接收待开发软件的控制结构图不进行限定。

S102:根据控制结构图,获取待开发软件的控制动作的描述语句。

其中,上述控制动作用于控制目标对象执行对应的动作。该目标对象指的是执行待开发软件时控制的对象。

可选的,电子设备可以从待开发软件的控制结构图中获取待开发软件的控制过程和输出,然后对各控制过程,以及,相应的输出进行合成,得到的合成结果。该合成结果,即可以视为待开发软件的控制动作的描述语句。

示例性的,仍然以待开发软件为继电器控制软件为例,上述目标对象即为继电器。该待开发软件的控制动作的描述语句例如可以如表2中所示:

表2

如表2所示,示例性的,将“控制继电器输出”的控制过程与相应的输出“闭合信号”进行合成,可以得到待开发软件的一个控制动作的描述语句:“控制继电器输出闭合信号”。

S103:根据待开发软件的控制动作的描述语句,以及,预设的危险控制动作引导词,获取待开发软件的危险控制动作的描述语句。

其中,当待开发软件按照控制动作的描述语句和引导词所指示的含义运行,则可能导致软件出现安全问题时,该引导词则可以称为危险控制动作引导词。

可选的,在获取待开发软件的控制动作的描述语句之后,电子设备例如可以通过将预设的危险控制动作引导词插入待开发软件的控制动作的描述语句的预设位置,获取待开发软件的危险控制动作的描述语句。示例性的,上述待开发软件的控制动作的描述语句的预设位置,例如可以是在待开发软件的控制动作的描述语句之前。即,电子设备例如可以将预设的危险控制动作引导词插入到待开发软件的控制动作的描述语句之前,以构成待开发软件的危险控制动作的描述语句。或者,上述预设位置例如还可以是根据不同的待开发软件的危险控制动作的描述语句可以改变的。

再或者,电子设备还可以将待开发软件的控制动作的描述语句输入到危险控制动作生成模型中,以获取待开发软件的危险控制动作的描述语句。示例性的,上述危险控制动作生成模型例如可以是训练好的深度学习模型,该训练好的深度学习模型可以基于危险控制动作引导词,以及,输入的控制动作的描述语句,生成危险控制动作的描述语句。

示例性的,上述危险控制动作引导词例如可以是“不提供”、“未要求而提供”、“过早提供”、“过晚提供”、“提供长时间的”、“提供短时间的”中的至少一项。

其中,“过早提供”和“过晚提供”危险控制动作引导词指的是待开发软件执行控制动作的时序出现错误,即待开发软件可能在预设时间之前提供了控制动作(“过早提供”),或者在预设时间之后提供了控制动作(“过晚提供”)。“提供长时间的”和“提供短时间的”危险控制动作引导词指的是待开发软件执行控制动作的时长出现错误,即待开发软件执行控制动作的时长可能大于预设时长(“提供长时间的”),或者待开发软件执行控制动作的时长可能小于预设时长(“提供短时间的”)。

应理解,本申请对危险控制动作引导词的具体用词不进行限定。具体实现时,电子设备也可以使用其他的预设的危险控制动作引导词,以获取待开发软件的危险控制动作的描述语句。例如前述“不提供”还可以是“没有提供”,“未要求而提供”还可以是“没有要求但是提供”等。

示例性的,以上述危险控制动作引导词包括“不提供”、“未要求而提供”、“过早提供”、“过晚提供”、“提供长时间的”、“提供短时间的”六个引导词,控制动作的描述语句为“控制继电器输出闭合信号”为例,待开发软件的危险控制动作的描述语句例如可以如表3所示:

表3

应理解,本申请对电子设备如何根据待开发软件的控制动作的描述语句,以及,预设的危险控制动作引导词,获取待开发软件的危险控制动作的描述语句不进行限定。具体实现时,电子设备还可以通过其他方式获取待开发软件的危险控制动作的描述语句。

S104:根据待开发软件的危险控制动作的描述语句,获取待开发软件的软件安全需求。

可选的,电子设备在获取危险控制动作的描述语句之后,可以对各危险控制动作的描述语句进行逻辑取反,并将逻辑取反的结果作为待开发软件的软件安全需求。

或者,电子设备还可以将获取到的危险控制动作的描述语句输入到软件安全需求获取模型中,以使得该模型能够基于危险控制动作的描述语句,获取待开发软件的软件安全需求。示例性的,上述软件安全需求获取模型例如可以是训练好的深度学习模型等。

再或者,电子设备还可以根据危险控制动作引导词,与,软件安全需求相应引导词的第一映射关系,将危险控制动作的描述语句中的危险控制动作引导词,替换成软件安全需求相应引导词,以获取各危险控制动作的描述语句对应的软件安全需求。可选的,上述危险控制动作引导词,与,软件安全需求相应引导词的第一映射关系例如可以是预先存储在电子设备中的。示例性的,以前述危险控制动作引导词“不提供”为例,该危险控制动作引导词对应的软件安全需求相应引导词,例如可以是“应提供”等。

S105:输出待开发软件的软件安全需求。

在获取待开发软件的软件安全需求之后,电子设备可以将获取到的软件安全需求输出。示例性的,电子设备例如可以在通过GUI界面输出显示上述软件安全需求。或者,电子设备例如还可以将该软件安全需求以文档的形式进行存储,在接收到用户使用的终端发送的用于获取软件安全需求的请求之后,将该软件安全需求文档发送给用户使用的终端。

在本实施例中,电子设备通过待开发软件的控制结构图,获取控制动作的描述语句,实现了自动化的对待开发软件的控制动作的描述。然后通过将预设的危险控制动作引导词,与控制动作的描述语句进行结合,获取到待开发软件的危险控制动作的描述语句,实现了自动化的获取待开发软件可能出现的危险的控制动作。进而根据该危险控制工作的描述语句,获取待开发软件的软件安全需求,实现了自动化的获取软件安全需求。该方法可以自动化的获取待开发软件的软件安全需求,不需要人为对待开发软件进行繁琐的分析,提高了获取软件安全需求的效率。进一步的,该方法不需要依赖人工经验对待开发软件进行分析,避免了人工分析产生的误差和不充分性,提高了获取软件安全需求的准确性。

下面针对电子设备如何根据待开发软件的危险控制动作的描述语句,获取待开发软件的软件安全需求进行说明。

图4为本申请提供的一种获取待开发软件的软件安全需求的方法的流程示意图。如图4所示,作为一种可能的实现方式,上述步骤S104可以包括以下步骤:

S201:根据待开发软件的危险控制动作的描述语句,获取待开发软件的初始软件安全需求。

可选的,电子设备可以对待开发软件的危险控制动作的描述语句进行逻辑取反,以获取待开发软件的初始软件安全需求。

示例性的,继续以前述表3中所示的危险控制动作的描述语句为例,对各描述语句进行逻辑取反之后,待开发软件的初始软件安全需求例如可以如下述表4中所示:

表4

S202:根据初始软件安全需求,以及,待开发软件的过程模型,获取待开发软件的软件安全需求。

其中,上述待开发软件的过程模型用于指示待开发软件控制过程中的可变参数信息。该可变参数信息例如可以包括待开发软件控制过程的可变参数,以及,可变参数可取的状态值。示例性的,电子设备例如可以通过API或者GUI接收待开发软件的过程模型。

在获取待开发软件的过程模型之后,可选的,电子设备例如可以先根据待开发软件的过程模型,获取其中的目标对象的可变参数信息。示例性的,若上述过程模型以文档的形式进行存储,则电子设备例如可以通过文字识别,获取过程模型中的目标对象的可变参数信息。

然后,电子设备可以根据获取到的目标对象的可变参数信息,以及,待开发软件的控制动作,确定控制动作的危险场景。其中,上述危险场景指的是各可变参数信息和各待开发软件的控制动作构成的所有的场景中,可能导致待开发软件出现安全问题的场景。示例性的,电子设备可以根据目标对象的可变参数信息、待开发软件的控制动作的描述语句,以及,危险控制动作的描述语句是否为危险场景的第二映射关系,确定控制动作的危险场景。

然后,电子设备可以将控制工作的危险场景与初始软件安全需求进行关联,以获取待开发软件的软件安全需求。示例性的,电子设备例如可以通过对控制动作的危险场景的描述语句,以及,初始软件安全需求的描述语句进行语义判断,将具有重叠语义或者相同语义的控制动作的危险场景与初始软件安全需求进行关联。

示例性的,图5为本申请提供的一种待开发软件的过程模型的示意图。如图5所示的过程模型,该待开发软件控制过程中包括n个可变参数。每个可变参数可以对应多个状态值。例如可变参数a的状态值可以是状态值a

以待开发软件为继电器控制软件为例,可变参数信息例如可以如表5所示:

表5

示例性的,前述第二映射关系例如可以如下述表6所示。应理解,表6仅是示例性的展示了一部分第二映射关系,可变参数的状态值、控制动作,以及,是否为危险场景等并未完全列举。

表6

如表6中所示,1表示该场景为危险场景,0表示该场景不是危险场景。示例性的,如表6中所示,当继电器自检状态正常、电池储能系统的温度大于55度,且电池储能系统的运行模式为充电时,待开发软件提供控制继电器输出闭合信号为危险场景。应理解,此处的1和0还可以用其他数字或者文字代替(例如1可以用“是”代替,“0”可以用“否”代替等),本申请对此不进行限定。

根据该第二映射关系,电子设备可以筛选出控制动作的危险场景(控制动作的危险场景的描述语句例如可以是“自检状态:正常,温度值:>55度,运行模式:充电,提供控制继电器输出闭合信号是危险的”)。示例性的,电子设备将控制工作的危险场景与初始软件安全需求进行关联,获取到的待开发软件的软件安全需求例如可以如下表7所示:

表7

在本实施例中,通过待开发软件的危险控制动作的描述语句,获取待开发软件的初始软件安全需求。然后通过初始软件安全需求,以及,用于指示待开发软件控过程中的可变参数的信息的过程模型,获取参数化的待开发软件的软件安全需求,提高了获取的软件安全需求的精确性,能够为用户在设计开发待开发软件时提供更加精确的指导。

进一步的,针对电子设备如何获取前述待开发软件的过程模型,可选的,电子设备例如可以在获取待开发软件的软件安全需求之前,根据待开发软件的控制结构图,以及,待开发软件的控制动作的描述语句,生成待开发软件的过程模型。在该实现方式下,示例性的,待开发软件的控制结构图中例如可以包括待开发软件控制过程中的可变参数信息。电子设备例如可以先识别控制结构图中的可变参数信息的描述语句,然后将各可变参数信息的描述语句,与各待开发软件的控制动作的描述语句进行组合,进而获取待开发软件的过程模型。

图6为本申请提供的另一种软件安全需求获取方法的流程示意图。如图6所示,该方法包括以下步骤:

首先,电子设备接收待开发软件的控制结构图。

然后电子设备可以根据该控制结构图,获取待开发软件的控制动作的描述语句,以及,待开发软件的过程模型。具体的,电子设备如何根据控制结构图,获取待开发软件的控制动作的描述语句,以及,待开发软件的过程模型可以参考前述实施例所述的方法,本申请在此不再赘述。

对于待开发软件的控制动作,电子设备可以在控制动作的描述语句之前插入危险控制动作引导词,以获取危险控制动作的描述语句。然后通过对该危险控制动作的描述语句进行逻辑取反,获取待开发软件的初始软件安全需求。

对于过程模型,电子设备可以基于该过程模型中的可变参数信息,获取控制动作的危险场景。

然后,电子设备可以将上述待开发软件的初始软件安全需求与控制动作的危险场景进行关联,以获取参数化的待开发软件的软件安全需求。

在获取软件安全需求之后,电子设备可以将该软件安全需求输出,以为用户进行待开发软件的开发提供指导。

图7为本申请提供的一种软件安全需求获取装置的结构示意图。如图7所示,该装置包括:接收模块31、获取模块32,以及,输出模块33。其中,

接收模块31,用于接收待开发软件的控制结构图。

获取模块32,用于根据所述控制结构图,获取所述待开发软件的控制动作的描述语句;根据所述待开发软件的控制动作的描述语句,以及,预设的危险控制动作引导词,获取所述待开发软件的危险控制动作的描述语句;根据所述待开发软件的危险控制动作的描述语句,获取所述待开发软件的软件安全需求。其中,所述控制动作用于控制目标对象执行对应的动作。

输出模块33,用于输出所述待开发软件的软件安全需求。

可选的,获取模块32,具体用于根据所述待开发软件的危险控制动作的描述语句,获取所述待开发软件的初始软件安全需求;根据所述初始软件安全需求,以及,所述待开发软件的过程模型,获取所述待开发软件的软件安全需求;其中,所述过程模型用于指示所述待开发软件控制过程中的可变参数信息。

可选的,获取模块32,具体用于对所述待开发软件的危险控制动作的描述语句进行逻辑取反,得到所述待开发软件的初始软件安全需求。

可选的,获取模块32,具体用于根据所述待开发软件的过程模型,获取所述目标对象的可变参数信息;根据所述目标对象的可变参数信息,以及,所述待开发软件的控制动作,确定所述控制动作的危险场景;将所述控制工作的危险场景与所述初始软件安全需求关联,得到所述待开发软件的软件安全需求。

可选的,如图7所示,该软件安全需求获取装置还可以包括生成模块34,用于在根据所述初始软件安全需求,以及,所述待开发软件的过程模型,获取所述待开发软件的软件安全需求之前,根据所述控制结构图,以及,所述待开发软件的控制动作的描述语句,生成所述待开发软件的过程模型。

可选的,获取模块32,具体用于将所述预设的危险控制动作引导词插入所述待开发软件的控制动作的描述语句的预设位置,得到所述待开发软件的危险控制动作的描述语句。

本申请提供的软件安全需求获取装置,用于执行前述软件安全需求获取方法实施例,其实现原理与技术效果类似,对此不再赘述。

图8为本申请提供的一种电子设备结构示意图。如图8所示,该电子设备400可以包括:至少一个处理器401和存储器402。

存储器402,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。

存储器402可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。

处理器401用于执行存储器402存储的计算机执行指令,以实现前述方法实施例所描述的软件安全需求获取方法。其中,处理器401可能是一个中央处理器(CentralProcessing Unit,简称为CPU),或者是特定集成电路(Application Specific IntegratedCircuit,简称为ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。

可选的,该电子设备400还可以包括通信接口403。在具体实现上,如果通信接口403、存储器402和处理器401独立实现,则通信接口403、存储器402和处理器401可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,简称为EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。

可选的,在具体实现上,如果通信接口403、存储器402和处理器401集成在一块芯片上实现,则通信接口403、存储器402和处理器401可以通过内部接口完成通信。

本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或者光盘等各种可以存储程序代码的介质,具体的,该计算机可读存储介质中存储有程序指令,程序指令用于上述实施例中的方法。

本申请还提供一种程序产品,该程序产品包括执行指令,该执行指令存储在可读存储介质中。电子设备的至少一个处理器可以从可读存储介质读取该执行指令,至少一个处理器执行该执行指令使得电子设备实施上述的各种实施方式提供的软件安全需求获取方法。

最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号