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

Cyber Security 101-Build Your Cyber Security Career-Security Principles(安全原则)

了解安全三元组以及常见的安全模型和原则。

任务1:介绍

安全已成为一个流行词;每家公司都想声称其产品或服务是安全的。但事实真的如此吗?

在我们开始讨论不同的安全原则之前,了解我们正在保护资产的对手至关重要。您是否试图阻止蹒跚学步的孩子访问您的笔记本电脑?或者您是否正在尝试保护包含价值数百万美元的技术设计的笔记本电脑?对幼儿和工业间谍行为者使用精确的保护机制将是荒谬的。因此,了解我们的对手是必须的,这样我们才能了解他们的攻击并开始实施适当的安全控制。

不可能实现完美的安全性;没有解决方案是 100% 安全的。因此,我们尝试改善我们的安全态势,使我们的对手更难获得访问权限。

这个房间的目标是:

  • 解释安全功能:机密性、完整性和可用性 (CIA)。
  • 提出安全三元组的对立面,CIA:披露、更改和销毁/否认 (DAD)。
  • 介绍安全模型的基本概念,例如 Bell-LaPadula 模型。
  • 解释安全原则,例如深度防御、零信任和信任但验证。
  • 引入 ISO/IEC 19249。
  • 解释 Vulnerability(脆弱性)、Threat (威胁) 和 Risk(风险)之间的区别。

回答以下问题

想想你如何描述某物是安全的。

任务2:中央情报局

在我们描述安全之前,我们需要更好地考虑构成安全性的要素。当您想判断系统的安全性时,您需要从安全三元组的角度来考虑:机密性、完整性和可用性 (CIA)。

  • 机密性确保只有预期的人员或接收者才能访问数据。
  • 完整性旨在确保数据无法更改;此外,如果发生任何更改,我们可以检测到它。
  • 可用性 旨在确保系统或服务在需要时可用。

让我们考虑一下 CIA 安全三元组在下在线购物的情况下:

  • 保密性: 在网上购物期间,您希望您的信用卡号仅披露给处理付款的实体。如果您怀疑您的信用卡信息会被泄露给不受信任的一方,您很可能会避免继续进行交易。此外,如果数据泄露导致个人身份信息(包括信用卡)泄露,公司将在多个层面上蒙受巨大损失。
  • 完整性:填写订单后,如果入侵者可以更改您提交的送货地址,包裹将被发送给其他人。如果没有数据完整性,您可能非常不愿意向该卖家下订单。
  • 可用性: 要下在线订单,您将浏览商店的网站或使用其官方应用程序。如果该服务不可用,您将无法浏览产品或下订单。如果您继续面临此类技术问题,您最终可能会放弃并开始寻找不同的在线商店。

让我们考虑一下与患者记录和相关系统相关的 CIA:

  • 保密性:根据现代国家的各种法律,医疗保健提供者必须确保和维护医疗记录的机密性。因此,如果医疗保健提供者非法披露患者的医疗记录,他们可能会被追究法律责任。
  • 完整性:如果患者记录被意外或恶意更改,可能会导致错误的治疗,进而导致危及生命的情况。因此,如果不确保医疗记录的完整性,该系统将毫无用处且可能有害。
  • 可用性:当患者前往诊所跟进他们的医疗状况时,系统必须可用。不可用的系统意味着医生无法访问患者的记录,因此无法知道任何当前症状是否与患者的病史有关。这种情况会使医学诊断更具挑战性和容易出错。

所有三个安全功能的重点不需要相同。一个例子是大学公告;虽然它通常不是机密的,但文档的完整性至关重要。

超越 CIA

在 CIA 安全三元组之外再向前迈进一步,我们可以考虑:

  • 真实性: 正品意味着没有欺诈或假冒。真实性是关于确保文档/文件/数据来自声明的来源。
  • 不可否认性:否认意味着拒绝承认某物的有效性。不可否认性确保原始源无法否认它们是特定文档/文件/数据的源。这一特性对于购物、患者诊断和银行业务等各个领域都是必不可少的。

