上下文感知分析:对最重要的漏洞进行优先级排序

通过上下文感知分析,产品安全团队可以高效地确定哪些漏洞真正影响其产品,避免资源浪费。该方法涉及理解软件运行的环境及其组件的具体情况,如操作系统配置、硬件架构等,从而过滤掉不相关的漏洞。

如今,产品安全团队在漏洞管理程序方面面临着难以置信的挑战。嵌入式软件更为普遍,由开源软件(OSS)、商业软件和专有代码组成,而且要复杂得多。

结果是:攻击面增加,控制能力下降,风险大大增加。而且,漏洞的数量仍在增加;仅在2020年,NVD就发布了超过18000个CVE!

为了确保公司在面对不断增长的威胁(就数量和复杂性而言)时能够以最大的效率运行,产品安全团队必须相应地扩展他们的漏洞管理能力。这一挑战取决于时间、金钱和人力资源的合理分配与否。

产品安全团队如何才能确切地了解他们的软件中有什么,哪些漏洞与他们的产品安全相关,以及如何对他们的工作进行优先级排序?

解决方案——基于上下文的分析

更好地理解产品组件运行的上下文,以及特定漏洞可能应用于它们的方式,是任何产品安全团队需要做的事情。

重要的是,您要了解您所选择使用的产品相关的所有信息。同样关键的是,要了解若不执行将产品的整个上下文考虑在内的全量分析会产生的影响。

例如,如果某个CVE只适用于64位系统(而不是32位系统),那么了解所分析的产品到底属于哪一类,可以帮助您避免将宝贵的资源浪费在可能根本不会影响系统的漏洞上。

在Cybellum,这种认知和上下文理解是通过创建并利用Cyber Digital Twins获得的。

Cyber Digital Twins是什么?

受Digital Twins的启发,Cyber Digital Twins是一个软件组件的详细表示,可以洞察其组成、内部运作和设备软件运行的上下文。与Digital Twins一样,Cyber Digital Twins也与诸如(但不限于)车辆、医疗设备和工业物联网(IoT)设备等机器有关,重点关注为它们提供动力的软件。

它包括软件材料清单(也称为SBOM或C-SBOM)、底层硬件架构、操作系统(OS)配置、加密机制和密钥、加固机制、完整的控制流、使用的API调用等。

通过增强对产品组件运行的上下文的理解,产品安全团队可以过滤掉许多无关的“噪音”,从而找出真正影响产品并可能危及整个产品运行的漏洞子集。

这样做可以取得显著的效果。例如,在某个案例中,一个特定组件的90%有潜在影响而实际不相关的漏洞都被过滤掉了,从而使分析人员只关注33个相关的漏洞。

基于上下文的分析——实际示例

1) CVE-2019-19537——USB设备依赖项:USB接口是嵌入式软件中最常见的攻击载体之一。在这种情况下,问题就是可能由USB字符设备驱动程序层内的USB恶意设备引起的条件错误,从而影响linux内核。

考虑到这一点,上下文分析的第一步是检查USB端口是否被启用。在这样做的过程中,可以根据启用USB的设备筛选CVE并提供支持。

2) CVE-2020-25212——Linux内核存在TOCTOU不匹配:在5.8.3版本之前的Linux内核中,NFS客户端代码存在time-of-check time-of-use(TOCTOU)不匹配。它可能被本地攻击者用来破坏内存,或可能造成未指明的其他影响,仅仅因为尺寸检查是在fs/nfs/nfs4proc.c 中而不是在fs/nfs/nfs4xdr.c 中执行的。

我们了解到,这个CVE只有在配置了CONFIG_NFS_V4_SECURITY_LABEL时才有效。因此,具备基于编译符号过滤与Linux内核相关的许多CVE的能力是解决这类问题的关键。

因此,在这个例子中,二进制分析是关键。最终,我们能够通过检查已编译的标志来过滤Linux内核CVE,并当固件中缺少特定标志时排除这些CVE。

