内网软件系统安全功能的漏洞分析模型设计*

2022-06-13 05:45:24胡兆华冯亚玲聂兰苏
信息安全与通信保密 2022年5期
关键词:攻击者日志漏洞

胡兆华,冯亚玲,辜 彬,聂兰苏

(中国电子科技集团公司第三十研究所,四川 成都 610041)

0 引 言

近年来,各类网络渗透攻击事件层出不穷,内网软件系统面临着日益严重的攻击威胁,安全状况极为严峻,引起了国家的高度重视。内网软件系统面临更高的测评要求,在传统的测评要求基础上,增加了内网抗网络攻击的安全性测试要求,该要求旨在从单机到系统对内网软件系统的脆弱性和漏洞进行深入挖掘。由于相对特殊的研发和使用环境,与业界在信息系统的安全性开发与测试的成熟技术相比,与互联网安全攻防—渗透测试相比,内网软件系统的安全性测试尚处于起步阶段。

为了应对内网软件系统安全性提升的迫切要求,本文对内网软件体系的应用需求和使用场景进行分析研究,结合产品技术特征、产品边界及形态,开展安全风险分析,提出了系统级安全性测评需求框架。其中,内网软件系统的安全功能漏洞分析研究正是该安全测评需求框架下的重要内容,旨在落实框架中各类安全功能的漏洞分析及测试验证方法。安全功能的漏洞分析主要针对内网软件系统的安全功能的详细设计及实现进行分析,建立安全功能模型,从攻击者视角对功能模型进行威胁分析,找出攻击点,推演出各类实施威胁行为的攻击树,从而分析出可能存在的安全漏洞。

1 系统安全及威胁

安全分析的主要作用是识别系统的脆弱点,及时采取必要的安全措施来提高系统安全水平,使其面临的威胁减到最小。掌握系统的安全原则及其可能面临的外部威胁是安全分析的重要前提。

1.1 系统的安全原则

安全的系统应该满足表1 中的设计原则[1]。

为了满足上述安全系统的设计原则,系统实现的安全功能都应具有相应的安全属性[2]。内网软件系统功能的安全属性如表2 所示。

1.2 安全威胁

安全威胁是攻击者针对系统的安全漏洞展开的潜在攻击风险,而威胁建模是指通过对系统设计和体系结构进行系统化检查,进而对系统面临的威胁进行分类分析,同时协助系统设计者改进系统的安全性设计。

表2 内网软件系统功能的安全属性

微软的STRIDE 威胁建模方法是威胁建模的主要理论和实践来源。STRIDE 是由Spoofing(假冒)、Tampering(篡改)、Repudiation(抵赖)、Information Disclosure(信息泄露)、Denial of Service(拒绝服务)和Elevation of Privilege(提升权限)的首字母组成的缩略词[3],它从6 个维度来考察系统设计时存在的外部威胁风险点。威胁分类的定义及其映射的安全属性如表3 所示。

表3 威胁分类的定义及安全属性

2 威胁模型的构建及分析

威胁建模过程包含理解系统的复杂度,识别出所有系统可能面临的威胁,不管这些威胁是否可以被利用。在安全性需求形成的过程中,需要根据这些威胁的严重程度与发生的可能程度决定是否采取措施减轻威胁或接受其带来的安全风险。

2.1 威胁建模分析的常见切入点

针对系统安全及外部威胁分析,常见的威胁建模分析切入点主要包含以下几个方面。

2.1.1 以攻击者作为切入点

以攻击者作为切入点的威胁建模分析方式是从攻击者角度出发,分析评估攻击者的目的及攻击者如何实现他们的目的[4]。这种分析方式通常围绕系统的资产展开,首先要考虑的是攻击者的动机,例如,某攻击者想进入未对其授权的系统中读取敏感信息。

2.1.2 以软件系统作为切入点

以软件系统作为切入点的威胁建模分析方式是围绕系统的设计方式与动作目的展开,进而分析软件系统及系统内部模块可能面临的攻击。

2.1.3 以资产作为切入点