这两个要求密切相关。区分真实文件或订单和虚假文件或订单的需求是必不可少的。此外,确保另一方不能否认是源头对于许多系统可用至关重要。

在网上购物时,根据您的业务,您可能会容忍尝试以货到付款的方式交付 T 恤,但后来得知收件人从未下过此类订单。但是,没有公司可以容忍运送 1000 辆汽车来发现订单是假的。在购物订单示例中,您想要确认所述客户确实下了此订单;这就是真实性。此外,您要确保他们无法否认下达此订单;这就是不可否认。

作为公司,如果您收到 1000 辆汽车的发货订单,您需要确保此订单的真实性;此外,消息来源不应否认下达此类订单。没有真实性和不可否认性,业务就无法开展。

帕克六边形

1998 年,Donn Parker 提出了 Parkerian Hexad,这是一组 6 个安全元件。他们是:

  1. 可用性
  2. 效用
  3. 正直
  4. 真实性
  5. 保密性
  6. 占有

我们已经介绍了上述六个要素中的四个。让我们讨论剩下的两个元素:

  • 效用: 效用侧重于信息的有用性。例如,用户可能丢失了访问具有加密存储的笔记本电脑的解密密钥。尽管用户仍然拥有磁盘完好无损的便携式计算机,但他们无法访问它们。换句话说,尽管仍然可用,但信息的形式是无用的,即没有用处。
  • 占有:此安全要素要求我们保护信息免遭未经授权的获取、复制或控制。例如,对手可能会占用备份驱动器,这意味着只要他们拥有该驱动器,我们就会失去对信息的所有权。或者,攻击者可能会使用勒索软件成功加密我们的数据;这也会导致失去对数据的所有权。

单击“查看站点”并回答五个问题。你最后得到的旗帜是什么?

任务3:DAD

系统的安全性通过多种方式之一受到攻击。它可以通过披露秘密数据、更改数据或销毁数据来实现。

  • Disclosure披露与保密相反。换句话说,泄露机密数据就是对机密性的攻击。
  • Alteration 是 Integrity 的对立面。例如,支票的完整性是必不可少的。
  • Destruction/Denial销毁/否认是可用性的对立面。

与 CIA 三元组相反的是 DAD 三元组:披露、更改和销毁。

考虑前面的患者记录和相关系统示例:

  • 披露:与大多数现代国家/地区一样,医疗保健提供者必须对医疗记录保密。因此,如果攻击者成功窃取了其中一些医疗记录并将其转储到网上以供公开查看,医疗保健提供商将因这种数据泄露攻击而蒙受损失。
  • 更改:如果攻击者设法修改了患者的医疗记录,请考虑情况的严重性。这种更改攻击可能会导致错误的治疗,因此,这种更改攻击可能会危及生命。
  • 销毁/否认:考虑医疗设施完全无纸化的情况。如果攻击者设法使数据库系统不可用,则该设施将无法正常运行。他们可以暂时回到纸上;但是,患者记录将不可用。这种否认攻击将使整个设施停滞不前。

防止披露、更改和破坏/否认具有绝对的重要性。这种保护相当于努力维护机密性、完整性和可用性。

将机密性和完整性保护到极致可能会限制可用性,而将可用性提高到极致可能会导致失去机密性和完整性。良好的安全原则实施需要在这三者之间取得平衡。

任务4:安全模型的基本概念

我们了解到,安全三元组以机密性、完整性和可用性 (CIA) 为代表。有人可能会问,我们如何创建一个确保一个或多个安全功能的系统?答案是使用安全模型。在本任务中,我们将介绍三个基本安全模型:

  • Bell-LaPadula 模型
  • Biba 诚信模型
  • 克拉克-威尔逊模型

Bell-LaPadula 模型

