栈访问控制模型_第1页
栈访问控制模型_第2页
栈访问控制模型_第3页
栈访问控制模型_第4页
栈访问控制模型_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/1栈访问控制模型第一部分基于栈的访问控制模型概述 2第二部分栈帧和权限的关联 5第三部分函数调用的访问控制 6第四部分栈帧的隔离和保护 8第五部分返回地址操纵攻击防护 9第六部分栈溢出攻击的检测与防御 11第七部分安全的栈实现技术 14第八部分栈访问控制模型的局限性 16

第一部分基于栈的访问控制模型概述关键词关键要点基于栈的访问控制模型概述

1.基于栈的访问控制模型(SACM)是一种现代访问控制模型,为应用程序和系统提供了细粒度的访问控制。SACM使用栈来跟踪和管理访问权限,该栈由一系列调用帧组成,每个调用帧代表对特定资源的访问。

2.SACM模型是基于堆栈结构的。调用帧是栈的基本组成单位,它包含有关当前访问的信息,例如访问的主体、访问的对象、访问的操作以及访问的上下بافت。

3.SACM模型支持强制访问控制(MAC)和自主访问控制(DAC)两种访问控制机制。MAC机制由系统管理员配置并强制执行,而DAC机制允许资源所有者或授权用户配置和强制执行访问控制策略。

SACM模型的优点

1.SACM模型的主要优点之一是其灵活性。它允许管理员轻松定义和实施复杂的访问控制策略,而无需修改应用程序或系统的代码。

2.SACM模型还提供了细粒度的访问控制。管理员可以定义和实施针对特定资源的访问控制策略,例如文件、目录或数据库表。

3.SACM模型支持强制访问控制(MAC)和自主访问控制(DAC)两种访问控制机制。这使管理员能够在需要时应用最合适的访问控制机制。

SACM模型的缺点

1.SACM模型的一个缺点是其复杂性。它可能难以理解和实施,尤其是对于没有访问控制经验的管理员。

2.SACM模型还可能存在性能问题。在某些情况下,它可能会对应用程序和系统的性能产生负面影响。

3.SACM模型可能难以与其他访问控制模型集成。这可能导致访问控制策略的不一致和难以管理。

SACM模型的应用

1.SACM模型被广泛用于各种各样的应用程序和系统中,包括操作系统、数据库和云计算平台。

2.在操作系统中,SACM模型用于控制对文件、目录和进程的访问。在数据库中,SACM模型用于控制对表、视图和列的访问。在云计算平台中,SACM模型用于控制对存储、计算和网络资源的访问。

3.SACM模型也被用于物联网(IoT)设备中。在IoT设备中,SACM模型用于控制对传感器数据、设备配置和设备控制命令的访问。

SACM模型的发展趋势

1.SACM模型正在不断发展和改进。一些新的发展趋势包括使用机器学习来增强SACM模型的安全性,以及将SACM模型与其他访问控制模型集成以提高其灵活性。

2.SACM模型被认为是未来访问控制模型的发展方向之一。它有望在越来越多的应用程序和系统中得到应用。

3.SACM模型在云计算、物联网和分布式系统等领域具有广阔的应用前景。基于栈的访问控制模型概述

基于栈的访问控制模型(Stack-basedAccessControlModel,简称SACM)是一种计算机安全模型,它利用作为对象栈来建模内存中的数据,该数据由执行线程的栈帧组成。该模型允许定义访问权限,以在栈帧中限制对对象(例如变量、函数或数据结构)的访问。

SACM的主要思想是,每个栈帧都与一组访问权限相关联,这些权限控制可以访问栈帧中的对象。当线程进入栈帧时,它会继承与该栈帧关联的访问权限。当线程离开栈帧时,它将丢失继承的访问权限。

SACM经常用于实现细粒度的访问控制,其中需要对内存中的数据进行严格控制。例如,SACM可以用于实现安全语言,其中可以限制对敏感数据的访问。SACM还可用于实现基于角色的访问控制(RBAC)系统,其中可以将访问权限分配给不同的角色。

#SACM模型的基本概念

栈帧