3) CVE-2020-11899——Ripple206.0.1.66版本之前的Treck TCP/IP堆栈都包含IPv6Out-of-bounds Read。CVE是Ripple20的一部分——一组由Treck TCP/IP软件库中的JSOF专家发现的19个零日漏洞。

由于一次成功的利用可能会影响到多方,确保软件供应链安全的第一步是检查这些CVE是否与所分析设备的上下文相匹配,从而节约原本用于修复不相关CVE的资源。

在这种情况下,只有为使用IPV6通信而配置的固件会受到影响且需要注意。但是由于被分析的设备使用的是IPv4,所以它不受这个特定CVE的影响。由于仅通过检查源代码无法获得网络配置,因此这里进行二进制分析也是关键。

注意,针对这个CVE的另一个可能的上下文感知分析还与内核体系结构是否与应用程序隔离有关。在这种情况下,漏洞的影响可能远没有那么严重,因为这种隔离保护了整个系统免受恶意行为的损害。

为什么二进制分析对上下文感知很重要?

产品安全团队应该利用二进制分析,从编译后的软件分析中获益,以捕获更全面、更广泛的被测组件范围,而不仅仅是ECU/固件源代码。它涵盖了操作系统(OS)相关的漏洞、驱动程序相关的安全问题、配置问题等。在识别漏洞时,二进制分析出现的误报更少,从而实现更好的时间与资源管理。记住,这不仅仅与代码有关,还与如何使用代码有关。相关性是关键。

总结

如上述例子所示,上下文感知使得产品安全团队能够确定行动的优先次序,从而节省宝贵的时间和资源。

有无数种方法可以利用上下文感知分析来优化CVE过滤,比如:通过CPU架构、操作系统(OS)、命令/函数等。因此,将您的漏洞管理实践与上下文感知分析相结合,可以为任何公司的风险管理工作带来价值和效果。

Cybellum可以通过上下文感知分析来使您的软件供应链更明晰,并保护您的客户和业务。我们制定了一系列产品安全新标准,从最初的开发阶段一直到集成和生产阶段,以及在产品投入运营使用时,消除了网络风险并促进了合规。

若您想了解如何查看所有软件资产,熟知每个漏洞的实际影响并在它们造成任何危害之前减轻安全风险,立刻与我们联系吧!

“原创内容,转载请标明出处”

