API安全的发展趋势展望

译文
安全 数据安全
我们在日常的应用开发过程中,应当时刻专注API的安全性,本文向您介绍当前业界针对API安全的发展趋势。

【51CTO.com快译】如今,应用程序编程接口(API)已经变得非常流行了。各个企业的应用开发都深度依赖于它们之间的相互调用,以支持新产品和服务的按时交付。与此同时,随着API绝对数量的增加,在互联网络上传递的数据量也正在呈指数级地增长。

不过,这些海量数据中,往往会包括诸如:用户详细信息、电子邮件、以及密码等敏感且隐私的数据。例如:通过使用Facebook的某些API(请参见:https://developers.facebook.com/docs/graph-api/),您完全可以访问到大量用户的照片、位置之类详细的信息。由于网络世界用户之间的不可见性,这些敏感数据很有可能会被非法分子用于多种恶意的用途。因此,我们在日常的应用开发过程中,应当时刻专注API的安全性,通过安全编码等技术手段,构建出安全可靠的程序API。

API安全性日益受到关注

根据SmartBear最近进行的一项研究显示(该研究发布了API现状报告,请参见:

https://smartbear.com/resources/ebooks/the-state-of-api-2019-report/):

  • 在受访并给予回应的对象中,有41.2%的人认为:安全性是他们的API所面对的最大技术问题,而且是当务之急。他们希望在自己的软件产品中不要出现与API安全性相关的漏洞。
  • 在被普遍认为需要改善和提高的API相关领域,安全性排名第四。
  • 有超过40%的API提供者会使用某种工具,来获悉当前API的安全态势。他们希望能够快速且全面地发现潜在的安全漏洞。

目前,API技术已经渗透到了各个行业,乃至各种业务策略的制定环节。其中,最为常见的API当属REST、SOAP、以及ASYNC API。另外,随着物联网的迅速发展,全新的智能化API也在不断地涌现。这些API充当了智能设备和互联网之间的接口作用。那么,到底API是如何做业务趋势以及深度融合发挥作用的呢?通过如下三个方面,我们可窥一斑:

  • 为了让客户获得更好的服务体验,银行机构正在采用、甚至迁移到API式的敏捷模型中,以实现高效、强适应性的金融安全架构。
  • 医疗保健行业的从业人员通过各种可用的AP​​I,向患者和客户提供集成化的医疗保健服务,并能提高自身产品的互操作性。
  • 零售商正在使用API​​为其客户提供更加智能化的电子商务平台,例如:多元化的移动支付应用等。

API安全性的当前状态

当前,在互联网上,每天通过各种API传输的大量数据可谓是鱼龙混杂。有的是一些公众性的普通数据,有的则是需要通过加密的机密性数据。因此,应用开发与维护人员需要和那些看不见的隐形对手进行攻防较量,以确保提前揪出软件产品中的各种漏洞。总的说来,API的安全性隐患主要集中在如下三个方面:

  • 授权、认证与审核机制(一般通过访问控制来应对)。
  • 访问量的负载平衡和速率限制。
  • 通信和网络中的数据隐私问题(一般通过SSL/TLS来应对)。

API的安全展望

根据本人的开发与项目实施经验,我大胆地对API的安全性趋势做出了如下展望,可供您参考与借鉴。

1. DNS安全性(DNSSEC)

在人们运用移动设备访问各类APP的时候,大多数信息都是以未加密的方式,通过无线网络进行往复传输的,因此它们很容易受到截获甚至是攻击。我们需要通过设置SSL或TLS的连接方式,来确保传输数据的安全性。当前,最新的TLS版本为1.3,而大多数网站也都能够通过API的设计,以HTTPS的方式去加密用户的各类敏感信息。

同时,由于几乎所有的网络流量都需要进行标准的DNS查询,因此DNS成为了众矢之的,针对DNS的劫持和中间人攻击时有发生。此类攻击通过将网站的入向流量,重定向到伪造的网站处,进而收集到网站用户的敏感信息,并让企业蒙受损失。

与许多互联网协议相同,DNS系统在设计之初也并未考虑到安全性的相关问题,并且存在着一些设计上的限制。而这些限制在面对技术的快速迭代时,就留下了可乘之机。攻击者很容易出于恶意目的去劫持DNS的查找请求。例如,他们会将用户转发到分发恶意软件、或收集个人信息的欺诈性网站上。

下面是DNS劫持的具体流程:

在上述DNS劫持过程中,攻击者通过恶意软件、或是对某些未授权DNS服务器的修改,来将查询请求重定向到持有其他域名的服务器上。也就是说,您本想访问www.mybank.com,却实际上来到了www.notmybank.com,而且自己浑然不知。

DNS安全扩展(DNSSEC,

https://dzone.com/refcardz/introduction-to-dns-security?chapter=1)是针对此类问题而创建的安全协议。DNSSEC协议通过对数据进行数字签名来保护其有效性,并防止其受到攻击。为了确保实现安全的DNS查找,此类签名必须在DNS查找过程的每个顺序级别上进行。

2. 聚焦安全的API设计

一提到安全,人们往往想到的是复杂性、甚至是不便。因此,API设计的易用性和可扩展性,才是吸引API开发人员、乃至用户的关键战略秘诀。在实践中,当您开始着手为某个微服务构建公开的API时,就应该认真考虑如何设计API的安全性。

只有在设计之初融入了安全性,特别是用户隐私方面的管控,才能节省后续补救与整改的时间和资源。业界著名的RestCase API平台正是通过各种AI和复杂的算法,以方便用户在设计阶段去检查和验证自己的API。同时,它能够给出如何处置API安全性方面的各种建议。

3. 人工智能(AI)驱动的API安全性

目前,在不同的行业,开发人员通过将系统的API与海量的数据相集成,在计算机视觉、空间位置、嵌入式应用、Web网格、移动文本数据、以及自然语言处理等领域,得到了很好的商业智能化应用,和对发展趋势的预判。通过对于不同实时数据源的持续检测与分析,各类应用具备了更快、更智能的响应能力。

与此同时,我们应该利用好丰富的数据资源,运用AI相关的趋势分析能力,对于调用API的流量进行深度分析,进而侦测到各种历史攻击与异常,并通过自动化的修补措施,以防止后续攻击的再次发生。例如,某些针对特定API的DoS攻击源,会在网络中扫描并攻击那些设计方案欠佳,且未对访问请求实施流速限制的API。有时候,某些API节点会在算力(computation)上非常消耗资源。例如:那些需要通过哈希算法来进行身份验证的逻辑。因此,一些经验丰富的攻击者,经常会有目的性地利用并向此类节点发送垃圾邮件,以拖垮或破坏整个系统。

4. 机器学习(ML)驱动的API安全性

如果说AI主要是用于对攻击进行智能判断的话,那么ML则主要能够用于提取威胁的特征。通过开发带有ML功能的智能API,运维人员能够有效地管理各种具有挑战性和新出现的威胁模型。运用此类API的安全性,我们将能够更加准确地识别和标记出各种异常行为,判断出恶意攻击的发展趋势,以及识别和阻止在多种环境、及情况下针对API的攻击行为模式。可以说,有了持续学习功能对于API的加持,我们便可以在无法预知攻击源、以及预设应对策略的情况下,及时识别出正在发生的异常行为。

目前,广泛用于各种API安全方面的机器学习算法,包括:朴素贝叶斯、KNN最近邻(K-Nearest Neighbors)、决策树、随机森林、支持向量机、深度学习、以及神经网络等。

总结

随着现代化技术的日新月异,API安全性已日渐成为了网络应用方面的主要技术需求之一。目前,AI和ML作为有效且智能的工具,已经逐渐被应用到了协议栈的各个层面上,以实现API的全栈安全防护。当然,就下一步发展趋势来看,开发人员需要进一步加大对于API业务模型、分析能力、技术蓝图、以及合规性与标准化方面的深入研究与开发。

原文标题:State of API Security,作者:Guy Levin

【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】

 

责任编辑:赵宁宁 来源: 51CTO
相关推荐

2010-08-31 10:46:20

2015-12-02 11:09:12

IT发展网络发展趋势

2010-01-04 10:16:52

2012-01-09 10:12:05

2021-12-13 19:43:06

云数据中心云端数据中心

2021-03-24 14:57:40

云原生云计算开发

2020-08-06 14:09:44

物联网安全趋势

2022-03-07 23:51:10

科学技术人工智能5G

2009-10-23 16:28:52

接入网技术

2021-08-12 10:38:58

安全分析数据安全网络安全

2021-01-04 10:02:28

物联网IOT物联网技术

2018-03-01 15:52:59

2021-09-27 13:39:12

物联网物联网安全IoT

2022-04-20 22:04:58

物联网安全勒索软件网络攻击

2010-01-13 16:55:11

以太网交换机

2010-06-03 11:54:22

IT安全云计算赛门铁克

2020-06-28 10:26:38

网络安全网络犯罪安全技术

2014-01-06 18:00:06

无线移动网络展望

2013-03-18 10:27:18

云存储大数据

2009-12-22 13:58:26

点赞
收藏

51CTO技术栈公众号