栈帧是存储函数或过程的参数、局部变量和临时数据的数据结构。每个栈帧都与调用该函数或过程的线程相关联。当线程调用函数或过程时,会在栈中创建一个新的栈帧。当函数或过程返回时,会从栈中删除与该函数或过程关联的栈帧。

访问权限

访问权限是一组允许对对象执行的操作。例如,访问权限可以允许读取对象、写入对象或执行对象。

访问控制策略

访问控制策略是定义如何将访问权限分配给栈帧的规则。访问控制策略可以基于各种因素,例如调用函数或过程的线程的标识、栈帧中存储的数据的类型或栈帧创建的时间。

#SACM模型的优点

细粒度访问控制

SACM模型允许定义访问权限,以在栈帧中限制对对象(例如变量、函数或数据结构)的访问。这对于实现安全语言和基于角色的访问控制(RBAC)系统非常有用。

可扩展性

SACM模型非常可扩展,很容易添加新的访问权限和访问控制策略。

性能

SACM模型的性能开销很低,因为它不需要修改底层硬件或操作系统。

#SACM模型的缺点

复杂性

SACM模型相对复杂,并且理解和实现起来可能具有挑战性。

兼容性

SACM模型与传统的访问控制模型(例如基于角色的访问控制(RBAC)模型)不兼容。

安全性

SACM模型可以被绕过,这可能会导致未经授权的访问受保护数据。第二部分栈帧和权限的关联关键词关键要点【栈帧和权限的关联】:

1.栈帧作为程序执行的运行时数据结构,存储着函数调用时的局部变量、参数、返回地址等信息,以及指向上一级栈帧的指针,从功能上将栈帧可以划分为方法帧和激活帧。

2.每执行一个函数时,就会创建一个新的栈帧,函数返回时,栈帧就会从栈中弹出。

3.栈帧的权限控制,即对栈帧中数据的访问控制,可以保护程序的安全性,防止未经授权的访问导致程序崩溃或数据泄露。

【栈帧中的权限控制】:

栈帧和权限的关联

栈帧是栈中的一块连续内存区域,用于存储函数调用期间的局部变量、参数和返回地址。栈帧通常由编译器生成,并在函数调用时压入栈中。每个栈帧都有一个访问权限,它控制对栈帧中数据的访问。

栈帧的访问权限通常分为三种:

*私有权限:只有当前函数可以访问栈帧中的数据。

*公有权限:所有函数都可以访问栈帧中的数据。

*保护权限:只有某些函数可以访问栈帧中的数据。

栈帧的访问权限通常由编译器根据函数的声明来决定。例如,如果一个函数声明为私有,那么它的栈帧将具有私有权限。如果一个函数声明为公有,那么它的栈帧将具有公有权限。如果一个函数声明为保护,那么它的栈帧将具有保护权限。

栈帧的访问权限可以被用来实现访问控制。例如,一个程序可以将私有数据存储在具有私有权限的栈帧中,这样只有当前函数可以访问这些数据。一个程序也可以将公有数据存储在具有公有权限的栈帧中,这样所有函数都可以访问这些数据。一个程序也可以将保护数据存储在具有保护权限的栈帧中,这样只有某些函数可以访问这些数据。

栈帧的访问权限还可以被用来实现栈缓冲区溢出攻击。例如,一个程序可以创建一个具有公有权限的栈帧,然后将数据写入这个栈帧。另一个程序可以调用这个函数,然后通过栈缓冲区溢出攻击来访问这个栈帧中的数据。

栈帧的访问权限是一个重要的安全机制。它可以被用来实现访问控制和栈缓冲区溢出攻击。第三部分函数调用的访问控制关键词关键要点【函数调用的访问控制】:

1.函数调用访问控制是栈访问控制模型的重要组成部分,主要用于控制函数调用时的访问权限。

2.函数调用访问控制通常通过检查栈帧中的权限字段来实现。

3.权限字段通常包含函数调用者的权限信息,以及被调用函数所需要的权限信息。

【函数调用访问控制的实现机制】:

函数调用的访问控制

函数调用是程序执行过程中常见的一种操作,在函数调用中,调用者会将控制权转移给被调用函数,并可能向被调用函数传递参数,被调用函数执行完成后,再将控制权返回给调用者。为了确保函数调用的安全性和完整性,需要对函数调用进行访问控制。