Bell-LaPadula 模型旨在通过指定三条规则来实现机密性

  • 简单安全属性:此属性称为“无读取”;它指出,较低安全级别的主体无法读取较高安全级别的对象。此规则阻止访问超过授权级别的敏感信息。
  • Star Security Property:此属性称为“no write down”;它指出,较高安全级别的 Subject 无法写入较低安全级别的 Object。此规则可防止将敏感信息泄露给安全级别较低的主体。
  • Discretionary-Security 属性:此属性使用访问矩阵来允许读取和写入操作。下表显示了一个示例访问矩阵,并与前两个属性结合使用。
科目对象 A对象 B
实验体 1无访问权限
实验体 2读/写

前两个属性可以概括为 “write up, read down”。您可以与安全许可较高的人员共享机密信息(书面记录),也可以从安全许可较低的人员那里接收机密信息(向下阅读)。

Bell-LaPadula 模型存在一定的限制。例如,它不是为处理文件共享而设计的。

Biba 模型

Biba 模型旨在通过指定两个主要规则来实现完整性

  • Simple Integrity Property:此属性称为 “no read down”;不应从较低完整性的对象读取较高完整性的主题。
  • Star Integrity 属性:此属性称为“无写入”;较低完整性的主体不应写入较高完整性的对象。

这两个属性可以概括为 “read up, write down”。这条规则与 Bell-LaPadula 模型形成鲜明对比,这并不奇怪,因为一个关注机密性,而另一个关注完整性。

Biba Model 存在各种限制。一个例子是它不处理内部威胁 (内部威胁)。

Clark-Wilson 模型

Clark-Wilson 模型还旨在通过使用以下概念来实现完整性:

  • 受约束数据项 (CDI):这是指我们要保留其完整性的数据类型。
  • 不受约束的数据项 (UDI):这是指 CDI 之外的所有数据类型,例如用户和系统输入。
  • 转换过程 (TP):这些过程是编程操作,例如读取和写入,应保持 CDI 的完整性。
  • 完整性验证程序 (IVP):这些程序检查并确保 CDI 的有效性。

我们只介绍了三种安全模型。读者可以探索许多其他安全模型。示例包括:

  • Brewer 和 Nash 模型
  • Goguen-Meseguer 模型
  • 萨瑟兰模型
  • Graham-Denning 模型
  • Harrison-Ruzzo-Ullman 模型

任务5:深度防御

Defence-in-Depth 是指创建多级安全系统;因此它也被称为多级安全性。

考虑下面的类比:你有一个上锁的抽屉,用来存放重要的文件和昂贵的东西。抽屉已锁上;但是,您是否希望这个抽屉锁成为小偷和您的昂贵物品之间唯一的东西?如果我们考虑多级安全性,我们更希望锁上抽屉,锁上相关房间,锁上公寓的正门,锁上大楼的大门,您甚至可能想在途中加入一些安全摄像头。尽管这些多级安全无法阻止每个小偷,但它们会阻止其中的大部分小偷并减慢其他小偷的速度。

任务6:国际标准化组织(ISO)/IEC 19249

国际标准化组织 (ISO) 和国际电工委员会 (IEC) 制定了 ISO/IEC 19249。在本任务中,我们将简要介绍 ISO/IEC 19249:2017 信息技术 - 安全技术 - 安全产品、系统和应用程序的架构和设计原则目录。目的是更好地了解国际组织将教授哪些安全原则。

