应用安全能力建设目标与策略

释放双眼,带上耳机,听听看~!

    上一篇我们从多个方面讨论了互联网企业关注应用安全能力建设的必要性,从本篇开始,我们将逐步讨论互联网企业如何进行应用安全能力建设,比如应用安全涉及的信息安全组织架构、责任主体、管理流程、操作规范、安全工具等,它们将为企业应用安全工作的开展提供目标指向和管理依据,以保障应用安全相关工作能切实落地。

本篇主要包含以下内容:

信息安全组织架构

应用安全管理目标

应用安全管理策略

2.1 信息安全组织架构

    当前的国内环境是全民创业,万众创新,催生出一大批的互联网企业。这些企业的信息化水平参差不齐,在中小型互联网企业往往没有配备专门的信息安全人员,或者仅有几个人的信息安全团队,通常零散地分布在运维团队或者归属CTO管辖,不会设立单独的信息安全部门承担信息安全相关的所有工作,也就不存在信息安全组织架构的说法。

      而在大型互联网企业里,信息安全工作通常是由CSO或CIO主导,信息安全组织通常划分为三层:1)决策层;2)管理层;3)执行层。决策层主要是由企业法人、合伙人、企业高管构成,为企业的信息安全工作提供资源和决策。通常称之为信息安全委员会或者信息安全办公室,这一层决定着企业整体的信息安全建设要求和目标以及企业可以在信息安全领域投入的资源;管理层通常为信息安全团队,负责制定信息安全策略、制定、流程、规范等,并推动业务部门落地,对业务部门的信息安全工作开展情况进行审计;执行层通常为安全BP和业务人员、运维人员等,负责信息安全工作的执行和落地。三层信息安全组织之间相互协作,共同推动企业信息安全工作的开展。

一般来说,各层安全组织之间的协作模型和职责边界如下图所示:

决策层的职责

1、审批发布信息安全方针和管理体系;

2、任命信息安全角色和岗位;

3、审批信息安全规划和项目的批准;

4、为信息安全工作的开展提供资源保证;

管理层职责:

1、负责建立信息安全管理体系,并确保体系的完整性、符合性和有效性。

2、负责规章制度、程序指南制定,并监督落实规章制度;

3、对信息安全相关项目进行规划和监督。

4、负责信息安全管理和技术控制的选型设计、方案评审;

5、负责信息安全策略、标准、流程和制度的编写、审核及推广;

6、负责制定信息安全的绩效指标,并依据该绩效指标对各部门工作进行检查;

执行层职责:

1、负责完成信息安全管理工作者布置的任务,负责信息安全策略体系、运行体系和技术体系的建设和执行。

2、负责信息安全日常运维工作,监控信息安全总体状况。

3、负责及时向信息安全管理层报告并处理信息安全事件,参与信息重大突发安全事件的应急响应。

4、负责对信息系统安全进行审计、检查、分析和控制等工作。

    而应用安全作为信息安全工作的子集,因其与业务的高度耦合特性,其安全组织通常与企业的研发管理融合在一起的,人员同时分布在管理层和执行层。对于应用安全人员的组织架构笔者比较倾向于其归属CTO管理,当然,如果你所在的企业,有顶层的安全组织设计,安全团队的话语权足够大,归属在CIO还是CTO或者CISO管辖都不是核心问题。

以国内某知名电商为例,其相关的安全组织归属在CTO下管辖,组织结构大体可分安全产品部门、安全平台部门、智能安全风控部门、安全攻防部门、应急响应中心五个部分

图2-2某电商信息安全组织结构

    安全产品部门主要负责常见的网络攻击的检测和防御类、自动化集成扫描器类平台产品研发;安全平台部主要负责研发安全体系规范、流程制定,SDL实施等平台能力的构建;智能风控部门主要负责业务风控和风险保护措施、支付流程安全等;攻防实验室主要负责为内部系统提供各类安全服务,包括漏洞扫描、渗透测试、系统加固、安全培训等;应急响应中心主要负责漏洞管理和威胁情报收集、外部安全能力的合作与交流等。

