银行开发外包代码审计方案 行业介绍 金融在国民经济中具有举足轻重的地位和作用,是社会资金运动的中枢神经系统。金融业可以说是一国经济发展的命脉,对经济的增长和社会发展起着十分重要的调节控制作用。 中国银行业信息化建设本身已完成金融电子化阶段、金融数据集中化阶段、金融信息系统业务综合化阶段三个阶段的发展规划工作。银行企业也在不断的扩展基于互联网的金融业务,因此银行对信息技术的依赖程度越来越大,银行信息安全保障难度持续加大,给银行安全带来新的更大的挑战。 面临的挑战 银行是网络攻击的主要目标,企业也将信息安全作为其最主要的关注点之一。互联网传输了客户极其敏感的信息,客户希望他们的信息是保密且安全的。金融信息系统内外应用系统相互牵连、使用对象多样化、安全风险的多方位、信息可靠性、保密性要求高等特征构成了金融系统的突出特点。近年来,银行系统被攻击的安全事件不绝于耳。导致这些攻击事件的主要根源是由于应用程序自身的漏洞,因此保障应用安全成了当前银行业信息安全的工作重点。 银行面临的应用安全问题主要有以下几个方面: 1、 应用数量庞大,实现全部安全测试并实时监控的难度很大。 要想实现对所有的应用进行详尽的安全测试,并在其版本更新时立即进行回归测试,无论是人工测试还是利用传统渗透测试工具及静态代码扫描工具都无法很好的达到目的。人工的方式太耗费人力。渗透测试工具依赖于人,且对于很多测试路径无法达到。静态工具误报率高,扫描的效率低下。 2、 为了快速应对需求变更,金融行业软件大量使用敏捷开发的模型,这使得安全代码审核的工作量加大。 敏捷开发的模型的特点是快速迭代,频繁的版本发布加大的安全代码审核的工作量,人工审核的方式已无法全部覆盖到。 3、 有大量项目是外包开发,其安全质量无法把控。 外包团队往往只注重对功能需求的完成,而不太顾及代码质量与安全问题。 企业没有很好的方法在过程中加强安全质理的管理。 解决方案 对外包团开发的代码进行安全审计是银行保障应用安全的关键活动。SECZONE经过多年的安全服务的积累,对于银行外包代码安全审计形成了包括培训、S-SDLC流程、IAST技术组成的成熟解决方案。 应用安全培训 安全培训是帮助开发人员防止在开发过程中带入过多安全漏洞的最有效方法。在银行企业中,大量的外包人员往往安全知识薄弱,其开发的代码存在大量的安全问题,如依靠后期的检测将会耗费大量的成本。银行业有其特有的安全关注点与合规性要求,SecZone经过多年探索与实践,已积累了金融行业相关的完整培训课程,也已得到银行、证券、保险等国内金融企业客户的认可。 S-SDLC软件安全开发生命周期流程 安全是一个过程,任何一个点的切入都不能做好安全控制。S-SDLC重视快速落地化,基于标准S-SDLC与企业现有情况的差距分析,结合工具制定符合企业自身的安全开发流程。 针对于安全代码审核,S-SDLC解决方案中的内容包括: 安全需求导入 安全设计模板化 安全编码规范 安全代码审核检查表 通过需求导入可以确定后面阶段安全设计及代码安全审核的内容,再加上模板化的方式可以极大的提高安全代码审核的工作效率。 利用IAST工具进行源码审核 在功能测试的同时自动完成安全测试 无需人工干预 结合动态与静态技术使得结果更精确 实现企业级成百上千个项目同时检控 兼容敏捷开发模式 在功能测试人员进行小版本测试时,工作在测试服务上的IAST代理会自动跟踪检测安全问题。 实时呈现安全测试结果,并提供代码修复意见。 实现对外包团队开发质量的控制 在统一的Portal平台实时呈现开发项目的安全漏洞。 在每个测试服务器上安装一个代理引擎,实现多项目同时管理。 实现对第三方代码的安全检测。 |