ISO/IEC 19249 列出了五项架构原则:

  1. Domain Separation:每组相关组件都分组为单个实体;组件可以是应用程序、数据或其他资源。每个实体都将具有自己的域,并被分配一组通用的安全属性。例如,考虑 x86 处理器权限级别:操作系统内核可以在环 0(最高权限级别)中运行。相比之下,用户模式应用程序可以在环 3 (最低权限级别) 中运行。域分离包含在 Goguen-Meseguer 模型中。
  2. 分层:当系统被构建成许多抽象级别或层时,可以在不同级别实施安全策略;此外,验证操作也是可行的。让我们考虑一下 OSI(开放系统互连)模型,它有七层网络。OSI 模型中的每个层都为其上方的层提供特定服务。这种分层使得实施安全策略并轻松验证系统是否按预期工作成为可能。编程世界的另一个示例是磁盘操作;程序员通常使用所选高级编程语言提供的 Disk Read 和 Write 函数。编程语言隐藏了低级系统调用,并将它们呈现为更用户友好的方法。分层与 Defense in Depth 有关。
  3. 封装:在面向对象编程 (OOP) 中,我们隐藏了低级实现,并通过为此目的提供特定方法来防止直接操作对象中的数据。例如,如果你有一个 clock 对象,你将提供一个方法,而不是让用户直接访问该变量。目的是防止变量的值无效。同样,在较大的系统中,您将使用(甚至设计)适当的应用程序编程接口 (API) 来访问数据库。increment()seconds
  4. 冗余:此原则可确保可用性和完整性。有许多与冗余相关的示例。考虑具有两个内置电源的硬件服务器的情况:如果一个电源发生故障,系统将继续运行。考虑具有三个驱动器的 RAID 5 配置:如果一个驱动器发生故障,则使用其余两个驱动器的数据仍然可用。此外,如果其中一个磁盘上的数据被错误地更改,它将通过奇偶校验检测到它,从而确保数据的完整性。
  5. 虚拟化:随着云服务的出现,虚拟化变得越来越普遍和流行。虚拟化的概念是在多个操作系统之间共享一组硬件。虚拟化提供沙盒功能,可改进安全边界、安全引爆和对恶意程序的观察。

ISO/IEC 19249 教授了五项设计原则:

  1. 最低权限:在回答“谁可以访问什么”这个问题时,您也可以非正式地将其表述为“需要基础”或“需要知道基础”。最小权限原则告诉我们,您应该为某人提供最少的权限来执行他们的任务,仅此而已。例如,如果用户需要能够查看文档,则应授予他们读取权限,而不授予其写入权限。
  2. 攻击面最小化:每个系统都有攻击者可能用来破坏系统的漏洞。一些漏洞是已知的,而另一些漏洞尚未被发现。这些脆弱性代表了我们应该努力降低的风险。例如,在强化 Linux 系统的步骤之一中,我们将禁用任何我们不需要的服务。
  3. 集中式参数验证:许多威胁是由于系统接收了输入,尤其是来自用户的输入。无效的输入可用于利用系统中的漏洞,例如拒绝服务和远程代码执行。因此,参数验证是确保系统状态正确的必要步骤。考虑到系统处理的参数数量,参数的验证应集中在一个库或系统中。
  4. 集中式一般安全服务:作为一项安全原则,我们应该致力于集中所有安全服务。例如,我们将创建一个用于身份验证的集中式服务器。当然,您可以采取适当的措施来确保可用性并防止创建单一故障点。
  5. 为错误和异常处理做准备:每当我们构建一个系统时,我们应该考虑到错误和异常已经发生和将要发生。例如,在购物应用程序中,客户可能会尝试为缺货商品下订单。数据库可能会过载并停止响应 Web 应用程序。该原则教导系统应设计为故障安全;例如,如果防火墙崩溃,它应该阻止所有流量,而不是允许所有流量。此外,我们应该注意确保错误消息不会泄露我们认为机密的信息,例如转储包含与其他客户相关的信息的内存内容。

在以下问题中,请参考上述 ISO/IEC 19249 五项设计原则。用 1 到 5 之间的数字回答,具体取决于设计原则的数字。

任务7:零信任与信任,但要验证

信任是一个非常复杂的话题;实际上,没有信任,我们就无法运作。如果有人认为笔记本电脑供应商在笔记本电脑上安装了间谍软件,他们很可能最终会重建系统。如果有人不信任硬件供应商,他们就会完全停止使用它。如果我们在商业层面上考虑信任,事情只会变得更加复杂;但是,我们需要一些指导性安全原则。我们感兴趣的关于信任的两个安全原则:

  • 信任但验证
  • 零信任