<think>我们正在讨论加密时需要提供哪些上下文信息。根据之前的引用,加密的上下文信息可能因应用场景和安全需求的不同而有所变化。以下结合引用内容进行分析: 1. **引用[1]** 提到应用文件加密时,根据文件敏感程度选择不同的加密分区(EL1或EL2)。这提示我们,加密的上下文应包括: - **文件类型和敏感级别**:例如,私有文件(如闹铃、壁纸)与敏感文件(如个人隐私信息)需要不同的加密强度。 - **访问权限要求**:例如,用户输入密码前是否需要访问(如EL1分区)[^1]。 2. **引用[2]** 讨论了加密网络流量的威胁识别,强调需利用“上下文流数据”: - **网络元数据**:如TLS握手信息、DNS上下文流、HTTP标头等[^2]。 - 这说明在网络加密中,上下文信息可能包括: - 协议元数据(如TLS版本、加密套件) - 关联流量模式(如同一源IP的HTTP请求) 3. **引用[3]** 提出“上下文感知分析”用于漏洞优先级排序,暗示在加密系统中: - **环境上下文**:如软件供应链阶段(开发、集成、生产)、运行环境[^3]。 4. **引用[4]** 描述了Linux加密框架中的`tfm`结构,其包含: - **算法类型**(如`ablkcipher`、`cipher`) - **算法实现**(`crypto_alg`) - **运行时上下文**(`__crt_ctx`)[^4]。 ### 综合结论:加密时应提供的上下文信息 1. **安全需求**: - 数据敏感级别(公开/内部/机密)[^1] - 合规要求(如GDPR、HIPAA) 2. **算法参数**: - 加密算法类型(如AES-GCM、RSA-OAEP)[^4] - 密钥长度与模式(如256位密钥、CBC模式) - 初始化向量(IV)或随机数(nonce) 3. **环境信息**: - 硬件/软件平台(如ARM TrustZone、Linux内核版本)[^4] - 访问控制策略(如用户身份、设备状态)[^1] 4. **操作上下文**: - 网络流量特征(如TLS握手元数据)[^2] - 数据生命周期阶段(开发、传输、存储)[^3] 5. **性能约束**: - 实时性要求(如嵌入式系统需低延迟) - 资源限制(如物联网设备的内存限制) ### 示例:文件加密上下文配置 ```plaintext | 上下文维度 | EL1分区(低敏感) | EL2分区(高敏感) | |--------------|--------------------------|--------------------------| | 算法 | AES-128-CBC | AES-256-GCM | | 密钥管理 | 设备内置密钥 | 用户口令+硬件密钥 | | 访问条件 | 设备启动即可访问 | 需生物认证 | | 环境依赖 | 无网络要求 | 联网时验证证书 | ``` 此表说明:根据文件敏感度(上下文),选择不同加密策略[^1]。 §§相关问题§§ 1. 如何为不同敏感度的数据选择加密算法? 2. 网络加密中需要收集哪些元数据用于安全分析? 3. 硬件加密模块如何影响加密上下文的设计? [^1]: 应用文件加密是一种保护数据安全的方法... [^2]: 使用上下文流数据识别加密的恶意软件流量... [^3]: 上下文感知分析:对最重要漏洞进行优先级排序... [^4]: linux4.14 加密框架 —— 算法上下文(1)——tfm简介...</think>基于引用内容及加密实践,进行加密时应提供以下关键上下文信息,以确保安全性和功能性: ### 一、核心上下文信息 1. **数据敏感级别** - 区分普通数据(如系统壁纸)与敏感数据(如隐私信息),决定加密强度 - 例如:EL1分区(设备级加密) vs EL2分区(高强度加密)[^1] 2. **访问控制需求** - 明确授权场景:用户认证前/后访问、多因素认证要求 - 例如:闹铃文件需在用户输入密码前可访问[^1] 3. **运行环境特征** | 环境类型 | 需提供的信息 | |---|---| | 网络通信 | TLS协议版本、加密套件、DNS上下文流[^2] | | 操作系统 | 内核版本、加密框架支持(如Linux的crypto_tfm结构)[^4] | | 硬件平台 | 安全芯片支持、加密加速能力 | 4. **威胁模型上下文** - 针对恶意软件流量的防御需提供: - 网络流元数据(数据包长度/时间序列) - HTTP标头关联信息 - 同源IP的流量行为模式[^2] ### 二、扩展上下文信息 5. **生命周期阶段** - 开发阶段:代码混淆强度、第三方库漏洞扫描需求[^3] - 部署阶段:密钥轮换策略、硬件安全模块(HSM)集成 - 运维阶段:合规审计要求(如GDPR) 6. **算法参数上下文** ```c struct crypto_tfm { u32 crt_flags; // 算法标志位 union crt_u { // 算法类型选择 struct cipher_tfm; // 对称加密 struct compress_tfm; // 压缩算法 }; void *__crt_ctx[]; // 算法运行时上下文 }[^4]; ``` - 需明确:加密模式(CBC/GCM)、填充方案、密钥长度 ### 三、最佳实践建议 1. **上下文感知分析** - 通过动态风险评估调整加密策略[^3] - 示例:检测到异常网络流量时自动启用会话密钥更新 2. **分层加密架构** ```mermaid graph LR A[原始数据] --> B{敏感度分析} B -->|低敏感| C[EL1分区-AES128] B -->|高敏感| D[EL2分区-AES256+HMAC] D --> E[硬件密钥存储] ``` 3. **元数据保护** - 加密时需隐藏:文件大小、访问时间戳等侧信道信息
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值