以ATTCK为例构建网络安全知识图

news2024/12/23 4:57:13

ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一个攻击行为知识库和模型,主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。本文简单介绍ATT&CK相关的背景概念,并探讨通过ATT&CK构建知识图的思考。

前言

随着攻击工具、方法的逐渐升级和复杂化,安全数据的大规模融合,攻防对抗愈加激烈。安全团队如何在浩瀚数据中有效发现高级威胁的蛛丝马迹,如何把网络安全专家的经验、知识有效转化为可复制可扩展的数据分析能力,如何将对抗高级威胁的“炼金术”逐步升级为科学淘金指南,如何将安全从业者从繁重的体力劳动中解放出来,愈发成为安全能力亟需突破的难点和重点,也是我们正在探索的方向。

正如医疗行业中治疗疑难杂症依赖医疗专家,网络空间高级威胁的防护和处置也依赖安全专家的经验与知识。不过,即使是最顶尖的外科医生,也离不开高度自动化、精准化的医疗设备辅助其完成复杂高难度的医疗任务,网络空间亦需要自动化平台与工具辅助从业者进行持续的攻防对抗。

“针对网络空间智能威胁分析技术的研究,目的不是设计一个如何炫目的概念,也难以实现一个放之四海皆可用的AI安全模型。回归到攻防的战场上,我们希望也能够得到的,是一个能吞吐海量异构多源数据,快速检测、推理、响应、追踪威胁事件的高度自动化的统一平台及工具集,辅助人进行安全的运营、研究和对抗。”在《智能威胁分析之图数据构建》文中,基于对网络安全数据分析中常用数据源的重新审视,提出了构建智能安全平台的图模型所需的环境、行为、情报、知识四张关键数据图,以支撑“智能化”安全研究工作的进一步开展。构建自动化的威胁分析能力,需要对网络安全大规模、多源、多维数据进行系统的梳理和组织,以实现基于各类型数据的关联挖掘能力。图的组织形式能够充分发挥网络数据的图属性,从存储、分析、可视化等多个环节提升安全数据分析的效率。

在环境、行为、情报、知识四张图中,知识图具有可归纳、可推理、可建模的属性,通过知识图内部的关联和与其他类型的图间关联,能够有效拓展威胁事件分析的上下文,支持威胁的检测、响应、溯源等复杂任务。ATT&CK(Adversarial Tactics, Techniques, and Common Knowledge )是一个攻击行为知识库和模型,主要应用于评估攻防能力覆盖、APT情报分析、威胁狩猎及攻击模拟等领域。本文简单介绍ATT&CK相关的背景概念,并探讨通过ATT&CK构建知识图的思考。

一、 ATT&CK相关背景

经过数年的知识积累,ATT&CK已经从针对企业内网的、Windows平台的、终端侧的、post-compromise行为分析模型,拓展为多场景(企业内网、移动环境等)、多平台(Windows、Linux、macOS等)、针对多源数据(终端、网络、文件等)、攻击链全生命周期的行为分析模型。兼具丰富的实战效用和可拓展的顶层模型设计,ATT&CK越发得到安全业界的重点关注。关于ATT&CK的介绍已有很多,在此,我们从多个关键词的角度来分析简单分析其特性。

1.    MITRE

MITRE是美国的一家非盈利组织,在美国国防部、国土安全部等政府组织的支持下,运营了多个技术研究中心,涉及网络安全等多方面国防高科技领域。MITRE发起或者运营了多个网络安全领域的标准如STIX/TAXII 1.0(STIX/TAXII 2.0目前已由OASIS运营),知识库如CAPEC,MAEC,CWE,CVE,ATT&CK等,针对网络安全领域的威胁建模、攻击分类、威胁情报等多方面研究构建了一个较为完整的安全生态。

2.    APT

APT(Advanced Persistent Threat,高级持续性威胁)逐渐成为安全行业谈论的热门话题,而ATT&CK正诞生于对已知APT组织的分析过程中:ATT&CK发起自MITRE的FMX(Fort Meade eXperiment)实验环境,旨在通过攻防对抗数据的采集和分析,提升对APT检测能力。ATT&CK归类的攻击技术大部分源于公开的APT组织活动,其主要的信息来源包括:

  • 威胁情报报告
  • 会议报告、研讨会、社交媒体、博客、开源代码库、恶意软件样本等