信任但验证:该原则告诉我们,即使我们信任一个实体及其行为,我们也应该始终进行验证。实体可以是用户或系统。验证通常需要设置适当的日志记录机制;验证表示检查日志以确保一切正常。实际上,验证所有内容是不可行的;试想一下,审查单个实体执行的所有操作(例如单个用户浏览的 Internet 页面)所需的工作。这需要自动化的安全机制,例如代理、入侵检测和入侵防御系统。

零信任:该原则将信任视为一种漏洞,因此,它迎合了与内部相关的威胁。在将信任视为漏洞后,零信任试图消除它。它是间接地教导,“永远不要相信,永远验证”。换句话说,每个实体都被认为是对抗性的,除非证明不是这样。Zero Trust 不会根据设备的位置或所有权向设备授予信任。这种方法与信任内部网络或企业拥有的设备的旧模型形成鲜明对比。在访问任何资源之前,都需要进行身份验证和授权。因此,如果发生任何违规行为,如果实施了 Zero Trust 架构,损害将得到更严格的控制。

微分段是用于 Zero Trust 的实施之一。它是指网段可以小到单个主机的设计。此外,段之间的通信需要身份验证、访问控制列表检查和其他安全要求。

在不对业务产生负面影响的情况下,我们可以应用 Zero Trust 的程度是有限的;然而,这并不意味着只要可行,我们就不应该应用它。

任务8:威胁与风险

我们需要注意三个术语以避免任何混淆。

  • 脆弱性:易受攻击是指容易受到攻击或损害。在信息安全中,漏洞是一种弱点。
  • 威胁:威胁是与此弱点或漏洞相关的潜在危险。
  • 风险:风险与威胁行为者利用漏洞的可能性以及由此对业务产生的影响有关。

由于玻璃的性质,带有标准玻璃制成的门窗的展厅会受到弱点或脆弱性的影响。因此,玻璃门窗有被打破的威胁。陈列室业主应考虑风险,即玻璃门或窗被打破的可能性以及由此对业务的影响。

考虑另一个与信息系统直接相关的示例。您在一家医院工作,该医院使用特定的数据库系统来存储所有医疗记录。有一天,您正在关注最新的安全新闻,您了解到使用的数据库系统不仅容易受到攻击,而且已经发布了概念验证工作漏洞利用代码;发布的漏洞利用代码表明威胁是真实的。有了这些知识,您必须考虑由此产生的风险并决定下一步。

我们将在单独的房间里详细介绍威胁和风险。

任务9:结论

这个房间涵盖了与安全相关的各种原则和概念。到目前为止,您应该非常熟悉 CIA 和 DAD 以及其他术语,例如真实性、否认性、脆弱性、威胁和风险。我们参观了三种安全模型和 ISO/IEC 19249。我们介绍了不同的安全原则,例如深度防御、信任但验证和 Zero Trust。

最后,责任共担模型值得一提,尤其是在对云服务的依赖日益增加的情况下。需要各个方面来确保适当的安全性。它们包括硬件、网络基础设施、操作系统、应用程序等。但是,使用云服务的客户具有不同的访问级别,具体取决于他们使用的云服务。例如,基础架构即服务 (IaaS) 用户对操作系统具有完全控制权(和责任)。

另一方面,软件即服务 (SaaS) 用户无法直接访问底层操作系统。因此,在云环境中实现安全性需要云服务提供商和用户都做好自己的工作。责任共担模型是一个云安全框架,用于确保各方都了解其责任。

完成安全原则室后,您可以进入密码学入门室。




 

相关文章:

Cyber Security 101-Build Your Cyber Security Career-Security Principles(安全原则)

