SNMP协议的安全性分析及其攻击与防御

来源 :电脑知识与技术·学术交流 | 被引量 : 0次 | 上传用户:nmg_zl
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:针对SNMP(简单网络管理协议)的安全威胁,文中对SNMP协议在安全性方面存在的问题进行了论述,以某知名厂商为例,探讨了利用SNMP协议对其网络设备的攻击,并据此提出了一些防范的建议与措施。
  关键词:SNMP;MIB;攻击
  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)09-11611-03
  
  The Security Analysis of SNMP Protocol and Its Attack and Defense
  ZHAO Jin-qi
  (Qinhuangdao, Hebei 92785 Troops Technology Room, Qinhuangdao 066200, China)
  Abstract: Considering the menace of SNMP’s security, In the article,the question which existed in the SNMP protocol about security has been analysed,Take a well-known manufacturer as the example, Discussed has used the SNMP protocol to its network device attack,And according to the above put forward some guards proposals and the measure for frustrating the attacks.
  Key words: Snmp; Mib; Attack
  
  网络管理协议提供了一种管理不同厂商网络设备的标准方法,实现了对网络设备规范化管理。简单网络管理协议(SNMP)由互联网体系结构委员会IAB(Internet Activities Board)下属的互联网工程任务组IETF(Internet Engineering Task Force)制定并实现,其建立在简单网关监视协议SGMP(Simple Gateway Monitoring Protocol)基础上。SNMP最初只是作为一种临时解决方案提出的,但由于其具有简单实用优点,所以大多数厂商的设备均对其支持,Internet工作委员会也推荐SNMP作为基于TCP/IP的互联网络管理标准协议,SNMP历经v1、v2(包括v2p、v2c、v2u和v2*)和V3,目前己成为INTERNET事实上的网络管理标准协议。
  
  1 SNMP基本结构及其安全性分析
  
  SNMP网络管理包括3个部分:即SNMP主体(SNMPv3之前称SNMP Agent和SNMP Managers)、管理信息库MIB(Management Information Base)和管理信息结构SMI(Structure of Management Information)。SNMP主体是网络管理站和被管代理(运行在被管设备上SNMP服务程序),MIB是存贮在被管设备上通过被管代理进行管理的管理项集合,SMI规定了MIB的体系结构和语法结构。
  1.1 SNMPv1、v2安全性分析
  SNMPv1、v2的结构模型是一个网络管理站和网元的集合,网元代理和管理站通过SNMP协议中标准消息进行明文通信,以UDP协议作传输协议,进行无连接操作,同时采用团体名作为惟一授权实体认证鉴别手段。这样实现的好处是简单高效,但极不安全。因SNMPv1、v2c管理站和被管代理之间的信息交换采用明文方式,攻击者只要能够截获管理站与被管代理的交互信息,就能轻松得到团体名。此外,攻击者利用截获的SNMP管理消息流,还可以通过恶意重组、延迟和重放等手段实现攻击目地。
  MIB为SNMP管理对象数据库,对被管代理MIB管理对象变量进行读写操作就可以实现对被管设备管理或控制。除标准MIB-2外,厂商可根据需要扩展MIB,称为私有MIB(Private MIB)。私有MIB使网络管理功能更加灵活强大,但这些增强的管理功能一旦被误用,将会对被管设备产生巨大威胁。因此,很多网管软件都避免使用这些危险功能,这就使网络管理员不了解或根本不知道有这些功能存在,而攻击者一旦了解这些功能,就能在管理员毫无防备的情况下控制或瘫痪网络设备。
  有些设备在实现SNMP时,由于程序设计存在BUG,管理站在解析和处理Trap消息及SNMP代理在处理请求消息时存在某些缺陷,当攻击者将数据包构造成含有异常字段值或过长的对象识别时,会引起管理站或被管设备内存耗尽、堆栈耗尽、缓冲区溢出及越界执行代码等致命错误,从而导致管理站、被管设备重启、死机或错误的执行某些代码。
  1.2 SNMPv3的发展与安全性分析
  SNMPv3针对前两版的缺陷,通过安全认证与消息加密技术使SNMP的安全性得到很大提高,但SNMPv3在认证和消息加密上消耗了大量管理站、被管设备及网络的资源,在效率上比前两版要低,再加上很多老设备不支持SNMPv3等原因,使得SNMPv3目前还不能得到广泛运用。即使完全使用SNMPv3管理设备,也不是百分百安全的,SNMPv3通过加密使攻击者利用嗅探方式截获SNMP主体间交换信息的攻击方法不再可行,但它不具有防御DoS攻击、防御溢出攻击、防御暴力穷举获取认证用户名与密码的能力,因此即使是完全采用SNMPv3来管理网络,设置时也要充分考虑安全方面的问题,不给攻击者以可乘之机。
  
  2 基于SNMP对网络设备的攻击
  
  以下笔者以某著名厂商(以下简称厂商A)的交换机、路由器为例,通过分析其公布的私有MIB,举例说明攻击者如何利用私有MIB的一些具体功能,达到攻击网络设备的目地。
  利用SNMP对网络设备攻击,概括来说无非通过两种方式:(1)想办法得到SNMP具有写权限的团体名(SNMPv1、v2c)、用户名与密码(SNMPv3),然后针对私有MIB某些功能对SNMP代理进行操作,达到控制或瘫痪被管设备目的;(2)构造畸型SNMP数据包,使被管代理崩溃或越界读写私有MIB项。下面假设攻击者已经得到具有写权限的团体名或用户名与密码,或者攻击者构造的畸型SNMP数据包可以使被管代理执行私有MIB管理功能,至于如何得到团体名及构造畸型SNMP数据包,在此就不再细述。
  2.1 厂商A私有MIB危险功能描述
  厂商A不同版本IOS中私有MIB内容并不相同,某版本的MIB管理项可能在其它版本就不使用或改到别的管理项中,因此笔者只针对IOS12.0举几项危险功能进行分析。
  存在FLASH上的IOS是交换机、路由器的操作系统,没有它交换机、路由器就不能工作,同样在NVRAM中如果没有正确的配置文件,设备就不能按照要求正常工作,因此这两者对设备正常工作是缺一不可的。攻击者只要针对这两个文件进行操作,就能达到瘫痪或控制被管设备的目的。
  2.2 利用SNMP下载、上传被管设备配置文件及远程执行命令
  厂商A在其IOS12.0私有MIB中有一名为ccCopyTable的表,修改此表中某些管理项值,再配合TFTP服务,可下载、上传被管设备配置文件,通过上传带命令的配置文件还可以远程执行命令。以下通过ASN.1语句来描述此表(为了方便只给出关键表项,并对表项作了简化,去除了描述项):
  表项1、ccCopyProtocol OBJECT-TYPE
  SYNTAX INTEGER {tftp(1),ftp(2),rcp(3)}
  MAX-ACCESS read-create
  STATUS current
  ::= { ccCopyEntry 2 }
  表项2、ccCopySourceFileType OBJECT-TYPE
  SYNTAX INTEGER {networkFile(1),iosFile(2),startupConfig(3),
  runningConfig(4),terminal(5)}
  MAX-ACCESS read-create
  STATUS current
  ::= { ccCopyEntry 3 }
  表项3、ccCopyDestFileType OBJECT-TYPE
  SYNTAX INTEGER {networkFile(1),iosFile(2),startupConfig(3),
  runningConfig(4),terminal(5)}
  MAX-ACCESS read-create
  STATUS current
  ::= { ccCopyEntry 4 }
  表项4、ccCopyServerAddress OBJECT-TYPE
  SYNTAX IpAddress
  MAX-ACCESS read-create
  STATUS current
  ::= { ccCopyEntry 5 }
  表项5、ccCopyFileName OBJECT-TYPE
  SYNTAX DisplayString
  MAX-ACCESS read-create
  STATUS current
  ::= { ccCopyEntry 6 }
  表项6、ccCopyEntryRowStatus OBJECT-TYPE
  SYNTAX INTEGER {entryrun(1)}
  MAX-ACCESS read-create
  STATUS current
  ::= { ccCopyEntry 14 }
  按造上面所列表项,只要管理端发送相应的SNMP管理报文,将它们改变成某个相应值,就可以将被管设备配置文件下载到某一TFTP服务器上。如可以通过SNMP测试命令发送这些管理报文:
  1.Snmpset ccCopyEntry.2 int32 1 (选传输协议为TFTP)
  2.mpset ccCopyEntry.3 int32 4 (选下载runningConfig)
  3.Snmpset ccCopyEntry.4 int32 1(选networkFile传到网络服务器)
  4.Snmpset ccCopyEntry.5 ipaddress x.x.x.x (TFTP服务器IP地址)
  5.Snmpset ccCopyEntry.6 string abc.txt (把正在运行的配置文件以abc.txt名下载到TFTP服务器上)
  6.Snmpset ccCopyEntry.14 int32 1 (此包发送后,被管代理就会按上面要求将runningConfig以abc.txt名存到TFTP服务器上)
  要将TFTP服务器上某个配置文件上传到被管设备,可通过下述命令实现:
  1.Snmpset ccCopyEntry.2 int32 1 (选传输协议为TFTP)
  2.Snmpset ccCopyEntry.3 int32 1 (选networkFile指从网络服务器传入)
  3.Snmpset ccCopyEntry.4 int32 4(将上传文件并入runningConfig)
  4.Snmpset ccCopyEntry.5 ipaddress x.x.x.x (TFTP服务器IP地址)
  5.Snmpset ccCopyEntry.6 string abc.txt (TFTP服务器要上传配置文件名为abc.txt)
  6.Snmpset ccCopyEntry.14 int32 1 (此包发送后,被管代理就会接收TFTP服务器上传的abc.txt文件,并将其并入runningConfig)
  远程执行命令只要使上传配置文件中含有要执行的命令,将其上传就能够并入runningConfig执行。在厂商A交换、路由设备中enable口令是经过MD5加密的,不能被还原成明文,但如果用自己知道的MD5密码字符串替换原MD5字符串,就能以管理员权限通过telnet登录被管设备了。远程替换enable口令,可由以下过程实现:
  (1)修改TFTP服务器中abc.txt,使其只含有以下命令语句(加密口令明文为abc)
  enable secret 5 $1$2GSL$ghuyOHAwvHF1gKusxTZaW1
  (2)利用上面介绍的上传配置文件方法,将abc.txt当成配置文件上传到被管代理,并入runningConfig执行后,enable口令就被改成了abc。
  2.3 利用SNMP远程操作被管设备的FLASH或FLASH中的文件
  标量1、writeMem OBJECT-TYPE
  SYNTAX INTEGER{ copyrunningconfigtostartconfig(1),
  erase startconfig(0)}
  MAX-ACCESS read-create
  STATUS obsolete
  ::= { lsystem 54 }
  标量2、flashErase OBJECT-TYPE
  SYNTAX INTEGER{ eraseflash(1) }
  MAX-ACCESS write-only
  STATUS mandatory
  ::= { lflash 6 }
  标量1的值如被设成1,相当于在网络设备上运行命令copy running-config startup-config,也就是将正在运行的配置保存到启动配置文件中,将此标量值设为0,相当于运行erase startup-config命令,会将启动配置文件删除。将标量2的值设为1,相当于运行命令erase flash,flash中所有文件,包括IOS、配置文件都将被删除,设备重启后将完全瘫痪。
  此外在IOS12.1中还包括了大量对FLASH直接操作功能,如可以直接删除FLASH中所有文件,格式化FLASH等。
  上面只列出厂商A私有MIB中部分危险功能,此类功能在其私有MIB中还有很多,在此就不一一赘述。从上面例子可知,管理员如不对这些私有MIB功能的访问加以控制,一旦被攻击者利用,后果是非常严重的。其它网络厂家私有MIB也有这些相似功能,因此管理员在使用SNMP协议时,一定要查清厂家公布的私有MIB中那些功能可能对设备安全有害,并针对这些危险功能通过视图等安全措施将其控制在安全的使用范围内。
  
  3 SNMP攻击防范策略
  
  由于SNMPv1、v2c与SNMPv3在安全方面的差异,因此针对不同SNMP版本实现,应采用不同安全防范策略。
  3.1 SNMPvl、v2安全防范策略
  对于实现SNMPvl、v2的设备,由于缺少鉴别和加密机制,因此通常采取如下防范策略:
  (1)在不必要的情况下关闭SNMP服务。对于安全性要求相对较高的设备,如果不是必需,最好关闭其SNMP代理,不提供SNMP服务。
  (2)修改设备缺省团体名。由于很多厂商设备在出厂时常常将SNMP只读团体名缺省值设置为Public,读写操作团体名缺省值设置为Private,这给攻击者提供了使用缺省SNMP团体名攻击的机会,因此需要设置相对复杂的SNMP团体名。
  (3)管理站IP地址限定。管理站与代理之间通过不加密的SNMPvl、v2数据流进行信息交流,攻击者只要截获一个SNMP数据包就可以得到明文团体名。因此管理员在设置时一定要对内部未授权主机采取SNMP访问控制,限定只有SNMP管理站的IP地址有权发起SNMP请求,通过访问控制阻挡来自未授权主机IP地址的SNMP请求信息。但这种方法对UDP源IP地址欺骗不能奏效。
  (4)设置访问控制,限制从被管设备上利用TFTP、RCP、FTP等方式下载或上传文件。
  (5)在深入研究所使用设备私有MIB基础上,找出有可能危及设备安全的私有MIB项,通过视图将具有写权限的团体名能够访问的MIB项控制在安全范围内,或完全禁止对私有MIB的访问。
  (6)定期更新IOS,采用最新版IOS可以尽可能减少攻击者利用IOS的BUG对私有MIB进行访问或进行其它溢出攻击。
  3.2 SNMPv3安全防范策略
  SNMPv3认证和加密机制完善,攻击者难以通过截取SNMP数据包得到有用信息,也不能将截取的数据包加工重放进行攻击,因此通常采取如下防范策略:
  (1)设置复杂的用户名与密码,并限定管理站的IP地址。
  (2)通过视图将用户的访问严格限定在某一固定范围内,注意不要轻易将私有MIB包含进用户视图中。
  (3)定期更新,升级使用最新版IOS,以防止攻击者利用IOS的BUG越界访问私有MIB。
  
  4 结束语
  
  SNMP协议的设计思想是将其设计成一个简单高效的网管协议,这也是其能够被广泛使用的重要原因,但效率和安全有时是不能同时兼顾的,SNMPv1、v2c只要运行,即使做好防护,还是难以完全阻止攻击者的进攻,但其优点是运行效率高。SNMPv3安全性能强,但其为安全付出的代价太大,当用SNMPv3管理大量网络设备时,网管工作站很有可能因为大量加密解密数据使CPU和内存高负荷运转而最终死机,同时网络管理占用的带宽也会大量增加。笔者认为在目前情况下,充分利用各版协议的长处,对效率与安全进行综合考虑,才是网络管理的最佳选择。如管理数据流经过的区域是安全可信区,可采用SNMPv1、v2c进行管理,而管理数据流要经过不安全可信区域,才使用SNMPv3进行管理,并且最好采用分布式管理,将管理负荷由多台网管工作站共同负担,网络管理才能正常有效的运行下去。
  
  参考文献:
  [1] Wijnen B,Harrington D,Presuhn R. An Architecture for Describing SNMP Management Frameworks[S].RFC2571,1999-04.
  [2] 杨家海,任宪坤,王沛瑜. 网络管理原理与实现技术[M].清华大学出版社,2000.
  [3] 岑贤道,安常表. 网络管理协议及应用开发[M].清华大学出版社,1998.
  [4] 潇湘工作室. SNMPv3与网络管理[M].人民邮电出版社,2000.
