当前位置: 首页 > news >正文

Kaamel白皮书:IoT设备安全隐私评估实践

1. IoT安全与隐私领域的现状与挑战

随着物联网技术的快速发展,IoT设备在全球范围内呈现爆发式增长。然而,IoT设备带来便捷的同时,也引发了严峻的安全与隐私问题。根据NSF(美国国家科学基金会)的研究表明,IoT设备存在"无休止的数据收集和传输,创造出一个常常超出我们控制的数字足迹"NSF1,这种不受控的数据收集对用户隐私构成了严重威胁。

1.1 主要风险与威胁

当今IoT设备面临的主要安全与隐私风险包括:

  1. 软件和固件漏洞:旧版本软件未及时更新、编码不规范或存在后门风险导致设备易受攻击。研究表明,许多IoT设备使用的是过时的软件版本,制造商缺乏定期更新机制Device Authority2。

  2. 数据泄露风险:在数据传输和存储环节中,未加密或加密不足导致敏感信息外泄。据伯克利大学IoT隐私研究项目指出,"随着'智能'成为设备的默认设置,消费者正在失去监控和控制收集的数据的能力"cltc.berkeley.edu3。

  3. 恶意软件风险:通过利用系统中的弱点,恶意软件可以侵入并扩散,尤其在多设备共享网络环境中。

  4. 身份验证与访问控制不足:默认密码和弱认证机制导致的未授权访问风险。大多数IoT设备使用简单或默认的密码,缺乏多因素认证机制。

  5. 隐私保护机制缺失:许多IoT设备未实施基本的隐私保护原则,如数据最小化、用途限制和透明度。OWASP的AI安全和隐私指南强调了"使用限制和目的规范"的重要性,防止将数据用于多个不兼容的目的OWASP4。

1.2 安全与隐私挑战的复杂性

IoT设备安全与隐私评估面临的主要挑战包括:

  1. 设备多样性:IoT设备在硬件规格、软件平台和通信协议方面存在巨大差异,难以建立统一的评估标准。

  2. 资源限制:许多IoT设备具有计算能力、存储空间和能源供应的限制,无法支持传统的安全机制。

  3. 生命周期管理:IoT设备的长期部署需要持续的安全更新和维护,而许多制造商无法提供长期支持。

  4. 缺乏标准化:如NSF的研究所指出,"这些至关重要的信息通常是缺乏的、混乱的、不一致的,以及以笨拙的方式呈现",缺乏统一的安全和隐私信息标准NSF1。

2. IoT设备安全与隐私评估框架

为应对上述挑战,业界和学术界开发了多种评估框架来系统化地评估IoT设备的安全性和隐私保护能力。本节将详细介绍几个主流的评估框架。

2.1 IoT安全基金会(IoTSF)安全保障框架

IoT安全基金会(IoTSF)开发的安全保障框架是业界广泛采用的评估工具。该框架(目前发布到3.0版本)通过结构化的问询和证据收集流程,确保采用适合特定应用场景的安全措施。

该框架的主要特点包括:

  • 分层评估:根据设备复杂性和应用场景划分不同的安全级别

  • 风险驱动:基于风险评估确定安全控制措施的优先级

  • 全生命周期覆盖:从设计、开发到部署和维护的全过程安全评估

  • 合规性映射:与多种标准和法规进行映射,如ETSI EN 303 645和NIST IR 8259A

框架的核心评估维度包含:

  1. 物理安全

  2. 软件安全

  3. 通信安全

  4. 数据保护

  5. 身份验证和授权

  6. 安全更新和补丁管理

  7. 弹性和故障处理

2.2 GSMA IoT安全评估框架

全球移动通信系统协会(GSMA)开发的IoT安全评估框架特别适用于具有移动连接能力的IoT设备。该框架提供了灵活的评估方法,能够适应IoT市场的多样性,使企业能够构建安全的IoT设备和服务。

GSMA框架的核心组成部分包括:

  • 安全控制清单:提供详细的安全控制措施清单

  • 风险评估方法:系统化评估安全风险并确定影响程度

  • 安全目标:明确定义安全实施的目标和预期结果

  • 测试方法:提供验证安全控制有效性的测试方法

根据GSMA的文档,该框架在2024年进行了修订,进一步促进了IoT服务安全设计、开发和部署的最佳实践。

2.3 OWASP IoT安全测试指南

开放Web应用安全项目(OWASP)开发的IoT安全测试指南提供了一种全面的渗透测试方法,专门针对IoT领域。该指南包含以下主要测试领域:

  1. 硬件测试:物理接口、存储介质和硬件组件评估

  2. 固件分析:固件提取、逆向工程和漏洞识别

  3. 软件测试:软件组件和应用程序安全评估

  4. 通信协议测试:分析通信协议的安全性和隐私保护

  5. Web界面测试:Web应用程序和API接口的安全性评估

  6. 移动应用测试:与IoT设备交互的移动应用安全性评估

此外,OWASP还提供了AI安全和隐私指南,其中强调了几个关键安全和隐私原则:

  • 使用限制和目的规范

  • 公平性

  • 数据最小化和存储限制

  • 透明度

  • 隐私权

  • 数据准确性

  • 同意

  • 模型攻击防护

2.4 CSA IoT安全控制框架

云安全联盟(CSA)的IoT安全控制框架(v2)提供了一种系统化的方法来评估和实施IoT设备的安全控制。该框架特别关注云连接IoT设备的安全性,并提供了详细的使用指南。

CSA框架的主要特点包括:

  • 多层次安全控制:分层组织的安全控制措施

  • 风险评估整合:与风险评估方法的无缝整合

  • 合规性映射:与多种标准和法规的映射关系

  • 实施指南:提供实施安全控制的详细指南

