编码安全是应用程序安全的基础。在准备阶段,开发团队除了要根据其技术特长选择一种符合项目要求、特点的安全语言之外,还要做好以下三方面的准备。
一、制定一个安全的开发过程
安全的软件开发是一个涉及到需求、设计、编码、测试等诸多方面的过程。此过程的一个关键要素是,在软件开发期间不同团队之间的信息传递。这个过程必须支持安全编码的各种努力。
安全的开发周期要从始至终为整体的开发定义过程要素。在编码过程中,典型的过程要素包括六方面:明确的编码标准、为安全编码而对编译器进行设置、源代码工具的分析和使用、经核准的和被禁用的功能、安全编码的清单等。
安全的开发周期的主要目的是,使项目的管理实现协调,确保软件满足整体要求,其中也包括安全要求。指望开发团队没有协调好所有其它各方的努力而生产出安全的代码是不现实的。许多安全问题并非源自句法、语法错误,而是源自设计问题。在不同团队之间的正确协调是安全开发周期过程的主要功能。这种跨团队交流的一个主要例子就是威胁建模的形式。威胁建模技术要分析一个系统的潜在威胁,并使用此结果来设计减轻威胁的措施。这要求不同团队的交流,使软件体现出安全思维,从而挫败潜在的威胁。
二、创建应用指南
在开发团队开始编码过程之前,开发者必须在应用指南中制定策略,要求其明晰、易于理解,并且足够全面,有助于程序员编写规范的代码。通过这种方法,任何开发人员都能轻易地维护代码。该应用指南应当包括如下信息:
从哪里得到特定软件(也就是URL地址、服务器等)、将安件安装到哪里(目录结构、硬盘、服务器等)、到哪里寻找许可信息、到哪里去发现部署要求、如何测试软件及使用什么工具测试、在哪里将代码投入生产(服务器名和IP地址等)、软件检验的过程、语言编码标准的确认等。
保持代码的协调一致非常重要,但对于实现安全的代码却远远不够。通过遵循应用指南,开发人员就可以强化代码的可读性,并增加协同工作的可能性。如果开发团队能够正确地创建应用指南,它就可以在整个开发团队中贯彻实施。虽然这个过程可能需要根据不同项目或部门的需要而做出调整,但该指南必将有助于在整个开发团队中强化安全代码的开发。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
相关推荐
-
安全编码有章可循(三)
如何解决本地和非本地代码、被动代码和动态代码之间的安全冲突?代码的安全检查有哪些技巧?应当注意哪些问题?
-
安全编码有章可循(二)
在开始代码开发之前,开发者应当在最大程度上启用编译器的警告和错误。如果在日后再去应对所报告的问题,其代价将很昂贵。
-
编写安全代码三项准备(二)
如今为不同语言和目的而开发的各种安全的软件库已经不少了。其中的许多软件库都是为C和c++语言开发的,提供了针对容易被误用的标准库函数的替代代码。
-
程序设计者需要谨记的九大安全编码实践
安全专家发现,多数漏洞源自常见软件的相对有限的一些漏洞。软件开发者和设计者应当严格检查程序中的各种错误,尽量在软件部署之前就减少或清除其中的漏洞。