| Windows系统和各种Unix/Linux系统十大安全漏洞 |
| 文章来源: |
| 安络科技 |
| 发布时间: |
| 2005年1月15日 |
| Windows和Unix/Linux的十大安全漏洞 |
漏洞根据严重性,影响范围有各种级别定义,比如微软每月的安全公告中的漏洞分为严重,重要,中等,低四个级别。《Windows系统和各种Unix/Linux系统十大安全漏洞》中的漏洞均是综合考虑了官方定义的严重级别和网上公布的影响广度,由安络科技技术部整理,内容仅供参考。 |
| 2004年Windows系统十大漏洞 |
1.Microsoft DCOM RPC 远程竟争条件漏洞 Remote Procedure Call (RPC)是Windows 操作系统使用的一种远程过程调用协议,RPC提供进程间交互通信机制,允许在某台计算机上运行程序的无缝地在远程系统上执行代码。 此协议本身源自开放软件基金会的RPC协议,Microsoft在其基础上增加了自己的一些扩展。 RPCSS模块包含的激活类函数设计用于处理进入的DCOM激活请求,因此实例可提交给请求代理端。通过初始化两个同步的激活请求,然后快速关闭连接,Window RPC实时库处理这特殊的消息时可触发竞争条件问题,这样svchost rpc服务进程堆中会引起小部分破坏,而导致崩溃,进行构建提交请求可能以进程权限在系统上执行任意指令。
2.Microsoft Windows ASN.1库BER解码堆破坏漏洞 Abstract Syntax Notation 1 (ASN.1)是用于多个应用程序和设备的数据标准,允许数据可在各种平台传递。Microsoft ASN.1库广泛使用在Windows安全子系统中,包含kerberos、NTLMv2验证,及使用各种证书的应用程序(SSL、EMAIL数字签名、 ActiveX控件签名)。 Microsoft ASN.1库实现上存在整数溢出漏洞,远程攻击者可以利用这些漏洞造成堆破坏从而执行恶意指令。这个漏洞可能影响所有利用MSASN1.DLL库的系统和应用程序,目前已经知道此漏洞影响Windows NT/2000/XP系统,攻击者至少可以通过下列远程服务发起攻击: Kerberos服务 (UDP/88) Microsoft IIS + SSL (TCP/443) NTLMv2认证 (TCP/135, 139, 445) 攻击者也可能攻击一些使用证书的应用程序,包括IE/outlook/以及第三方程序。远程攻击者可能导致Windows重启或者以system系统权限执行任意代码。 3.Windows Local Security Authority Service远程缓冲区溢出漏洞 Microsoft Windows LSA是本地安全授权服务(LSASRV.DLL)。LSASS DCE/RPC末端导出的Microsoft活动目录服务存在一个缓冲区溢出,远程攻击者可以利用这个漏洞以SYSTEM权限在系统上执行任意指令。
4.Microsoft Windows SPNEGO协议解码拒绝服务漏洞 SPNEGO (Simple and Protected GSS-API Negotiation Mechanism) 协议可以被用来协商使用何种安全机制。Windows系统允许使用多种认证机制,因此它也利用SPNEGO协议来进行客户端和服务器之间的认证机制协商。 当发送一个特别构造的SPNEGO NegTokenInit请求时,就会造成LSASRV.DLL中发生一个空指针引用错误,从而导致LSASS.EXE崩溃。这将使得所有与系统认证相关的操作无法进行,例如远程访问SMB共享,或者交互式本地登陆。对于Windows 2003,会导致系统自动关机或蓝屏。 5.Microsoft PCT协议远程缓冲区溢出漏洞 Microsoft Windows实现的私有通信传输协议存在一个缓冲区溢出。 PCT协议是Microsoft SSL库实现的,只有当SSL使能时或部分Windows 2000控制域上存在此问题,远程攻击者可以利用这个漏洞对使用PCT协议的应用程序进行攻击,可能以系统进程权限执行任意指令。 6.Microsoft ASN.1两次释放堆内存破坏漏洞 Abstract Syntax Notation 1 (ASN.1)是用于多个应用程序和设备的数据标准,允许数据可在各种平台传递。Microsoft ASN.1库广泛使用在Windows安全子系统,包含kerberos、NTLMv2验证,及使用各种证书的应用程序(SSL、EMAIL数字签名、 ActiveX控件签名)。 通过传递特殊构建编码的ASN.1值给msasn1库导出的ASN1BERDecZeroCharString函数,可引起两次释放堆内存,精心构建提交数据可能以系统权限执行任意指令。 此漏洞可在SMB协议,MS RPC和HTTP等协议中触发。 7.Microsoft Internet Explorer URL 本地资源访问漏洞 Microsoft Internet Explorer存在安全问题,远程攻击者可以利用这个漏洞绕过安全限制访问客户端本地资源。 使用Location: URL:前缀指定请求到某个指定资源,可绕过原有Internet Explorer 6 SP1的安全限制,访问本地资源,如装载'ms-its:C:\WINDOWS\Help\iexplore.chm::/iegetsrt.htm'脚本等。此漏洞结合其他跨区域访问漏洞可导致以客户进程权限进行文件下载并执行攻击。 8.Microsoft NNTP XPAT 命令远程缓冲区溢出漏洞 Microsoft NNTP组件是用于对新闻组服务器支持。 Microsoft NNTP服务器对XPAT命令处理缺少正确的缓冲区边界检查,XPAT命令用于接收指定文章中的特殊头字段信息,命令格式如下: XPAT header range|<message-id> pat [pat...] 通过发送特定长度的参数,可能导致堆溢出,精心构建提交数据可能以进程权限在系统上执行任意指令。
9.Microsoft Internet Explorer Bitmap处理整数溢出漏洞 Microsoft Internet Explorer在处理bitmap文件时缺少正确边界检查, 如果一个位图(bitmap)文件头中的某个偏移量(bfOffBits)设置为负值,就会绕过IE的长度检查,并将超长数据拷贝到一个固定大小的缓冲区中,这可导致IE5处理时崩溃。精心构建提交数据可能以用户进程权限在系统上执行任意指令。 这个漏洞也是第一个根据微软泄漏的源代码发现的安全漏洞。 10.Microsoft Internet Explorer Modal Dialog区域绕过漏洞 Microsoft Internet Explorer存在漏洞允许跨区域访问,攻击者可以构建传递一个动态建立的IFrame给Modal Dialog对象,并且这个对象调用通过Windows Script Encoder (screnc.exe)编码,诱使用户打开时,可造成以客户权限在本地域上下文执行恶意脚本,包括下载安装恶意程序。 这个漏洞也可导致访问外部域属性,允许其他类型的攻击如获得攻击者选择的敏感或私有信息。 |
| 2004年各种Unix/LINUX系统十大漏洞 |
1.Linux Kernel do_mremap VMA本地权限提升漏洞 Linux内核中mremap(2)系统调用没有对函数返回值进行检查。mremap系统调用被应用程序用来改变映射区段(VMAs)的边界地址。mremap()系统调用提供对已存在虚拟内存区域调整大小。从VMA区域移动部分虚拟内存到新的区域需要建立一个新的VMA描述符,也就是把由VMA描述的下面的页面表条目(page table entries)从老的区域拷贝到进程页表中新的位置。 要完成这个任务do_mremap代码需要调用do_munmap()内部内核函数去清除在新位置中任何已经存在的内存映射,也就是删除旧的虚拟内存映射。不幸的是代码没有对do_munmap()函数的返回值进行检查,如果可用VMA描述符的最大数已经超出,那么函数调用就可能失败。利用这个漏洞通过页表缓冲(page table cache)可以使包含在页中的恶意指令被执行。 这个漏洞影响如下版本的Linux kernel: Linux kernel <2.6.3 Linux kernel <2.4.25 Linux kernel <2.2.26 2.BSD Kernel SHMAT系统调用权限提升漏洞 BSD系统中的shmat(2)函数映射一个或多个进程/线程共享内存段中,之前可通过shmget(2)函数建立。 shmat(2)系统调用存在编程错误,可导致共享内存段参考计数器错误的增长,可能造成本地攻击者获取root权限。 3.Linux kernel do_mremap本地权限提升漏洞 这次漏洞发生在Linux内核中的内存管理代码mremap(2)系统调用中,由于缺少正确的边界检查,本地攻击者可以利用这个漏洞进行权限提升攻击,可以ROOT权限在系统上执行任意指令。 它影响Linux 2.4.24以下的内核版本,Linux用户应该尽快升级到2.4.24或者更高版本。
4.Linux kernel setsockopt MCAST_MSFILTER整数溢出漏洞 Linux Kernel包含的ip_setsockopt()存在整数溢出。ip_setsockopt()函数是setsockopt(2)系统调用的子函数,这个函数允许操作多个IP套接口选项,MCAST_MSFILTER 用于提供内核从套接口接收到的多播地址列表。在IP_MSFILTER_SIZE宏计算中处理MCAST_MSFILTER套接口选项的代码存在整数溢出。利用这个溢出,本地攻击者可以获得root用户权限。 5.HP-UX newgrp(1)本地特权提升漏洞 HP-UX中包含的newgrp(1)命令存在一个安全问题,本地攻击者可利用这个漏洞进行特权提升攻击。 6.FreeBSD Out Of Sequence包远程拒绝服务攻击漏洞 FreeBSD在处理out-of-sequence类型包的时没有限制TCP段数量,当接收到out-of-sequence TCP包时,会在目标系统安排一个重组队列进行重组和重排。 由于FreeBSD系统没有限制保存在重组队列中TCP数据段的数量,远程攻击者可以使用较小的带宽对基于TCP服务的机器进行拒绝服务攻击。通过发送多个out-of-sequence TCP数据段,攻击者可以使目标机器消耗大量的内存缓冲(``mbufs'')而导致系统崩溃,远程攻击者可能对FreeBSD服务器进行拒绝服务攻击。 7.NetBSD/FreeBSD移植的Systrace Exit函数访问验证权限提升漏洞 NetBSD/FreeBSD是开放源代码操作系统,Systrace可通过强制系统调用的访问策略监视并且控制应用程序访问系统。 NetBSD/FreeBSD的Systrace的实现存在访问验证问题,本地攻击者可以利用这个漏洞提升权限。 systrace_exit()没有检查连接到systrace的进程是否属于超级用户权限,在exit操作时会设置EUID为0,因此本地攻击者可以利用这个问题提升权限。 8.HP dced远程缓冲区溢出漏洞 HP-UX是一款HP公司开发的UNIX操作系统,其中DCE用于开发和部署安全的、企业级的分布式计算应用解决方案。 HP-UX的DCE endpoint mapper (epmap)实现存在缓冲区溢出问题。攻击者可以指定小分段长度,然后发送超大数量stub数据,可导致DCED发生缓冲区溢出,精心构建提交数据可能以DCED进程权限执行任意指令。 9.FreeBSD fetch()整数溢出远程任意指令执行漏洞 FreeBSD的fetch是一款用于通过FTP,HTTP和HTTPS获取文件的工具。 FreeBSD的fetch在处理HTTP头时存在整数溢出问题。恶意服务器或CGI脚本可以以畸形HTTP头字段应答HTTP或HTTPS请求,可在客户端触发缓冲区溢出,精心构建应答数据可能以用户进程权限在系统上执行任意指令。 10.Linux kernel scm_send本地拒绝服务漏洞 Linux Kernel中的套接口层存在一个问题。Linux内核提供强大的套接口API供用户应用程序使用,套接口层使用多个逻辑子层,其中一个层称为辅助消息层(SCM层),其中一个SCM消息解析函数调用来自内核sendmsg()代码:__scm_send(),此函数不正确处理部分辅助消息,如果精心构建准备好的辅助消息给非特权应用程序使用的套接口,可引起死锁,而导致系统挂起。 |