网络安全能力成熟度模型介绍
一、概述
经过多年网络安全工作,一直缺乏网络安全的整体视角,网络安全的全貌到底是什么,一直挺迷惑的。目前网络安全的分类和厂家非常多,而且每年还会冒出来不少新的产品。但这些产品感觉还是像盲人摸象,只看到网络安全的一个点,而不是一个整体。最近无意看到了网络安全能力成熟度模型(C2M2),有种相见恨晚的感觉。它是一套自成体系的模型,内容比较全面,更贴近企业落地。它的目的是帮助所有一定规模的组织评估和改进其网络安全,并加强其运营弹性。
二、模型介绍
网络安全能力成熟度模型(C2M2)由美国能源部(DOE)、电力部门协调委员会(ESCC)和石油和天然气部门协调委员会(ONG SCC)资助共同开发出版发行。它解决与信息技术(IT)和运营技术(OT)资产及其运营环境相关的网络安全实践的实施和管理问题。可以作为全面的企业网络安全建设的参考和补充。
C2M2 包括领域、目标、实践和 MIL(成熟度指标级别)。以下各节将讨论每个组件。
域:域是网络安全的一类主题。该模型有10个域,每个域都包含一组网络安全实践。每组实践都表示组织可以执行的活动,以域为单位建立成熟度模型。
目标:每个域内的实践被组织设定成目标,这些目标代表了可以通过在该领域实施实践来实现的网络安全成果。例如,风险管理领域包括五个目标:
-
建立和维护网络风险管理战略和计划
-
识别网络风险
-
分析网络风险
-
应对网络风险
-
经营活动
实践:实践是 C2M2 最基本的组成部分。每个实践都是一个简短的声明,描述了组织可能执行的网络安全活动。这些活动的目的是实现和维持与关键基础设施和组织目标的风险相符合的适当网络安全水平。每个域中的实践都按照成熟度等级进行排序和组织的。
该模型由 10 个域组成。每个域由多个目标组成,每个目标有多个实践组成。在每个目标中,实践按照成熟度指标级别排序。目前最新的是2.1版本,该2.1版本有356个实践。
成熟度指标级别(MIL):模型定义了四个成熟度级别(maturity indicator level,MIL),从 MIL0 到 MIL3,独立应用于模型中的各个领域。每个级别表示成熟度能力,MIL 定义了成熟度包括两方面:方法和管理。
以下的四个方面非常重要:
-
成熟度级别独立于每个域。因此,使用该模型的组织可能在不同的领域用不同的级别评级运行。
-
MIL在每个域内是累积的。要在实施指定的级别,组织必须执行该级别及其以下级别的所有实践。
-
为每个域建立目标级别是利用该模型指导网络安全方案改进的有效策略。
-
实践效果和级别目标需要与业务目标和组织网络安全战略计划相一致。所有公司都应该在全领域实现1级别。
三、资产
就C2M2模型而言,资产包括组织业务相关功能内的所有IT、OT和信息资产,包括业务和系统以及它们所运行的环境。可能还包括虚拟化资产、受监管资产、云资产和移动资产。可能包括由第三方管理的资产、软件服务、平台服务和基础设施服务,以及公共、私有或混合云资产。
IT资产:用于收集、处理、维护、使用、共享、分发或处置信息的独立信息资源。包括业务和系统以及它们所运行的环境§
OT资产:OT资产是指对于服务交付或生产活动所必需的资产。大多数现代控制系统包括传统上被称为IT的资产,例如使用标准操作系统、数据库服务器或域控制器的工作站,也包括工业控制系统,摄像头,门禁等。
信息资产:对组织有价值的任何知识描述,如业务数据,财务数据,合同,客户资料等。信息资产可以是任何媒体或形式,包括数字的或非数字的。
整个目标资产被分成三大类:
-
对功能的交付很重要的资产:保证业务功能正常运行必需的资产,当这些资产不可用时,可能导致业务无法正常使用或者影响业务使用。
-
容易受到威胁的资产:比如暴露在公网的资产,容易横向移动的资产,有可能提升管理权限的资产,保存重要信息的资产等。
-
其他所有资产:这些资产可能被认为对功能的交付不重要,也不太可能受到威胁的资产(例如,打印机、收音机、阅读器或电话)。
四、如何使用
C2M2是一个组织用于持续评估其网络安全能力的模型,下图总结了使用该模型的一种潜在方法。组织对模型进行自我评估,使用该自我评估来识别能力上的差距,对这些差距进行优先排序,并制定解决它们的计划,并最终实施解决差距的计划。随着计划的实施,业务目标不断变化,风险环境的演变,过程不断重复。
下面的部分将描述这种方法中的每个步骤。
步骤1:执行自我评估
自我评估提供了对组织内网络安全活动情况的度量。在开始准备工作前,组织首先确定模型应用程序的范围。接下来,组织确定对功能交付很重要的IT、OT和信息资产。组织应选择适当的人员,根据模型实践来评估。应确定一个熟悉模型内容的咨询人员,以指导自我评价。选择参与自我评估的人员应包括运营人员、管理人员和利益相关者,以及任何能够提供关于模型中组织网络安全实践有用的信息人员。通过最佳实践说明,确定了每个领域的实践水平。评估结果有四种:未实现、部分实现、大部分实现或完全实现。在完成自我评估后,将生成一个评分报告,提供总结及描述,以及完成的实现状态。必须注意的是,自我评价报告可能包括敏感信息,并应得到相应的保护。
步骤2:分析已识别的差距
来自自我评估的评分报告将确定模型实践和实际的差距。组织的第一个分析步骤是确定这些差距对组织是否有意义和重要。一个组织努力在所有领域中实现最高的等级通常不是最佳的。相反,组织应该确定每个领域的合理级别水平,以使其最能实现其业务目标和网络安全战略。对于首次使用该模型的组织,通常在初始自我评估后确定目标轮廓。在模型方面有更多经验的组织通常在进行自我评估之前确定目标概况。在目标概况的选择中应包括利益相关者的集合。然后,可以根据自我评估研讨会的结果来检查目标概况,以确定对组织很重要的实践要求的差距。
步骤3:确定优先级和计划
在差距分析完成后,组织应该优先考虑充分实施实践所需的行动,以便在特定领域实现所需的能力。优先级应该使用以下标准,如差距如何影响组织目标、该域支持的业务目标的重要性、实施必要实践的成本以及实施实践资源的可用性。对差距和活动进行成本效益分析确定优先顺序,接下来制定一个计划来解决选定的差距。规划应遵循标准的组织规划流程,并与组织和网络安全计划的战略目标保持一致。这些计划可以跨越数周、月或年,这取决于缩小所选差距和实现所需能力的改进程度。负责人应有足够的权力执行计划。组织领导层定期进行审查,以评估状况,清除障碍,纠正偏离目标的内容。
步骤4:实施计划,并定期重新评估
执行在上一步中制定的计划,以解决已确定的差距。模型自我评价在跟踪实施情况方面特别有用,应定期进行,以确保取得预期的进展。当业务、技术、市场或威胁环境中有重大变化后还应重新评估,以确保当前的配置符合组织的期望状态。
五、十大领域
下面介绍模型的十大领域。
1、资产、变更和配置管理(Asset)
目的:管理组织的IT和OT资产,包括硬件和软件,以及与关键基础设施和组织目标风险相关的信息资产。一个资产对一个组织来说是非常有价值的东西。就该模型而言,要考虑的资产是IT和OT的硬件和软件资产,以及操作该功能所必需的信息。
该领域包括五个目标:
1. 管理 IT 和 OT 资产库
2. 管理信息资产清单
3. 管理资产配置
4. 管理对资产的更改
5. 经营活动
资产清单是管理网络风险的一个重要内容。它记录了很多重要的信息,比如软件版本、物理位置、资产所有者和优先级等,它是许多其他网络安全管理活动的基础。例如,一个完善的资产库可以确定需要打补丁的软件的部署位置。
资产配置包括定义配置基线,并确保根据基线配置资产。管理基线可以确保用相同的方式配置类似的资产。对资产的变更管理包括分析配置变化,以确保它们不会在操作过程中引入不可接受的风险,确保所有更改都遵循变更管理流程,以及识别未经授权的更改。变更控制适用于整个资产生命周期,包括需求定义、测试、部署和维护,以及退出操作。
2、威胁和漏洞管理(THREAT)
目的:通过技术来检测、识别、分析、管理和应对网络安全威胁和漏洞,与组织的基础设施和组织目标的风险相匹配。网络安全威胁被定义为通过未经授权的访问、破坏、披露、修改信息或拒绝服务而可能对组织运营(包括任务、功能、图像或声誉)、资源、对其他组织或通信基础设施等产生不利影响的任何事件。网络安全漏洞是指IT、OT、通信系统或设备、程序或内部控制中可能被威胁利用的弱点或缺陷。
该模型包括三个目标:
1. 减少网络安全漏洞
2. 响应威胁并共享威胁信息
3. 经营活动
首先要从可靠的来源收集有用的威胁信息,并对具有影响服务的威胁作出反应。威胁概况包括威胁的可能意图、能力和目标的描述。威胁概况可用于指导威胁的识别、风险管理领域中描述的风险分析过程,以及在态势感知领域中描述的运营和网络状态的构建。
减少网络安全漏洞,从收集和分析漏洞开始。漏洞发现可以使用自动扫描工具来执行,网络渗透测试、网络安全演习和网络审计等。脆弱性分析应考虑漏洞的影响以及资产对功能交付的重要性。漏洞可以通过监控威胁状态、应用安全补丁、替换过时的设备或执行其他活动来解决。
3、风险管理(RISK)
目的:建立、运营和维护企业网络安全风险管理计划,以识别、分析和减轻组织(包括其业务部门、子公司、相关互连基础设施和利益相关者)的网络安全风险。网络风险被定义为由于未经授权访问、使用、披露、中断、修改或破坏信息、对组织运营(包括使命、职能、形象和声誉)、资源和其他组织构成的风险。网络风险是整体业务风险环境的一个组成部分,并纳入组织的企业风险管理战略和计划。网络风险无法完全消除,但可以通过明智的决策过程进行管理。
风险管理(RISK)领域包括五个目标:
1. 建立和维护网络风险管理战略和计划
2. 识别网络风险
3. 分析网络风险
4. 应对网络风险
5. 经营活动
管理网络风险涉及构建、识别和评估、响应(接受、避免、缓解、转移)和监控风险。通过定义风险标准,组织可以一致地响应和监控已识别的风险。网络风险管理策略是一种高级策略,为分析和确定网络风险的优先级提供方向,并定义风险容忍度。网络风险管理策略包括风险评估方法、风险监控策略和网络安全治理计划。包括定义企业风险标准(例如,影响阈值和风险响应方法),这些标准指导本模型后面的网络安全项目管理域中讨论的网络安全计划。网络风险管理策略应与企业风险管理策略保持一致,以确保以符合组织使命和业务目标的管理网络风险。
4、身份和访问管理 (ACCESS)
用途:对组织资产的逻辑或物理访问权限的实体创建和管理标识。控制对组织资产的访问,与关键基础设施和组织目标的风险相称。访问控制适用于对资产的逻辑访问、对与功能相关的网络资产的物理访问以及与功能相关的访问控制系统(逻辑或物理)。不当的访问管理实践可能导致未经授权的使用、披露、破坏或修改,以及不必要的网络安全风险暴露。
身份和访问管理 (ACCESS) 领域包括四个目标:
1. 建立和维护身份
2. 控制逻辑访问
3. 控制物理访问
4. 经营活动
建立和维护标识首先向实体预配和取消预配标识(在不再需要可用标识时删除可用标识)。实体可能包括个人(组织内部或外部)以及需要访问资产的设备、系统或流程。在某些情况下,组织可能需要使用共享标识。共享身份的管理可能需要采取额外补偿方案,以确保适当的安全级别。身份维护包括可跟踪性(确保所有已知身份都有效)以及取消预配。
控制逻辑和物理访问包括确定访问要求、根据这些要求授予对资产的访问权限,以及在不再需要时撤销访问权限。逻辑和物理访问要求与给定区域内的一个或多个资产相关联,并为允许访问资产的实体或个人类型、允许访问的限制以及逻辑访问的身份验证参数提供指导。例如,特定资产的逻辑访问要求可能仅允许供应商在指定和计划的维护间隔期间进行远程访问,并且可能还需要多重身份验证才能进行此类访问。基于物理访问要求的访问限制通过可见方式(例如标牌)进行认证。在较高的成熟度指标水平上,对所授予的访问权进行审查。只有在考虑功能风险后,才会授予逻辑和物理访问,并定期审查访问。
5、态势感知(SITUATION)
目的:建立和维护技术手段,以收集、分析、报警、呈现和使用网络安全信息,包括来自其他 C2M2 域的状态和摘要信息,以形成通用运营图景。态势感知涉及开发对动态操作环境的知识。在某种程度上,这是通过记录和监控对功能交付至关重要的IT、OT和通信基础设施资产来实现的。一旦组织建设了态势感知,它就可以使预定义的操作状态与操作环境中的变化保持一致。从一个预定义状态切换到另一个预定义状态的能力可以更快、更有效地响应网络安全事件或威胁环境的变化。
态势感知(SITUATION)领域包括四个目标:
1. 执行日志记录
2. 执行监控
3. 建立并保持态势感知
4. 经营活动
应根据资产对业务的潜在影响启用日志记录。例如,受损资产的潜在影响越大,组织收集的有关该资产的数据就越多。监控和分析日志中收集的数据以及通过其他方式收集的数据,使组织能够了解职能的运营和网络安全状态。有效地向相关决策者传达运营和网络安全状态是态势感知(有时称为通用运营图)的目标。
6、事件和事件响应,运营连续性(RESPONSE)
目的:系统或网络中的网络安全事件是与网络安全要求(资产的机密性、完整性或可用性)相关的任何可观察事件。网络安全事件是重大影响或可能显著影响关键基础设施或组织资产和服务的事件或一系列事件,并要求组织(可能还有其他利益相关者)以某种方式做出响应以防止或限制不利影响。
“事件和事件响应,运营连续性”领域包括五个目标:
1. 检测网络安全事件
2. 分析网络安全事件并声明事件
3. 应对网络安全事件
4. 解决运营连续性中的网络安全问题
5. 经营活动
检测网络安全事件包括指定一个平台来报告事件和建立事件优先级标准。这些标准应与风险管理领域指定的网络风险管理策略保持一致,确保对事件的一致理解,并提供一种方法来确定网络安全事件的构成,何时升级网络安全事件,以及发布网络安全事件的条件。
网络安全事件都应根据响应计划进行管理。网络安全事件和已宣布的事件可能会触发外部操作,包括向监管机构报告或通知客户。将多个网络安全事件以及其他记录关联起来可能会发现环境中的系统性问题。
响应网络安全事件要求组织有一个流程来限制网络安全事件对其职能和组织单位的影响。该过程应描述组织如何管理事件生命周期的所有阶段,例如会审、处理、通信、协调和关闭。
连续性规划涉及在发生中断(例如严重的网络安全事件或灾难)时维持功能的必要活动。确保连续性计划解决潜在的网络安全事件需要考虑已知的网络威胁和已确定的网络风险类别。
7、第三方风险管理 (THIRD-PARTIES)
目的:建立和维护控制措施,以管理与依赖于外部实体的服务和资产相关的网络安全风险,与关键基础设施和组织目标的风险相匹配。随着基础设施、运营合作伙伴、供应商、服务提供商和客户之间的相互依赖性增加,建立并保持对关键关系的全面了解并管理其相关的网络安全风险对于安全、可靠和弹性地交付至关重要。
此模型将外部依赖关系分类为供应商或客户。供应商依赖关系是功能交付所依赖的外部各方,包括运营合作伙伴。客户依赖关系是依赖于功能交付的外部各方,包括运营合作伙伴。
供应链风险是非常容易忽视的。如果没有适当的风险管理,它们将构成严重威胁,包括来源不明的软件和假冒(可能是恶意)硬件。组织的选型大多只关注功能要求,可能缺乏对安全和质量保证的要求。
第三方风险管理(第三方)领域包括三个目标:
1. 识别第三方并确定其优先级
2. 管理第三方风险
3. 经营活动
识别依赖关系涉及建立和维护对交付所需的关键外部依赖,管理依赖关系风险包括独立测试、代码审查、漏洞扫描以及审查供应商提供的可证明证据(表明已遵循安全的软件开发过程)等。对组织的产品或服务的合作伙伴或供应商的安全要求写入合同,以缓解网络安全风险。
8、劳动力管理(WORKFORCE )
目的:创建网络安全文化,并确保人员的持续适用性和能力,与关键基础设施和组织目标的风险相匹配。随着组织越来越多地采用先进的数字技术,提高现有员工的技能并雇用具有适当网络安全经验的人员是一项挑战。组织对数字通信和先进技术的依赖持续增长,劳动力问题是成功解决这些系统的网络安全和风险管理的关键方面。
劳动力管理(WORKFORCE )领域包括五个目标:
1. 分配网络安全责任
2. 培养网络安全劳动力
3. 实施劳动力控制
4. 提高网络安全意识
5. 经营活动
为关键网络安全角色(如系统管理员)制定计划至关重要,以提供适当的培训、测试、冗余和绩效评估。网络安全责任不仅限于传统的IT角色也包括别的角色;例如,一些运营工程师可能负有网络安全责任。
发展网络安全劳动力包括培训和招聘,以解决已确定的技能差距。例如,招聘实践应确保招聘人员和面试官了解网络安全劳动力的需求。此外,人员(和承包商)应定期接受安全意识培训,以减少他们对社会工程和其他的威胁。应评估培训和提高认识活动的有效性,并应根据需要进行改进。
实施劳动力控制包括人员审查,例如背景调查,并对有权访问提供基本服务所需资产的职位进行额外审查。例如,系统管理员通常能够更改关键系统上的配置设置、修改或删除日志文件、创建新帐户以及更改密码,并采取特定措施来保护这些系统免受此类人员的意外或恶意行为。
提高员工的网络安全意识与改善组织网络安全的技术方法一样重要。网络攻击对组织的威胁通常在公司的IT或OT系统中进行突破,例如,通过获得粗心的员工或承包商的信任,然后将设备或者木马引入组织的网络。组织应与其员工提供知识库,比如识别可疑行为、避免垃圾邮件和鱼叉式网络钓鱼以及识别社会工程学攻击的方法和技术的信息,以避免向潜在对手提供有关组织的信息。例如,内部网站可以提供有关行业中新威胁和漏洞的信息。
9、网络安全架构(ARCHITECTURE)
目的:建立网络安全架构涉及识别组织的关键资产并设计一组适当的控制措施来保护它们。这些控制的有效性是通过它们单独和集体实现该功能的网络安全目标的程度来衡量的。通过网络安全架构来实现网络安全目标。
网络安全架构(ARCHITECTURE)领域包括六个目标:
1. 建立和维护网络安全架构战略和计划
2. 将网络保护作为网络安全架构的一个要素实施
3. 将 IT 和 OT 资产安全作为网络安全架构的一个要素实施
4. 将应用程序安全性作为网络安全架构的一个要素实施
5. 将数据安全作为网络安全架构的一个要素实施
6. 管理活动
网络安全架构为如何以超越单个资产(如身份管理或访问控制)的单点解决方案的方式为企业提供了一个总体计划。它能够根据已知的体系结构策略对关键应用程序和数据的安全性进行处理,例如,检测、抵抗、响应攻击和从攻击中恢复。
这些策略包括分区域、密码控制、监控和冗余。此外,由于网络安全架构是一种前瞻性的规划,因此不仅应考虑当前的技术趋势,还应考虑潜在的未来发展,例如量子计算及其可能对现有加密系统构成的相关风险。为了使网络安全架构有效,在考虑对组织、IT 系统或 OT 系统进行更改时,必须将负责它的人员纳入规划和决策过程。
10、网络安全项目管理(PROGRAM)
目的:建立和维护企业网络安全计划,该计划为组织的网络安全活动提供治理、战略规划和赞助,使网络安全目标与组织的战略目标和关键基础设施的风险保持一致。网络安全计划是一组集成的活动,旨在实现组织和职能部门的网络安全目标。网络安全计划可以在组织或业务级别上实施,但更高级别的实施和大多数观点是可以通过整合活动并利用整个企业的资源整合使组织受益。
网络安全项目管理(PROGRAM)领域包括三个目标:
1. 制定网络安全计划战略
2. 赞助网络安全计划
3. 经营活动
在最简单的形式中,计划战略应包括网络安全目标列表和实现这些目标的计划。在更高的成熟度下,计划战略将更加完整,包括优先事项、治理方法、计划的结构和组织,以及高级管理层更多地参与计划的设计。制定计划需要公司领导及其相关负责人的支持。
C2M2模型内容很丰富,牵扯到的面很多,在实施的过程中不能一蹴而就,需要根据公司情况逐步来开展,也可也作为现有安全建设的参考和查漏补缺。后续有对此模型有兴趣的人可以共同讨论。
相关文章:

网络安全能力成熟度模型介绍
一、概述 经过多年网络安全工作,一直缺乏网络安全的整体视角,网络安全的全貌到底是什么,一直挺迷惑的。目前网络安全的分类和厂家非常多,而且每年还会冒出来不少新的产品。但这些产品感觉还是像盲人摸象,只看到网络安…...
python爬虫试手
同事让帮忙在某个网站爬点数据,首次尝试爬虫,遇到的问题及解决思路记录下。 大体需求是需要爬取详情页内的信息,详情页有一定格式规律,但是详情页需要从列表页跳入,列表页中的每一条记录需要鼠标悬停才会弹出跳转链接…...

pandas 笔记:pivot_table 数据透视表
1 基本使用方法 pandas.pivot_table(data, valuesNone, indexNone, columnsNone, aggfuncmean, fill_valueNone, marginsFalse, dropnaTrue, margins_nameAll, observedFalse, sortTrue)2 主要参数 dataDataFramevalues要进行聚合的列index在数据透视表索引(index…...

C#(六十)之Convert类 和 Parse方法的区别
Convert数据类型转换类,从接触C#开始,就一直在用,这篇日志坐下深入的了解。 Convert类常用的类型转换方法 方法 说明 Convert.ToInt32() 转换为整型(int) Convert.ToChar() 转换为字符型(char) Convert.ToString() 转换为字符串型(st…...

暑期代码每日一练Day3:874. 模拟行走机器人
题目 874. 模拟行走机器人 分析 这道题就是个简单的模拟 主要有两点考察点: 对方向数组的运用 方向数组存储的是各个方向的单位向量,也即: 方向XY向北01向东10向南0-1向西-10 存储在数组中,则是方向数组: in…...
肖sir___环境相关的面试题
环境相关面试题 1、请简述多有米环境的搭建、用到了哪些工具和流程介绍? jdk、服务器、代码包、数据库 2、查看当前端口被哪个应用程序占用了? netstat -ntlp |grep 端口号 lsof -i :端口号 ps -ef|grep 端口号 3、Tomcat和Nginx的区别,ngi…...
代理IP、Socks5代理和SK5代理的前沿技术与未来发展趋势
代理IP的前沿技术应用 人工智能与智能代理:结合人工智能技术,代理IP可以更加智能地处理网络请求和数据流,提高代理效率和准确性。区块链与去中心化代理:通过区块链技术,代理IP可以实现去中心化管理和身份验证…...

VM(CentOS7安装和Linux连接工具以及换源)
目录 一、Linux意义 二、安装VMWare 三、centos7安装 1、正式安装CentOS7: 2、安装不了的解决方案 2.1常见问题——虚拟机开机就黑屏的完美解决办法 3、查看、设置IP地址 ① 查看ip地址:ip addr 或者 ifconfig, 注意与windows环境的区别…...
阿里云斩获 4 项年度云原生优秀案例丨阿里云云原生 6 月动态
云原生月度动态 ✦ CLOUD NATIVE 云原生是企业数字创新的最短路径。 《阿里云云原生每月动态》,从趋势热点、产品新功能、服务客户、开源与开发者动态等方面,为企业提供数字化的路径与指南。 本栏目每月更新。 01 趋势热点 🥇 阿里云 S…...
dede图片集上传图片时出错显示FILEID的解决办法
如果遇到过这问题的,就可以照此方法尝试了。 某日,某使用deecms v5.5的网站在后台上传图片时出现如下错误: 作为web生手的我很是迷茫。印象里之前并没有做什么改动,于是百思不得其解。Google、百度、DeDe官网搜索了一大圈…...
【亲测有效】 通过mysql指令 导出数据库中表名 和 表名的备注
标题你可以使用以下MySQL指令来导出数据库中表名和表名的备注: SELECT table_name, table_comment FROM information_schema.tables WHERE table_schema 你的数据库名;将上述指令中的"你的数据库名"替换为你实际使用的数据库名称,执行该指…...
【Nginx08】Nginx学习:HTTP核心模块(五)长连接与连接处理
Nginx学习:HTTP核心模块(五)长连接与连接处理 HTTP 基础知识大家掌握的怎么样呀?对于长连接这一块的内容应该也不是什么新鲜东西了吧。毕竟 HTTP1.1 都已经发布这么久了。今天主要来看的就是长连接相关的配置,另外还会…...

第八十五天学习记录:C++核心:内存分区模型
内存分区模型 C程序在执行时,将内存大方向划分为4个区域 1、代码区:存放函数体的二进制代码,由操作系统进行管理 2、全局区:存放全局变量和静态变量以及常量 3、栈区:由编译器自动分配释放,存放函数的参数…...
Chrome远程调试webview
网址 谷歌远程调试解决方案 https://blog.csdn.net/m0_56516186/article/details/131260563Chrome远程调试webview https://blog.csdn.net/weixin_44801980/article/details/117755550...

爬虫与反爬虫的攻防对抗
一、爬虫的简介 1 概念 爬虫最早源于搜索引擎,它是一种按照一定的规则,自动从互联网上抓取信息的程序,又被称为爬虫,网络机器人等。按爬虫功能可以分为网络爬虫和接口爬虫,按授权情况可以分为合法爬虫和恶意爬虫。恶…...
【机器学习】特征工程 - 字典特征提取
「作者主页」:士别三日wyx 「作者简介」:CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 「推荐专栏」:对网络安全感兴趣的小伙伴可以关注专栏《网络安全入门到精通》 字典特征提取 一、特征提取API一、提取数字特征二、特征名字三、返回原始数据特征工…...
用户交互----进入游戏
一、增加交互----点击和拖动 1、点击鼠标画点的程序 设置 import pygame # Setup pygame.init() screen pygame.display.set_mode([800,600]) pygame.display.set_caption("单击画圆点") keep_going True RED (255,0,0) …...

排序算法 - 快速排序(4种方法实现)
快速排序 快速排序是啥?三数取中:1.挖坑法(推荐掌握)2.前后指针法(推荐掌握)3.左右指针法(霍尔版本)(容易出错)4.非递归实现 本篇文章的源代码在这࿰…...

C++入门知识点
目录 命名空间 命名空间定义 命名空间使用 法一:加命名空间名称及作用域限定符:: 法二:使用using部分展开(授权)某个命名空间中的成员 法三:使用using对整个命名空间全部展开(授权…...

开眼界了,AI绘画商业化最强玩家是“淘宝商家”
图片来源:由无界AI生成 7月,2023世界人工智能大会在上海召开,顶尖的投资人、创业者都去了。 创业者吐槽:投我啊,我很强。 投资人反问:你的商业模式是什么?护城河是什么? 创业者投资人…...

定时器任务——若依源码分析
分析util包下面的工具类schedule utils: ScheduleUtils 是若依中用于与 Quartz 框架交互的工具类,封装了定时任务的 创建、更新、暂停、删除等核心逻辑。 createScheduleJob createScheduleJob 用于将任务注册到 Quartz,先构建任务的 JobD…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
【学习笔记】深入理解Java虚拟机学习笔记——第4章 虚拟机性能监控,故障处理工具
第2章 虚拟机性能监控,故障处理工具 4.1 概述 略 4.2 基础故障处理工具 4.2.1 jps:虚拟机进程状况工具 命令:jps [options] [hostid] 功能:本地虚拟机进程显示进程ID(与ps相同),可同时显示主类&#x…...

使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台
🎯 使用 Streamlit 构建支持主流大模型与 Ollama 的轻量级统一平台 📌 项目背景 随着大语言模型(LLM)的广泛应用,开发者常面临多个挑战: 各大模型(OpenAI、Claude、Gemini、Ollama)接口风格不统一;缺乏一个统一平台进行模型调用与测试;本地模型 Ollama 的集成与前…...
Leetcode33( 搜索旋转排序数组)
题目表述 整数数组 nums 按升序排列,数组中的值 互不相同 。 在传递给函数之前,nums 在预先未知的某个下标 k(0 < k < nums.length)上进行了 旋转,使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...
验证redis数据结构
一、功能验证 1.验证redis的数据结构(如字符串、列表、哈希、集合、有序集合等)是否按照预期工作。 2、常见的数据结构验证方法: ①字符串(string) 测试基本操作 set、get、incr、decr 验证字符串的长度和内容是否正…...

RKNN开发环境搭建2-RKNN Model Zoo 环境搭建
目录 1.简介2.环境搭建2.1 启动 docker 环境2.2 安装依赖工具2.3 下载 RKNN Model Zoo2.4 RKNN模型转化2.5编译C++1.简介 RKNN Model Zoo基于 RKNPU SDK 工具链开发, 提供了目前主流算法的部署例程. 例程包含导出RKNN模型, 使用 Python API, CAPI 推理 RKNN 模型的流程. 本…...
mcts蒙特卡洛模拟树思想
您这个观察非常敏锐,而且在很大程度上是正确的!您已经洞察到了MCTS算法在不同阶段的两种不同行为模式。我们来把这个关系理得更清楚一些,您的理解其实离真相只有一步之遥。 您说的“select是在二次选择的时候起作用”,这个观察非…...

Excel 怎么让透视表以正常Excel表格形式显示
目录 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总 1、创建数据透视表 2、设计 》报表布局 》以表格形式显示 3、设计 》分类汇总 》不显示分类汇总...

PySide6 GUI 学习笔记——常用类及控件使用方法(多行文本控件QTextEdit)
文章目录 PySide6.QtWidgets.QTextEdit 应用举例概述核心特性常用方法文本内容操作光标和选择操作格式和样式查找功能视图控制状态设置常用信号 代码示例示例说明1. 基本设置2. 文本格式化功能3. 功能按钮4. 信号处理 PySide6.QtWidgets.QTextEdit 应用举例 概述 QTextEdit 是…...