可以说,ATT&CK知识库的数据基础决定了其具有更贴近真实攻击者行为的实战效果,同时对APT攻击组织的分析和相关威胁情报的关联有得天独厚的优势。MITRE目前已发起的两轮基于ATT&CK的厂商能力评估中,也是以已知APT(APT3和APT29)作为攻击模拟的范本。

3.    威胁建模和知识库

威胁建模是网络安全威胁分析的一个重要环节,ATT&CK的概念抽象层次,是其区分与其他威胁模型、威胁知识库的关键。MITRE公司对威胁模型和威胁知识库的概念抽象层次进行了粗粒度的划分,如下所示。划分到不同层次的模型、概念没有优劣之分。区别在于不同的抽象层次决定了模型的表达能力和能够覆盖的概念的粒度。较高层抽象可谓高屋建瓴,从宏观的角度给威胁事件定性、给风险评级。较底层的概念更贴近细节,能够给威胁威胁事件更确切实际的解释、指导和评估。

图1 知识模型抽象分层[3]

ATT&CK被划分为中层次模型,相对的,Cyber Kill Chain和STRIDE威胁模型可以划分为高层次模型,可以用来表达和理解高层次的攻击者目标和防护系统风险。这些高层模型抽象层次高,自然难以表达具体的攻击行为和攻击行为关联的具体的数据、防护措施、配置资源等。例如,我们可将某一IOC或攻击行为对应到攻击链的“C&C”阶段,这提醒防御方需要采取必要的措施了,但采取怎样的措施,攻击链模型是难以表达的。而在ATT&CK中,该IOC可能对应到战术 “Command and Control”,同时采用的是“Multi-hop Proxy”的技术手段以达成战术目标,至此,我们可以进一步获取针对该技术手段的一些通用的防护措施。当然,中层次的ATT&CK所描述的仍然是TTP的抽象,具体到实例化的行为描述,仍然需要细粒度的划分。

漏洞库及漏洞利用模型划分为低层次概念。我们可以认为CAPEC、CWE属于这个抽象层次。CAPEC(Common Attack Pattern Enumeration and Classification)关注的是攻击者对网络空间脆弱性的利用,其核心概念是攻击模式Attack Pattern。从攻击机制的角度,CAPEC通过多个抽象层次对攻击进行分类和枚举。其目标是全面的归类针对已知的应用程序脆弱性的攻击行为。相对而言,ATT&CK的目标不是对不同攻击战术目标下技术的穷尽枚举,而是通过APT等攻击组织的可观测数据提取共性的战术意图和技术模式。战术意图是CAPEC枚举库难以表达的。从攻击检测的角度来看,只有明确攻击技术的战术意图,才能进一步推测攻击的关联上下文信息,以支持攻击威胁的评估和响应。此外,通过提供攻击组织(group)和软件(software)信息,ATT&CK还能够串联起威胁情报和事件检测数据,打通对威胁事件的理解链路。

4.    STIX 2.0

Structured Threat Information Expression (STIX)是MITRE发起的威胁情报交换语言和标准。Trusted Automated Exchange of Intelligence Information (TAXII) 则是用于威胁情报安全传输的应用层协议。STIX 2.0目前已转交OASIS的网络威胁情报技术委员会(CTI TC)维护。为了促进威胁情报的共享,STIX 2.0设计了12种域对象(SDOs,STIX Domain Objects)和两类关系对象(SROs,STIX Relationship Objects)。12种SDO如下所示。

图2 STIX 2.0对象[5]

为什么说STIX 2.0是ATT&CK的一个关键词呢?首先,ATT&CK本身就是建立在威胁情报的验证与抽象之上,在威胁检测应用中,能够自然打通外部威胁情报与内部的行为分析与检测结果,实现检测告警的上下文扩充。其次,将ATT&CK作为知识库构建知识图,需要通过本体库(实体种类、实体关系、实体属性、关系属性等)的设计,实现兼容性和拓展性。例如,与CAPEC、CWE、CVE等分类模型和枚举库的兼容。STIX 2.0提供了描述网络空间威胁情报的对象构成方案,也同样对安全知识库的本体设计有参考价值。当然,STIX 2.0的对象构成可能难以适应不同的应用场景中实体的描述粒度,不过以其当前的使用范围和接纳程度来看,定制化的知识图架构也最好能够兼容该方案。

