开发API时如何应对威胁

时间 : 2018-11-06 编辑 : DNS智能解析专家 来源 : DNS.COM
分享 : 

由错误的API导致的高调数据泄露继续成为头条新闻。仅在过去的几个月中,T-Mobile的数据泄露导致黑客窃取超过200万客户的个人数据,而谷歌关闭了消费者版的Google+,引用了一个错误,该错误通过API暴露了多达50万用户的个人资料最多438个应用程序使用的故障。

 

由API开发引起的隐私和安全问题在过去一年中持续上升,Gartner预测到2022年它将成为最大的数据泄露源。但是,如果没有刻意的,专注的努力来保护这些系统,即使这个时间表似乎也是乐观的。 为了应对这种威胁,企业在开发API时需要遵循这三个步骤。

 

1、仅存储您需要的数据

 

将数据存储在客户和员工中可以从营销和功能角度提供益处。但是,很长一段时间,组织收集了不必要的数据量,如果受到损害,可能会导致破坏性的财务影响。根据IBM和Ponemon的2018年数据泄露研究成本,每个包含敏感和机密信息的丢失或被盗记录的平均成本同比增长4.8%至148美元。每次破坏都会导致数百万条记录遭到破坏,这一记录将成为天文数字。

 

今年的Facebook和剑桥Analytica丑闻是这种数据滥用的一个明显例子。社交媒体巨头收集并共享了大量冗余数据,这导致第三方能够对他们本不应该访问的信息采取行动。

 

今年Match.com的故障是另一个例子。大量的旧配置文件,其中一些已经不活动超过10年,在约会网站上重新激活。由于存储了如此多的不必要信息,我们只能假设它们仍然在这些用户和每个其他用户之间传递了所有信息。如果Match.com被黑客入侵,它将会破坏它不应再拥有的机密数据。企业需要从这两个问题的后果中吸取教训,否则任何API攻击都会导致严重的后果。

 

2、将安全放在第一位

 

开发人员通常使用功能驱动的思维模式构建,其中功能优先于安全性。不幸的是,在当今的安全环境中,漏洞和威胁潜伏在各个角落并且产生了不断增长的后果,因此我们必须将其置于首位。在遵守新立法的竞赛中,这已成为一个更加严重的问题,因为新立法在黑客可能利用潜在数据方面留下了漏洞。

 

这会适得其反,可能会给组织带来其他问题。最近,金融行为监管局(FCA)宣布将迫使英国银行公开披露他们通过API获得的IT中断数量,显示通过API提供的开放和可重用数据的重要性。我们也看到了GDPR的实施,数据泄露现在将导致他们造成的声誉损害之外的重大财务罚款。由于其他司法管辖区考虑类似的规则,法律和财务后果只会增加。

 

3、采取统一的方法

 

企业目前采用的API安全方法种类繁多。他们需要摆脱不合格的信任和API密钥,这会泄露敏感数据。如果您有API,则必须假设其他人会找到它并尝试滥用它。使用API网关是一个有用且有价值的步骤,但是,当单独使用时,它们不会为企业提供用户,其会话和连接设备的完整上下文。他们无法区分办公室中可信计算机上的用户与世界另一端的可疑移动设备。

 

企业应该采用另一种方法 - 行业标准OAuth 2.0。它的工作方式类似于酒店登记体验,其中密钥卡根据您的权限提供对应用程序部分的选择访问权限。具体而言,授权服务器在身份证明时授予的访问令牌允许指定用户访问特定资源集,并具有自动过期。

 

OAuth是一种更复杂的方法,但通过结构化一致性可以实现更大的灵活性 - 这在安全领域是无可置疑的好处。但是,重要的是要记住,OAuth 2.0仍然不是保护API的完整解决方案,因为它没有解决如何保护API本身。就像我们基础架构中的任何其他系统一样,我们必须保护我们的API免受恶意用户和恶劣软件的攻击,无论他们如何接近它。如果我们打开窗户,前门上的锁定是不够的。

 

为了使API尽可能安全,将API网关与OAuth结合起来非常重要。这两种技术相互补充,可创建功能强大的API访问管理解决方案,可将特定OAuth范围限制为特定设备,特定网络或组成员身份。它们还具有使安全团队能够在API网关外部管理此类策略,同时集中记录访问请求,授权和策略更改的额外好处。

 

黑客是复杂的,并不断寻找新的方法来打破防御和访问有价值的数据。没有银弹可以阻止他们,但组织可以从限制他们存储的数据开始。如果组织没有存储它,它就不会被泄露。在开发API时,企业需要将安全性作为首要任务,并确保他们将API网关与OAuth 2.0相结合,以加强API安全性。

 

来源:https://www.helpnetsecurity.com/2018/11/06/developing-apis/

提示

根据《中华人民共和国网络安全法》及相关法律的规定,用户不提供真实身份信息的,网络运营者不得为其提供相关服务!
详情请查看《DNS.COM账号实名认证公告
请未完成实名认证的用户尽快完善账户实名认证信息!
未通过实名认证的账户将无法进行正常操作,正在运行/已配置好的的产品服务不受影响,可正常生效。

去实名