3. 评估方法与流程

在实际操作中,IoT设备安全与隐私评估需要系统化的方法和流程。本节将详细介绍评估方法和具体实施流程。

3.1 威胁建模与风险评估

威胁建模是评估IoT设备安全性的基础步骤,它帮助识别潜在威胁和漏洞。典型的威胁建模过程包括:

  1. 资产识别:识别需要保护的关键资产,如硬件组件、软件、数据和服务

  2. 威胁识别:识别可能影响资产的潜在威胁,如恶意软件、未授权访问和数据泄露

  3. 漏洞评估:评估系统中存在的漏洞,包括设计缺陷、配置错误和代码漏洞

  4. 风险评级:根据威胁可能性和潜在影响对风险进行分级

  5. 缓解措施:确定适当的缓解措施以减轻已识别的风险

常用的威胁建模方法包括STRIDE(Microsoft)、PASTA和OCTAVE。

3.2 脆弱性评估与渗透测试

脆弱性评估和渗透测试是评估IoT设备实际安全状态的关键方法。典型的评估流程包括:

3.2.1 硬件安全测试
  • 物理接口分析:评估UART、JTAG、SPI等物理接口的安全性

  • 固件提取和分析:提取设备固件并进行安全分析

  • 侧信道攻击测试:评估设备对功耗分析、电磁分析等侧信道攻击的抵抗能力

  • 防篡改机制评估:测试设备的物理防篡改机制

3.2.2 软件与固件安全评估
  • 静态代码分析:使用自动化工具检测代码中的安全漏洞

  • 动态应用程序测试:在运行时环境中测试应用程序的安全性

  • 模糊测试(Fuzzing):向系统提供非预期或随机数据以检测异常行为

  • 已知漏洞扫描:检查已知的通用漏洞和暴露(CVE)

如KeySight公司的IoT安全评估解决方案所示,结合传统漏洞评估与协议模糊测试,再加上固件分析是一种有效的评估方法。

3.2.3 通信安全测试
  • 加密实现验证:验证加密算法的正确实现和密钥管理

  • 协议安全分析:评估通信协议的安全特性和实现

  • 网络流量分析:监控和分析设备的网络通信模式

  • 中间人攻击测试:测试设备对中间人攻击的抵抗能力

3.3 隐私影响评估

隐私影响评估(PIA)是评估IoT设备隐私保护能力的系统化方法。一个全面的PIA应包括:

  1. 数据映射:绘制个人数据的收集、处理、存储和共享流程

  2. 隐私风险识别:识别可能影响个人隐私的风险

  3. 合规性评估:评估设备对适用隐私法规的遵守情况

  4. 用户控制评估:评估用户对其个人数据的控制能力

  5. 数据最小化验证:验证是否仅收集必要的个人数据

  6. 透明度评估:评估隐私政策和通知的清晰度和可访问性

伯克利大学开发的"TUI模型"(透明度、不可链接性和干预能力)是一种创新的评估方法,特别适用于IoT设备的隐私评估。该模型强调了三个关键维度:

  • 透明度(Transparency):用户对数据处理的了解程度

  • 不可链接性(Unlinkability):防止将数据与特定个人关联的能力

  • 干预能力(Intervenability):用户控制和干预数据处理的能力

3.4 合规性与标准评估

评估IoT设备对相关标准和法规的合规性是评估过程的重要部分。主要的标准和法规包括:

  1. NIST网络安全框架:美国国家标准与技术研究院的安全框架

  2. ETSI EN 303 645:欧洲电信标准协会的IoT消费者设备基线安全标准

  3. ISO/IEC 27001/27002:信息安全管理系统标准

  4. GDPR:欧盟通用数据保护条例

  5. CCPA/CPRA:加州消费者隐私法案与加州隐私权法案

  6. 电子美国网络安全改进法案(CIRCIA):针对网络安全事件的强制性报告要求

合规性评估通常包括以下步骤:

  1. 确定适用的标准和法规

  2. 映射评估控制点与标准要求

  3. 收集合规性证据

  4. 识别合规性差距

  5. 制定缓解计划

4. 关键安全与隐私风险领域的深入评估

针对IoT设备的不同方面,需要进行深入的安全与隐私评估。本节将详细介绍各个关键领域的评估方法。

4.1 设备身份与认证

身份验证机制是IoT设备安全的基础。评估应关注:

  1. 认证机制强度:评估设备的认证机制强度,如密码策略、多因素认证等

  2. 证书管理:评估数字证书的生命周期管理

  3. 安全启动:验证设备实现的安全启动机制

  4. 设备身份管理:评估设备唯一标识符的管理和保护

一种有效的评估方法是检查设备是否实施了加密身份验证,并验证其对弱密码、默认凭证和密码猜测攻击的防护措施。

4.2 加密与密钥管理

加密是保护IoT设备数据的关键技术。评估应关注:

  1. 加密算法实现:评估加密算法的正确实现和强度

  2. 密钥管理实践:评估密钥生成、分发、存储和更新的安全性

  3. 传输层安全性:验证SSL/TLS等安全协议的实现

  4. 存储加密:评估敏感数据在存储中的加密保护

根据Device Authority的研究,有效的评估应验证设备是否使用标准加密协议(如TLS 1.2+)并正确实施密钥管理。

4.3 数据保护与隐私

数据保护评估应关注从收集到处理再到删除的整个数据生命周期。关键评估点包括:

  1. 数据收集限制:验证是否仅收集必要的数据

  2. 数据分类与处理:评估不同类型数据的处理方式

  3. 数据保留政策:验证数据保留期限和删除机制

  4. 用户知情同意:评估用户同意机制的有效性

  5. 数据访问控制:评估对敏感数据的访问控制