图3 ATT&CK与STIX 2.0映射

上图展示了ATT&CK Tactic(战术)、Technique(技术)、Group(组织)及Software(软件)所覆盖的STIX 2.0对象。与STIX 2.0的对应能帮助我们更好的理解ATT&CK对象的内涵,例如Group对应的是Intrusion Set这个对象。

  • ATT&CK Technique -> STIX Attack-Pattern
  • ATT&CK Tactic -> STIX Attack-Pattern.Kill-Chain-Phase, STIX Tool.Kill-Chain-Phase, STIX Malware.Kill-Chain-Phase
  • ATT&CK Group -> STIX Intrusion-Set
  • ATT&CK Software -> STIX Malware (OR) STIX Tool
  • ATT&CK Mitigation -> STIX Course-of-Action

目前ATT&CK知识库已可以通过STIX 2.0进行完整的表达。具体的内容可以查阅MITRE官方Github的cti项目[6]。

二、 安全知识图构建思考

通过图模型组织安全大数据,能够充分发挥网络数据的“图基因”,提升多源、异构安全数据分析的效率,例如能够大幅缩短多跳关联数据检索的时间,能够根据新的关键“链接”构建新的知识链条等等。通过威胁模型和安全知识库,构建网络安全知识图,能够在网络环境图、行为图、情报图之外,提供可推理、可拓展、可关联的威胁上下文,促进数据细节的多跳关联,支持威胁事件的检测、响应、溯源等任务。

图4 行为图与ATT&CK知识图的关联

上图是一个图数据构建实例化的简单示例。ATT&CK作为知识库内容以及威胁建模的框架,能够在一些核心节点上,将告警数据、漏洞扫描数据及威胁情报数据进行碰撞融合。大规模的数据所能够组成的数据将是一个复杂的网络结构,能够提供数据的多跳检索分析的数据基础,能够通过图算法模型进行综合的评估。

当然,实际环境下所构建的数据结构及关联远比上图复杂。环境、行为、情报、知识图的关联需要对各个图结构进行系统性的设计。以下讨论基于ATT&CK的内容构建知识图的几个关键问题思考。

1.    本体库设计

图结构设计的一个关键任务,就是设计合理的本体库。本体包括了图中实体(节点)类型、实体的属性类型以及实体间的关系类型,即表示图结构的抽象概念结构“类”。本体库的构建既要讲科学也要讲艺术。讲科学是指需要遵循一定的规范标准,同时契合适当的威胁模型和描述模型;讲艺术则指的是概念的抽取很多时候是一个仁者见仁,智者见智的过程,并且要符合特定应用场景下的指定需求。

ATT&CK知识库提供了四个核心的实体(战术, 技术, 软件, 组织)及其之间的关系;CAPEC则主要覆盖TTP、防护手段、脆弱性等概念;如果直接参照STIX 2.0,则需要覆盖十余种对象。攻防模拟、威胁狩猎、合规检查、风险评估、检测响应、APT演练分析等等不同的业务场景,ATT&CK本身所提供的概念类型是不可能完全覆盖的。因此,ATT&CK在知识图构建中可作为威胁检测行为模型的知识源和建模方法,而不是一个完备的网络安全知识图。构建可用、可拓展的知识图,在顶层本体结构系统设计的基础上,一方面需要整合吸收所需的公开知识库,另一方面,需要通过知识图谱的手段主动进行知识拓展和延伸。

2.    知识库的关联

以MITRE生态下多个知识库为例,包括CAPEC、CWE、ATT&CK等,有密切的联系,同时有不同的应用场景。CAPEC针对基于应用脆弱性的攻击,通过攻击模式的抽象和分类,构造了攻击行为的可查询词典[7]。CAPEC和ATT&CK是两种不同的攻击建模方式, ATT&CK更贴近威胁检测的实战。在下图中,我们通过STIX 2.0架构对比一下两者所处的位置。可以看出两大知识库在概念的表达上有交叉,又各具特点。

图5 ATT&CK、CAPEC、CWE与STIX 2.0映射对比

下图展示了ATT&CK与CAPEC攻击模式分类的关联关系。其中ATT&CK以战术目标为列组织成矩阵结构,CAPEC通过攻击模式的抽象组织成树形结构。以Discovery战术下的System Owner/User Discovery技术为例,与该技术关联的CAPEC攻击模式为Owner Footprinting,同时该攻击模式关联的CWE为Information Exposure。