冬季是主要番茄生产季节,施肥期间需要合理控制氮、磷、钾肥料,施肥大概在2月份后。在第1穗果时,对膨大的第2穗果追肥处理,硫酸钾型复合肥追肥量大概在20 kg/亩,或是选择同等肥量的硫酸二胺[3]。

以资产作为切入点的威胁建模分析方式是围绕系统中的资源展开分析的,这类资源可能是系统收集到的用户敏感信息、业务系统的业务数据等。

2.2 威胁建模的主要步骤

为安全功能创建威胁模型是安全功能漏洞分析的重要基础,威胁模型的建立主要包括以下几个步骤。

2.2.1 描述系统

描述系统需要理解系统的组件和组件之间的关系,并构建一个系统模型来强调系统的主要特征。根据系统类型,可以使用多种方法对系统建模。清晰的软件模型有助于威胁分析,常用软件模型如下文所述。

(1)数据流图。数据流图是最常见的软件模型,也是威胁建模最理想的模型。数据流图将分析对象的应用系统分解为不同的功能组件,并表示出数据流在系统不同部件之间的流入和流出关系[5]。数据流图要素(数据存储和过程)通过数据流连接起来,并与外部实体相互作用。

与其他系统视图相比,数据流图更容易识别出系统面临的威胁,它可以跟踪被系统处理的攻击者的数据和命令,分析它们是如何被解析和响应的。

(2)网络模型。网络模型常应用于复杂的网络系统,可以帮助分析人员查看不同角色的网络设备之间的通信关系。当对网络系统进行威胁建模时,首先需要确定网络上不同类别的网络设备的角色和功能,其次归纳出不同角色的实体之间的通信模式。例如,应用服务器需要同时与业务控制器和用户的终端设备进行通信,因此,网络模型就需要描述出通信过程中使用的协议、端口和流量模式等信息。

(3)统一建模语言UML。在利用统一建模语言(Unified Modeling Language,UML)绘制威胁建模表时,最重要的步骤是添加信任边界[6]。UML 表达能力强,但使用复杂度高,如果不熟悉所有UML 符号,或者对UML 符号的意义理解有误,则图表工具的有效性会受到影响。

(4)泳道图。泳道图常用于表达不同参与者之间的数据流,通常在参与者之间有暗含的信任边界。

(5)状态图。状态图常用于显示系统的不同状态以及这些状态间的转换。在威胁建模中使用状态图,可以检查每次转换是否经过恰当的安全验证。

无论使用哪种软件模型,都应该包括以下关键内容:显示推动系统的事件;显示驱动的进程;判定每个进程将产生和发送的响应;识别请求和响应的数据来源;识别每个响应的接收者;忽略内在运作机制,重点关注范围。

2.2.2 识别资产和接入点

资产是威胁攻击的目标,接入点是攻击者获取系统资产访问的方法和途径[7],因此,识别资产和接入点是威胁建模过程中的关键步骤。

资产是系统的资源,包括有形的资产(例如数据和程序)和抽象的资产(例如数据的一致性和完整性),系统应保护资产不受到恶意攻击和使用。接入点包括开放的套接字、函数接口、共享文件、硬件接口和文件系统的读写等。与接入点相关的信任边界也非常重要,信息边界两边存在不同的信任级别,表示了访问系统资产所需要的信任度或权限。例如,管理员用户相对于普通用户的访问权限更高,能执行更多的操作。

2.2.3 识别威胁

识别威胁是指根据已获取的信息识别出系统可能被攻击者入侵的脆弱点或漏洞,需要对系统进行深层次分析后,才能得到。

在威胁建模过程中,系统模型显示了所有与安全性相关的关键实体,例如资产、接入点和通信信道等。识别威胁可以通过逐个分析关键实体,以破坏关键实体的保密性、完整性、可用性等安全属性的威胁假设的方式进行。一般情况下,可依据STRIDE 威胁模型的6 个分类进行威胁假设,一旦威胁成立,系统又没有相应的缓解对策,则可以认定系统存在漏洞,即该威胁对应的安全属性可能被攻击者破坏[8]。威胁对应的安全属性分类方法有助于在安全性需求中找到特定威胁的缓解对策。例如,数据信息在传输过程中面临被未授权篡改的威胁,这违背了安全属性中的完整性,针对这类威胁,可以在被传输数据中使用杂凑算法,以确保数据的完整性。