#函数调用访问控制的目的

函数调用访问控制的主要目的是保护函数不被非法调用,防止恶意代码通过函数调用传播,并确保函数只被授权用户调用。此外,函数调用访问控制还可以用于实现函数级别的权限控制,例如,只允许特定用户或角色调用某些函数,以确保数据和资源的安全。

#函数调用访问控制的实现方法

函数调用访问控制的实现方法主要包括以下几种:

*访问控制列表(ACL):ACL是一种简单有效的访问控制机制,它将函数与一个用户或角色列表相关联,只有列表中的用户或角色才能调用该函数。ACL可以由系统管理员或应用程序开发人员配置,并可以根据需要进行修改。

*角色drm据访问控制(RBAC):RBAC是一种更细粒度的访问控制机制,它将用户或角色与一组权限相关联,权限可以包括对函数、数据和其他资源的访问权限。RBAC允许管理员以更精细的方式控制对函数的访问,例如,可以只允许某些角色调用函数的特定方法或参数。

*基于属性的访问控制(ABAC):ABAC是一种动态的访问控制机制,它允许管理员根据用户或角色的属性(如部门、职务、职称等)来控制对函数的访问。AB第四部分栈帧的隔离和保护关键词关键要点【栈帧的隔离和保护】:

1.栈帧隔离是通过在内存中为每个函数分配一个独立的栈帧来实现的。栈帧包含了函数的局部变量、参数和返回地址。

2.栈帧保护是通过使用硬件和软件机制来防止栈溢出和栈下溢攻击。栈溢出是指栈帧中的数据溢出到相邻的栈帧中,栈下溢是指栈帧中的数据被相邻的栈帧中的数据覆盖。

3.栈帧隔离和保护对于保护程序的安全性非常重要。栈溢出和栈下溢攻击可以让攻击者执行任意代码,从而控制程序的执行流。

【栈帧中的数据访问控制】:

#栈帧的隔离和保护

栈帧是栈中的一段连续内存区域,它为函数调用提供了一个隔离和保护的环境。每个函数调用都会在栈中创建一个新的栈帧,并且该栈帧只对该函数调用可见。这意味着,一个函数调用中的变量和数据不会影响到其他函数调用中的变量和数据。

栈帧的隔离和保护主要通过以下机制实现:

*栈指针的管理:栈指针是一个指向栈顶的指针。当一个函数调用时,栈指针会向栈顶移动,以便为新的栈帧分配空间。当函数调用结束时,栈指针会向栈底移动,以便释放该栈帧所占用的空间。这样,每个栈帧都拥有自己独立的空间,互不影响。

*基址寄存器的管理:基址寄存器是一个指向栈底的指针。当一个函数调用时,基址寄存器会向栈底移动,以便为新的栈帧分配空间。当函数调用结束时,基址寄存器会向栈顶移动,以便释放该栈帧所占用的空间。这样,每个栈帧都拥有自己独立的基址,互不影响。

*栈保护页的设置:栈保护页是一个位于栈顶和栈底之间的内存区域。它用来防止栈溢出和栈下溢。当栈指针向栈顶移动时,如果遇到栈保护页,则会引发异常。当栈指针向栈底移动时,如果遇到栈保护页,则会引发异常。这样,可以防止栈溢出和栈下溢。

栈帧的隔离和保护机制确保了不同函数调用之间的相互独立性。这对于程序的正确性和安全性至关重要。第五部分返回地址操纵攻击防护关键词关键要点【基于栈的缓冲区溢出攻击】:

1.介绍什么是基于栈的缓冲区溢出攻击,以及它如何利用程序栈来执行恶意代码。

2.分析攻击者如何利用缓冲区溢出攻击来修改程序的控制流,以执行任意代码。

3.如何利用数据执行保护(DEP)和地址空间布局随机化(ASLR)等技术来缓解基于栈的缓冲区溢出攻击。

【返回地址操纵攻击】

返回地址操纵攻击防护

返回地址操纵攻击是栈攻击的一种常见类型,攻击者通过操纵函数返回地址,使程序跳转到攻击者指定的恶意代码处执行。针对返回地址操纵攻击,栈访问控制模型提出了多种防护技术,包括:

#栈随机化

栈随机化是一种常用的防护技术,它通过随机化栈的起始地址和大小来增加攻击者预测函数返回地址的难度。当程序启动时,栈的起始地址和大小都会被随机选择,这样攻击者就无法通过固定偏移量来预测函数返回地址。

#栈保护器

栈保护器是一种硬件级防护技术,它在栈中插入一个特殊的保护区域,称为栈保护器。栈保护器包含一个随机值,当函数返回时,栈保护器中的值会被检查。如果栈保护器中的值与函数调用的参数不匹配,则会引发异常,程序将终止执行。

#控制流完整性

控制流完整性是一种软件级防护技术,它通过在程序中插入检查点来检测函数返回地址是否被篡改。当函数返回时,控制流完整性检查器会检查函数返回地址是否有效,如果函数返回地址无效,则会引发异常,程序将终止执行。

#影子栈

影子栈是一种软件级防护技术,它为每个函数创建一个影子栈,影子栈中存储着函数的返回地址。当函数返回时,影子栈中的返回地址会被检查,如果影子栈中的返回地址与函数调用的参数不匹配,则会引发异常,程序将终止执行。

#其他防护技术

除了上述几种防护技术之外,栈访问控制模型还提出了一些其他的防护技术,包括:

*函数指针保护:函数指针保护是一种防护技术,它通过在函数指针前添加一个随机值来防止攻击者篡改函数指针。

*堆栈分离:堆栈分离是一种防护技术,它通过将堆和栈分离开来,使攻击者无法通过栈攻击来覆盖堆中存储的数据。

*内存安全编程语言:内存安全编程语言是一种编程语言,它通过提供内存安全保证来防止栈攻击。第六部分栈溢出攻击的检测与防御关键词关键要点栈溢出攻击的检测技术

1.控制流完整性(CFI)技术:CFI技术通过在程序执行过程中不断检查控制流的完整性来检测栈溢出攻击。如果检测到控制流被破坏,则可以立即终止程序执行,防止攻击者利用栈溢出漏洞执行任意代码。

2.栈随机化技术:栈随机化技术通过在每次程序执行时随机改变栈的地址来增加栈溢出攻击的难度。这样,攻击者即使能够成功利用栈溢出漏洞将恶意代码注入到栈中,也无法知道恶意代码的准确位置,从而无法成功执行攻击。

3.栈保护器技术:栈保护器技术通过在栈中插入一个特殊的保护区域来检测栈溢出攻击。如果攻击者试图将恶意代码注入到栈保护区域中,则栈保护器会立即检测到攻击并终止程序执行。

栈溢出攻击的防御技术

1.输入验证:对程序的输入进行严格的验证,过滤掉可能包含恶意代码的输入,从而防止攻击者利用栈溢出漏洞注入恶意代码。

2.编译器优化:使用编译器优化技术来消除栈溢出漏洞,例如,使用栈保护器技术、控制流完整性(CFI)技术等。

3.操作系统安全机制:操作系统也可以提供一些安全机制来防御栈溢出攻击,例如,地址空间布局随机化(ASLR)技术、内存保护技术等。栈溢出攻击的检测与防御

1.栈溢出攻击检测

栈溢出攻击的检测方法主要有以下几种:

*边界检查:在函数调用时,对传入的参数进行边界检查,确保参数不会超出栈的范围。

*栈哨兵:在栈的末尾放置一个哨兵值,当栈溢出时,哨兵值会被覆盖,从而可以检测到栈溢出。

*栈哈希:对栈中的数据进行哈希计算,当栈溢出时,哈希值会发生变化,从而可以检测到栈溢出。

*栈随机化:将栈的地址随机化,使攻击者难以猜测栈的地址,从而降低栈溢出攻击的成功率。

2.栈溢出攻击防御

栈溢出攻击的防御方法主要有以下几种:

*编译器检查:在编译阶段,编译器可以对程序进行检查,发现栈溢出漏洞并发出警告。

*运行时检测:在程序运行时,可以对栈进行监视,检测栈溢出并采取措施。

