一种基于业务数据流模型的安全威胁分析方法
技术领域
本发明涉及一种信息技术的安全分析方法,具体讲涉及一种基于业务数据流模型的安全威胁分析方法。
背景技术
在人类社会的发展和生存越来越依赖于信息的今天,信息系统已成为人们用于生产、传送、使用、管理信息的主要工具和手段。当前,国内外信息安全形势日益严峻,黑客的攻击趋势也已发生较大改变,由传统的针底层网络、操作系统等基础软硬件的攻击,逐渐转变为针对信息系统上层应用的攻击。由于系统自身安全缺陷突出,比如安全威胁识别不准确、安全需求不足、安全设计不合理等原因,使得这种攻击方式更易实现而且危害更大。如何开发一套安全可靠的信息系统是各行业面临的重要问题。
安全威胁分析就是识别信息系统面临的各种信息安全威胁。然而目前在安全威胁分析过程中存在如下问题:1)缺乏一套完整规范的安全威胁分析及表示方法。目前安全威胁分析过程主要依靠开发人员的个人经验或者简单风险分析,导致威胁分析不全面。2)缺乏从业务角度分析安全风险。开发人员仅从信息安全角度进行分析,而且业务人员较少参与,导致安全威胁普遍缺乏针对性。
发明内容
针对现有技术的不足,本发明的目的是提供一种基于业务数据流模型的安全威胁分析方法,该方法从业务出发,对基本业务流程进行抽象,提出了通用业务数据流分析模型。在具体安全威胁分析过程中,首先梳理关键业务活动,进而识别涉及的数据资源,然后基于业务数据流模型分析并识别各种业务活动中面临的安全威胁。
本发明的目的是采用下述技术方案实现的:
本发明提供一种基于业务数据流模型的安全威胁分析方法,其改进住处在于,所述方法包括下述步骤:
(1)构建业务数据流模型;
(2)信息系统分解;
(3)关键业务流转分析;
(4)敏感数据识别与定级;
(5)安全威胁分析。
进一步地,所述步骤(1)中,所述业务数据流模型包括下述环节:
1)用户端启动:用户或终端设备通过启动浏览器或客户端程序与主站端建立访问;此环节面临的威胁包括客户端程序伪造和终端恶意攻击;
2)用户端向主站端提交数据:用户端与主站端交互过程中,用户端向主站端提交数据,提交的方式包括:用户输入方式或用户端自动采集方式;此环节面临的威胁包括敏感信息泄漏、认证绕过和暴力破解;
3)数据通过网络传输I:用户端提交的数据通过网络进行传输,数据将经过不同网络环境,会跨越多个可信或不可信网络边界;此环节面临的威胁包括敏感信息收集、数据篡改、会话劫持和拒绝服务;
4)主站端接受并处理数据:主站端对来源用户端的数据进行汇总、加工处理、分析计算,并根据处理结果进行相应操作;同时数据会在主站端的多个应用程序间传输;此环节面临的威胁包括认证绕过、非授权访问、会话重放、敏感信息泄漏、数据篡改、路径遍历、注入攻击、溢出攻击和URL重定向;
5)数据在主站端保存及更新:主站端应用程序将处理后的数据写入后台数据库或更新数据;此环节面临的威胁包括数据篡改和敏感信息泄漏;
6)主站端向用户端返回数据:主站端应用程序在完成数据的收集和处理后,将处理结果信息返回用户端;此环节面临的威胁包括敏感信息泄漏;
7)数据通过网络传输II:主站端返回的数据通过网络进行传输,数据将经过不同网络环境,会跨越多个可信或不可信网络边界;此环节面临的威胁包括敏感信息收集、数据篡改和会话劫持;
8)数据在用户端显示及保存:用户端接收到主站端返回的数据,通过整合后在用户端进行显示,部分数据将存储在用户端;此环节面临的威胁包括数据篡改、敏感信息泄漏和URL重定向。
进一步地,所述步骤(2)中,系统分解以应用系统为主体,根据系统功能Functions、系统用户Users、系统内部结构Structure和系统访问量Visits+对应用系统进行分解;所述系统分解包括下述步骤:
A、首先调研应用系统功能,获得系统分解集合sd:sd=<usri,clti,svri,esi,tbi>;
B、根据步骤A中的系统分解集合sd,绘制系统逻辑架构;
其中:sd表示系统分解集合,由用户、客户端、服务器、外部系统和信任边界五元组描述;
其中用户usri∈User,User是对应用系统进行操作的用户集合User={gu,mu,mu},集合中的元素分别表示普通用户、管理用户和恶意用户;客户端clti∈Client,Client是指连接应用系统服务端的工具集合Client={b,cs},集合中的元素分别表示浏览器和客户端软件;服务器svri∈Server,Server是应用系统服务端的服务器集合Server={as,ws,ds},集合中的元素分别表示应用服务器、Web服务器和数据库服务器;esi∈External-System,External-System是与应用系统进行交互的外部系统集合;tbi∈Trust-Boundaries,Trust-Boundaries是应用系统中的信任边界集合。
进一步地,所述步骤(3)中,关键业务流转分析识别应用系统的关键业务功能(关键业务功能如用户登录功能和转账功能等),用cbfa表示,cbfa={bi}集合中元素表示关键业务功能。
进一步地,所述步骤(4)中,根据关键业务流转分析的结果cbfa,识别每个关键业务用例所包含的敏感数据data={d1,d2,d3...dn}并进行综合评价;按照敏感数据的机密性confidentiality、完整性integrity、可用性availability属性进行分析;其中confidentiality={1,2,3}、integrity={1,2,3}、availability={1,2,3};
满足confidentialityi=3、confidentialityi=2&integrity≥2其中一个条件数据安全级别为增强型;如果其中任一条件都不满足,则数据安全级别为一般性;
所述敏感数据识别与定级包括下述步骤:
<1>根据关键业务流转分析结果cbfa,对应用系统的数据进行分类梳理,确定敏感数据:data={d1,d2,d3...dn};
<2>计算敏感数据的机密性confidentiality、完整性integrity和可用性availability并对其进行赋值;
<3>根据敏感数据的机密性confidentiality、完整性integrity和可用性availability的值,计算是否满足confidentialityi=3或confidentialityi=2&integrity≥2;
<4>确定数据安全级别是增强性还是一般性:data={d1α,d2α,d3α...dnα};
其中α∈{increase,general};increase表示增强性,general表示一般性,α表示increase和general中的一种。
进一步地,所述步骤(5)中,根据关键业务数据流转环节P建立基于业务数据流威胁模型的安全威胁分析;安全威胁分析包括下述步骤:
1>根据总体业务数据流转环节,确定本应用系统的业务数据流转环节bdt:bdt={Pi};其中i∈{1,2,3,4,5,6,7,8};P1为用户端启动、P2为用户端向主站端提交数据、P3为数据通过网络传输I、P4为主站端接收并处理数据、P5为数据在主站端更新及存储、P6为主站端向用户端返回数据、P7为数据通过网络传输II、P8为数据在用户端显示及存储;
2>根据关键业务流转分析结果cbfa,确定关键业务数据流转分析环节P,得出应用系统System需要保护的敏感数据data以及关键业务所对应的威胁t,确定的信息系统安全威胁形式化表达式如下:
其中:i∈{1,2,3,4,5,6,7,8};n、β表示自然数,α表示increase和general中的一种;System为应用系统,Pni为关键业务数据流转分析环节,bn为关键业务流转,dnα为敏感数据定级,tnβ为关键业务的威胁。
与现有技术比,本发明达到的有益效果是:
本发明建立了基于业务数据流模型,其特征在于:共8个环节,依次为用户端启动、用户端向主站端提交数据、数据通过网络传输I、主站端接受并处理数据、数据在主站端保存及更新、主站端向用户端返回数据、数据通过网络传输II、数据在用户端显示及保存。
本发明提供的方法从业务出发,对基本业务流程进行抽象,提出了通用业务数据流分析模型。在具体安全威胁分析过程中,首先梳理关键业务活动,进而识别涉及的数据资源,然后基于业务数据流模型分析并识别各种业务活动中面临的安全威胁。
本发明通过基于业务数据流模型建立信息系统的关键业务数据流转环节入手,引入敏感数据的安全级别(增强型、一般性),根据关键业务数据流转模型,识别各个关键业务流程的安全威胁,并进行形式化表示,能够帮助设计更加贴近符合系统业务流程的安全威胁分析,从而增强应用系统的整体安全性。
附图说明
图1是本发明提供的业务数据流转模型图;
图2是本发明提供的安全威胁分析流程图;
图3是本发明提供的通用系统逻辑架构示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的详细说明。
为了解决现有安全威胁分析方法的不规范性,以及没有充分考虑业务安全的局限性,本发明提供了一种基于业务数据模型的安全威胁分析方法。该方法业务过程安全为目标,旨在在业务人员和开发人员之间建立一种理解和沟通的机制,指导业务人员和开发人员从业务角度出发对信息系统进行安全威胁分析。
本发明提供的一种基于业务数据模型的安全威胁分析方法包括下述步骤:
一、业务数据流模型:
所述业务数据流模型,共8个环节,依次为用户端启动、用户端向主站端提交数据、数据通过网络传输I、主站端接受并处理数据、数据在主站端保存及更新、主站端向用户端返回数据、数据通过网络传输II、数据在用户端显示及保存,如图1所示。
用户端启动:用户或终端设备通过启动浏览器或客户端程序等方式与主站端建立访问。此环节可能面临的威胁包括客户端程序伪造、终端恶意攻击等。
用户端向主站端提交数据:用户端与主站端交互过程中,用户端向主站端提交数据,提交的方式包括:用户输入或用户端自动采集等方式。此环节可能面临的威胁包括敏感信息泄漏、认证绕过、暴力破解等。
数据通过网络传输I:用户端提交的数据通过网络进行传输,数据将经过不同网络环境,可能会跨越多个可信或不可信网络边界。此环节可能面临的威胁包括敏感信息收集、数据篡改、会话劫持、拒绝服务等。
主站端接受并处理数据:主站端对来源用户端的数据进行汇总、加工处理、分析计算,并根据处理结果进行相应操作。同时数据还可能会在主站端的多个应用程序间传输。此环节可能面临的威胁包括认证绕过、非授权访问、会话重放、敏感信息泄漏、数据篡改、路径遍历、注入攻击、溢出攻击、URL重定向等。
数据在主站端保存及更新:主站端应用程序将处理后的数据写入后台数据库或更新数据。此环节可能面临的威胁包括数据篡改、敏感信息泄漏等。
主站端向用户端返回数据:主站端应用程序在完成数据的收集、处理后,将处理结果等信息返回用户端。此环节可能面临的威胁包括敏感信息泄漏等。
数据通过网络传输II:主站端返回的数据通过网络进行传输,数据将经过不同网络环境,会跨越多个可信或不可信网络边界;此环节面临的威胁包括敏感信息收集、数据篡改和会话劫持;
数据在用户端显示及保存:用户端接收到主站端返回的数据,通过整合后在用户端进行显示,部分数据将存储在用户端。此环节可能面临的威胁包括数据篡改、敏感信息泄漏、URL重定向等。
安全威胁分析流程包括4个步骤,分别为系统分解、关键业务流程识别、敏感数据识别&定级、威胁识别。如图2所示。其中:
(1)信息系统分解:对信息系统情况进行调研,包括系统主要功能、系统主要用户、系统内部结构(包括系统使用的架构、部署位置、信息边界和数据流向)、系统访问量等。根据调研结果对系统进行分解,绘制系统逻辑架构示意图,如图3所示。
系统分解应充分对系统的基本业务情况进行调研,即以应用系统为主体,根据系统主要功能Functions、系统主要用户Users、系统内部结构Structure、系统访问量Visits等对应用系统进行分解。
系统分解(System Decomposing)用sd表示,是由用户、客户端、服务器、外部系统、信任边界这五元组来描述:sd=<usri,clti,svri,esi,tbi>。
其中用户usri∈User,User是对应用系统进行操作的用户集合User={gu,mu,mu},集合中的元素分别表示“普通用户”(general user)、“管理用户”(manage user)、“恶意用户”(malicious user);客户端clti∈Client,Client是指连接应用系统服务端的工具集合Client={b,cs},集合中的元素分别表示“浏览器”(browser)、“客户端软件”(client soft);服务器svri∈Server,Server是应用系统服务端的服务器集合Server={as,ws,ds},集合中的元素分别表示“应用服务器”(application server)、“Web服务器”(web server)、“数据库服务器”(database server);esi∈External-System,External-System是与应用系统进行交互的外部系统集合;tbi∈Trust-Boundaries,Trust-Boundaries是应用系统中的信任边界结合,
主要流程如下:
A、首先调研应用系统主要功能,获得系统分解集合sd。
sd=<usri,clti,svri,esi,tbi>
B、根据步骤B中的系统分解sd,绘制系统逻辑架构示意图,见图3。
(2)关键业务识别:识别系统的关键业务功能,包括应用系统的主要功能模块,内容至少包括:关键业务名称、关键业务功能名称、业务简要描述(列举本业务包含的主要功能,并说明本业务的使用者范围)、业务功能描述(描述本功能的使用者范围,简要描述功能操作步骤)。
关键业务流转分析(Critical Business FlowAnalysis)主要识别应用系统的关键业务功能(应用系统的主要功能模块),用cbfa表示,cbfa={bi}集合中元素表示“关键业务功能”(Critical Business Functions)。
主要流程如下:识别应用系统关键业务功能,获得关键业务流转分析集合cbfa。
(3)敏感数据识别与定级:识别每个关键业务用例所包含的敏感数据并进行综合评价。并按照附表1对敏感数据的机密性、完整性、可用性属性进行分析。
根据关键业务流转分析的结果cbfa,识别每个关键业务用例所包含的敏感数据data={d1,d2,d3...dn}并进行综合评价。按照敏感数据的机密性confidentiality、完整性integrity、可用性availability属性进行分析。其中confidentiality={1,2,3}、integrity={1,2,3}、availability={1,2,3},机密性、完整性、可用性的赋值参考表1。
满足confidentialityi=3、confidentialityi=2&integrity≥2其中一个条件数据安全级别为增强型。如果其中任一条件都不满足,则数据安全级别为一般性。
主要流程如下:
<1>首先根据关键业务流转分析的结果cbfa,对应用系统的数据进行分类梳理,确定敏感数据,如密码、身份证、银行卡号。data={d1,d2,d3...dn}
<2>计算敏感数据的机密性confidentiality、完整性integrity、可用性availability并对其进行赋值。
<3>根据敏感数据的机密性confidentiality、完整性integrity、可用性availability的值,计算是否满足confidentialityi=3或confidentialityi=2&integrity≥2;
确定数据安全级别是增强性还是一般性data={d1α,d2α,d3α...dnα}其中α∈{increase,general}。敏感数据定级如下表1所示。
表1 敏感数据定级
(4)安全威胁识别:安全威胁识别根据关键业务识别的结果以及敏感数据的安全级别,确定业务数据流转环节。安全威胁识别根据关键业务识别的结果以及敏感数据的安全级别,确定业务数据流转环节P。业务数据流转环节主要包括用户端启动P1、用户端向主站端提交数据P2、数据通过网络传输P3、主站端接收并处理数据P4、数据在主站端更新及存储P5、主站端向用户端返回数据P6、数据通过网络传输IIP7、数据在用户端显示及存储P8。
根据业务数据流转环节P建立基于业务数据流威胁模型的安全威胁分析方法,如图1。主要流程如下:
1>首先根据上述总体业务数据流转环节,确定本应用系统的主要业务数据流转环节(Businessdatatransfing)bdt。bdt={Pi}其中i∈{1,2,3,4,5,6,7,8}
2>根据关键业务流转分析cbfa,确定并分析关键业务流转环节P,得出应用系统System需要保护的敏感数据data以及关键业务所对应的威胁t,提出一种信息系统威胁形式化表达方式。
其中System为应用系统,Pni为关键业务数据流转分析环节,bn为关键业务流程,dnα为敏感数据定级,tnβ为关键业务的威胁。
本发明引入了关键业务流转分析cbfa、敏感数据data、业务数据流转环节(Business datatransfing)bdt,解决了现有安全威胁分析方法的主观性强、脱离业务流程等缺陷,能够指导设计更加贴近业务流程的安全威胁分析。
实施例
某电力企业计划建设电动汽车充电管理系统从而满足总部、省、地市、站级四级应用,实现电动汽车智能充换电服务网络运营管理。在对该系统进行安全需求分析时,按照本发明一种基于业务数据流模型的安全威胁分析方法对该系统进行分析。
其具体的实施方案为:
1、对系统基本情况进行调研,进行系统分解。该系统用户主要包括总部用户、省级用户、地市用户、站级用户,由于该系统属于B/S系统,该系统客户端主要包括浏览器,服务器主要包括数据库服务器、前置服务器、应用服务器、Web服务器、认证服务器、工作站,交互的外部系统主要包括营销业务应用,信任边界主要包括大区边界(生产大区与管理信息大区边界)、信息内网横向域边界、信息内网纵向边界、域内边界、信息内网第三方边界。
usr={总部用户、省级用户、地市用户、站级用户}
clt={浏览器}
svr={数据库服务器、前置服务器、应用服务器、Web服务器、认证服务器、工作站}
es={营销业务应用}
tb={大区边界、横向边界、纵向边界、域内边界、第三方边界}
2、对系统进行关键业务分析。
cbfa={用户登录、信息采集、充放电机控制、计量计费、电能量采集、视频监控}
3、根据第二步关键业务分析结果进行敏感数据识别&定级,如下表2所示:
表2 敏感数据识别&定级表
敏感数据 |
机密性 |
完整性 |
可用性 |
总值 |
定级 |
用户信息数据 |
3 |
3 |
3 |
9 |
增强型 |
充电桩参数数据 |
3 |
3 |
3 |
9 |
增强型 |
电能信息 |
1 |
2 |
2 |
5 |
一般性 |
充电信息 |
1 |
1 |
1 |
3 |
一般性 |
状态信息 |
1 |
2 |
2 |
5 |
一般性 |
告警信息 |
2 |
3 |
2 |
7 |
增强型 |
计费信息 |
3 |
3 |
3 |
9 |
增强型 |
视频监控信息 |
2 |
3 |
3 |
8 |
增强型 |
4、根据以上步骤结果,进行威胁分析。首先根据步骤2中的关键业务分析,确定各个关键业务的数据流转环节。
用户登录={P1、P2、P3、P4、P5、P6、P7、P8}
信息采集={P2、P3、P4、P5}
充放电机控制={P6、P7、P8}
计量计费={P2、P3、P4、P5、P6、P7、P8}
电能量采集={P2、P3、P4、P5}
视频监控={P2、P3、P4、P5}
根据以上各个关键业务的数据流转环节中所涉及到的敏感数据以及关键业务所对应的威胁确定该系统威胁形式化表达方式。
本发明提供的一种基于业务数据流威胁的安全威胁分析方法,用于指导业务人员和开发人员从业务角度出发对信息系统进行安全威胁分析,并进行形式化表示,提高安全威胁分析过程的准确性和规范性。
最后应当说明的是:以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员依然可以对本发明的具体实施方式进行修改或者等同替换,这些未脱离本发明精神和范围的任何修改或者等同替换,均在申请待批的本发明的权利要求保护范围之内。