伯克利大学的研究表明,"随着'智能'成为设备的默认设置,消费者正在失去监控和控制收集的数据的能力,他们通常对下游的数据用途了解有限。"因此,评估应特别关注设备的透明度和用户控制机制。

4.4 网络与通信安全

网络与通信安全评估应关注:

  1. 网络分段:评估设备网络的分段和隔离

  2. 防火墙与入侵检测:评估网络防护措施

  3. 协议安全性:评估使用的通信协议的安全特性

  4. 远程访问控制:评估远程访问机制的安全性

Device Authority强调使用防火墙、入侵检测系统(IDS)和加密工具对IoT安全至关重要,评估应验证这些控制措施的存在和有效性。

4.5 固件与软件安全

固件和软件安全评估应关注:

  1. 安全更新机制:评估固件/软件更新的安全机制

  2. 代码签名验证:验证代码签名和完整性检查机制

  3. 漏洞管理:评估已知漏洞的管理和修补流程

  4. 安全开发实践:评估开发过程中的安全实践

根据Device Authority的研究,定期进行软件和固件的更新以修补漏洞是IoT安全的关键要素,评估应验证设备是否具有安全的更新机制。

4.6 API安全

API是IoT设备与外部系统交互的关键接口,其安全性评估应关注:

  1. API认证与授权:评估API的认证和授权机制

  2. 输入验证:验证API对输入数据的验证和过滤

  3. 错误处理:评估API的错误处理和信息泄露

  4. 速率限制:验证API是否实施了速率限制以防止滥用

5. 评估工具与技术

为了有效执行IoT设备安全与隐私评估,需要利用各种专业工具和技术。本节将介绍主要的评估工具类别及其应用。

5.1 自动化安全扫描工具

自动化扫描工具可以快速识别常见漏洞和配置错误。常用工具包括:

  1. Nessus/OpenVAS:通用漏洞扫描器,可识别常见安全漏洞

  2. Shodan/Censys:IoT设备搜索引擎,可发现暴露在互联网上的设备

  3. Burp Suite/OWASP ZAP:Web应用程序安全测试工具,适用于IoT设备的Web接口

  4. Firmware-Analysis-Toolkit:专门用于IoT固件分析的工具集

自动化工具提供了基本的安全评估,但通常需要结合手动测试以进行深入分析。

5.2 硬件安全测试工具

硬件安全测试需要专门的工具来分析物理接口和组件。主要工具包括:

  1. 逻辑分析仪:用于分析数字信号和通信协议

  2. JTAG/SWD调试器:用于访问设备的调试接口

  3. 电压故障注入器:用于测试设备对电压故障的抵抗能力

  4. 侧信道分析设备:用于分析功耗和电磁辐射

硬件测试通常需要专业知识和设备,是全面安全评估的重要组成部分。

5.3 网络分析与监控工具

网络分析工具用于监控和分析IoT设备的网络通信。主要工具包括:

  1. Wireshark:网络协议分析器,用于捕获和分析网络流量

  2. tcpdump:命令行网络分析工具

  3. Zeek/Bro:网络安全监控框架

  4. Kismet:无线网络探测器,特别适用于Wi-Fi、Bluetooth和其他无线协议

网络分析可以揭示设备的通信模式和潜在的安全问题,如未加密的数据传输和敏感信息泄露。

5.4 固件分析工具

固件分析是评估IoT设备安全性的关键步骤。主要工具包括:

  1. Binwalk:固件分析工具,用于提取固件组件

  2. Ghidra/IDA Pro:反汇编工具,用于逆向工程固件

  3. Firmwalker:自动化固件分析工具,可识别敏感信息

  4. FACT (Firmware Analysis and Comparison Tool):比较不同固件版本的工具

固件分析可以发现硬编码凭证、后门和其他安全漏洞,是深入安全评估的重要组成部分。

5.5 隐私评估工具

隐私评估需要专门的工具来分析数据收集和处理实践。主要工具包括:

  1. 数据流映射工具:用于可视化数据流和处理活动

  2. 网络流量分析工具:用于检测个人数据的传输

  3. 隐私政策分析工具:用于评估隐私政策的完整性和清晰度

  4. 合规性检查工具:用于验证对隐私法规的遵守情况

这些工具可以帮助评估IoT设备的隐私保护能力,识别潜在的隐私风险。

6. 合规要求与标准

IoT设备必须符合各种安全和隐私标准及法规。本节将介绍主要的合规要求及其评估方法。

6.1 国际标准

主要的国际标准包括:

  1. ISO/IEC 27001/27002:信息安全管理系统标准

  2. ISO/IEC 27701:隐私信息管理体系扩展标准

  3. ISO/IEC 29100:隐私框架

  4. IEC 62443:工业自动化控制系统网络安全标准

这些标准提供了设计、实施和评估IoT安全和隐私控制的框架。

6.2 区域和国家标准

不同地区和国家有特定的IoT安全标准和法规:

  1. 欧盟

    • ETSI EN 303 645:消费者IoT安全标准

    • GDPR:通用数据保护条例

    • NIS2指令:网络和信息系统安全指令

  2. 美国

    • NIST SP 800-213:联邦政府IoT设备网络安全指南

    • NIST IR 8259:IoT设备制造商的网络安全核心基线

    • 加州SB-327:IoT设备安全法

    • CIRCIA:网络安全事件报告法案

  3. 亚太地区

    • 中国网络安全法

    • 日本IoT安全性和可靠性联盟(ISRA)指南

    • 新加坡IoT网络安全指南