图6 ATT&CK与CAPEC的映射关系例子

威胁检测的实践不断证明基于行为的检测更能够适应动态环境下的高级威胁分析,不过,特征+行为的组合检测能力,是当前威胁检测效率提升的关键。从知识库构建的角度讲,CAPEC+CWE和ATT&CK都是不可或缺的。MITRE生态的持续完善能够充分降低各个知识库之间建立关联的难度,例如,CAPEC和ATT&CK目前都能够纳入STIX 2.0的表达体系;同时,两大知识库之间也已建立了知识的关联引用,当前ATT&CK Enterprise对应的244个Attack Pattern中与CAPEC关联的有44个。

图7 MITRE针对金融服务机构的威胁事件模型[8]

在威胁建模和知识库积累方面,无论是基于已有的知识库还是通过知识图谱算法抽取知识,构建知识图,一方面需要兼容已有的标准和架构,另一方面,也需要根据实际的应用场景选定合适的知识范围。MITRE于2018年提出过一个针对金融服务机构的增强威胁模型[8]。该模型虽然采用了较老版本的ATT&CK和CAPEC知识库,但也为我们展示了两个模型知识库联合使用枚举攻击能力的案例。在这里我们简单看一下该拓展模型的事件归类方式。从上述表格的最后一列可以看到,该模型以CAL (Cyber Attack Lifecycle) 模型(与Kill Chain模型一致)为基础,把ATT&CK和CAPEC统一纳入到事件模型中,将Exploit阶段及其前后阶段进行了细粒度的扩充。具体设计细节可以参考相关文章。

3.    威胁模型升级

不同威胁检测方案、设备提供商对威胁事件的理解层次和粒度不一样,输出的事件日志也难以打通。ATT&CK的出现,为促进统一的知识抽象带来曙光,为提供商自身能力的验证、不同提供商之间检测能力的横向对比、技术能力的共享提供了全新的视角。在此,我们重点关注的是使用ATT&CK作为知识图,增强数据关联、提升威胁行为检测能力的应用场景。

无论是基于静态特征特征还是基于机器学习的异常行为检测,各个威胁检测能力提供商往往有自成体系的威胁分析模型和事件命名体系。除非企业方案设计之初即采用了最新的威胁模型,本地化的检测能力要想和ATT&CK等知识库进行关联,需要合理的映射机制。很多企业已将Kill Chain攻击链模型作为威胁建模的基础,因此转向全新威胁模型体系的过程必然会给整个企业的威胁检测架构带来一定的冲击。威胁模型的升级对相对成熟的安全能力提供商更不友好,因为这些企业往往已具备大规模的IOC库、异常行为库,并且对应着各种自定义的命名规范。专家校验和归类自然是必不可少的过程,同时也需要自动化的关联和归类手段。在统一的威胁模型和命名体系下,多源行为图、环境图、情报图才能够有效关联威胁知识图,获取理解行为模式、分析推理的基础知识,打通各类数据间的检索壁垒。

4.    攻击模拟与知识拓展

ATT&CK矩阵的构建,不是简单的抽取APT情报和相关报告。各种行为的提取依赖的是在特定的场景下复杂、真实网络环境下的攻击模拟与对抗的不断验证、补充、完善。此外,ATT&CK知识库也远未成熟,针对不同场景、不同领域的威胁行为的知识需要整个社区不断的积累和贡献。因此,将ATT&CK知识库转化成企业自身的知识图并用于威胁分析,能够提升企业自身的检测能力,但更重要的是需要企业建立自己的攻击模拟环境,验证、精炼、修正知识结构,发现新的知识关联,以适应指定场景下的威胁分析任务。目前,支持ATT&CK的攻击模拟或渗透工具已有不少,如MITRE Caldera[9],Endgame RTA[10]等开源项目。

搭建攻击模拟环境的要点,基于ATT&CK验证流程、设计分析算法以及创建新的ATT&CK知识概念,相关经验和手段我们可以通过官方文档深入研究。

三、 总结

