• 快捷搜索
  • 全站搜索

开发安全守护企业安全

2020-06-04 21:12:00作者:蒙商银行 代伟、白宗鹏编辑:金融咨询网
软件技术在促进社会发展的同时,也可能因为漏洞问题危害人们的个人隐私信息、财产安全甚至生命安全。为此,安全人员的属性也从幕后的防御走向前台、走进业务,从而帮助企业的业务发展做出重要贡献。

我们即将处于一个软件定义一切的时代,这是“一个最好的时代,也是一个最坏的时代”,无论是生活中离不开的通讯、支付、娱乐、餐饮、出行还是国防领域中的火箭、导弹、卫星等,都离不开软件技术。然而,软件技术在促进社会发展的同时,也可能因为漏洞问题危害人们的个人隐私信息、财产安全甚至生命安全,这类安全不胜枚举。

 
一、软件漏洞频出
 
2010年,大型社交网站rockyou.com被曝存在SQL注入漏洞,黑客利用此漏洞获取到3200万用户记录(包括E-mail、姓名以及明文形式的密码)
2015年,英国电话和宽带供应商TalkTalk被一名15岁的黑客利用SQL注入漏洞进行攻击,四百万TalkTalk客户的姓名、地址、出生日期和信用卡及银行详细信息被黑客窃取。
2018年,台湾一男子利用花旗银行信用卡业务系统漏洞,刷卡消费达6300余万元(新台币约合人民币1345万元),花旗银行已通过司法途径,向该名客户求偿。软件技术的发展与应用伴随着巨大的安全危机,解决软件漏洞问题是软件开发从业者和安全从业者们迫在眉睫的任务,其实早在2004年,微软就提出了SDL,强调安全要在早期开发过程介入,从根本上管控应用安全。在2020年的RSA大会上,专注于将安全集成到DevOps流程中的DevSecOps,更是大放异彩,为什么呢?从前,安全防护只是特定团队的责任,在开发周期长达数月、甚至数年时,这样做没什么问题;但是现在,这种做法已经行不通了。采用DevOps可以有效推进快速频繁的开发周期(有时全程只有数周或数天),但是过时的安全措施则可能会拖累整个流程,既是最高效的DevOps计划也可能会放慢速度本文将从安全部门角度出发,针对安全开发落地过程中容易被忽略的赋能与运营问题,提出一些想法
 
二、安全部门的难处
 
安全部门处境尴尬,受制于业务上线的需求,安全往往需要为业务让路,在实际执行过程中处于弱势,出问题时安全部门又需要救火和背锅。但从上文软件漏洞的案例中,我们也可以看到,安全对业务的重要性。无论是对业务的贡献,还是合规要求,甚至是更实际的——安全人员自身的绩效,都应该开展安全开发体系建设的工作。
关于安全开发体系建设的常见难点,首先我们来看个案例:
案例1:某传统制造业企业,业务正在进行互联网转型,应用开发项目逐渐增多,但是安全团队规模依旧很小(5人以下),根本没有人力来执行安全测试、代码审计等安全工作,更别提安全开发体系建设。
案例2:某中小银行,业务需求规模不断扩大,且不断向互联网转型,但是测试人员还都停留在传统的外包业务测试环节,对新的安全技术了解甚少且人员流动较大,几乎没有安全性的测试。
一般来说,常见的安全开发落地难点包括:
(1) 人力不充足:安全人员严重短缺;
(2) 人员的抵触:自身安全能力不足,安全工作增加工作量但无法体现绩效;
(3) 流程的变更:安全介入,导致流程改变,短时间无法适应;
(4) 项目周期紧:开发周期原本已经很紧凑,加入安全工作后,时间上更加紧张。
(5)开发公司对安全的意识淡薄以及开发人员质量层次不齐,导致漏洞修复缓慢。
(6)产品存在天生缺陷,项目招标时又很难将安全性作为考量。
(7)业务测试和安全测试没有形成合力,最后安全测试在数据不全、环境不稳定的情况下沦为捣乱测试。
 
三、体系安全赋能业务
 
无论是人力紧缺的小型安全团队,还是人力充足的成熟安全团队,要解决上面讲到的这些难处,最有效的方法莫过于赋能。但赋能也要讲究方式方法,不然可能适得其反。
·合理安全体系
合理高效的管理体系是确保开发安全管控的前提,安全开发管理体系需要定义安全介入的时机和每个角色需要执行的安全动作(安全工作和输出物),确保安全开发管控流程执行到位。但是这就对以前的流程产生了侵入,在设计体系时,应尽量避免产生新的制度和流程,采用对现有制度和流程修订优化的方式,降低执行的门槛。
·常态化的专业培训
对于缺乏安全经验的产品、开发等人员,应提供必要的安全培训(体系、意识、技能)的支持,以帮助相关人员提升安全能力,完成相关安全工作,在移动时代的大背景下,企业信息安全要求发生了剧变,要为各类互联网系统打造同一条安全基线,且需要解决严峻的信息安全挑战。由于存在大量的信息交互、大量的终端应用、大量的数据传输,企业在许多环节都有可能主动或者被动地泄密,一旦出现泄密,对企业组织就意味着财务、数据、管理和战略安全面临威胁,所以我们对安全的重视程度一定要超过健壮性、稳定性、高性能,鉴于以上急速变化的安全状况,企业需要对不同人员提供不同的培训内容,不断的为各层级的人员助力。
·积极合作的态度
做安全就像是练功,只有死磕到极致,才能求得正果,安全开发体系的制定和落地推广离不开架构、开发、测试等部门和人员的认可、参与,安全团队不能让大家认为安全部门是在加码任务,设置卡点,要以合作的姿态开展工作,丰富发现能力、提升阻断能力、增强复盘能力,前期应以提供帮助解决安全问题为重。
举个例子:
城市商业银行,在推行安全开发体系之前,先对开发部门进行调研,主要方向是收集开发部门日常工作中遇到的安全问题,了解开发部门非常头疼的垂直越权、水平越权、SQL注入、数据传输和隐私数据安全的问题。安全部门将这些问题作为安全开发体系落地过程中的专题,提供编码安全规范和代码示例及常用组件,指引开发人员提升代码质量,从源头上避免这些问题(安全组件以及代码示例需要一个长期不断的优化和适应的过程才能保证高的适配率,同时需要保证组件的质量和高可用性)。编码提交后,通过IAST测试平台(交互式动态测试),帮助开发人员查漏补缺。并且IAST发现的漏洞详情非常详尽:漏洞对应的代码位置、执行过程展示、修复方法和示例代码,甚至提供可以直接引用的安全组件,尽一切可能帮助开发复现和修复漏洞(目前IAST受限于历史产品的低版本以及升级所带来的不确定性,导致IAST很难推进)
 