无论是三层的信息安全组织结构还是图2-2图例所示的五大块安全能力划分,其目的都是追求安全治理与组织IT治理的一致性,保障业务健康、有序的良性增长。作为安全人员,往往担心的是成立了信息安全组织,安全工作却无法正常开展,高层也是口头上强调信息安全工作的重要性,在资源投入上很少或不投入。信息安全组织不但需要权职对等,也需要高层领导的重视和资源的投入,否则,组织结构就成了空架子,沦为摆设,这也是很多企业为了满足监管合规性做出的临时性组织设置后虚有其表的原因。当然,资源的投入不是无限的,如何利用手中有限的资源根据不同情景下安全事项的优先级,完成不同阶段信息安全工作的重点任务是信息安全管理者需要考虑的。

2.2  应用安全管理目标

    当我们考虑应用安全能力建设时,首先需要考虑的是应用安全管理目标,它通常来源于企业信息安全建设目标的分解,兼顾组织要求、研发要求、质量要求、运维要求等。在上一篇中我们说过,企业会面临多方面的应用安全风险,这些安全风险的应对措施将作为安全需求纳入管理目标中;而研发团队、质量团队、运维团队会基于组织IT战略要求在安全方向进行细化,提出更易于执行的管理目标。组织要求的管理目标通常更宏观,重点关注方向性、阶段性能力建设成果,而研发团队或某个项目组关注的则更具体化,比如威胁建模的方法、安全需求应满足的最低级别、系统的安全架构设计等。

    一般来说,应用安全管理目标通常可分为方向性目标和过程性目标。方向性目标是指企业信息安全工作在应用安全能力方向上战略,是指企业采用什么样的能力评估模型来衡量应用安全能力建设水平,在多久的一段时期内完成什么水平的能力建设。而过程性目标是为了完成方向性目标而制定的具体实施路径,它通常是依赖于企业采用的应用安全管理模型,对管理模型分阶段、分步骤实施需要达到的具体要求或管理策略。互联网企业通常会采用OWASP SAMM、SDL、BSIMM作为应用安全管理模型来定义和评估应用安全能力建设水平,通过信息安全组织中各层级职能,推动应用安全管理策略的实施和落地。基于以上逻辑,在起步阶段,应用安全的管理目标可能设定如下:

    建立涵盖安全、研发、测试、运维、质量等维度的应用安全管理协作模式,参考SDL模型,一段时期内(比如三年内),逐步完成应用安全能力构建,覆盖所有业务线。

与这个方向性目标向对应的过程性目标可以分解为多个方面,例如:

成立包含各业务线研发技术总监、测试总监、运维总监、质量总监、安全总监在内的应用安全管理小组。类似于BSIMM中提到的SSG的概念,在管理层面对应用安全的期望达成一致,并相互协作,共同对应用安全的执行结果负责。

    定义应用安全管理模型。无论是采用微软的SDL,还是OWASP SAMM,亦或者引入BSIMM,都需要在组织层面统一定义应用安全管理模型,将理论模型进行裁剪和修订,融入企业的应用研发管理流程中去。

制定应用安全管理过程中关键活动的操作指南和实施规范。无论是基于传统软件研发的瀑布模型还是基于开发、测试、运维一体化的DevOps,都需要在组织层面明确在管理过程中的哪些环节设置安全的关键检查点(KCP),每一个KCP开展安全活动时如何进行操作,输出产物是什么,结果指标如何衡量,审计措施是什么等等。