了解安全三元组以及常见的安全模型和原则。 任务1:介绍 安全已成为一个流行词;每家公司都想声称其产品或服务是安全的。但事实真的如此吗? 在我们开始讨论不同的安全原则之前,了解我们正在保护资产的对手至关重要。您是否试图阻止蹒跚学步…...

Formality:时序变换(二)(不可读寄存器移除)

相关阅读 Formalityhttps://blog.csdn.net/weixin_45791458/category_12841971.html?spm1001.2014.3001.5482 一、引言 时序变换在Design Compiler的首次综合和增量综合中都可能发生,它们包括:时钟门控(Clock Gating)、寄存器合并(Register Merging)、…...

MathType下载与安装详细教程

MathType 软件简介安装步骤重新嵌入word 软件简介 数学公式编辑器MathType 是一款专业的数学公式编辑工具,理科生专用的工具。MathType公式编辑器能够帮助用户在各种文档中插入复杂的数学公式和符号。数学公式编辑器工具可以轻松输入各种复杂的公式和符号&#xff…...

docker中运行的MySQL怎么修改密码

1,进入MySQL容器 docker exec -it 容器名 bash 我运行了 docker ps命令查看。正在运行的容器名称。可以看到MySQL的我起名为db docker exec -it db bash 这样就成功的进入到容器中了。 2,登录MySQL中 mysql -u 用户名 -p 回车 密码 mysql -u root -p roo…...

内外网文件摆渡企业常见应用场景和对应方案

在如今的企业环境中,内外网文件摆渡的需求越来越常见,也变得越来越重要。随着信息化的不断推进,企业内部和外部之间的数据交换越来越频繁,如何安全、高效地进行文件传输成了一个关键问题。今天,咱就来聊聊内外网文件摆…...

【Block总结】PKI 模块,无膨胀多尺度卷积,增强特征提取的能力|即插即用

论文信息 标题: Poly Kernel Inception Network for Remote Sensing Detection 作者: Xinhao Cai, Qiuxia Lai, Yuwei Wang, Wenguan Wang, Zeren Sun, Yazhou Yao 论文链接:https://arxiv.org/pdf/2403.06258 代码链接:https://github.com/NUST-Mac…...

自制一个入门STM32 四足机器人具体开发顺序

0 前期准备 1. 知识储备 学习 STM32 微控制器的基础知识,包括 GPIO、定时器、串口通信等外设的使用,可通过官方文档、教程和视频课程进行学习。了解舵机控制原理,因为四足机器人通常使用舵机来实现关节运动。掌握基本的机械结构设计知识&am…...

物联网智能项目之——智能家居项目的实现!

成长路上不孤单😊😊😊😊😊😊 【14后😊///计算机爱好者😊///持续分享所学😊///如有需要欢迎收藏转发///😊】 今日分享关于物联网智能项目之——智能家居项目…...

[免费]微信小程序智能商城系统(uniapp+Springboot后端+vue管理端)【论文+源码+SQL脚本】

大家好,我是java1234_小锋老师,看到一个不错的微信小程序智能商城系统(uniappSpringboot后端vue管理端),分享下哈。 项目视频演示 【免费】微信小程序智能商城系统(uniappSpringboot后端vue管理端) Java毕业设计_哔哩哔哩_bilibili 项目介绍…...

C28.【C++ Cont】顺序表的实现

🧨🧨🧨🧨🧨🧨🧨🧨🧨初二篇🧨🧨🧨🧨🧨🧨🧨🧨🧨 目录 1.知识回顾…...

【电工基础】低压电器元件,低压断路器(空开QF),接触器(KM)

一.低压电器元件定义 电器可分为高压电器和低压电器两大类,我国现行标准是将工作在交流1200V(50Hz)以下、直流1500V以下的电器设备称为低压电器。 二.低压断路器,空开,空气断路器 1.空开图片与使用方式 当电路中发生严重过载、短路及失压等故…...

从 UTC 日期时间字符串获取 Unix 时间戳:C 和 C++ 中的挑战与解决方案