·高效的安全工具利用
正如前面讲到的例子,IAST可以帮助开发人员排查修复漏洞,其根本意义在于安全工具可以给安全能力相对较弱的人员提供安全赋能。选择使用门槛低且检测效率高的安全工具,可以在很短的时间内落实相关环节的安全工作,例如在终端安全上,针对二方、三方SDK进行权限透明化梳理,对于任何组件的权限获取,都应该在应用内由用户确认才可以放行调用,保证用户隐私的使用得到了用户的充分确认。另一方面,在使用优良的安全工具过程中,相关人员对安全知识的掌握和认知也会得到极大的提升。
·多样的知识库支持
知识库主要是用于提升人员的安全能力和效率,例如,一般的产品经理并不具备威胁建模的能力,需要提供威胁建模知识库,知识库会给出具体业务场景下的安全威胁和对应的安全要求,帮助产品经理快速准确的完成威胁建模的工作。优秀的知识库都需要长期积累,平时需要由安全部门维护更新,沉淀项目中积累的问题,持续提升赋能效果。
 
四、安全运营,提升执行力
 
既然说到运营,肯定不是说如何挖掘和复现漏洞,而是针对整个开发、投产及运维周期的优化,因为赋能可以解决能力和效率的问题,但是不能解决执行力的问题,需要配合安全运营来监督和改善体系的运转效果。根据实际情况,需要综合考虑选择合适的运营方式,这里提供一些运营维度作为参考。
01.开发规范化
·先规范再开发:有的产品在流程规范都没有跑通的情况下就动手,后续的硬伤会非常多,而很多产品是需求强于安全,等不及万事俱备时必须先上了再说,然后再一点点优化。
02.单个项目卡点检查
·检查各环节输出物,例如:安全需求说明书、设计方案、安全测试报告
·漏洞检测与修复情况,例如:代码安全检测报告、渗透测试报告,未修复漏洞与缓解方案…
03.多维度运营评估
·全局漏洞统计:漏洞类型、漏洞数量、漏洞误报率、漏洞修复率…
·知识库沉淀:自定义漏洞检测规则、知识库更新报告、SDK报告、常用组件升级等
04.个人绩效激励考核
·项目经理:项目评级合理性
·产品经理:安全需求的全面性与合理性
·开发人员:漏洞自查发现率、漏洞密度、漏洞修复时效……
·测试人员:黑盒测试URL覆盖度、漏洞测试发现率、安全功能测试准确性
这里要强调一点,设立个人绩效指标不仅仅是为了考核相关人员安全工作的完成度,同时也是个人绩效的体现,要在项目复盘和年度考评中考虑增加这方面的权重。增加人员积极性的同时,也为公司留住安全开发领域的宝贵人才。
05.源头入围管控
·产品安全:项目入围以及招标时,杜绝只看当时的功能性,缺乏产品安全性的长久审核。
  ·齐抓共管:部门项目在招标时,业务部门直接完成采购,开发及安全人员参与度较低,也许在入围的那一刻,风险和缺陷已经深深的埋下了,爆发只是时间问题。
 
五、关键突破点,高层支持
 
除了上述要点,安全开发体系要想很好的推进,最重要是要获得IT高层领导的认可,这样才能获取足够的行政资源,推动以下事项:
·购买专业咨询服务,获取专业体系建设建议和成熟知识库
·协调督促各个部门参与,完成管理体系和文化上的迁移
·增加各岗位安全开发部分的人力绩效预算
·采购安全工具
·多流程切入安全规范
 
六、后记
随着《网络安全法》、等保2.0标准的相继发布,监管部门对企业的安全提出了更高的要求 ,安全及开发人员不仅要懂产品、懂技术、更要懂政策,只有这样才能为企业提供完整的安全解决方案安全开发体系的建设通过赋能和运营的结合,并在高层支持下,帮助安全部门在人力不足、项目快速扩张等诸多不利的环境下,建设起安全开发的管理体系帮助安全部门改变被动现状,获得应有的地位,发挥应有的作用,避免因为安全问题造成企业核心业务马失前蹄

信息安全未来的路还很长,业务形态不断变化,对各种信息的收集需求更加强烈,单从业务角度讲,越多的特定信息意味着越多的功能制定和更贴心的服务,但是安全上必须保证好数据的使用规范,保证好数据的使用权和归属权,已经是一条难走但是又不得不走的路。安全人员的属性也幕后的防御走向前台、走进业务,从而帮助企业业务发展做出重要贡献 

扫码即可手机
阅读转发此文

本文评论

相关文章