在这些过程性目标中,有的实施起来比较简单,比如说建立应用安全管理小组,可能在CTO的召集下,大家一起开个会,对目标和协作模式进行讨论,达成一致意见后就完成了。而有的目标的实施则复杂而繁琐,比如制定应用安全管理过程中关键活动的操作指南和实施规范,要达到这个目标,你可能需要考虑如下问题:

    应用安全团队如何建立,需要配备哪些方面的能力模型,团队规模多大,企业在应用安全方向的预算如何,如何利用这些资源分阶段构建应用安全团队自身的能力。

    在所有的应用系统研发管理流程中,是否每一个KCP都需要执行安全活动,如果需要,安全资源是否足够;如果不需要,考虑什么样的方式来区分;当我们根据安全级别对应用系统开展安全活动时,如何根据应用系统的实际情况来定义安全级别的划分边界,划分的指标有哪些;不同的安全级别分别对应哪些关键的安全活动,哪些的可选项,哪些的必选项。

关键的安全活动包含安全培训、安全需求分析、威胁建模、安全设计、安全编码、安全测试、发布基线么?安全培训如何开展?通过什么样的形式开展,面向对象的哪些人;安全需求分析包含哪些内容?仅仅看合规性需求满不满足?合规性需求参考什么标准?以《网络安全法》为准则在应用系统需求分析时如何做取舍,哪些的法律要求必须在应用层实现的。

在应用安全实施规范中,如何考虑不同部门、不同角色的安全目标。比如在一个项目组中,整体的安全目标可能是满足《网络安全法》或信息安全等级保护的要求,通过对研发过程的应用安全管理,满足基本的应用安全版本发布要求;而架构师的安全目标可能是通过可靠的安全需求分析和系统架构安全性设计,消除安全风险,保障软件的安全质量和及时发布。面对不同部门、不同角色、不同的安全目标,通过什么样的安全风险评估程序,来管理应用发布时最终的安全质量。

    除了以上这些列出来的问题,还有许多的需要考虑的方面,这些都是应用安全管理者需要处理的细节。为了解决这些问题,通常是制定一系列的应用安全管理策略来保障的。

2.3 应用安全管理策略

    如果说目标是方向性的、过程性的,那么策略更多的是实施性的、可操作性的。在这一系列的应用安全管理策略中,我们首先需要制定的是应用安全等级划分策略。通过应用安全等级划分,建立不同应用安全等级与关键安全活动关系矩阵,根据不同的应用系统的实际情况,实施不同的安全过程管控。当然这个过程主要是针对于大型互联网企业来说的,如果是小型互联网企业,涉及的应用系统仅仅是几个,安全团队人员又很少,实际情况往往是不需要考虑这些的。建立应用安全管理策略时,我们要结合实际情况,不能生搬硬套,过于理论,本末倒置,弄出笑话来。

应用安全等级划分策略

    我们都知道信息安全等级保护制度是我国信息安全体系中一项重要的管理规范和技术标准,采用对信息和信息载体按照重要性等级分级别进行保护的思想来保障信息系统的安全。同样,在互联网企业内部,我们也需要类似的管理策略来应用系统进行安全等级划分,与等级保护不同的是,企业的很多应用系统对企业业务来说又十分重要却仅仅对应到等级保护的一级或二级标准中,无法从等级保护层面体现出系统安全性的差异,不便于安全策略的实施,所以,需要互联网企业自行定义一套标准,用于衡量应用系统的安全等级。

    在制定应用安全等级划分策略时,通常从定性和定量两个方面制定各项衡量指标,通过对各项指标的总体情况来综合评估风险。一般来说,它主要包含以下几个方面:

    应用系统所属阶段 ,即应用系统状态,是预研型、孵化型、成熟型,不同的阶段对安全要求的关注点不一样。

应用系统重要性 ,相对于企业业务而言,当应用系统受到危害时,对业务的影响程度。

    应用系统暴露面 ,即应用系统暴露在危险环境中的频率和持续时间,比如说在针对公网暴露和针对内网暴露其危险程度是不一样的。

业务连续性要求 ,即应用系统的实时性、高可用性、冗余、备份策略等要求的迫切程度

    中断成本 ,即应用系统发生故障时的可替换措施以及恢复过程所损失的成本高低

    监管要求 ,即明确的行业监管要求和信息安全等级保护定级的等级