在编程世界里,从 UTC 日期时间字符串获取 Unix 时间戳,看似简单,实则暗藏玄机。你以为输入一个像 “Fri, 17 Jan 2025 06:07:07” 这样的 UTC 时间,然后轻松得到 1737094027(从 1970 年 1 月 1 日 00:00:00 UTC 开始经…...

[前端开发]记录国内快速cdn库,用于在线引入JavaScript第三方库

字节跳动的两个库,官网地址如下,搜索时优先找第一个,可用来链接axios,Boostrap等等第三方库 1. 字节跳动静态资源公共库 比如说搜索lodash,用于节流防抖的库,点击复制即可,一般是****.js或****.min.js这样的为后缀名的链接 点击复制即可, <script src"https://lf9-cd…...

留学生scratch计算机haskell函数ocaml编程ruby语言prolog作业VB

您列出了一系列编程语言和技术&#xff0c;这些可能是您在留学期间需要学习或完成作业的内容。以下是对每个项目的简要说明和它们可能涉及的领域或用途&#xff1a; Scratch&#xff1a; Scratch是一种图形化编程语言&#xff0c;专为儿童和初学者设计&#xff0c;用于教授编程…...

CF 766A.Mahmoud and Longest Uncommon Subsequence(Java实现)

题目分析 (小何同学语文不太好&#xff0c;看这个题弯弯绕绕&#xff0c;看不懂一点&#xff0c;哈哈哈。)在尝试示例中分析之后&#xff0c;题目的意思大概就是&#xff0c;两个字符串相同就输出-1&#xff0c;不同就输出最长的那个字符串长度 思路分析 数据输入存值之后&…...

React 的 12 个核心概念

文章目录 一、JSX&#xff1a;逻辑与视图的桥梁二、组件&#xff1a;模块化构建的核心三、Props&#xff1a;单向数据流的基石四、State&#xff1a;动态交互的核心五、useEffect&#xff1a;副作用管理的利器六、Context&#xff1a;跨层级数据共享的利器七、React.memo&#…...

玩转大语言模型——使用langchain和Ollama本地部署大语言模型

系列文章目录 玩转大语言模型——使用langchain和Ollama本地部署大语言模型 玩转大语言模型——ollama导入huggingface下载的模型 玩转大语言模型——langchain调用ollama视觉多模态语言模型 玩转大语言模型——使用GraphRAGOllama构建知识图谱 玩转大语言模型——完美解决Gra…...

【数据结构】(2)时间、空间复杂度

一、衡量算法好坏的指标 时间复杂度衡量算法的运行速度&#xff0c;空间复杂度衡量算法所需的额外空间。这些指标&#xff0c;是某场景中选择使用哪种数据结构和算法的依据。如今&#xff0c;计算机的存储器已经变得容易获得&#xff0c;所以不再太关注空间复杂度。 二、渐进表…...

分享14分数据分析相关ChatGPT提示词

数据分析 在研究过程中数据分析扮演着至关重要的角色&#xff0c;它能够帮助研究者从海量数据中提取有价值的信息&#xff0c;从而为研究结论提供坚实的依据。而ChatGPT在数据分析领域展现出了强大的辅助能力&#xff0c;为研究者提供了全方位的支持。当研究者提供清晰且具体的…...

dify实现原理分析-rag-数据检索的实现

数据检索的总体执行步骤 数据检索总体步骤如下&#xff1a; #mermaid-svg-YCRNdSE7T1d0Etyj {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-YCRNdSE7T1d0Etyj .error-icon{fill:#552222;}#mermaid-svg-YCRNdSE7T1d…...

Day30-【AI思考】-错题分类进阶体系——12维错误定位模型

文章目录 错题分类进阶体系——12维错误定位模型**一、认知层错误&#xff08;根源性缺陷&#xff09;****二、操作层错误&#xff08;执行过程偏差&#xff09;****三、心理层错误&#xff08;元认知障碍&#xff09;****四、进阶错误&#xff08;专业级陷阱&#xff09;** 错…...

全国31省空间权重矩阵(地理相邻空间、公路铁路地理距离空间、经济空间)权重矩阵数据-社科数据

中国31个省份空间权重矩阵-社科数据https://download.csdn.net/download/paofuluolijiang/90028597 https://download.csdn.net/download/paofuluolijiang/90028597 空间权重矩阵是反映个体在空间中依赖关系的矩阵&#xff0c;本数据计算全国31个省三种标准化处理的空间权重矩…...

Docker容器数据恢复

Docker容器数据恢复 1 创建mongo数据库时未挂载数据到宿主机2 查找数据卷位置3 将容器在宿主机上的数据复制到指定目录下4 修改docker-compose并挂载数据&#xff08;注意端口&#xff09;5 重新运行新容器 以mongodb8.0.3为例。 1 创建mongo数据库时未挂载数据到宿主机 versi…...

Visual Studio使用GitHub Copilot提高.NET开发工作效率

GitHub Copilot介绍 GitHub Copilot 是一款 AI 编码助手&#xff0c;可帮助你更快、更省力地编写代码&#xff0c;从而将更多精力集中在问题解决和协作上。 GitHub Copilot Free包含哪些功能&#xff1f; 每月 2000 代码补全&#xff0c;帮助开发者快速完成代码编写。 每月 …...

【matlab】绘图 离散数据--->连续函数

matlab绘图练习 离散数据及离散函数对离散区间进行细划分 达到连续效果画plot(y)图 与 复数的应用 离散数据及离散函数 例1 x1[1 2 4 6 7 8 10 11 12 14 16 17 18 20] y1[1 2 4 6 7 8 10 10 8 7 6 4 2 1] figure(1); plot(x1,y1,o,MarkerSize,15); x21:20; y2log(x2); figure…...

Python大数据可视化:基于python的电影天堂数据可视化_django+hive

开发语言&#xff1a;Python框架&#xff1a;djangoPython版本&#xff1a;python3.7.7数据库&#xff1a;mysql 5.7数据库工具&#xff1a;Navicat11开发软件&#xff1a;PyCharm 系统展示 管理员登录 管理员功能界面 电影数据 看板展示 我的信息 摘要 电影天堂数据可视化是…...

几种K8s运维管理平台对比说明

目录 深入体验**结论**对比分析表格**1. 功能对比****2. 用户界面****3. 多租户支持****4. DevOps支持** 细对比分析1. **Kuboard**2. **xkube**3. **KubeSphere**4. **Dashboard****对比总结** 深入体验 KuboardxkubeKubeSphereDashboard 结论 如果您需要一个功能全面且适合…...

YOLO11/ultralytics:环境搭建

前言 人工智能物体识别行业应该已经饱和了吧&#xff1f;或许现在并不是一个好的入行时候。 最近看到了各种各样相关的扩展应用&#xff0c;为了理解它&#xff0c;我不得不去尝试了解一下。 我选择了git里非常受欢迎的yolo系列&#xff0c;并尝试了最新版本YOLO11或者叫它ultr…...

Effective Objective-C 2.0 读书笔记—— 消息转发

Effective Objective-C 2.0 读书笔记—— 消息转发 文章目录 Effective Objective-C 2.0 读书笔记—— 消息转发前言消息转发机制概述动态方法解析处理dynamic的属性用于懒加载 消息转发快速消息转发完整消息转发 总结 前言 在前面我学习了关联对象和objc_msgSend的相关内容&a…...

【Python-办公自动化】实现自动化输出json数据类型的分析报告和正逆转换

分析报告 import json from pprint import pprint, PrettyPrinterdef analyze_energy_data(file_path):"""能源数据分析与结构查看函数参数:file_path (str): JSON文件路径功能:1. 加载并解析JSON数据2. 显示数据结构概览3. 交互式结构探索"""…...