合规性评估应考虑设备的目标市场和适用的法规要求。

6.3 行业特定标准

特定行业有自己的IoT安全标准和要求:

  1. 医疗行业

    • FDA医疗设备网络安全指南

    • IEC 80001:医疗IT网络风险管理

  2. 汽车行业

    • ISO 21434:道路车辆网络安全

    • AUTO-ISAC最佳实践

  3. 智能家居

    • OCF(开放连接基金会)安全规范

    • Matter安全规范

行业特定标准往往针对特定用例和风险,应作为评估的重要组成部分。

6.4 认证项目

多个认证项目提供了IoT设备安全评估和验证:

  1. Common Criteria:国际安全评估标准

  2. PSA Certified:物联网安全认证

  3. UL 2900:网络安全评估计划

  4. IoXt联盟认证:IoT安全认证

这些认证项目提供了结构化的评估方法和明确的安全要求,可作为评估的基础。

7. 安全与隐私评估实践建议

基于上述框架、方法和工具,本节提供实施IoT设备安全与隐私评估的实践建议。

7.1 评估准备与规划

有效的评估需要充分的准备和规划:

  1. 明确评估范围:确定评估的设备、组件和功能

  2. 定义评估目标:明确评估的目的和预期结果

  3. 选择适当的框架和方法:根据设备特性和风险选择评估框架

  4. 组建多学科团队:包括安全专家、开发人员和合规专家

  5. 准备测试环境:建立隔离的测试环境,避免影响生产系统

详细的评估计划是成功实施评估的基础。

7.2 系统化评估流程

系统化的评估流程应包括以下步骤:

  1. 信息收集:收集设备文档、架构图和技术规格

  2. 初步风险评估:识别关键风险领域和优先级

  3. 技术测试执行:根据评估计划执行测试

  4. 结果分析与验证:分析测试结果并验证发现

  5. 报告与建议:编写评估报告并提供改进建议

评估过程应遵循结构化方法,确保全面覆盖关键风险领域。

7.3 评估结果分析与报告

评估结果分析和报告应包括:

  1. 风险分类:根据严重性和影响对风险进行分类

  2. 根本原因分析:确定发现问题的根本原因

  3. 修复建议:提供具体、可行的修复建议

  4. 优先级排序:根据风险等级排列修复优先级

  5. 执行计划:制定实施修复的计划和时间表

全面、清晰的报告是有效沟通评估结果并推动改进的关键。

7.4 持续评估与改进

安全与隐私评估应是持续的过程:

  1. 定期重新评估:根据风险和变化频率定期重新评估

  2. 变更管理:在系统或环境发生重大变化时进行评估

  3. 威胁情报监控:持续监控新兴威胁和漏洞

  4. 持续改进流程:建立持续改进机制,将经验教训纳入实践

如Device Authority所指出,定期监控网络活动以便及早发现异常是IoT安全的关键实践。

8. 行业案例分析

本节将分析不同行业中IoT设备安全与隐私评估的实际案例,展示评估方法的应用和效果。

8.1 智能家居设备评估

智能家居设备面临的主要安全挑战包括:

  1. 消费者隐私风险:收集家庭环境和个人行为数据

  2. 网络安全风险:设备可能成为家庭网络的入口点

  3. 物理安全风险:设备可能控制门锁等安全相关功能

评估应关注:

  • 设备的网络隔离和保护

  • 身份验证机制的强度

  • 数据收集和处理的透明度

  • 安全更新机制的有效性

如NSF研究所开发的"IoT安全和隐私标签"所示,为智能家居设备提供清晰、一致的安全和隐私信息对用户至关重要。

8.2 工业IoT系统评估

工业IoT系统面临特殊的安全挑战:

  1. 操作技术安全性:设备可能控制关键工业流程

  2. 长期部署:工业设备通常具有较长的生命周期

  3. 遗留系统集成:需要与传统工业系统集成

评估应关注:

  • 网络分段和防火墙配置

  • 安全通信协议的实施

  • 认证和授权机制

  • 故障安全机制的有效性

8.3 医疗IoT设备评估

医疗IoT设备面临严格的安全要求:

  1. 患者安全风险:设备故障可能危及患者健康

  2. 受保护健康信息安全:设备可能处理敏感的健康数据

  3. 法规合规性:需要符合医疗设备安全和隐私法规

评估应关注:

  • 数据加密和保护机制

  • 身份验证和访问控制

  • 合规性验证

  • 事件响应和恢复能力

8.4 智能城市IoT部署评估

智能城市IoT部署面临复杂的安全挑战:

  1. 规模和多样性:大量不同类型的设备

  2. 公共基础设施风险:设备可能控制关键基础设施

  3. 公民隐私保护:收集城市环境和公民活动数据

评估应关注:

  • 系统架构和网络设计

  • 身份和访问管理

  • 数据治理和隐私保护

  • 事件监控和响应

9. 未来趋势与发展

IoT安全与隐私评估领域正在不断发展,本节将探讨新兴趋势和未来发展方向。

9.1 AI与自动化评估

人工智能和自动化正在改变IoT安全评估:

  1. 自动化漏洞检测:AI可以自动识别潜在漏洞和安全问题

  2. 智能威胁分析:AI可以分析设备行为并检测异常

  3. 自动化合规性检查:AI可以验证设备对标准和法规的遵守情况

  4. 预测性安全分析:AI可以预测潜在的安全风险和漏洞

OWASP的AI安全和隐私指南强调了AI系统的安全考虑因素,这些考虑因素在集成AI与IoT时变得尤为重要。

