Secure Code Warrior的首席技术官Matias Madou描述了许多组织在扩展API安全计划时面临的困境,主要是由于安全测试工具过多(行业使用平均水平为76个工具)。他的基本观点是,人们过于关注工具,而不是解决不安全API的根本原因,即构建API的开发人员。他重申了自己的观点,即大多数的数据泄露都是由人为错误引起的。
Matias提出了一种重新思考的方法,摆脱对工具的关注,并接受更广泛的最佳实践,包括:
l 分配API所有权:API往往拥有过多的权限并分享过多的信息。存在这种过度沟通的趋势,是因为API很少有专门的所有者;API以一种临时的方式发展并变得过于冗长。应该保持关注点在API对业务的价值上,而不是其他方面。
l 像对待人类一样对待 API:就像我们对待担任敏感角色的人一样,我们应将最小特权原则、基于角色的授权和零信任原则应用到API中。
l 增加测试优先的意识:测试经常被推后,特别是在API的情况下更是如此。应该确保开发人员在编码时进行测试,并将这些测试嵌入到整个软件开发生命周期中。
l 包含场景模拟:进行各种API情景模拟,可以帮助开发团队预测API在实际环境中,可能被滥用或产生异常行为的情况。
l 更改绩效评估指标:开发人员往往因为要快速交付,而几乎不顾一切代价。考虑改变评估开发人员的方式,给他们时间消化安全知识,并调整绩效评估指标,可以增加对安全本身的关注。
总结:
将焦点从工具转移到解决不安全API的根本原因,提高API的安全性和可靠性。
l 分配API所有权:为每个API指定明确的责任人,确保他们负责该API的安全性和合规性。这样可以避免API过度权限和信息共享的问题。
l 使用最小特权原则:将最小权限原则应用于API,即为API分配最低必需的权限,只提供需要的功能和数据访问权限。避免过度授权可能导致的安全漏洞。
l 采用基于角色的授权:使用基于角色的访问控制来管理API的权限。为不同的角色定义适当的权限,并确保只有经过验证的用户才能访问相应的API功能。
l 实施零信任模型:在API安全中采用零信任思想,即假设所有请求都是不受信任的,需要进行身份验证和授权才能获得访问权限。通过逐步验证身份和应用安全策略,确保只有合法的请求才能成功访问API。
l 采用测试先行的方法:在开发API时,将测试作为一个重要的环节,与编码并行进行。采用自动化测试工具和技术,包括单元测试、集成测试和端到端测试,确保API的安全性和可靠性。
l 进行场景模拟:通过模拟各种实际场景,包括恶意攻击、数据泄露等,来评估API的安全性和抗攻击能力。及时发现潜在的漏洞和安全风险,并进行相应的修复和改进。
l 加强开发者安全培训:提供针对API安全的培训和教育,使开发人员意识到安全性的重要性,并了解常见的安全漏洞和最佳实践。确保开发人员具备必要的安全意识和技能。
l 改进绩效评估指标:将安全性和合规性作为开发人员绩效评估的重要指标之一,以鼓励开发人员注重API安全和合规性方面的工作。通过设定清晰的目标和奖励机制,推动开发人员积极参与API安全的改进。
作者:星阑科技
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...