其他文献
文学理论作为研究时间较长的专业学科,一直都有着较为稳定的研究对象和理论范式。文学理论是文学研究的重要组成部分,其主要研究范围包括文学原理、范畴以及标准等方面。随着社会的发展,传统文学理论研究被赋予了新的时代特征,文学理论逐渐走上了融合反思、综合创新的道路。因此,二十世纪中后期以后,文学的建构性在一定程度上替换了原先自明的天真性,逐步成为文学理论研究的核心主题。学界陆续出版了一系列关于文学理论天真性
【关键词】状物类文章,比较阅读,比较维度,比较路径,指导方法  状物类文章是指以描写事物为主的文章。作家通过观察,采用一定的表达方式写出事物的特点,表达自己的情感。统编教材中的状物类文章(见表1),三年级至四年级上册侧重学习“观察”,把事物写清楚;四年级下册至五年级侧重学习“表达”和“体会感情”,语文要素呈现梯度进阶、读写结合的特点。教学时,教师要立足状物类文章的文体特点,选择有效策略,落实语文要
【关键词】识字教学,俗解汉字,原则  不从造字理据上解释汉字,而是对其进行“望形生义”、荒诞不经的随意解释,是为俗解汉字。这种方法在我国源远流长,在日常生活中很常见,如“弓长张,立早章”,致力于追求科学性的汉字形义学,也难免“望形生义”,即使以追寻造字本义为宗旨的《说文解字》也不乏其例,如“元,始也,从一,兀声”。这是许慎根据小篆字形“望形生义”的结果。在甲骨文中,“元”像人的头形,本义是首。俗解
童话,一个充满诗情画意的字眼,一种令所有儿童欢欣鼓舞的文学体裁,它承载了儿童多少美妙的“奇思妙想”,寄托了儿童多少神奇的“精神体验”。作为儿童心贴心的文学,最喜闻乐见的课文类型,今天的语文教师该怎么教?  一、在忠实原著基础上准确解读文本  中外童话故事有很多,不同时期针对不同年龄段儿童的译本就更多。为了准确解读童话故事的文本,必须像宗教信徒般虔诚地忠实童话的原著。《渔夫的故事》编者可能是出于文本
摘要:简述基于JAVA技术的高职院校考试系统的基本功能与设计,介绍考试系统的使用方法,总结了系统在开发和应用中的不足。  关键词:JAVA;J2EE;高职院校;B/S结构;考试系统  中图分类号:TP393文献标识码:A文章编号:1009-3044(2008)08-1pppp-0c    1 前言    Java是Sun Microsystems公司于1995年5月推出的Java程序设计语言和Ja
孔子说:志于道,据于德,依于仁,游于艺。这里的“艺”虽并不等同于后世所说的艺术,但却包含了后世所说的艺术在内。所谓的“游于艺”的“游”正是突出了这种掌握中的自由感。  十多年来我一直从事环境艺术设计相关的社会工作,儿时的绘画情结得以如愿,我心欢喜,畅“游”其中,其犹鱼之有水也。   渐渐的明白了设计的入妙法门即为:“天人合一”论。它的合理内核令人想到天地自然作为人的生存环境,它生长万物以养人,人可
摘要:随着党校系统信息化建设进程不断推进,全省党校系统网络互联互通和资源共建共享越来越显得重要和急迫了。该文分析了VPN专网建设的可行性,详细论述了安徽省党校系统VPN专网建设的技术方案,并就在VPN专网平台上的资源共建共享进行了探析。  关键词:资源共建共享;SSL VPN;IPSec VPN  中图分类号:TP393文献标识码:A文章编号:1009-3044(2009)33-9218-03  
摘要:针对变速器在线检测已经成为汽车工业生产流水线重要组成部分的情况,开发了一个基于组态王软件的变速器检测监控系统。阐述了系统的硬件结构和软件总体规划,在介绍使用组态网的数组字典定义变量的基础上,论述了软件中的核心模块-换挡控制模块的流程图和模块的详细设计过程。  关键词:变速器;检测;换挡;数组字典;流程图   中图分类号:TP319文献标识码:A文章编号:    0 引言    随着民族汽车工
摘要:ArcIMS是ESRI公司的产品之一,它是顺应地理数据在互联网上传输、共享的要求而产生的,定位于Internet网上地图发布层面。它能满足无论是本地还是全球的多用户的网上信息与数据共享的要求,方便多用户同时在线查询和浏览地理信息数据。ArcIMS安装平台很多。目前在Windows环境下以Microsoft的IIS(Internet Information Server)作为Web服务器的居多
摘要:根据本人参加企业PIIS系统的经验,详细介绍了电力施工企业项目管理信息集成系统(Project Information Integration System简称PIIS)的建设过程及系统功能特点,并分析了系统为企业管理所带来的积极改变和良好的经济效益,以及系统的成功建设与实施对提高企业管理水平、实现总部统一管理、提升集中调控能力起到的巨大推动作用。  关键词:施工企业;信息化建设;信息系统