在做好安全软件开发的准备之后,开发团队还需要清楚安全编码的原则。这是开发任何健壮、安全软件的重要基础。
保持代码的简洁
代码库越小越简单,就越容易验证软件的安全性。有些代码的功能强大,可能会造成严重的后果,通过减少实现这些功能的源代码模块的大小,就可以极大地减少代码中的漏洞数量。
在此,列示几个缩短和简化代码的方法:
1、确保软件仅包含所要求或规定的功能。增加不必要的功能会增加软件的攻击面,并增加软件被破解的可能性。
2、尽可能地将大的或复杂的功能分解为更小、更简单的功能。这会使系统更易于理解和记录,在验证个别组件、整个系统的安全性和正确性时也更为轻松。
3、在构建系统时尽量使其依赖关系尽可能地少。这样做有一好处,即能够确保在不影响整个系统操作的前提下就可以禁用或替换任何过程模块或组件。
4、对软件进行封装,限制泄露敏感信息,限制外部所造成的影响。
软件开发团队还应当考虑软件的大小和简易性之间的平衡关系。如果将功能分解成太多的小功能,在查看不同的功能如何协同工作时,就会存在困难。
确保可以向前和向后追溯源代码
开发团队应当使软件易于跟踪每个要求,跟踪其设计形式,以便于追溯其源代码。当然,开发团队还要使软件能够根据代码的形式,追查其实现的每一个需求。
代码的可重用性和可维护性
使代码安全(简易、可理解、可跟踪)的一些特性也有助于代码的可重用性和可维护性。如果代码很容易被重用,其安全性就可以传递给未来的软件项目。如果代码易于维护,在维护过程中就不太可能增加漏洞。
开发团队应当尽力构建可以预测未来事件的代码。要确保软件需要的所有值源自数据库或外部的属性文件,而不是源自硬编码(硬编码是指在计算机程序中将变量用一个固定值来代替)。例如,在JAVA中,可考虑在方法签名中使用输入对象的bean可重用组件,而不是指定数据类型和预期值。这会使程序的功能按照需要而变化,并实现代码重用。
遵循安全编码的标准和指南

本文强调了安全编码的重要性,提出保持代码简洁、确保代码可追溯性、提高代码可重用性和可维护性,并遵循安全编码标准。建议使用编译器的安全检查功能、静态和动态分析工具来增强代码安全性,同时注意本地和非本地代码的安全冲突,以及进行定期的代码检查和同行审查,以减少安全漏洞。
最低0.47元/天 解锁文章
1000

被折叠的 条评论
为什么被折叠?



