在这篇文章中,我们将撰写一篇综合文章,内容涉及如何在不增加人员的情况下自动执行API安全程序。 在现代世界中,数据对于提供者和消费者都至关重要。 数据科学的出现证明了这一事实。 对于某些组织,整个业务模型是建立在信息交换之上的。
让我们以乘车公司为例。 通常,此类企业不拥有向客户提供的车辆。 取而代之的是,该公司拥有一个车主和愿意的驾驶员数据库,一个将为乘车付费的乘客清单以及一个可通过API立即将驾驶员与驾驶员联系起来的应用程序。 减价弥补了拼车业务的利润。
API是不同类型企业之间发生的重要数据交换的核心。 因为数据总是有被盗的风险,所以安全性是API不可逾越的方面。
在深入研究如何在不增加人员的情况下自动执行API安全程序之前,首先让我们了解一下API是什么,为什么它们对组织如此重要以及其他一些基本知识。
1. API定义
应用程序编程接口或API表示一组通信协议,子例程定义和用于构建软件的工具。 换句话说,API是一组明确定义的方法,这些方法使各种软件组件之间的通信成为可能。
人们还读: API的完整形式是什么?
1.1 API的重要性
API是企业交换以及通过数据和服务货币化的现代方式。 因为API允许机器对机器的数据检索,所以访问数据变得更快。
如今,几乎每个流行的应用程序都带有一个API,该API可以将其与其他应用程序和数据源集成。 一个典型的现代移动应用程序利用大约10到15个API来与应用程序之间传输有洞察力的数据。
除了移动应用程序外,单页应用程序(即SPA)也严重依赖API。 API的效率和功能已导致组织通过API作为多层核心业务产品,将其数据提供给第三方开发人员和其他人员。
1.2 API和安全性
尽管API具有巨大的用处,但在保护它们以确保更快地交换数据而又不会给母公司或相关品牌带来任何风险的情况下,API仍是一个难以克服的难题。
安全团队需要对API进行严格的安全检查,以检查潜在的漏洞和安全风险。 不够安全的API可能会导致过去 ,现在以及以后可能发生的严重数据泄露 。
Instagram,赛门铁克和T-Mobile是少数几个较大的公司之一,这些公司由于API不安全而导致数据泄露,因此遭受了巨大的损失。
API造成的损坏可能非常严重,原因是大多数API都设计为在没有适当安全措施的情况下提供数据负载。
因此,对于依赖于多个应用程序的多个API的品牌和组织来设计和应用严格的API安全程序至关重要。 尽管这样做是可行的,但这确实很棘手。 怎么样? 以下部分说明了完整的情况。
1.3保护API –一个挑战
标识所有API本身对确保相同性提出了巨大挑战。 任何开发人员都可以在几分钟内创建一个API,然后使用公共云服务(例如AWS和Google Cloud)在互联网上快速轻松地发布该API。
通常,会对API进行多次更改以改善产品。 对API所做的每次更改都可能带来新的风险。
如今,越来越多的API建立在无服务器基础架构上,类似于Amazon Lambda和Azure Functions。 传统的防火墙和网关无法保护此类API。
当前,任何典型的大型组织都在使用数百或数千个API来满足不同的需求。 这本身就对确保所有人的安全提出了巨大挑战。 手动监督和执行每个安全性显然不是一个可行的选择。
解决此问题的唯一方法是使用自动化。 连续自动执行安全评估可为该问题提供切实可行的解决方案。
1.4自动化是解决方案!
通常,安全团队工作过度,人员短缺。 雇用熟练的安全专家并不像看起来那样容易。
因此,增加更多的安全人员来构建和执行API安全程序不是一个可行的选择。 将顾问带到现场可以作为替代方案,但是,这可能会增加总预算。 因此,可行的选择是选择自动化。
自动化可以节省设计和执行API安全程序的时间和精力。 自动化程序可在重复但重要的任务中保持一致性,例如分析和记录使用中的API并执行公司策略以控制风险。
1.5在不增加人员的情况下自动执行API安全程序
任何创建甚至使用API的组织都需要API安全框架。 自动化API安全程序包括三个步骤:
- 持续的API发现和规范创建
- 持续的API规范分析和检查
- API策略启用和执行
连续的API发现和规范创建
此步骤仅意味着了解当前正在使用哪些API,以及它们需要完成哪些特定操作。 为了定义API的作用,收集API规范是关键。 但是,存在一些没有任何规范的API。
因此,自动化的API安全程序需要具有一项服务,该服务为那些没有任何API的规范创建规范。 规范创建服务还需要持续监视并发现未注册的新API。
通常,开发人员最初会记录其API。 但是,每当对API进行更改时都更新文档不是一种普遍做法。 因此,需要一种自动工具来收集此类信息并相应地更新API规范。
针对安全威胁的连续API规范分析和检查/分析API
下一步是每次API操作更改时执行安全检查。 需要回答以下问题:
- API是否具有正确的数据加密?
- API是否具有正确的身份验证?
- API有权访问哪些数据源?
- API的可用性级别如何?
- 哪种授权策略将应用于API?
为了避免API数据泄露,API安全团队必须了解属于组织或品牌的每个API的当前安全状态,这一点很重要。
手动API分析仅限于少数API。 对于成千上万的API,连续自动API分析是首选。 值得庆幸的是,有可用的自动化工具可以检查API中的潜在漏洞。
更好的自动化工具还能够生成安全任务以及建议的更改,以供开发人员解决所有API安全问题。 此类工具还可能在遇到违反其规范的API功能操作时发出常规警报。
API政策启用与执行
最后一步是创建和执行安全策略。 API安全程序有一个非常重要的部分,需要手动干预。 这是政策的制定。 只有到那时,自动化才能用于执行安全策略。
为了构成API安全策略的基础,需要回答两个问题:
- 谁将能够使用该API?
- API有什么级别的敏感性和监管监督?
传统上,有关身份验证,可用性和加密的API策略实施是在网络网关层进行的。 但是,由于现代应用程序依赖于移动系统和云服务,因此这种方法的实用性和可伸缩性有所降低。
通常,应用程序开发人员会利用通过SDK或云服务提供的身份验证,可用性和加密区域。 对于此类情况,建议使用能够与这些服务集成的自动化服务来执行API安全策略。
2.自动化API安全程序–结论
总结了自动化API安全程序的过程,而无需增加人员。 现在,您可以开始保护所有API。
API对于任何现代应用程序都是至关重要的。 DevOps员工喜欢他们,一旦安全团队能够构建和自动化功能强大的API安全程序,他们也可以学会了解其价值。
- 寻找数据科学面试问题吗? 在这里查看。
- 想学习数据科学吗? 查看这些最佳数据科学教程 。
翻译自: https://www.javacodegeeks.com/2019/07/automate-api-security-program-without-adding-staff.html