3 安全功能漏洞分析模型

安全功能种类多样,即使是相同的安全功能在不同的应用场景下的实现细节也各有不同。在内网软件系统众多的安全功能中,一些功能是大多数软件系统所共有的,常见的安全功能包括日志审计、身份认证、访问控制和升级功能等。为了研究威胁建模的分析方法,本文选取典型安全功能——日志审计进行威胁建模,分析安全功能的攻击路径集(即攻击树),通过对安全功能的威胁分析研究,总结安全功能漏洞分析的一般性方法。

3.1 功能模型分析

日志审计功能按安全边界可划分为3 个安全域:日志操作安全域(和操作者的边界)、日志存储安全域(数据内部处理模块的边界)和日志代理安全域(与外部设备的边界)。从数据流角度,日志数据的整个生命周期包括产生、存储、上报、更新和删除等处理阶段。采用数据流图的功能模型可以详细分析日志数据在每个处理阶段的功能要素及安全约束,同时以攻击者的视角审视每个处理环节,可以清楚地识别可能存在的攻击点。日志审计功能的威胁模型及图例说明如图1、图2 所示。

3.2 攻击树分析

可从机密性、完整性、可用性、身份认证、授权和不可抵赖性6 个方面对日志审计功能可能存在的攻击威胁进行攻击树分析,如表4 所示。

3.3 漏洞风险评估

在安全功能威胁模型的基础上,分析可能存在的安全漏洞和可能被攻击利用的路径,形成系统功能测试的安全性分析思路及测试需求。漏洞所带来的安全风险需要根据安全性测试需求分析结果进行测试用例设计及测试方法实施后的评估,漏洞严重性等级评估所涉及的关联因素[9]包括:(1)漏洞利用结果(可非授权信息浏览、获得普通用户权限、获得高级用户权限等);(2)利用技术复杂度(高、中、低);(3)攻击工具可利用性(没有可用工具、未编译的测试工具、简易的已编译工具、自动化集成化工具);(4)补丁措施(官方补丁、临时解决方案、不存在)。当日志信息的机密性被破坏,漏洞带来的风险程度将取决于日志信息的重要程度,泄露的信息越重要,其风险程度越高(例如,用户名口令泄露的严重性高于用户登录时间泄露的严重性)。因此,一个漏洞存在的风险应基于多种元素综合分析与判定,本文的研究目的是在安全功能威胁模型中合理地找到最薄弱、危险范围最大的节点集,在确定攻击路径后,漏洞风险评估将会更客观、更迅速,后续工作可针对漏洞风险的评估进行更进一步的研究。

表4 攻击树分析

4 结 语

本文在功能威胁模型建立理论的基础上,通过对日志审计安全功能特点进行深入分析,最终实践得出安全功能漏洞分析模型的表示方法,基于日志审计安全功能的漏洞分析模型,以威胁的6 种基本分类(假冒、篡改、抵赖、信息泄露、拒绝服务和提升权限)作为攻击目标,对数据的产生、存储、上报、更新和删除等全生命周期过程进行威胁分析,在功能模型中找到对应的攻击点,对各攻击点的攻击方式和测试手段进行深入分析,最终形成安全功能漏洞威胁的攻击树,作为安全功能测试用例设计的依据和指导。

猜你喜欢
攻击者日志漏洞
漏洞
今日农业(2022年13期)2022-09-15 01:21:08
一名老党员的工作日志
华人时刊(2021年13期)2021-11-27 09:19:02
基于微分博弈的追逃问题最优策略设计
自动化学报(2021年8期)2021-09-28 07:20:18
扶贫日志
心声歌刊(2020年4期)2020-09-07 06:37:14
正面迎接批判
爱你(2018年16期)2018-06-21 03:28:44
游学日志
三明:“两票制”堵住加价漏洞
中国卫生(2016年5期)2016-11-12 13:25:28
漏洞在哪儿
儿童时代(2016年6期)2016-09-14 04:54:43
高铁急救应补齐三漏洞
中国卫生(2015年12期)2015-11-10 05:13:38
有限次重复博弈下的网络攻击行为研究