*地址空间布局随机化(ASLR):将程序的代码、数据和栈的地址随机化,使攻击者难以猜测这些地址,从而降低栈溢出攻击的成功率。

*栈保护:在栈中放置一个保护区域,当栈溢出时,保护区域会被覆盖,从而可以检测到栈溢出。

3.栈溢出攻击的案例

栈溢出攻击是一个非常常见的攻击方式,历史上发生过许多著名的栈溢出攻击事件,例如:

*Morris蠕虫:1988年,Morris蠕虫通过利用栈溢出漏洞感染了成千上万台计算机。

*CodeRed蠕虫:2001年,CodeRed蠕虫通过利用栈溢出漏洞感染了数十万台计算机。

*Slammer蠕虫:2003年,Slammer蠕虫通过利用栈溢出漏洞感染了数百万台计算机。

*Heartbleed漏洞:2014年,Heartbleed漏洞被发现,该漏洞允许攻击者通过栈溢出攻击窃取服务器上的数据。

4.栈溢出攻击的危害

栈溢出攻击可以导致以下危害:

*程序崩溃:栈溢出攻击可以导致程序崩溃,从而使程序无法正常运行。

*数据泄露:栈溢出攻击可以导致数据泄露,攻击者可以窃取程序中的敏感数据。

*任意代码执行:栈溢出攻击可以导致任意代码执行,攻击者可以在程序中执行任意代码,从而控制程序的执行流程。

5.栈溢出攻击的预防

为了预防栈溢出攻击,可以采取以下措施:

*使用安全的编程语言:使用一些具有内存保护功能的编程语言,如C++、Java等,可以降低栈溢出攻击的风险。

*注意边界检查:在程序中进行边界检查,确保不会出现数组越界、指针越界等错误。

*使用栈保护机制:使用栈保护机制,当栈溢出时,可以及时检测到并采取措施。

*更新软件:及时更新软件,安装最新的安全补丁,可以修复已知的栈溢出漏洞。第七部分安全的栈实现技术关键词关键要点【栈保护技术】:

1.增加堆栈段寄存器(SSP)的保护能力。将保护能力赋予硬件和处理器层面,只要栈被破坏,处理过程将立即中断。

2.划分硬件栈为多个栈控件,设置栈指针范围,防止缓冲区溢出攻击。

3.采用基于二进制翻译的栈保护方法,提升保护性能,避免缓冲区溢出。

【内存保护技术】:

安全的栈实现技术

栈是一种重要的数据结构,广泛应用于各种操作系统和编程语言中。然而,传统的栈实现方法存在着严重的biztonsızlıklar,例如缓冲区溢出攻击。为了解决这些Sicherheitslücken而保护应用程序的运行安全,需要采用安全的栈实现技术。

1.地址空间布局随机化(ASLR)

ASLR是一种随机化内存布局的技术,可以有效防御缓冲区溢出攻击。在采用ASLR的系统中,堆、栈和代码段的地址空间位置会在每次进程启动时随机分配。这样,即使攻击者成功获得了栈或堆内存的控制权,也无法跳转到代码段执行任意代码。

2.栈保护器(SSP)

SSP是一种编译器和运行时库级别的安全机制,可以检查栈指针和栈帧指针是否被破坏。SSP会在栈中分配一个额外的区域,用来存储栈指针和栈帧指针。在每次函数调用和返回时,SSP都会检查这些指针的值,如果指针值被破坏,则会触发一个异常。

3.栈溢出检测器(SOD)

SOD是一种运行时检测栈溢出的技术。SOD会在栈中分配一个额外的区域,用来存储栈溢出检测值。在每次函数调用和返回时,SOD都会检查栈溢出检测值是否被破坏。如果检测值被破坏,则表明发生了栈溢出,SOD会触发一个异常。

4.影子栈(ShadowStack)

影子栈是一种与实际栈并行存在的虚拟栈。影子栈中存储着实际栈中每个栈帧的元数据,如栈帧大小、栈帧返回地址等。在每次函数调用和返回时,影子栈都会被更新。如果实际栈被破坏,影子栈可以用来恢复栈的状态。

5.非可执行栈(NXStack)

非可执行栈是一种不允许栈内存被执行的保护机制。在支持NXStack的系统中,栈内存会被标记为不可执行。这样,即使攻击者成功获得了栈内存的控制权,也无法在栈内存中执行任意代码。

