作者:新思科技网络安全研究中心(CyRC)API安全组Travis Biehn、John Tapp以及Jamie Boote
大家对物联网的概念已经不再陌生,物联网的应用也比较广泛,比如智能家居。物联网其实是通过API(应用程序接口)将计算能力嵌入到应用中,实现物物相连。随着互联和集成越来越重要,API的重要性也愈加凸显,同时API安全也受到更多重视。
现代系统依赖于通过各种网络公开的API的复杂系统。什么是API安全,它如何融入到整体的安全计划?
所有应用程序都使用API(比如,对内核的调用、软件开发工具包、密码库和SOAP协议)。如今,供应商提到的“ API安全”是指这些API的子集 —— 通过网络公开的那些API。
就本质而言,这些网络公开的API使信息能够自由传递以及在软件组件之间进行交互。攻击者有机会可以通过公共网络、云和专用网络的暴露端点来破坏系统的组件。一些知名公司(包括USPS、T-Mobile和Salesforce等)的重大违规事件是源于暴露或使用不安全的API端点。那么问题来了,要如何了解软件安全计划是否满足企业所需的安全控制的要求,以确保使用和创建的API是安全的?首先,你需要定义什么是“API安全”。
API安全是对企业创建和使用的(暴露在网络中)API的保护。当然,这意味着需要使用与API紧密相关的通用安全控制:速率限制以及用户、服务和请求的身份验证和授权。这还意味着了解数据来源,以及在查看组成的系统时,在设计或查看讨论时准确地寻找到上下文的位置。对于软件安全领头企业来说,这意味着应用程序安全计划可以在适当的时间捕获活动并将其应用于暴露或使用API的软件。强大的API安全性不只是购买一些新工具,还源于一种安全文化,它涉及整个软件安全计划中的活动。
诸如微服务架构等的流行软件开发趋势已将与软件安全计划(SSI)相关的软件单元从“应用程序”(或整体式)扩展至API的许多子组件。这些子组件具有自己的生命周期和合同,并必须遵守安全控制措施。软件安全企业可以从以下方面提升安全性:
API是被用在前端客户端(胖客户端或浏览器)和后端系统之间,以及后端组件之间。进一步考虑,单个API端点可能最终会同时处理前端和后端请求。当各个API端点暴露于各种已知和未知的调用方(网关或负载平衡器的上游消耗、组成或包装)时,很难确定单个API端点必须执行哪些安全控制。应用程序安全主管可以做出的一个决定是,推动使用API,以明确记录提供商和使用者应承担的安全责任。
架构师还面临识别API跨领域问题的麻烦。安全领导者应该注意一些安全活动,例如统一访问控制,以及那些与业务逻辑接近的活动,例如统一客户身份认证。
关于安全控制,API安全中有多个抽象级别:业务逻辑中的控制(防止滥用);保护业务逻辑的控制(身份验证和授权);以及最终由架构启用或定义的架构安全控制(API网关和微细分)。
由架构决策支持的安全控制,对于在API安全的环境中的应用程序开发而言相对较新。除了应用于业务逻辑的安全控制之外,还扩展到诸如速度检查、身份验证和授权决策等。我们需要知道如何最好地隔离一组API,并在那里通过网关启用重要的安全控制。例如,微分段是否能达到要求?服务网格提供的安全控制效果如何?
一些架构决策试图提供阻塞点,以便安全架构师更深入地了解这些分布式系统。虽然某些架构决策需要集中管理的方法,但有的则启用端点强制的方法。
当然,我们建议进行威胁建模。应用安全企业必须开始识别各种类型的API(第一方、第三方、客户或使用者)的风险、每个API端点的关键控制、针对采用很多API的架构(如微服务)造成的问题提供可接受的解决方案,以及是否将卖方索赔作为风险管理计划的一部分。
应用安全企业需要了解他们的API足迹;衡量使用流程和工具来覆盖该足迹的工作;跟踪、记录正在进行的安全活动并确定优先级;并为各种类型的安全分析提供了丰富的上下文。当与程序所有者讨论API安全时,我们经常会发现现有的清单解决方案无法提供这些内容。安全计划负责人应该仔细研究是否可以采用现有的物料清单解决方案,或者是否必须采用新的解决方案。
如今的安全测试与以往一样,对于深入了解上游软件安全实践的有效性都很重要。API安全测试对手动、自动或者混合测试都提出了新挑战。其中上下文关联是一种。如果测试人员没有输入或感知威胁模型的能力,则无法找到对SSI不利的高风险问题,得不到及时修复。静态分析工具可以有效地识别特定于语言的软件安全问题,或可以很好理解的注入攻击,对于那些使用大量API的代码库仍然有效,但是前提是这些工具必须对用于公开这些API路由的库和平台进行建模。有的企业已经采用静态分析推动安全控制(例如,使用身份验证和授权库),并可用于API安全。
动态分析可以生成API覆盖范围,其典型方法包括对客户端(或工具)、行为以及使用规范进行测试。该解决方案不是构建一个工具,并强迫开发团队使用一种测试工具,而是去支持各种可能的测试。
现代应用程序和系统依赖于通过各种公共和专用网络公开的API的复杂系统。我们可以采取一些步骤来了解这些更改如何影响我们的软件安全计划的各个要素,并确保在正确的时间和地方,将安全性内置到暴露在或使用API的软件中。
好文章,需要你的鼓励
这项研究由德累斯顿工业大学等机构的研究团队完成,旨在解决主动学习未被广泛应用的问题。研究者构建了包含460万种超参数组合的实验网格,系统分析了各参数对主动学习性能的影响。研究发现,不同策略实现间存在显著差异,基于边缘的不确定性策略整体表现最佳,随机选择约4000个超参数组合即可获得可靠结果。这些发现为设计可重现、可信赖的主动学习实验提供了明确指导,有助于降低入门门槛,促进技术在实际应用中的普及。
这项由英国爱丁堡大学和上海人工智能实验室研究者共同完成的工作提出了LongBioBench,一种用于评估长文本语言模型的新型基准测试框架。通过使用人工生成的虚构人物传记作为测试环境,该框架在保持可控性的同时,提供了更真实的评估场景。研究对18个长文本模型的测试表明,即使最先进的模型在检索、推理和可信任性方面仍存在显著挑战,特别是上下文长度增加时。研究还揭示了现有合成基准测试的设计缺陷和长上下文预训练的局限性,为未来模型开发提供了重要指导。
SuperWriter是一项来自新加坡科技设计大学和清华大学的突破性研究,通过模仿人类"先思考后写作"的过程,彻底改良了AI长文生成能力。该研究团队开发的框架包含三个关键阶段:规划、写作和修改,使AI能像专业作家一样进行结构化思考。实验结果表明,经过训练的SuperWriter-LM模型不仅超越同等规模的所有AI模型,甚至在某些领域表现优于规模更大的顶级模型,为AI辅助写作开创了新的可能性。
香港大学与阿里巴巴达摩院合作开发的LayerFlow是一种突破性的层级视频生成技术,能同时生成透明前景、完整背景和混合场景视频。该技术通过创新的框架设计将不同视频层级作为子片段连接,并引入层级嵌入使模型区分各层级。面对高质量训练数据稀缺的挑战,研究团队设计了三阶段训练策略,结合Motion LoRA和Content LoRA,实现了图像和视频数据的联合训练。LayerFlow不仅支持多层视频生成,还能实现视频分解和条件层生成,为视频创作领域带来革命性变革。