博客

代码构建安全:基础设施即代码系列——不安全的加密技术

May 25, 2020
Matias Madou 博士

精明的组织正在拥抱“基础设施即代码”的理念,而正是像您这样的开发人员,即便在构建应用程序之外,也能为编写安全代码做出重大贡献。起初这可能看起来是一条漫长的道路,但为了在同行中脱颖而出,这段旅程非常值得。

在开始“Coders Conquer Security”系列的下一章之前,我想邀请您参与一个关于敏感数据存储漏洞的游戏化挑战;立即开始游戏,并从 Kubernetes、Terraform、Ansible、Docker 或 CloudFormation 中选择一个进行挑战:

感觉如何?如果您的知识储备还有待加强,请继续阅读:

如今,对密码、个人信息和财务记录等关键数据进行静态哈希处理,已成为任何网络安全防御体系的基石。在很多方面,它既是最后一道防线,也是最有效的保护手段之一。这是因为,即使攻击者突破了其他防御措施并获取了关键文件,只要这些文件经过了正确的哈希处理和存储,对他们来说也毫无用处。

这也能作为防范恶意内部人员的有力辅助手段,因为加密文件所使用的密钥或密码可以与网络其他部分隔离开来。在这种情况下,即便系统管理员或窃取了管理员凭据的黑客能够浏览受保护的目录,如果加密密钥存放在别处,他们依然无法解密其中的文件。

当然,所有加密保护方法都依赖于强大的加密标准,即便是最强大的计算机也无法破解这些标准。

为什么不安全的加密技术很危险?

在计算机技术领域,创建强大的加密算法与破解这些算法的能力之间,长期以来一直处于博弈状态。早在 1977 年,美国联邦政府开发了数据加密标准 (DES),这是一种 56 位算法,考虑到当时计算机的相对性能,它在当时被认为是安全的。

但随着计算机的发展,人们找到了通过协作将它们联网以进一步提升算力的方法。1999 年,电子前沿基金会 (Electronic Frontier Foundation) 与 Distributed.net 合作,仅用 22 小时就公开破解了一个受 DES 保护的文档。自此,任何受 DES 加密保护的文档都不再安全。

信不信由你,一些组织至今仍在使用 DES 算法或类似的弱加密保护来保护其关键文件。虽然 1999 年破解 56 位加密需要一个分布式网络,但如今,几乎任何性能足够强大的独立计算机只要稍花一点时间就能做到。黑客还利用图形处理器 (GPU) 集群构建了专门的破解机器。这些 GPU 在此类任务上表现异常出色,且获取和本地联网的成本相对较低。

如果您今天选择使用不安全或薄弱的加密算法来保护关键文件,那么用不了多久,大多数黑客就能破解这些文件并读取其中的内容。如果您遭遇了数据泄露,那么必须假设这些文件最终会被破解,前提是它们没有得到充分的保护。

例如,以下 Kubernetes 代码片段在 NGINX 入口控制器级别使用了弱加密算法来保护信息:

apiVersion: v1
kind: ConfigMap
metadata:
 name: nginx-load-balancer-conf
 namespace: kube-system
data:
 ssl-ciphers: DES-CBC3-SHA
 ssl-protocols: "TLSv1.2"

在该示例中,使用了 DES 密码套件来保护信息。然而,攻击者可以轻易地将其解密并获取敏感信息。

建议使用强大的加密算法。在以下 Kubernetes 示例中,NGINX 入口控制器级别使用了强大的密码套件来保护信息:

apiVersion: v1
kind: ConfigMap
metadata:
 name: nginx-load-balancer-conf
 namespace: kube-system
data:
 ssl-ciphers: |
   ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:
   ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:
   ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:
   ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:
   ECDHE-RSA-AES128-SHA256
 ssl-protocols: "TLSv1.2"

在该示例中,使用了强大的密码套件,以防止攻击者获得访问敏感信息的潜在机会。

利用强加密技术保护关键信息

如今,我们已拥有近乎无法破解的强加密技术。2001年,美国国家标准与技术研究院(NIST)推出了一种旨在取代DES的新型加密技术,即高级加密标准(AES)。它支持128位、192位或256位三种密钥长度。其中256位AES加密安全性最高,尽管以目前的技术水平来看,这三种标准都几乎无法被破解。超级计算机测试表明,破解大多数AES加密文档需要耗费数千年的持续运算时间。

为了妥善保护关键文件,开发人员首先应识别出这些文件。无需对网络上的所有内容进行加密,因为持续的加密和解密过程可能会拖慢系统运行速度。但人事记录、客户数据和财务信息等关键文件必须得到充分保护。从本质上讲,这是在安全性与系统可用性之间寻求平衡。

这些数据应采用AES标准进行加密,对于绝不能落入他人之手的核心信息,甚至应采用256位加密。

此外还需考虑一点:添加加密就像为网站增加更多密码。这意味着授权用户必须妥善管理加密密钥。为避免其成为工作流程的瓶颈,建议部署密钥管理平台来追踪并保护这些密钥。即使不使用集中式密钥管理,也务必确保所有密钥和密码都得到妥善保护,防止未经授权的用户访问您最核心的数据存储库。

欢迎访问 Secure Code Warrior 博客页面,深入了解此漏洞,并学习如何保护您的组织和客户免受其他安全缺陷的侵害。您还可以 试用 IaC 挑战演示,通过 Secure Code Warrior 培训平台不断磨练并更新您的网络安全技能。


标语

在 AI 驱动的开发成果发布前实现有效治理

评估 AI 辅助风险,在提交代码时强制执行安全编码策略,并加速整个软件开发生命周期的安全交付。

预约演示
资源库

探索更多博客

获取有关安全编码、人工智能治理和软件风险管理的专家内容。

浏览全部
案例研究
筛选标签
这是 div 块中的一段文本。

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

了解更多
案例研究
筛选标签
这是 div 块中的一段文本。

统一的安全文化:Sage 如何打造其安全倡导者项目

了解 Sage 如何通过灵活且以关系为导向的方法提升安全性,成功培养了 200 多名安全倡导者,并实现了显著的风险降低。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

2026年网络安全意识月:理解人工智能安全对企业防御至关重要

目前,大多数顶级人工智能公司已公开呼吁全球放缓人工智能的发展速度,以便安全防护措施能够跟上步伐。然而事实是,严重的安全问题已经显现。随着人工智能实施带来的经济成本和风险不断累积,无数安全领导者和高管团队正处于紧迫的境地。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

赋能要素 8:打造项目品牌

成功的安全编码项目不仅需要优质的内容。赋能要素 8 展示了如何通过品牌化将参与过程转变为一种令人向往、以地位为驱动的体验。

了解更多
博客
筛选标签
这是 div 块中的一段文本。

每一位员工现在都处于 AI 网络安全的最前线

企业技术格局正以一种鲜有人预料到的速度发生剧变,直到为时已晚。我们已正式跨越了从人工编写代码和基础辅助编程,进入“智能体开发生命周期”(ADLC)的时代。虽然自主 AI 智能体有望在多个职能领域实现前所未有的效率,但它们也带来了全新的安全和监管风险。

了解更多

在产品发布前确保 AI 驱动的开发安全

洞察开发风险,执行安全策略,并在整个软件开发生命周期中预防漏洞。

预约演示
未找到相关项目。