软件安全知识之漏洞类别

漏洞类别

如简介中所述,我们使用术语实现漏洞(有时也称为安全漏洞)来表示使攻击者可能违反安全目标的错误,以及支持特定攻击技术的bug类。

实施漏洞在网络安全中发挥着重要作用,并且有多种形式。常见漏洞和披露(CVE)是一个公开的条目列表,采用标准化形式,描述广泛使用的软件组件中的漏洞,以及在撰写本文时,它列出了近十万个此类漏洞。实现漏洞通常是由不安全的编程实践引起的,并受开发人员使用的编程语言或API的影响。第一个主题涵盖了可归因于此类不安全编程实践的重要实现漏洞类别。

现有的脆弱性分类,如共同弱点枚举(CWE),一个社区制定的脆弱性类别列表,可作为脆弱性识别、缓解和预防的基线,但没有一个现有的分类已经成功地提出了一个完整的分类法。因此,第一个主题中讨论的类别应被视为重要类别的脆弱性示例,而不是详尽无遗的清单。选择它们的目的是涵盖最常见的实现漏洞,但这种选择至少在某种程度上是主观的。

特定类别的实现漏洞通常可以描述为违反软件系统某些子组件的(正式或非正式)规范。这样的规范采用合同的形式,明确子组件的期望,并提供给其客户。在违反此类合同时,软件系统进入错误状态,软件系统的进一步行为通常是系统开发人员未考虑的行为,并且依赖于系统实现详细信息。系统的攻击者可以研究实现细节并利用它们使系统以攻击者所需的方式运行。

内存管理漏洞

命令式编程语言支持可变状态,即这些语言具有用于分配存储单元的构造,这些存储单元随后可以分配给程序或由程序读取,然后再次释放。编程语言定义指定如何正确使用这些构造:例如,分配n存储单元将返回对单元数组的引用,然后可以使用索引0到访问该数组n1直到再次释放(释放)引用。此规范可以看作是内存管理子组件的协定。某些编程语言实现此协定防守和将扔一例外如果a客户程序访问记忆错误。其他编程语言(最特别是C和C++)离开这责任为正确分配,访问和解除分配记忆在这手之这程序员和说错误地访问或管理内存的程序的行为是定义.这种语言有时被称为内存不安全与内存管理相关的语言和错误(内存管理漏洞)是这些安全漏洞的臭名昭著的来源语言。

• 空间漏洞是指程序索引到有效的连续存储单元范围,但索引超出范围的错误。典型的示例是缓冲区溢出漏洞,程序访问具有越界索引的数组(缓冲区)。

• 临时漏洞是程序访问曾经分配给程序但后来已解除分配的内存的错误。一个典型的例子是取消引用悬空指针。

C和C++语言规范未定义具有内存管理漏洞的程序的行为。因此,观察到的具有漏洞的程序的行为将取决于语言的实际实现。从安全的角度来看,内存管理漏洞尤其危险,因为在许多实现中,分配给程序的可变内存单元是存储已编译程序代码和运行时元数据(如调用堆栈)的相同内存地址空间。在此类实现中,违反内存管理协定的程序访问可能会导致对已编译的程序代码或运行时元数据的访问,并且因此可能导致程序代码、程序控制流和程序数据损坏。存在各种强大的攻击技术来利用内存管理漏洞[3]。

攻击包括向程序提供输入以触发漏洞,从而使程序违反内存管理协定。攻击者选择输入,以便程序访问攻击者感兴趣的存储单元:

• 在代码损坏攻击中,无效的内存访问将编译的程序代码修改为攻击者指定的代码。

• 在控制流劫持攻击中,无效内存访问修改代码指针(例如,堆栈上的返回地址或函数指针),以使处理器执行攻击者提供的代码(直接代码注入攻击),或使处理器重用程序的现有代码以意外的方式(代码重用攻击,也称为间接代码注入攻击,例如返回libc攻击或面向返回的编程攻击)。

• 在仅数据攻击中,无效的内存访问会修改程序的其他数据变量,从而可能导致攻击者的权限增加。

• 在信息泄漏攻击中,无效内存访问是读取访问,可能导致信息泄露,无论是应用程序机密(如加密密钥)还是运行时元数据(如有助于预测的地址)的确切内存布局,因此可能会启用其他攻击。

由于这些类别的攻击具有实际重要性,因此已经开发了应对特定攻击技术的缓解技术,我们将在主题4中讨论这些技术。

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/131454.html<

(0)
管理的头像管理
上一篇2025-02-26 13:33
下一篇 2025-02-26 13:34

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注