如何在不增加人员的情况下自动化API安全程序

在这篇文章中,我们将撰写一篇综合文章,内容涉及如何在不增加人员的情况下自动执行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安全程序包括三个步骤:

  1. 持续的API发现和规范创建
  2. 持续的API规范分析和检查
  3. 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安全策略的基础,需要回答两个问题:

  1. 谁将能够使用该API?
  2. 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/341456.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python错误bug调试问题汇总

1 Python-出现“Non-ASCII character ‘\xe6‘ in file“错误解决方法 2 python中for循环语句使用 3 Python解决两个整数相除只得到整数部分问题 4 python2的print和python3的print()

pat 乙级 1001 害死人不偿命的(3n+1)猜想(C++)

题目 卡拉兹(Callatz)猜想: 对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那么把 (3n1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n1。卡拉兹在 1950 年的世界数学家大会上公…

C++编译的bug解决方法

1 编译错误 jump to case label [-fpermissive]

jpa 测试_使用外星人进行测试:如何使用Arquillian测试JPA类型转换器

jpa 测试该帖子与 Aslak Knutsen ( aslakknutsen )一起撰写。 JPA类型转换器为定义实体属性如何持久存储到数据库提供了一种简便的方法。 您可以使用它们来实现许多不同的功能,例如,如上一篇文章中所示:加密数据&…

pat 乙级 1002 写出这个数(C++)

题目 读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。 输入与输出 输入格式: 每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10^​100​​ 。 输出格式: 在一行内输出…

详细介绍 安装ns3步骤

安装ns3步骤: 准备工作—— 1.[Linux] ubuntu系统安装完成 2.熟悉Linux常用命令 开始安装—— 确保ubuntu已经完成换源---阿里云或清华,个人推荐阿里云 3.安装组件和依赖库 1.快捷键CtrlAltT 打开终端,输入以下命令: sudo apt-get update …

在硒中查找具有链接文本和部分链接文本的元素

Selenium中CSS定位器是一个基本概念,每个旨在使用Selenium执行自动化测试的测试人员都应该意识到这一点。 在Selenium中充分使用CSS定位器可以帮助您以更高效,更彻底的方式执行测试。 我从7年以来一直从事自动化测试行业,并且我经常观察到测试…

浅析C++的三大循环-以100以内的质数求解为例

简介 C三大循环分别是while、do while循环和for循环,其中for循环最为灵活,do while循环和while循环基本一致。 语法格式 //while语法 while(循环控制条件) { 语句 } //do while语法 do { } while(循环控制条件); //for循环 for(变量初始化;循环控制条…

如何找到CSDN的草稿

如何找到CSDN的草稿 Ps:CSDN的草稿箱有点难找

W10关闭不必要的服务

1 win10关不必要的服务 简单粗暴且有效 2 win10电脑如何关闭不必要的启动项 关闭不必要的启动项 3 有关服务方面 没有试验过,以后有空试验一下

pat 乙级 1004 成绩排名(C++)

题目 读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。 输入格式: 每个测试输入包含 1 个测试用例,格式为 第 1 行:正整数 n 第 2 行:第 1 个学生的姓名…

java8 函数式编程_您必须学习Java 8的函数式编程吗?

java8 函数式编程我最近一直在研究Java 8,并掌握了Manning出版的“ Java 8 In Action” 。 让我印象深刻的第一件事是Java 8独特的销售主张是函数式编程。 函数现在是一流的变量,您可以像int或String一样在代码中传递它们。 这是一个很大的变化。 近年来…

Dell笔记本双系统安装(Ubuntu 16.04)

一 参考博客 重点 以上博客在分盘问题中描写不详细,参考右边博客: 有关分盘问题 注意:其中,由于Bios Dell与其余电脑存在区别, 1. 开机按F12,进入BIOS 2.在 BIOS 的Boot菜单下,将Secure Bo…

pat 乙级 1006 换个格式输出整数(C++)

题目 让我们用字母 B 来表示“百”、字母 S 表示“十”&#xff0c;用 12…n 来表示不为零的个位数字 n&#xff08;<10&#xff09;&#xff0c;换个格式来输出任一个不超过 3位的正整数。 例如 234 应该被输出为 BBSSS1234&#xff0c;因为它有 2 个“百”、3 个“十”、以…

Stomp-Spring服务器端的Web套接字Java客户端

问题&#xff1a; 为了分析问题&#xff0c;我不得不编写一个简单的Java Web套接字客户端站点代码&#xff0c;并使用基于stomp的Web套接字代理连接到服务器端基于Spring的应用程序。 解决方案&#xff1a; pom.xml <?xml version"1.0" encoding"UTF-8&qu…

W10更新时间

https://jingyan.baidu.com/article/0aa2237561921088cc0d64f6.html

Selenium Java教程– Selenium中的类名定位器

Selenium中CSS Locator是编写脚本的最重要方面之一。 如果您无法通过使用Selenium中的任何CSS定位器来定位元素&#xff0c;那么精通Selenium自动化将是一项艰巨的任务。 硒提供多种定位元素的方法。 您可以查看有关Selenium中不同CSS定位器的其他文章&#xff0c;这些文章可通…

pat 乙级 1056 组合数的和(C++)

题目 给定 N 个非 0 的个位数字&#xff0c;用其中任意 2 个数字都可以组合成 1 个 2 位的数字。要求所有可能组合出来的 2 位数字的和。例如给定 2、5、8&#xff0c;则可以组合出&#xff1a;25、28、52、58、82、85&#xff0c;它们的和为330。 输入格式&#xff1a; 输入在…

Tensorflow-gpu的方式

主要参考https://www.jianshu.com/p/9911dee2f00b 主要讲一下在Linux下安装tensorflow gpu版的两种方式&#xff1a;使用conda和pip安装。安装cpu版本比较简单&#xff0c;安装命令相同&#xff0c;但是省去了安装cuda和cudnn。 注意&#xff1a; 在安装tensorflow gpu版本前…

pat 乙级 1016 部分A+B(C++)

题目 正整数 A 的“D​A&#xff08;为 1 位整数&#xff09;部分”定义为由 A 中所有 D​A组成的新整数 P​A。例如&#xff1a;给定 A3862767&#xff0c;DA6&#xff0c;则 A 的“6 部分”P​A是 66&#xff0c;因为 A 中有 2 个 6。现给定 A、D​A、B、DB&#xff0c;请编…