9.2 区块链与分布式账本技术

区块链可以增强IoT安全评估和实施:

  1. 设备身份管理:区块链可以提供安全的设备身份注册和管理

  2. 安全更新验证:区块链可以验证固件更新的完整性

  3. 访问控制与授权:区块链可以支持分布式访问控制

  4. 审计与合规性:区块链可以提供不可更改的审计记录

区块链技术可以提高IoT设备身份和数据的可信度,是评估和实施安全控制的有力工具。

9.3 量子安全挑战

量子计算对IoT安全构成长期挑战:

  1. 量子计算威胁:量子计算可能破解传统加密算法

  2. 后量子加密:需要抵抗量子计算的新型加密算法

  3. 量子安全评估:需要评估设备对量子威胁的抵抗能力

  4. 长期安全保障:考虑IoT设备的长期安全性

评估应考虑设备的长期安全性,特别是对于预期寿命较长的设备。

9.4 统一标准与框架

行业正朝着统一的IoT安全标准和框架发展:

  1. 国际标准协调:不同标准组织之间的协调与协作

  2. 跨行业框架:适用于多个行业的通用安全框架

  3. 安全评级系统:类似能源之星的IoT安全评级

  4. 全球合规框架:简化跨国境部署的合规性

NSF研究指出,政府机构如美国总统拜登政府推出的"美国网络信任标志"计划,旨在认证满足基线网络安全标准的IoT设备,推动了统一标准的发展。

10. 结论

随着IoT设备在个人、商业和工业环境中的广泛应用,安全与隐私评估变得日益重要。本文详细介绍了IoT设备安全与隐私评估的框架、方法、工具和最佳实践,旨在帮助安全专业人员、开发人员和组织提高IoT设备的安全性和隐私保护能力。

通过采用系统化的评估方法,组织可以:

  1. 识别和管理风险:早期发现并减轻安全和隐私风险

  2. 确保合规性:符合相关标准和法规要求

  3. 建立信任:增强用户对IoT设备安全性的信任

  4. 促进安全创新:在保障安全的前提下推动IoT创新

IoT安全与隐私评估不是一次性活动,而是持续的过程,需要随着技术、威胁和法规的发展而不断演进。通过将安全和隐私评估纳入IoT设备的整个生命周期,组织可以构建更安全、更可信的IoT生态系统,为用户提供真正的价值和保护。

正如伯克利大学的研究所指出,"政策制定者应该在大规模传感器数据收集变得无处不在之前,而不是之后,采取措施来规范IoT的隐私影响。"通过全面、系统的安全与隐私评估,我们可以确保IoT技术的发展与隐私保护和安全保障齐头并进,为用户和社会创造真正的价值。

相关文章:

Kaamel白皮书:IoT设备安全隐私评估实践

1. IoT安全与隐私领域的现状与挑战 随着物联网技术的快速发展,IoT设备在全球范围内呈现爆发式增长。然而,IoT设备带来便捷的同时,也引发了严峻的安全与隐私问题。根据NSF(美国国家科学基金会)的研究表明,I…...

uniapp跨平台开发---动态控制底部切换显示