网络安全大数据的分析给威胁的检测与响应带来机遇,也同样带来挑战。我们需要更加有效的数据收集,合理的数据组织,准确的数据分析以及丰富的可视化能力,支撑分析任务中的模拟、关联、知识沉淀等过程,进而逐步自动化安全防御能力。随着ATT&CK行为知识的积累和相关技术的日益完善,不止在攻击模拟、红蓝对抗领域,更多的检测响应、用户实体行为分析、威胁狩猎、防病毒等威胁分析产品和方案逐渐向战术-技术矩阵靠拢、对齐。以ATT&CK进行威胁建模并建立行为分析的知识库,并以图数据形式组织,能够打通数据间壁垒,加速威胁情报、原始日志、检测数据、扫描数据、威胁知识库等多源数据的融合分析。ATT&CK不仅仅是一个模型,一个字典矩阵,一个标尺,ATT&CK所促成的生态,将促进生态下组织内外部的数据交互和共享。本文从ATT&CK的相关概念出发,介绍了基于ATT&CK构建安全知识图的思考,不成熟之处,烦请专家指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2264057.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

“年轻科技旗舰”爱玛A7 Plus正式发布,全国售价4999元

12月18日,备受行业瞩目的“A7上场 一路超神”爱玛旗舰新品发布会在爱玛台州智造工厂盛大举行。 作为年末“压轴产品”的“两轮豪华轿跑”爱玛A7Plus重磅上场,以“快、稳、帅、炫、智、爽”六大超神技惊艳四座,不仅践行了爱玛科技的精品战略&…

精通Redis(一)

目录 1.NoSQL 非关系型数据库 2.Redis 3.Redis的java客户端 4.Jedis 4.1Jedis快速入门 4.2Jedis连接池及使用 5.SpringDataRedis和RedisTemplate 1.NoSQL 非关系型数据库 基础篇-02.初始Redis-认识NoSQL_哔哩哔哩_bilibili NoSQL与SQL的区别就在于SQL是结构化的、关联…

研发效能DevOps: Vite 使用 Element Plus

目录 一、实验 1.环境 2.初始化前端项目 3.安装 vue-route 4.安装 pinia 5.安装 axios 6.安装 Element Plus 7.gitee创建工程 8. 配置路由映射 9.Vite 使用 Element Plus 二、问题 1.README.md 文档推送到gitee未自动换行 2.访问login页面显示空白 3.表单输入账户…

openbmc hwmon与sensor监控

1.说明 参考文档: https://github.com/openbmc/entity-manager/blob/master/docs/entity_manager_dbus_api.mdhttps://github.com/openbmc/entity-manager/blob/master/docs/my_first_sensors.md 1.1 简单介绍 注意: 本节是快速浏览整个sensor框架,了解大致open…

thinkphp框架diygw-ui-php进销存出库记录操作

将进销存的出库明细记录存储到数据库中,thinkphp框架diygw-ui-php后台通常涉及以下几个步骤: 数据库表定义 实现我们定义了三张表、一个产品表、出库订单表、出库订单产品明细表 生成API 进入DIY可视化API代码生成器,我们生成这三张表结应…

vertx idea快速使用

目录 1.官网下载项目 2.修改代码 2.1拷贝代码方式 为了能够快速使用,我另外创建一个新的maven项目,将下载项目的src文件和pom文件拷贝到新建的maven项目。 2.2删除.mvn方式 3.更新配置 4.配置application 5.idea启动项目 1.官网下载项目 从vert…

ComE(Community Embedding) -- 基于嵌入的社区检测优化算法

ComE(Community Embedding)是一种基于嵌入的社区检测优化算法。 它结合了节点嵌入技术与社区划分的目标,能够有效识别网络中的社区结构,并在社区划分过程中捕捉复杂的节点相互作用信息。 算法背景 传统的社区检测方法,…

CSS|14 z-index

z-index z-index表示谁压盖着谁,数值大的会压盖住数值小的。只有定位的元素才有z-index值,只有设置了固定定位、相对定位、绝对定位了的元素,才会拥有z-indexz-index的值是没有单位的,值是一个正整数,默认的z-index值…

重撸设计模式--代理模式

文章目录 定义UML图代理模式主要有以下几种常见类型:代理模式涉及的主要角色有:C 代码示例 定义 代理模式(Proxy Pattern)属于结构型设计模式,它为其他对象提供一种代理以控制对这个对象的访问。 通过引入代理对象&am…

vue中验证码的实现方式