从安全目标出发,按照等级划分的基本规则,综合考虑上述影响等级的六个要素,参考ISO 26262 安全等级划分的概念,为每一个要素设定不同的等级分值和权重,对每一项的分值乘以权重进行求和,根据求和后的总分来区分应用系统的安全级别。比如说,我们定义上述六个要素的总分值为100分,每20分划分一个安全级别,分值越高表示安全等级越高[1]。如下表所示:

序号              分值              安全等级

1        80<score<=100          E

2        60<score<=80            D

3        40<score<=60            C

4        20<score<=40            B

5          0<score<=20            A

    假设某个应用系统,六个要素的总分值为78分,则系统的安全等级为D级。

应用安全等级与安全活动矩阵

    定义了应用系统的安全等级,那么接下来我们就需要定义每一个等级与需要执行的关键安全活动之间的关系矩阵,将安全要求分解到研发管理过程的每一个子过程去,通过过程链来保障最终的安全质量。矩阵的纵列为关键安全活动,横列为安全等级,横列与纵列的交叉点即为两者的对应关系。如下表所示,我们用符号“√”来表示当前安全等级下此项关键安全活动为必选项。

表2-1  应用安全等级与安全活动矩阵表

    从上表中我们可以很清晰的说明应用安全等级与应用系统所涉及的安全活动之间的关系,比如一个C级的应用系统,它必须执行如下安全活动项:安全培训、安全编码、黑盒扫描、渗透测试、安全加固基线以及系统的冗余性设计和备份要求。有了这张表,参加应用系统研发过程的各个角色就能很清晰地知晓它需要做哪些工作。

底线管控策略

    安全管理的本质的风险管理,而风险管理的基本目标是以最小的成本收获最大的安全保障,所以,作为应用安全管理者,我们应该具有底线管控意识,识别最有可能发生的、产生危害较大的风险,作为管理底线,制定应用安全底线管理办法和惩奖措施,积极地降低其损失发生的概率,缩小其损失程度来达到控制目的。

围绕应用安全工作的重点,一般包含以下方面的底线管控内容:

    合规性管控底线,比如《网络安全法》中要求的:按照规定留存相关的网络日志不少于六个月;重要数据备份和加密等措施;使用个人信息,并应当依照法律、行政法规的规定和与用户的约定,处理其保存的个人信息等。

    技术路线选型管控底线,比如禁止使用GPL协议产品或代码;禁止使用包含高危漏洞版本的技术组件。

系统设计管控底线,比如密码必须加密储存;收集用户信息必须签署用户告知协议。

    运维部署管控底线,比如禁止存在高危漏洞的应用系统上线发布;禁止高危端口对互联网开放;禁止使用来历不明的文件上传、下载工具等。

    通过底线管控策略,结合审计手段和惩奖措施,自上而下地强制性实施,规范各类人员的操作行为,降低安全风险发生的概率。

2.4 小结

    本文以应用安全能力建设目标与策略为重点,从互联网企业信息安全组织架构、应用安全组织结构的划分与职责、应用安全目标的制定、应用安全管理策略包含的内容几个方面进行阐述,总结了构建应用安全能力时中可能存在的问题以及如何通过管理策略去解决。有了这些作为基础,便于我们更好的推进企业内部的应用安全相关工作。

________________________________________

声明:本文章来自团队成员t0data投稿,仅供安全爱好者研究学习,对于用于非法途径的行为,作者不承担任何责任。

如果有想投稿的可以在公众号联系我,有技术含量的文章如果通过可获得稿费及加入我们的核心团队,成员大部分为各大公司安全负责人和安全行业专家,0day多多内部资料多多,欢迎来撩。

人已赞赏
安全工具

渗透测试标准-情报收集-精品(下)

2019-10-11 17:03:48

安全工具

僵尸扫描详解及实例演示

2019-10-11 17:03:52

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索