6.栈指针随机化(SSP)

栈指针随机化是一种在每次函数调用时随机改变栈指针值的技术。这样,即使攻击者成功获得了栈指针的值,也无法准确地预测栈中其他变量的地址。

7.硬件支持的栈保护(HASP)

HASP是一种在硬件级别实现栈保护的技术。HASP可以在硬件中实现栈指针检查、栈帧指针检查、栈溢出检测等功能。HASP可以提供比软件实现的栈保护机制更高的性能和安全性。

8.软件冗余栈(SRS)

软件冗余栈是一种使用两个或多个独立的栈来保护应用程序的栈。在SRS中,每个线程或函数都会分配一个独立的栈。这样,即使一个栈被破坏,其他栈仍然可以正常使用。第八部分栈访问控制模型的局限性关键词关键要点可扩展性问题

1.栈访问控制模型在大型分布式系统中难以扩展。当系统规模不断增长时,栈中的访问控制信息会变得非常庞大,导致性能下降。

2.栈访问控制模型难以处理动态变化的访问控制需求。当用户或资源的权限需要频繁更改时,栈访问控制模型难以及时更新,导致访问控制策略难以维护。

3.栈访问控制模型难以支持多域访问控制。当需要跨越多个域进行访问控制时,栈访问控制模型难以实现。

安全性问题

1.栈访问控制模型存在安全漏洞。如果攻击者能够获得栈中的访问控制信息,则可以利用这些信息绕过访问控制策略,访问受保护的资源。

2.栈访问控制模型难以防止特权升级攻击。如果攻击者能够获得较低权限的访问权限,则可以通过不断提升自己的权限,最终获得最高权限。

3.栈访问控制模型难以防止拒绝服务攻击。如果攻击者能够向栈中注入恶意数据,则可以导致栈崩溃或性能下降,从而导致拒绝服务攻击。

性能问题

1.栈访问控制模型的性能开销较大。当需要对大量请求进行访问控制时,栈访问控制模型会引入较大的性能开销,导致系统性能下降。

2.栈访问控制模型难以优化。由于栈访问控制模型的实现方式比较复杂,因此难以优化,导致性能难以提高。

3.栈访问控制模型难以支持实时访问控制。当需要对实时数据进行访问控制时,栈访问控制模型难以满足实时性的要求。

兼容性问题

1.栈访问控制模型与现有的安全标准兼容性较差。栈访问控制模型是一种新的访问控制模型,与现有的安全标准兼容性较差,导致难以集成到现有的安全系统中。

2.栈访问控制模型与现有的安全工具兼容性较差。栈访问控制模型与现有的安全工具兼容性较差,导致难以使用现有的安全工具来管理栈访问控制模型。

3.栈访问控制模型与现有的安全实践兼容性较差。栈访问控制模型与现有的安全实践兼容性较差,导致难以将栈访问控制模型应用到实际的安全场景中。

成本问题

1.栈访问控制模型的部署成本较高。栈访问控制模型是一种新的访问控制模型,需要额外的软硬件支持,导致部署成本较高。

2.栈访问控制模型的维护成本较高。栈访问控制模型的实现方式比较复杂,导致维护成本较高。

3.栈访问控制模型的培训成本较高。栈访问控制模型是一种新的访问控制模型,需要对系统管理员进行专门的培训,导致培训成本较高。

用户体验问题

1.栈访问控制模型的操作复杂。栈访问控制模型的操作比较复杂,导致用户难以理解和使用。

2.栈访问控制模型的管理困难。栈访问控制模型的管理比较困难,导致系统管理员难以维护和管理。

3.栈访问控制模型的扩展困难。栈访问控制模型的扩展比较困难,导致难以满足不断变化的安全需求。#栈访问控制模型的局限性

栈访问控制模型(SACM)是一种访问控制模型,它使用堆栈(一种数据结构)来跟踪主体和客体的访问控制列表(ACL)。当主体请求访问客体时,SACM会检查堆栈并确定主体是否具有访问客体的权限。如果主体具有访问客体的权限,则SACM会授予访问权限。否则,S

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论