在写登录页的时候有的系统会让你也进行一下验证码绘制,那么验证码如何实现的呢?我在写登录页的时候通过将登录框,验证码分开页面来写,最后将它们变成标签来导入到我的样式页面中,这样写不仅方便,更容易修改…

Spring(三)-SpringWeb-概述、特点、搭建、运行流程、组件、接受请求、获取请求数据、特殊处理、拦截器

文章目录 一、SpringWeb概述 二、SpringWeb特点 三、搭建SpringWeb(在web项目中) 1、导包 2、在web.xml文件中配置统一拦截分发器 DispatcherServlet 3、开启 SpringWEB 注解 4、处理器搭建 四、SpringWeb运行流程 五、SpringWeb组件 1、前端控…

构建MacOS应用小白教程(打包 签名 公证 上架)

打包 在package.json中,dependencies会被打进 Electron 应用的包里,而devDependencies则不会,所以必要的依赖需要放到dependencies中。files中定义自己需要被打进 Electron 包里的文件。以下是一个完整的 mac electron-builder的配置文件。 …

2.4 网络概念(分层、TCP)

网络层与传输层概述 网络层: 抽象概念:网络层是基于 IP 的抽象概念,与数据链路层用 MAC 地址标记设备不同。MAC 地址是一种具体化的概念,绑定于所在的物理网络,而 IP 地址可以是固定的,也可以通过路由动态…

【JetPack】Room数据库笔记

Room数据库笔记 ORM框架&#xff1a;对齐数据库数据结构与面向对象数据结构之间的关系&#xff0c;使开发编程只考虑面向对象不需要考虑数据库的结构 Entity : 数据实体&#xff0c;对应数据库中的表 <完成面向对象与数据库表结构的映射> 注解&#xff1a; 类添加注解…

基于前端技术UniApp和后端技术Node.js的电影购票系统

文章目录 摘要Abstruct第一章 绪论1.1 研究背景与意义1.2 国内外研究现状 第二章 需求分析2.1 功能需求分析2.2 非功能性需求分析 第二章系统设计3.1 系统架构设计3.1.1 总体架构3.1.2 技术选型 3.2 功能架构 第四章 系统实现4.1 用户端系统实现4.1.1 用户认证模块实现4.1.2 电…

大模型微调---Lora微调实战

目录 一、前言二、LoRA实战2.1、下载模型到本地2.2、加载模型与数据集2.3、处理数据2.4、LoRA微调2.5、训练参数配置2.6、开始训练 三、模型评估四、完整训练代码 一、前言 LoRA是一种参数高效的微调技术&#xff0c;通过低秩转换对大型语言模型进行适应性更新&#xff0c;减少…

centos7下docker 容器实现redis主从同步

1.下载redis 镜像 docker pull bitnami/redis2. 文件夹授权 此文件夹是 你自己映射到宿主机上的挂载目录 chmod 777 /app/rd13.创建docker网络 docker network create mynet4.运行docker 镜像 安装redis的master -e 是设置环境变量值 docker run -d -p 6379:6379 \ -v /a…

SLAAC如何工作?

SLAAC如何工作&#xff1f; IPv6无状态地址自动配置(SLAAC)-常见问题 - 苍然满关中 - 博客园 https://support.huawei.com/enterprise/zh/doc/EDOC1100323788?sectionj00shttps://www.zhihu.com/question/6691553243/answer/57023796400 主机在启动或接口UP后&#xff0c;发…

2024.12.21辩论赛感受

背景 今天辩论赛的双方论点是&#xff1a; 正方&#xff1a;寒假留在研发中心的收获大 反方&#xff1a;寒假去做其他事情的收获 辩论赛&#xff0c;为了锻炼自己&#xff0c;选择了不想选择以及相对不好辩论的反方。出现的状况有一下几点&#xff1a; 1.发现自己脑子完全跟不…

【从零开始入门unity游戏开发之——C#篇21】C#面向对象的封装——`this`扩展方法、运算符重载、内部类、`partial` 定义分部类

文章目录 一、this扩展方法1、扩展方法的基本语法2、使用扩展方法3、扩展方法的注意事项5、扩展方法的限制6、总结 二、运算符重载1、C# 运算符重载2、运算符重载的基本语法3. 示例&#xff1a;重载加法运算符 ()4、使用重载的运算符5、支持重载的运算符6、不能重载的运算符7、…