【《蜜网主动防御系统设计与实现案例》9300字】_第1页
【《蜜网主动防御系统设计与实现案例》9300字】_第2页
【《蜜网主动防御系统设计与实现案例》9300字】_第3页
【《蜜网主动防御系统设计与实现案例》9300字】_第4页
【《蜜网主动防御系统设计与实现案例》9300字】_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

蜜网主动防御系统设计与实现案例目录TOC\o"1-3"\h\u15103蜜网主动防御系统设计与实现案例 I244901.1系统需求概述 I73461.1.1功能性需求分析 I51711.1.2非功能性需求分析 II212091.2系统总体设计 II216591.3静态请求响应模块的设计与实现 V201381.4攻击连接分类模块的设计与实现 VIII310181.5攻击行为捕获模块的设计与实现 XI111521.6日志管理模块的设计与实现 XVI系统需求概述基于强化学习的蜜网主动防御系统包括四个模块,分别是:静态请求响应模块、攻击连接分类模块、攻击行为捕获模块和日志管理模块。通过上述四大模块完成蜜网对网络攻击的分阶段、分类别响应,合理分配资源的同时更长时间地观察攻击者行为,分类收集数据。本节将结合四大模块对系统的功能需求与非功能需求进行详细分析。功能性需求分析通过前文第三章关于蜜网系统架构的设计,系统应该具有以下功能特性:1.对于网络攻击的准备阶段而言,蜜网主动防御系统应具有模拟真实网络环境的能力。蜜网主动防御系统应当具有周期性扫描网络环境的能力,并将网络环境的相关信息持久化到系统当中。当攻击者利用简单的请求对蜜网系统的真实性进行判断、确定攻击目标和收集相关信息时,蜜网系统能够及时响应,诱骗攻击者进入网络攻击的下一阶段。2.对于网络攻击执行阶段的前期而言,蜜网主动防御系统首先应具有对SSH连接分类的能力。根据攻击者和蜜罐建立的SSH会话信息,蜜网系统通过可信度推理建立推理知识库,得到推理结果,准确、快速地将攻击连接请求分类为自动化攻击和人为攻击。3.对于网络攻击执行阶段的后期而言,针对不同类型的攻击,蜜网主动系统能分类响应,对于自动化攻击最大程度捕获攻击数据,对于人为攻击提供真实的操作系统和服务,避免蜜罐被识别从而停止攻击。4.对于网络攻击后续阶段而言,蜜网主动防御系统能在诱骗攻击者的同时,保护业务网络环境的安全,防止攻击者利用蜜网为跳板对业务环境造成威胁。5.蜜网主动防御系统在处理攻击请求的过程当中产生的过程信息都需要进行收集,通过可视化的收集信息展示可以使得安全专家对于攻击流的处理有更为全面的认知。非功能性需求分析除了上述基本的功能性需求外,本系统的设计还应满足直观性、稳定性、可扩展性等非功能性需求。(1)直观性:本系统的展示界面应该能够直观地显示系统各个功能模块的运行状态,并且能够对蜜罐的响应历史进行展示,使得用户能够对各个模块的运行状态有直观的认知。(2)稳定性:本系统中的各个模块之间能够运行,如果系统被攻击或是出现了其他致使系统失效的事件,也能够使得数据不丢失且系统能够在第一时间恢复。(3)可扩展性:本文所提出的系统的各个模块应避免耦合,在后续系统需要添加新功能或是新模块时能够可插拔的进行。系统总体设计本系统是一个严密受监控的蜜网主动防御系统,系统的组成模块主要包括静态请求响应模块、攻击连接分类模块、攻击行为捕获模块和日志管理模块。具体的系统模块图如下图4-1所示:图4-1基于强化学习的蜜网主动防御系统模块图蜜网系统工作时的具体流程如下图所示:图4-2基于强化学习的蜜网主动防御系统工作流程图静态请求响应模块根据获取当前真实环境的网络信息模拟出一个虚拟的网络环境,当有攻击者访问蜜网时,静态请求响应模块向攻击者返回虚拟的主机信息、端口信息、运行服务等,使其误以为处于真实环境,提高蜜网的诱骗性。当攻击者发起SSH会话进入网络攻击的下一阶段时,静态响应模块将攻击流量转发至攻击行为捕获模块。根据SSH会话的相关特性,攻击连接分类模块建立推理知识库,将攻击分为自动化攻击和人为攻击。如果是自动化攻击,将SSH连接转发至自适应蜜罐;如果是人为攻击,则将SSH连接重定向至高交互蜜罐。蜜网系统的三个功能模块层层递进,相互配合,构成了一个严密的欺骗环境。静态请求响应模块的设计与实现在网络攻击的第一个阶段攻击准备阶段时,攻击者的大多行为为试探性行为,通常利用简单的请求对系统的真实性进行判断、确定攻击目标和收集相关信息。为了能够在保证系统隐蔽性的前提下进一步降低响应的成本,本文将攻击者对蜜网发起的请求分为静态请求和动态请求。其中,静态请求指的是攻击者对某些常见端口、服务、协议等的请求或访问,针对这些服务的静态请求通常是无状态的,即请求之间不存在着上下文之间的关联关系,其对应返回的响应不会随着时间而变化。动态请求为建立在网络连接上的访问,在访问过程中,攻击者需和节点保持稳定的连接,在此过程中进行着有状态且依赖于上下文的交互,最具代表的是SSH会话。根据第一阶段攻击者的行为和需求,本文采用静态请求响应功能来响应攻击的准备阶段。静态请求响应模块包含三个部分,分别是网络环境获取子模块、网络环境数据存储子模块和网络环境模拟子模块。网络环境获取子模块:定期扫描当前系统环境,获取真实网络环境数据,数据包括虚拟主机的数量、IP地址、开放的端口、运行的服务、主机操作系统等信息。网络环境存储子模块:将获取的真实网络环境数据以JSON格式文件存储,同时也保存在数据库。网络环境模拟子模块:根据获取的真实网络环境数据,为攻击者提供一个拟合度很高的网络拓扑环境,根据系统的真实拓扑结构及特点对外暴露出特定的协议、端口以及服务。下图为静态请求响应模块的工作原理图:图4-3静态请求响应模块的工作原理图真实网络环境的正确及时获取是本模块功能正常运行的基础,本文通过定期网络扫描来获取当前的真实系统环境。通过网络扫描,蜜网可以获取当前局域网的真实网络信息,例如主机存活数、端口开放情况、主机运行服务、主机操作系统类型等。同时,蜜网在获得当前真实系统环境的网络信息后能及时反馈给网络环境模拟部分,保持网络环境模拟的仿真度。网络扫描完成后,获取的真实网络环境数据将以文件形式持久化到磁盘和数据库。真实网络环境并不是一成不变的,网络扫描的定期执行保证了获取数据的及时性和真实性网络环境获取子模块通过Python调用Nmap工具库实现,部分代码如下所示:算法4.1网络环境获取子模块部分代码defnetwork_topology_scan(ip):globalnm#通过ICMP协议判断主机是否能够响应p=subprocess.Popen("ping-c1-t1"+ip,stdin=subprocess.PIPE,stdout=subprocess.PIPE,#读取ping的结果out=read(p)…#如果主机能够进行相应,则对主机进行nmap扫描ifhas_ICMP_resp(out):try:#调用nmap扫描主机操作系统,同时探嗅主机中开放的端口nm.scan(ip,arguments='-O-sS-sU-F')scanResult=transferNMapResult(nm[ip])#存储nmap的结果storeResult(scanResult) except:pass扫描完成后,结果以JSON格式文件存储。同时,提取网络信息数据中的IP地址、端口号、端口协议、端口服务、主机操作系统等数据,持久化到数据库用以备份和方便查看。网络环境模拟子模块定期提取JSON文件中的环境数据,确定网络环境部分提供的虚拟主机的数量、开放的端口、运行的服务等信息,一个拟合度很高的实时网络拓扑环境。根据获取的网络环境数据和本模块的功能需求,数据库中网络信息表的具体设计如下表4-1所示:表4-1网络信息表字段类型长度主键与约束说明idhostIpintvarchar3232主键非空网络信息表对应的id扫描结果中的IP地址hostStatusint1非空主机状态,是否在线portIdportStatusportProtoportServiceosInfointintvarcharvarcharvarchar1612020200非空非空可为空值可为空值可为空值端口号端口状态,是否开放端口协议端口服务操作系统信息网络环境模拟子模块主要包含以下两个功能:1.在指定的端口以特定的协议监听,对连接的请求返回特定的回应。2.对于未监听端口的请求,并不直接返回500状态码,而是将请求进行转发。同时,在蜜罐接受到请求时,会将日志信息持久化到本地文件中,供安全人员分析。本文中的低交互蜜罐采用Honeyd,它能够监听当前网络中所有未被分配的IP地址,对于这些IP地址的请求访问不在预期范围内,因此这种访问也是非授权的。当有外部请求企图链接这些IP时,Honeyd将会伪装成主机进行处理与回应。由于Honey本身支持重定向功能,因此,Honeyd本身可以将攻击流量转发到自适应蜜罐当中。Honeyd作为一种静态的低交互蜜罐,在启动服务之前,将监听的端口号、监听的IP地址、网络类型、相应的反应等信息持久化写入到磁盘当中。Honeyd的语法采用的是一种上下文无关的语法,这种语法一共有4种关键字,分别是create、set、add、bind。create关键字的作用是生成一个模板Template,创建的模板与低交互蜜罐是1:1的对应关系,因此每一个模板都对应绑定一个IP,并且通过模板低交互蜜罐能够显式地定义监听的端口及响应内容。set关键字用于更改低交互蜜罐的属性信息,如操作系统类型、协议栈等信息。add关键字可以指定模板开启的服务,该关键字不仅可以指定TCP服务也可以指定UDP服务,add命令还可以为端口绑定特定的应用程序,且对于每一个访问请求,该模板绑定的蜜罐都会建立新的进程服务。bind关键字用于给模板绑定IP地址,bind关键字一般出现在模板的末尾。如果访问特定的IP时该IP未绑定任何模板,那么该IP将会绑定默认模板。以下为网络环境模拟子模块的伪代码:算法4.2网络环境模拟子模块的伪代码初始化:网络环境节点ip列表Lnode_ip,节点与节点监听服务端口映射关系M<node_ip,port>,网络环境支持模拟响应端口列表Lport,响应端口与响应模板映射关系M<port,template>,扫描时间间隔Tgap。其中,每间隔Tgap时间,网络环境模拟模块触发扫描全网环境的定时任务,并更新网络环境节点ip列表输入:攻击请求Reqest1.解析攻击请求Reqest,获取攻击请求端口Preq,攻击请求IP地址2.遍历网络环境节点ip列表Lnode_ip,判断L3.通过节点与节点监听服务端口映射关系M<node_ip,port>,判断该节点是否开放了请求的端口P4.遍历网络环境支持模拟响应端口列表Lport5.通过响应端口与响应模板映射关系M<port,template>攻击连接分类模块的设计与实现攻击连接分类模块包含三个部分,分别是SSH代理子模块、SSH会话管理子模块和基于可信度推理的会话分类子模块。SSH代理子模块:用于将SSH会话透明重定向到高交互蜜罐。SSH会话管理子模块:用于管理当前所有的在线SSH会话。它允许蜜网的管理员远程连接到该节点,并允许管理员实时观察攻击者的活动,同时可以延长连接分类子模块决策时间,例如是否重定向攻击者或者断开与攻击者的连接。它还充当连接分类子模块和SSH代理子模块之间的桥梁,管理两者之间的通信。基于可信度推理的连接分类子模块:用于评估从静态请求响应模块接收的数据,决定是否将攻击者重定向到高交互蜜罐。下图为攻击连接分类模块的工作原理图:图4-4攻击连接分类模块的工作原理图当攻击者发起SSH连接请求时,首先由自适应蜜罐与攻击者建立连接。攻击者在与自适应蜜罐短暂交互过程中,连接分类子模块根据SSH会话的相关特性建立推理知识库,通过可信度推理判断该攻击为自动化攻击或者人为攻击。如果结论是自动化攻击,SSH代理子模块通知自适应蜜罐,继续保持该连接;如果结论是人为攻击,SSH代理子模块将连接透明重定向到高交互蜜罐,同时连接分类子模块通知高交互蜜罐准备接收连接,自适应蜜罐也会将之前交互过程中的上下文信息发送给高交互蜜罐,保持交互信息的一致性。每收到一个SSH会话请求,都会经过SSH代理,SSH代理将管理SSH连接,并且使之与自适应蜜罐建立连接。自适应蜜罐给攻击者提供了一个SSH交互环境,攻击者在交互前需要输入用户名和密码进行登录验证。登录成功后,攻击者可以与系统进行交互,继续后续的攻击行为,例如输入命令、下载恶意软件等。攻击者的每一个行为都用两种方式进行记录,第一种方式是将输入的所有命令都将保存在中央MySQL数据库,第二中方式是在连接过程中,每一次键盘按压都将存储在本地tty日志中。自适应蜜罐会将与攻击者交互的每一条命令、下载的文件等数据实时发送给连接分类子模块,同时,会及时反馈通知攻击者连接成功建立、成功登录、连接断开等消息。连接分类子模块推理所需要的SSH连接相关数据主要为:会话标识、IP地址、SSH客户端、终端窗口大小、输入命令、命令输入时间、命令输入数量、尝试的密码。下图为攻击连接分类模块的工作流程图:图4-5攻击连接分类模块的工作流程图当连接分类子模块收到新的攻击者连接到自适应蜜罐的消息时,它会启动一个计时器,给攻击者一定的时间登录。时间量是根据以前的经验校准的。如果攻击者未能在分配的时间内登录,连接分类子模块会忽略它,以免浪费系统资源,因为没有进一步的活动要分析。如果攻击者在分配的时间内登录,第一个计时器将被丢弃,第二个计时器将启动。这个计时器给攻击者一定的时间与系统交互,为连接分类子模块提供数据。该定时器的时间量也基于先前的经验进行校准。在分配的时间过去后,通过验证第三章3.3.2中描述的两个假说来评估攻击者的活动。基于这个结果,连接分类子模块认为攻击者被重定向到一个高交互蜜罐,或者留在自适应蜜罐上。如果推理结果为重定向到高交互蜜罐,连接分类子模块向SSH代理子模块发送该消息,SSH代理将会话重定向到一个高交互蜜罐。同时,连接分类子模块还向管理高交互蜜罐的虚拟机的脚本发送消息,通知它准备接收连接。攻击者登录后,连接分类子模块还会监控SSH会话的本地tty日志。如果检测到明显属于人类行为的活动,例如使用退格键、删除或方向箭头,则定时器终止,会话立即被重定向到高交互蜜罐。在推理过程中,连接分类子模块需要的一些数据是从外部来源获得的,例如VirusT、Shodan.io和ReputationA。连接分类子模块还可以访问中央数据库,其中包含所有自适应蜜罐与攻击者交互的命令和攻击者下载的文件,同时还包括VirusT测试下载文件的结果,以避免不必要地重新测试同一文件。从会话建立的那一刻起,SSH代理就在发送SSH消息。建立会话后,会发送“REGISTER”。定期发送“PING”信号通知正在运行的会话。当攻击者断开连接时,会发送“EXIT”。在攻击者超时的情况下,会发送“TIMEOUT”。本文的SSH代理采用sshd_mitm进行实现,该工具的主要目标是收集用户的认证。sshd_mitm工具仅仅是几个脚本和一个补丁,当应用到OpenSSH服务器时,其会将SSHD转换成一个代理,在与指定主机的所有SSH连接上执行中间人攻击。去往目标主机的所有连接都将通过ARP欺骗屏蔽攻击者的感知,防止被攻击者识别。尽管sshd_mitm较为简单,缺少一些强大的功能,但是其可以满足透明重定向的基本需求。基于可信度的连接分类推理伪代码如下:算法4.3基于可信度的连接分类推理伪代码forevidenceinlistOfEvidence:CF_Evidence=M_Evidence*max(CF_estimate_Evidence,0)if(CF_Hypothesis*CF_Evidence>=0):CF_Hypothesis=(CF_Hypothesis+CF_Evidence)-(CF_Hypothesis*CF_Evidence)else:CF_Hypothesis=(CF_Hypothesis+CF_Evidence)/(1-min(abs(CF_Hypothesis),abs(CF_Evidence)))攻击行为捕获模块的设计与实现本文的攻击行为捕获模块由两种类型的蜜罐组成,分别是中交互蜜罐和高交互蜜罐。中交互蜜罐为本文基于强化学习提出的一种自适应蜜罐,用于响应针对蜜网的自动化攻击。该蜜罐采用Q-learning强化学习算法,自适应蜜罐通过与攻击者交互过程中学习,生成使得攻击者暴露更多有价值的攻击数据的最佳交互策略,能够最大程度地收集自动化攻击的命令和数据。高交互蜜罐是一个完备的Linux系统,用于响应复杂的人为攻击。高交互蜜罐提供真实的操作系统和服务,其诱骗程度和交互程度远远高于其他类型的蜜罐,能够捕获大量的攻击数据和威胁信息。本文的攻击行为捕获功能中包含的两种类型的蜜罐作为一个整体来响应网络攻击中准备阶段的后两个阶段。由于自动化攻击中的攻击行为大多具有一定的攻击模型和常见的攻击命令,易于学习从而生成交互决策;而网络攻击后两个阶段中中的人为攻击具有随机性和不确定性,攻击者不会高频且反复地对蜜网进行攻击,蜜罐的学习效果差。同时,人为攻击的攻击行为相对于自动化攻击而言千差万别,通过学习生成的交互策略难以收敛。因此,本文攻击行为捕获功能中的高交互蜜罐不引入强化学习,给予攻击者较高的自由度,同时也避免了强化学习过程中初期策略不成熟造成的蜜罐环境暴露。本节主要介绍自适应蜜罐的设计与实现。本文基于一个中高交互的开源SSH和Telnet蜜罐Cowrie来设计和实现自适应蜜罐。Cowrie是前Kippo蜜罐项目的分支,Kippo蜜罐项目在过去几年没有更新,因此不考虑Kippo蜜罐项目。Cowrie蜜罐系统使用twistd库来模拟成熟的SSH服务器,提供了一套完整的Linux命令模拟,以便给外部攻击者实现其目标的可能性。该系统被许多活跃于网络安全领域的组织广泛使用,如CERTs、防病毒供应商和大学。通过蜜罐模拟的虚假Debian系统、虚假文件系统、下载命令例如wget等,该蜜罐系统能够收集足够有价值的信息。所有的日志都可以存储在Mysql数据库中,以便防御者以后查看,甚至可以使用playlog.py等工具以形象的方式进行重现。本文中的自适应蜜罐使用PyBrain对强化学习模块进行开发。自适应蜜罐系统的工作原理如下图4-6所示,包括几个具有特定角色的模块:蜜罐模块、动作模块、RL模块。图4-6自适应蜜罐工作原理图蜜罐模块是基于Cowrie开源蜜罐进行实现的,在原有蜜罐的基础上,增加了一个代理模式。在代理模式下,蜜罐模块充当Linux操作系统shell和攻击者访问的模拟shell之间的代理。这样,在操作系统执行攻击者命令之前,蜜罐模块将等待RL模块决定的操作。动作模块充当蜜罐模块和RL模块之间的中介。它的目的是实现由蜜罐模块提供给攻击者的shell中的动作。应该触发哪个操作以及何时触发的决定来自RL模块。RL模块使用Q-learing算法完成强化学习模块,采用Python的机器学习模块PyBrain实现。PyBrain通过在其库中提供强化学习算法的必要组件来帮助一个非常简单的实现。该模块在MySQL数据库中保存所有的Q值。在实现Q-learing算法时,相关的决策函数和参数如下:决策函数采用ε-greedy。蜜罐环境对于智能体来说是未知的,在没有先验知识的情况下进行学习,需要在探索和利用中寻找一个平衡。折扣因子γ=1。这也意味着没有使用折扣,因为在SSH会话期间,攻击者在每一回合中执行的命令很明确。学习效率α=0.5,采用常见的默认值。以下为自适应蜜罐中RL模块的部分详细代码。算法4.4自适应蜜罐RL模块部分代码classRL:def_init_(self):self.av_table=ActionValueTable(4,5)self.av_table.initialize(0.1)learner=QLearning()learner._setExplorer(EpsilonGreedyExplorer(0.9))self.agent=LearningAgent(self.av_table,learner)env=RLSSHEnv()task=RLSSHTask(env)self.experiment=Experiment(task,self.agent)defgo(self):self.experiment.doInteractions(1)self.agent.learn()defrl_start_thread():t=threading.Thread(target=rl_run)…classHASSHEnv(Environment):indim=5outdim=4defgetSensors(self):val=getCurrentCommand()return[val,]通过将自适应蜜罐系统各模块进行整合与设计,系统的主要工作流程如下图所示。图4-7自适应蜜罐工作流程图本文所提出的自适应蜜罐会将SSH有价值的会话信息记录到MySQL数据库当中,如认证信息、SSH会话中输入的命令、攻击者的IP等。在MySQL当中,我们用到的核心数据表主要有:会话建立认证表(auth)、攻击者命令输入表(commands)、会话信息记录表(sessions)、日志存储目录表(ttylog)。本文所用到的核心数据库表的具体说明如下表3-1所示。表4-2恶意软件检测系统核心数据库表表名说明auth会话建立认证表。主要记录当攻击者建立起与自适应蜜罐的链接时所输入的认证信息以及对应的sessionmands攻击者命令输入表。主要记录了当攻击者建立SSH会话后,在控制台tty上所输入的命令及对应的时间戳sessions会话信息记录表。主要记录了会话的起始时间以及截止时间,还有相对应的攻击者的IP。ttylog日志存储目录表。主要记录了相对应SSH会话所记录的日志存储目录。结合具体的业务需求,核心数据库表的详细设计如下。会话建立认证表。表4-3会话建立认证表字段类型长度主键与约束说明idint11主键攻击者连接蜜罐时认真信息的idsessionchar32非空攻击者建立的SSH会话的idsuccesstinyint1非空攻击者是否成功通过认证,其中0代表失败,1代表成功usernamevarchar100非空攻击者在建立SSH会话时所使用的用户名passwordvarchar100非空攻击者在建立SSH会话时所使用的密码timestampdatetime100非空攻击者建立SSH会话的时间戳攻击者命令输入表表4-4攻击者命令输入表字段类型长度主键与约束说明idint11主键攻击者命令输入对应的idsessionchar32非空攻击者建立的SSH会话的idtimestampdatetime-非空攻击者在SSH会话控制台中输入命令时对应的时间戳successtinyint1可为空值蜜罐是否成功响应攻击者,其中0代表失败,1代表成功inputtext-非空攻击者输入的命令actiontinytext-可为空值蜜罐对攻击者输入的命令所采取的策略,与前文相同,策略主要为允许动作“allow”,组织动作“block”,延迟动作“delay”,欺骗动作“fake”。会话信息记录表表4-5会话信息记录表字段类型长度主键与约束说明idint32主键攻击者的会话信息记录对应的idstarttimedatetime-非空攻击者建立的SSH会话的起始时间endtimedatetime-可为空值攻击者建立的SSH会话的结束时间ipvarchar15非空攻击者建立SSH会话时暴露的IP地址termsizevarchar7可为空值攻击者建立SSH会话时对应的终端size,如70×197clientint4可为空值攻击者建立SSH会话时作为SSH会话发起者对应的id。日志存储目录表表4-6日志存储目录表字段类型长度主键与约束说明idint11主键日志存储目录信息对应的idsessionchar32非空攻击者发起的SSH会话的sessionidttylogvarchar100非空攻击者建立的SSH会话中产生的日志的存储位置sizeint11非空攻击者在建立的SSH会话的控制台当中产生的日志的大小它们之间的实体关系如下图4-8所示。图4-8数据库表实体关系图日志管理模块的设计与实现日志管理模块将攻击者在蜜网系统中留下的数据集中存储下来,方便攻击数据可视化和未来研究的攻击行为分析。日志管理模块采用ELK进行实现,对攻击者在蜜网系统中的日志数据进行有效的采集、稳定的存储以及友好的结果展示。本文设计的蜜网主动防御系统基于开源的数据分析引擎ELK来实现日志管理模块。ELK是一种日志收集管理的常用组合,由搜索和分析引擎Elasticsearch、日志收集工具Logstash和日志数据可视化工具Kibana组成,分别用于日志的存储、收集和集中展示[49]。日志管理模块采用ELK+Filebeat实现。ElasticsearchElasticsearch是一种分布式的搜索与存储引擎[50],支持对海量日志数据提供存储、搜索和分析功

温馨提示

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

评论

0/150

提交评论