业务需求 不同用户或者应用场景,底部tab展示不同的内容,针对活动用户额外增加底部tab选项 活动用户 非活动用户 实现思路 首先在tabbar list中增加中间活动tab的路径代码,设置visible:false,然后再根据条件信息控制活动tab是否展示 pages.json {"pagePath": "…...

django admin 去掉新增 删除

在Django Admin中,你可以通过自定义Admin类来自定义哪些按钮显示,哪些不显示。如果你想隐藏“新增”和“删除”按钮,可以通过重写change_list_template或使用ModelAdmin的has_add_permission和has_delete_permission属性来实现。 方法1&…...

final static 中是什么final static联合使用呢

final static 联合使用详解 final 和 static 在 Java 中经常一起使用,主要用来定义类级别的常量。这种组合具有两者的特性: 基本用法 public class Constants {// 典型的 final static 常量定义public static final double PI 3.141592653589793;pub…...

【项目管理】知识点复习

项目管理-相关文档,希望互相学习,共同进步 风123456789~-CSDN博客 (一)知识总览 项目管理知识域 知识点: (项目管理概论、立项管理、十大知识域、配置与变更管理、绩效域) 对应:第6章-第19章 第6章 项目管理概论 4分第13章 项目资源管理 3-4分第7章 项目…...

cocos creator使用jenkins打包流程,打包webmobile

windows电脑使用 如果你的电脑作为打包机,一定要锁定自己的ip,如果ip动态获取,可能后续会导致jenkins无法访问,还需要重新配置jenkins和http-server的端口 从jenkins官网下载windows版 Thank you for downloading Windows Stable installer 1.jenkins安…...

颠覆传统微商!开源AI智能名片链动2+1模式S2B2C商城小程序:重构社交电商的“降维打击”革命

摘要:传统微商模式长期依赖暴力刷屏、多层分销与价格战,导致用户信任崩塌、行业合规风险激增,近三年行业淘汰率高达67%。本文创新性提出“开源AI智能名片链动21模式S2B2C商城小程序”技术-商业融合架构,通过AI驱动的智能内容引擎、…...

pycharm无法创建venv虚拟环境

pycharm 2022.2.2在创建新project时&#xff0c;选择Virtualenv environment时&#xff0c;提示“无法创建虚拟环境”。 1.查看 PyCharm 日志 日志文件&#xff08;路径示例&#xff1a;C:\Users\<用户名>\AppData\Local\JetBrains\PyCharm2022.1\log\idea.log&#xff…...

nextjs整合快速整合市面上各种AI进行prompt连调测试

nextjs整合快速整合市面上各种AI进行prompt连调测试。这样写法只是我用来做测试。快速对比各种AI大模理效果. 这里参数通过APIPOST进来 import { OpenAIService } from ./openai.service; import { Controller, Post, Body, Param } from nestjs/common; import { jsonrepair …...

Greenbone(绿骨)开源GVM容器docker部署和汉化介绍

文章目录 Greenbone&#xff08;绿骨&#xff09;开源GVM容器docker部署和汉化介绍前言用容器部署GVM第一步&#xff1a;安装依赖项第二步&#xff1a;安装 Docker第三步&#xff1a;使用 docker-compose编排文件&#xff0c;完成GVM服务部署第四步&#xff1a;启动Greenbone社…...

PDF嵌入隐藏的文字

所需依赖 <dependency><groupId>com.itextpdf</groupId><artifactId>itext-core</artifactId><version>9.0.0</version><type>pom</type> </dependency>源码 /*** PDF工具*/ public class PdfUtils {/*** 在 PD…...

为什么从Word复制到PPT的格式总是乱掉?

从Word复制到PPT的格式总是乱掉&#xff0c;主要有以下原因&#xff1a; 格式兼容性问题 - 软件版本差异&#xff1a;不同版本的Office或WPS软件&#xff0c;对文档格式的支持和处理方式有所不同。如Office 2021中的新功能“动态网格对齐”&#xff0c;在粘贴到Office 2016的…...

五分钟讲清数据需求怎么梳理!

目录 一、为什么要进行数据需求梳理&#xff1f; 1.确保企业收集到真正有价值的数据 2.有助于提高数据分析的效率和质量 3.促进企业内部各部门之间的沟通与协作 二、数据需求怎么梳理&#xff1f; 1. 与业务部门深度沟通 2. 进行业务流程分析 3. 参考行业最佳实践 4. …...

03_多线程任务失败解决方案

文章目录 问题&#xff1a;多线程并发处理时,其中一个任务失败怎么办&#xff1f;1. 异常捕获2. 线程同步3. 资源清理4. 错误恢复5. 通知其他线程6. 使用并发框架 问题&#xff1a;多线程并发处理时,其中一个任务失败怎么办&#xff1f; 这是一个典型的并发编程问题&#xff0…...

MyBatis 类型处理器(TypeHandler)注册与映射机制:JsonListTypeHandler和JsonListTypeHandler注册时机

下面几种机制会让你的 List<String>/Map<String,?> 能正确读写成 JSON 数组&#xff0f;对象文本&#xff1a; MyBatis-Plus 自动注册 最新版本的 MyBatis-Plus starter 会把类路径下所有带 MappedTypes({List.class})、MappedJdbcTypes(JdbcType.VARCHAR) 这类注…...

Spark SQL开发实战:从IDEA环境搭建到UDF/UDAF自定义函数实现

利用IDEA开发Spark-SQL 1、创建子模块Spark-SQL&#xff0c;并添加依赖 <dependency> <groupId>org.apache.spark</groupId> <artifactId>spark-sql_2.12</artifactId> <version>3.0.0</version> </dependency> 3…...

神经网络笔记 - 神经网络

一.神经网络基础知识 1.神经网络解决了什么问题 将人类眼中的数据&#xff08;如图像、文本&#xff09;转换成计算机能理解的特征矩阵。适用于分类、回归等多种任务&#xff0c;本质上是进行特征提取与决策映射。 2.神经网络基本结构 输入层&#xff08;Input Layer&#x…...

C20-breakcontinue

一 break break的作用:用于跳出当前的循环 #include <stdio.h> int main() {//变量初始化int TallPeopleNumber;int TallMoney0;int SingelMoney;//循环体for(TallPeopleNumber1;TallPeopleNumber<1000;TallPeopleNumber){printf("请输入单笔捐款金额:\n")…...

关于IDEA的循环依赖问题

bug描述&#xff1a;&#xff08;java: 模块循环不支持注解处理。请确保将循环 [...] 中的所有模块排除在注解处理之外&#xff09; 解决方法&#xff1a;...

uniapp跳转和获取参数方式

1.小程序跳转 1.1 原生组件跳转 <navigator url"/pages/about/about?id10">跳转</navigator> 1.2 方法接口跳转 uni.navigateTo({url:/pages/about/about?id2}) 2.获取参数值 页面获取id值 onLoad(e) {console.log(e.id);}...

BP 算法探秘 :神经网络的幕后引擎

大家好&#xff0c;我是沛哥儿&#xff0c;很高兴又和大家见面了。 在人工智能的世界里&#xff0c;神经网络如同大脑一般神秘又强大&#xff0c;而其中 **BP 算法&#xff08;Backpropagation Algorithm&#xff09;**就是驱动这个 “大脑” 不断学习进化的幕后引擎。 文章目录…...

物联网相关

文章目录 1 MQTT2 MQTT FX3 EMQ X 1 MQTT MQTT是一种基于发布/订阅模式的轻量级物联网消息协议&#xff0c;全称为Message Queuing Telemetry Transport&#xff08;消息队列遥测传输&#xff09;。它具有低功耗、低带宽占用、可靠性高等特点&#xff0c;广泛应用于物联网设备…...

【Axure高保真原型】3级多选下拉列表

今天和大家分享3级多选下拉列表原型模板&#xff0c;这个模版是用中继器制作的&#xff0c;所以使用也很方便&#xff0c;选项的数据在中继器表格里维护即可自动生成交互效果&#xff0c;具体效果可以打开下方原型地址体验或者点击下方视频观看 【原型效果含使用说明】 【Axur…...

光敏材料与智能传感技术的能源系统创新研究

一、光敏储能体系的作用机理与技术创新 1.1 分子光能转换机制 基于分子构型变化的能量存储技术展现出独特优势&#xff0c;其核心机理涉及光敏材料在光照下的可逆分子构型变化。以偶氮苯体系为例&#xff0c;在365nm紫外光激发下&#xff0c;分子发生反式到顺式的异构转变&…...

Docker 安装 kafka (bitnami/kafka:4.0)

1、拉取镜像 docker pull bitnami/kafka:4.02、创建挂载目录 mkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/datamkdir -p /user/lzl/tool/docker/kafka/bitnami/bitnami_kafka_4.0/home/logs3、给挂载目录授权 chmod 777 /user/lzl/tool/docker/ka…...

NameSilo转入转出域名

一、总起 域名转入转出主要沟通方式就是靠注册邮箱收取转移授权码。 因为namesilo的界面一直在慢慢改动&#xff08;很慢很慢&#xff09;&#xff0c;所以本文和网上教程里的截图有所不同&#xff0c;以后本文可能也会与实际界面有所不同。 二、转入域名 1. 在其它域名服务商…...

Python----深度学习(基于DNN的吃鸡预测)

一、目标 如何使用 PyTorch 实现一个简单的深度神经网络&#xff08;DNN&#xff09;模型&#xff0c;并用于回归任务。该模型通过训练数据集来预测玩家在游戏中的最终排名百分比。代码通过读取数据集、数据处理、模型训练和模型评估等步骤。 二、数据集介绍 和平精英&#xf…...

DeepSeek系列(10):与其他AI工具协同

DeepSeek与绘图AI配合使用 在当今多元化的AI生态中,将不同专长的AI工具协同使用,能够实现远超单一工具的综合效果。DeepSeek作为强大的语言模型,与专业绘图AI的配合尤为默契,可以在创意构思与视觉呈现之间建立无缝桥梁。 创意-视觉协作流程 从文本到图像的完整路径 创意…...

Spark-Streaming核心编程:有状态转化操作与DStream输出

在Spark-Streaming的学习旅程中&#xff0c;有状态转化操作和DStream输出是两个关键知识点&#xff0c;今天就来深入聊聊它们。 先说说有状态转化操作&#xff0c;这里面 UpdateStateByKey 和 WindowOperations 很重要。 UpdateStateByKey 主要用于跨批次维护状态&#xff0c;就…...

Ldap高效数据同步- MirrorMode双主复制模式配置详解(上)

#作者&#xff1a;朱雷 文章目录 一、Syncrepl 复制和MirrorMode复制1.1. 什么是复制模式1.2. 什么是 syncrepl同步复制1.3. 什么是 MirrorMode 复制&#xff08;双主模式&#xff09;1.4. 双数据中心配置镜像模式架构 二、Ldap环境部署三、配置Mirror复制类型3.1. 配置节点1配…...

【刷题Day28】Python/JAVA - 02(浅)

Python 什么是 Python 的闭包&#xff1f; 闭包&#xff08;Closure&#xff09;是Python中的一种独特的函数机制。简而言之&#xff0c;闭包是指在一个内部函数中&#xff0c;引用了外部函数的变量&#xff0c;而这个外部函数已经执行完毕并返回了内部函数&#xff0c;然而内…...

纯净IP的优势:稳定性与安全性的结合

在跨境电商、数据采集、社交运营等对网络质量要求高的场景中&#xff0c;选择一个可靠的IP资源&#xff0c;是保护账号安全、提升业务效率的关键。纯净IP凭借其独特的稳定性与安全性&#xff0c;成为越来越多用户的选择。本文将带你深入了解纯净IP的价值&#xff0c;以及如何应…...

探索DeepWiki:GitHub源码阅读的变革性工具

DeepWiki 是什么 DeepWiki 是由 Cognition Labs 精心打造的一款创新工具&#xff0c;堪称 GitHub Repo 源代码的 “智慧解读器”&#xff0c;能将其转化为可对话式文档 &#xff0c;为开发者提供实时交流、即时更新文档的功能。它基于 Devin 技术&#xff0c;为每一个 GitHub …...

基于WebRTC技术,EasyRTC音视频实时通话助力全网会议的智能化转型

一、方案背景 随着数字化转型&#xff0c;企业、教育、政府等对全网会议需求激增。传统视频会议部署复杂、成本高、兼容性差&#xff0c;无法满足远程协作的多样化需求。EasyRTC实时通信功能强大&#xff0c;能为全网会议提供高效、稳定、易用的解决方案&#xff0c;支持多终端…...

设计模式全解析:23种经典设计模式及其应用

创建型模式 1. 单例模式&#xff08;Singleton Pattern&#xff09; 核心思想&#xff1a;确保一个类只有一个实例&#xff0c;并提供一个全局访问点。适用场景&#xff1a;需要共享资源的场景&#xff0c;如配置管理、日志记录等。 public class Singleton {// 静态变量保存…...

Web开发-JavaEE应用依赖项Log4j日志Shiro验证FastJson数据XStream格式

知识点&#xff1a; 1、安全开发-JavaEE-第三方依赖开发安全 2、安全开发-JavaEE-数据转换&FastJson&XStream 3、安全开发-JavaEE-Shiro身份验证&Log4j日志处理 一、演示案例-WEB开发-JavaEE-第三方依赖&FastJson&XStream FastJson 一个阿里巴巴开发的J…...

小集合 VS 大集合:MySQL 去重计数性能优化

小集合 VS 大集合&#xff1a;MySQL 去重计数性能优化 前言一、场景与问题 &#x1f50e;二、通俗执行流程对比三、MySQL 执行计划解析 &#x1f4ca;四、性能瓶颈深度剖析 &#x1f50d;五、终极优化方案 &#x1f3c6;六、总结 前言 &#x1f4c8; 测试结果&#xff1a; 在…...

什么是模块化区块链?Polkadot 架构解析

原文&#xff1a;https://polkadot.com/blog/understanding-modular-blockchains/ 作者&#xff1a;Joey Prebys 编译&#xff1a;OneBlock 区块链的构建方式有很多种&#xff0c;而不同的架构选择会直接影响性能、可扩展性和开发者体验。随着行业的发展&#xff0c;单体区块…...

C++翻转数相乘 2024年信息素养大赛复赛 C++小学/初中组 算法创意实践挑战赛 真题详细解析

目录 C++翻转数相乘 一、题目要求 1、编程实现 2、输入输出 二、算法分析 三、程序编写 四、运行结果 五、考点分析 六、 推荐资料 1、C++资料 2、Scratch资料 3、Python资料 C++翻转数相乘 2024年信息素养大赛 C++复赛真题 一、题目要求 1、编程实现 假设一个…...

Go 语言中的 `select` 语句详解

select 是 Go 语言中处理通道(Channel)操作的一个强大控制结构&#xff0c;它允许 goroutine 同时等待多个通道操作。下面我将全面详细地解释 select 语句的各个方面。 基本语法 select 语句的基本语法如下&#xff1a; select { case <-ch1:// 如果从 ch1 成功接收数据&…...

Nacos简介—4.Nacos架构和原理二

大纲 1.Nacos的定位和优势 2.Nacos的整体架构 3.Nacos的配置模型 4.Nacos内核设计之一致性协议 5.Nacos内核设计之自研Distro协议 6.Nacos内核设计之通信通道 7.Nacos内核设计之寻址机制 8.服务注册发现模块的注册中心的设计原理 9.服务注册发现模块的注册中心的服务数…...

Web服务器技术选型指南:主流方案、核心对比与策略选择

Web服务器技术选型指南&#xff1a;主流方案、核心对比与策略选择 一、主流Web服务器概览 在当今互联网架构中&#xff0c;Web服务器承担着处理HTTP请求、管理资源分配和保障服务稳定性的核心职责。根据应用场景和技术特性的不同&#xff0c;主流的Web服务器可分为以下五类&a…...

Git和Gitlab的部署和操作

一。GIT的基本操作 1.GIT的操作和查看内容 [rootmaster ~]# yum install git -y [rootmaster ~]# git config --list&#xff1a;查看所有配置 2.GIT仓库初始化 [rootmaster ~]# mkdir /gittest&#xff1a;创建目录 [rootmaster ~]# cd /gittest/&#xff1a;进入目录 [rootm…...

【Git】初始Git及入门命令行

目录 为什么学习 Git 这么重要&#xff1f; 1. 安装 Git 2. 配置 Git 3. 创建本地 Git 仓库 1. git初始化远程仓库&#xff1a; git init 2. 就是要新增两个必须要配置的选项&#xff1a; name 和 email 3. 查看当前本地仓库的配置情况&#xff1a; git config -l 4. 删…...

自然语言to SQL的评估

一、怎么进行一个自然语言to SQL评估&#xff1f; 1.DB——准备可用的数据表 2.准备问题集&#xff0c;自然语言|正确的预期SQL 3.大模型执行完成的SQL 4.Table.json——一个存储表格数据或者数据库表结构信息的 JSON 文件。当前是存储的表结构信息的&#xff0c;存储数据库…...

详解React Fiber架构中,reconcile阶段的具体工作流程

在 React Fiber 架构里&#xff0c;协调&#xff08;Reconcile&#xff09;阶段处于虚拟 DOM&#xff08;VDOM&#xff09;与实际 DOM 渲染之间&#xff0c;主要承担着把 VDOM 转化为 Fiber 节点树、开展 Diff 比较并标记节点变化的任务。下面详细阐述协调阶段的具体工作流程&a…...

迅雷精简绿色融合版【高速下载版】12.1.9.2870【11.2.2.1716】【20250426】

迅雷Thunder 11官方版会提示敏感需升级不能使用&#xff0c;本人制作的迅雷 12.1.9.2870【11.2.2.1716】精简绿色融合版是在11.2.2.1716版本的基础上制作的&#xff0c;实际版本号显示为12.1.9.2870&#xff0c;不是真正意义的迅雷12.1.9.2870精简绿色版&#xff0c;本实质上还…...

决策树相关案例

全流程 以下是一个更复杂、全流程的决策树和随机森林示例&#xff0c;不仅包括模型训练和预测&#xff0c;还涵盖了数据预处理、超参数调优以及模型评估的可视化。我们依旧使用鸢尾花数据集&#xff0c;并额外引入 GridSearchCV 进行超参数调优&#xff0c;使用 matplotlib 进…...

AI音频核爆!Kimi开源“六边形战士”Kimi-Audio,ChatGPT语音版?

音频处理领域的天花板被撕开了。 刚刚&#xff0c;kimi 发布全新通用音频基础模型 Kimi-Audio&#xff0c;这款由月之暗面&#xff08;Moonshot AI&#xff09;推出的开源模型&#xff0c;在 24 小时内收获 3.2 万星标&#xff0c;不仅以 1.28% 词错率刷新语音识别纪录&#xf…...

vscode vue 的插件点击组件不能跳转到文件问题解决

ctrl shift p 打开命令行&#xff0c;搜索 更改语言模式 选择第二项 选择 vue 现在可以了...