【.com快译】应用程序编程接口(API)近来非常流行。各企业的应用开发,深深依赖于它们之间的相互调用,以支持新产品和服务的及时交付。与此同时,随着API数量的增加,通过互联网传输的数据量呈指数级增长。然而,这些海量数据通常包括敏感和隐私数据,例如用户详细信息、电子邮件和密码。例如:通过使用Facebook的一些API(参见:https://developers.facebook.com/docs/graph-api/),您可以访问大量用户的照片和位置等详细信息。由于在线世界中用户之间的隐蔽性,这些敏感数据很可能被犯罪分子用于各种恶意目的。因此,在日常的应用开发过程中,要时刻关注API的安全性,通过安全编码等技术手段,构建安全可靠的程序API。根据SmartBear最近进行的一项研究,API安全性越来越受到关注(该研究发布了API状态报告,请参阅:https://smartbear.com/resources/ebooks/the-state-of-api-2019-report/):41.2%的受访者和回复者认为安全是他们API面临的最大技术问题,是重中之重。他们不希望他们的软件产品中存在与API安全相关的漏洞。在通常被认为需要改进和增强的API相关领域中,安全性排名第四。超过40%的API提供者会使用某种工具来了解当前的API安全状况。他们希望能够快速、全面地发现潜在的安全漏洞。目前,API技术已经渗透到各个行业,甚至是各种商业战略的制定。其中,最常见的API是REST、SOAP和ASYNCAPI。此外,随着物联网的快速发展,新的智能API不断涌现。这些API充当智能设备和互联网之间的接口。那么,API是如何在业务趋势和深度融合中发挥作用的呢?通过以下三个方面,我们可以窥见一斑:为了给客户提供更好的服务体验,银行机构正在采用甚至迁移到API式的敏捷模型,以实现高效、适应性强的金融安全架构。医疗保健行业的从业者通过各种可用的API为患者和客户提供集成的医疗保健服务,并可以提高自己产品的互操作性。零售商正在使用API为他们的客户提供更智能的电子商务平台,例如:多样化的移动支付应用程序等。API安全现状目前,在互联网上,每时每刻通过各种API传输的海量数据日子可谓喜忧参半。有些是普通的公共数据,有些是需要加密的机密数据。因此,应用开发人员和维护人员需要与那些看不见摸不着的对手进行攻防较量,以确保提前发现软件产品的各种漏洞。总体而言,API安全风险主要集中在以下三个方面:授权、认证和审计机制(一般通过访问控制来处理)。流量的负载均衡和限速。通信和网络中的数据隐私问题(通常通过SSL/TLS解决)。API安全展望根据本人的开发和项目实施经验,大胆提出以下API安全趋势展望,供大家参考。1.DNS安全(DNSSEC)当人们使用移动设备访问各种APP时,大部分信息都是通过无线网络以不加密的方式来回传输的,因此很容易被拦截甚至攻击。我们需要通过设置SSL或TLS的连接方式来保证传输数据的安全。目前最新的TLS版本为1.3,大部分网站也可以通过API设计使用HTTPS来加密用户的各种敏感信息。同时,由于几乎所有的网络流量都需要标准的DNS查询,DNS成为众矢之的,针对DNS的劫持和中间人攻击事件时有发生。此类攻击将网站的传入流量重定向到虚假网站,从而收集网站用户的敏感信息,给企业造成损失。与许多Internet协议一样,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的安全性。只有在设计之初就将安全,尤其是对用户隐私的控制纳入其中,才能节省后续补救整改的时间和资源。业界知名的RestCaseAPI平台使用各种AI和复杂的算法,方便用户在设计阶段检查和验证自己的API。同时,它可以针对如何处理API安全问题给出各种建议。3、人工智能(AI)驱动的API安全目前,在不同行业,开发者将系统API与海量数据、自然语言处理等领域进行了很好的应用,并预测了发展趋势。通过对不同实时数据源的持续检测和分析,使各种应用具有更快、更智能的响应能力。同时,利用好丰富的数据资源,利用AI相关的趋势分析能力,对流量调用API进行深度分析,从而检测各种历史攻击和异常,并采取自动化修复措施,防止再次发生。随后的攻击。例如,一些针对特定API的DoS攻击源会扫描网络,攻击那些设计不良、没有对访问请求进行限流的API。有时,某些API节点在计算方面会消耗大量资源。例如:需要通过哈希算法进行身份验证的逻辑。因此,一些有经验的攻击者往往会故意利用并向此类节点发送垃圾邮件,以拖累或破坏整个系统。4.机器学习(ML)驱动的API安全如果说AI主要用于对攻击进行智能判断,那么ML则可以主要用于提取威胁的特征。通过开发具有ML功能的智能API,运营商可以有效地管理各种具有挑战性和新兴的威胁模型。利用此类API的安全性,我们将能够更准确地识别和标记各种异常行为,判断恶意攻击的发展趋势,识别和阻断各种环境和情况下针对API的攻击行为模式。可以说,在API持续学习功能的支持下,我们可以在不预测攻击来源和预设响应策略的情况下,及时识别正在发生的异常行为。目前机器学习算法广泛应用于各种API安全方面,包括:朴素贝叶斯、KNN最近邻(K-NearestNeighbors)、决策树、随机森林、支持向量机、深度学习和神经网络等。总结随着现代科技的飞速发展,API安全逐渐成为网络应用的主要技术需求之一。目前,AI和ML作为有效的智能化工具,已经逐步应用到协议栈的各个层级,实现全栈API安全保护。当然,就接下来的发展趋势而言,还需要开发者进一步加大对API业务模型、分析能力、技术蓝图、合规标准化等方面的深度研发。原标题:StateofAPISecurity,作者:GuyLevin
