定义
嵌入式安全层指的是那些不是作为独立边界防御实施,而是内在编织到应用程序、服务或基础设施组件的架构、代码和操作流程中的安全控制、协议和机制。
与传统的边界安全(如放置在网络边缘的防火墙)不同,嵌入式层在内部运行,在交互或执行点保护数据和流程。
为什么它很重要
在现代的分布式架构(如微服务和云原生应用)中,传统的网络边界已经瓦解。威胁可能源于系统内部、受损的 API 或有漏洞的依赖项。嵌入式安全层通过假设可能发生入侵,并在风险存在的精确位置实施纵深防御来解决这个问题。
这种方法将安全从一个附加的功能转变为一个基本的设计原则,显著减少了攻击面。
工作原理
实现方式取决于技术栈的层级:
- 代码级别: 在应用程序代码中直接利用安全编码实践、输入验证和运行时应用程序自我保护 (RASP) 工具。
- API 级别: 在每个 API 调用上实施细粒度的授权检查、速率限制和令牌验证。
- 数据级别: 采用传输中和静态存储的加密,通常使用同态加密等技术在不解密的情况下处理敏感数据。
- 基础设施级别: 将安全策略直接集成到部署管道(DevSecOps)中,并使用服务网格技术在服务之间实现相互 TLS (mTLS)。
常见用例
- 微服务通信: 确保每个服务到服务的调用都经过身份验证和授权,而不管网络位置如何。
- 数据处理: 通过在摄取时立即加密数据并在授权的处理环境中才解密数据来保护个人身份信息 (PII)。
- Web 应用程序保护: 将 Web 应用程序防火墙 (WAF) 或专业安全库直接部署在应用程序运行时环境中。
主要优势
- 弹性: 即使其他层失败或被绕过,也能提供防御。
- 粒度: 允许将高度特定的安全策略与单个功能或数据元素相关联。
- 延迟降低: 当高效实现时(例如,使用优化库),安全检查比通过外部安全设备路由流量更快。
挑战
- 复杂性: 深度集成安全需要开发、运营和安全团队的专业知识。
- 性能开销: 实施不当的控制可能会引入显著的延迟或资源消耗。
- 维护: 安全依赖项必须与应用程序代码一起持续更新,以防止漏洞。
相关概念
零信任架构 (ZTA)、DevSecOps、运行时应用程序自我保护 (RASP)、API 网关安全