A. 系统漏洞
1.系统漏洞简介
(1)什么是系统漏洞:
漏洞即某个程序(包括操作系统)在设计时未考虑周全,当程序遇到一个看似合理,但实际无法处理的问题时,引发的不可预见的错误。系统漏洞又称安全缺陷,对用户造成的不良后果如下所述:
如漏洞被恶意用户利用,会造成信息泄漏,如黑客攻击网站即利用网络服务器操作系统的漏洞。
对用户操作造成不便,如不明原因的死机和丢失文件等。
综上所述,仅有堵住系统漏洞,用户才会有一个安全和稳定的工作环境。
(2)为什么会存在漏洞:
漏洞的产生大致有三个原因,具体如下所述:
编程人员的人为因素,在程序编写过程,为实现不可告人的目的,在程序代码的隐蔽处保留后门。
受编程人员的能力、经验和当时安全技术所限,在程序中难免会有不足之处,轻则影响程序效率,重则导致非授权用户的权限提升。
由于硬件原因,使编程人员无法弥补硬件的漏洞,从而使硬件的问题通过软件表现。
当然,Windows漏洞层出不穷也有其客观原因,即任何事物都非十全十美,作为应用于桌面的操作系统——Windows也是如此,且由于其在桌面操作系统的垄断地位,使其存在的问题会很快暴露。此外和Linux等开放源码的操作系统相比,Windows属于暗箱操作,普通用户无法获取源代码,因此安全问题均由微软自身解决。
2.如何检测Windows系统漏洞
用户应及时了解自身的Windows系统存在哪些已知漏洞,做到“防患于未然”。对于常见和较重大的系统漏洞,本文将会详细说明,同时建议用户通过专用软件对系统进行全面检测。
本文推荐使用的Windows系统检测工具为微软开发的Baseline Security Analyzer(基准安全分析器,简称MBSA。
Baseline Security Analyzer软件为免费软件,仅可运行于Windows 2000和Windows XP系统中,该软件可检测与系统相关的不正确安全设置并给出建议,官方下载网址为:http://download.microsoft.com/download/win2000platform/Install/1.0/NT5XP/EN-US/mbsasetup.msi。
1.0 版本的 MBSA可对本地或远程的Windows 系统进行检测,检测内容包括为微软产品的漏洞及缺少的补丁,如Windows NT 4.0、Windows 2000、Windows XP、IIS、SQL Server、 Internet Explorer及办公软件Office 2000等,并可为每台检测过的计算机创建和保存独立的XML格式安全报告。
3.如何处理系统中的漏洞
Windows操作系统的漏洞,某些由于软件设计失误而产生,另一些则由于用户设置不当所引发,均会严重影响系统安全。针对两种不同的错误需采用不同的方式加以解决,如下所述:
(1)针对设计错误,微软公司会及时推出补丁程序,用户只需及时下载并安装即可,因此建议用户经常浏览微软的安全公告,并及时下载补丁,官方网址为:http://www.microsoft.com/china/security/Bulletins/default.asp。
(2)对于设置错误,则应及时修改配置,使系统更加安全可靠。
二、Windows 98系统漏洞
1.IGMP漏洞
漏洞描述:
IGMP漏洞是一个较有名且危险的系统漏洞,可使用户计算机中断网络连接或出现蓝屏和死机。
解释:
IGMP全称为Internet Group Management Protocol,即互联网组管理协议。目前有很多可发动IGMP攻击的工具,如Winnuke、Sping和Tardrop等,通过这些工具可向某个IP地址的100端口不断发送大量IGMP数据包,当被攻击的计算机收到数据包后,即无法对数据进行处理,从而导致TCP/IP崩溃,引起系统中断网络连接,出现蓝屏现象,重启系统才可解决该问题。此外如攻击者进行端口监听,还可对其他端口进行攻击。
对策:
(1)下载相关的补丁程序,网址如下所述:
Windows 98第一版:http://www.virusview.net/download/patch/oob/up98igmp.zip;Windows 98第二版:http://www.virusview.net/download/patch/oob/up98oem2igmp.zip
(2)为计算机安装防火墙系统,屏蔽IGMP数据。
2.系统文件检查器漏洞
漏洞描述:
运行系统文件检查工具检测系统后无法重新启动。
解释:
出现该问题的原因在于系统文件检查器检测系统时,向Windows 98系统提供了错误的系统文件放置信息,而这些错误信息导致检查器用错误文件替换系统中受损或丢失的Windows 98系统文件,从而导致死机、无法重启或无法登录。
对策:
利用启动盘启动Windows 98,在DOS状态下运行“extract.exe”恢复被错误替换的系统文件。
3.共享密码校验漏洞
漏洞描述:
用户可任意访问Windows 98系统中的共享文件,即使共享目录已受口令保护,攻击者仍不需获取真实口令即可访问。
解释:
Windows 9x系统提供的文件和打印共享服务可设置口令保护,以避免非法用户访问。但微软的NetBIOS协议的口令校验机制存在严重漏洞,使保护形同虚设。
由于服务端对客户端口令进行校验时以客户端发送的数据长度为依据,因此客户端在发送口令认证数据包时可设置长度域为1, 同时发送一个字节的明文口令给服务端,服务端会将客户端发送的口令与服务端保存的共享口令的第一个字节进行明文比较,如匹配即认为通过验证。因此攻击者仅需猜测共享口令的第一个字节即可。
Windows 98的远程管理也采用共享密码认证方式,因此也受该漏洞影响。
对策:
(1)下载并安装补丁程序,网址如下所述:
http://download.microsoft.com/download/win98SE/Update/11958/W98/EN-US/273991USA8.EXE
(2)在未获取并安装补丁程序前,建议暂时关闭文件共享服务。
4.共享访问客户端类型检测漏洞
漏洞描述:
恶意攻击者提供已修改的文件共享服务器,当Windows 98客户访问其共享资源时,会导致对客户的拒绝服务攻击。
解释:
当Windows 9x客户访问文件共享服务时,会比较服务端传送的驱动类型,如服务器返回服务类型并非实际的“?????”、“A:”、“LPT1:”、“COMM”、“IPC”五种类型中的一种,客户端会错误地获取并不存在的第6种类型,因此进行转换时会获取错误的驱动头指针,从而调用错误的驱动函数地址,造成客户端不稳定甚至崩溃。
对策:
(1)不随意访问不可信主机的共享服务。
(2)禁止通过TCP/IP协议使用NetBIOS程序。
5.共享服务文件句柄漏洞
漏洞描述:
文件和打印共享服务程序存在安全漏洞,该漏洞允许恶意用户远程攻击Windows 98的文件共享服务,导致服务崩溃。
解释:
Windows 98系统的共享服务程序仅分配了有限的空间用于存储句柄转换指针,因此所能接收客户端的文件句柄范围为0至0x3ff(十六进制)。但服务程序在处理SMBfindclose等命令的时候,未正确检查客户端发送的文件句柄范围,因此可能获取错误的指针,导致非法访问错误的内存地址,多次重复攻击后会地址系统共享服务崩溃。
对策:
取消TCP/IP协议中绑定的“文件和打印机共享”服务。
6.NetBIOS over TCP/IP耗尽资源漏洞
漏洞描述:
NetBIOS会由于一个远程漏洞而导致拒绝服务攻击,攻击者可通过连接NBT(NetBIOS over TCP/IP)端口而使系统耗尽网络资源并停止工作,甚至导致系统崩溃。
解释:
如攻击者对被攻击计算机初始化很多连接,然后关闭,使目标机的TCP始终处于FINWAIT-1状态,尽管最终将超时并释放,但攻击者可持续发送更多请求,初始化并关闭新连接,从而耗尽任何网络资源,最终导致NetBIOS拒绝正常服务。
总而言之,DDOS攻击基本是无法解决的,从SYN FLOOD理论分析,仅需有限带宽的服务均会被攻击至拒绝服务,对服务器可能仅为拒绝服务,对一般计算机则会导致系统资源耗尽。
对策:
下载补丁程序,网址如下所述:
http://www.microsoft.com/Downloads/Release.asp?ReleaseID=25114
7.NetBIOS漏洞
漏洞描述:
该漏洞可泄漏计算机和工作组的名称,从而使入侵者按这些信息获取IP地址。此外该漏洞还可使对方访问计算机内的文件。
解释:
NetBIOS(NETwork Basic Input/Output System)是网络的基本输入/输出系统,是由IBM开发的网络标准,微软在此基础上继续开发,其客户机/服务器网络系统均基于NetBIOS,应用程序也通过标准的NetBIOS API调用,实现NetBIOS命令和数据在各种协议中传输,微软网络在Windows NT操作系统中利用NetBIOS完成大量的内部联网。
虽然NetBIOS API为局域网开发,但目前已发展成为标准接口,无论在面向连接或非连接的通信中,应用程序均可使用其访问传输层联网协议。
NetBIOS接口为NetBEUI、NWLink、TCP/IP及其他协议而开发,由于这些协议均支持NetBIOS API,因此均提供建立会话和启动广播的功能。网络上的每台计算机均须唯一地与NetBIOS名等同,在建立会话或发送广播时也需使用该名字。当通过该名字使用NetBIOS会话时,发送方必须将NetBIOS名转化为IP地址。由于IP地址和名字均必为需,因此在进行成功通信前,所有名字转换方法必须提供正确的IP地址。
NetBIOS是一个不可路由的协议,但可绑定至任意的协议中,因此其非常容易成为系统中的后门。
对策:
对于不需登录至NT/2000局域网的拨号用户,只需在系统的网络属性中删除“Microsoft网络用户”,而仅使用“Microsoft友好登陆”。
8.屏幕保护程序漏洞
漏洞描述:
不输入屏保密码即可访问硬盘,甚至运行程序。
解释:
当计算机使用的屏幕保护程序为Windows自带的“频道屏幕保护程序”后,在屏幕上单击鼠标右键或按键盘,出现屏保密码输入窗口后,用鼠标拖动输入框,使密码输入窗口的“取消”按钮位于在屏幕中央的图片上,然后将鼠标对准“取消”按钮,同时按下左右键,此时会弹出IE的右键菜单。
在弹出的菜单中选择“图片另存为”,即弹出“保存图片”对话框,此时即可访问硬盘。
对策:
建议不使用Windows自带的“频道屏幕保护程序”。
三、Windows 2000系统漏洞
1.输入法漏洞
漏洞描述:
通过该漏洞用户可浏览计算机上的所有文件,且可执行net.exe命令添加Administrator级别的管理员用户,从而完全控制计算机。
解释:
在Windows 2000的登陆窗口中,按Ctrl+Shift键,切换至全拼输入法。在输入法状态条上按鼠标右键,选择“帮助”的
B. 操作系统漏洞有哪几种分类
操作系统漏洞是电脑重要漏洞之一,解决操作系统漏洞能很好提高安全性能,那么漏洞有哪几种分类呢,下面由我为大家整理了操作系统漏洞分类的相关知识,希望对大家有帮助。
操作系统漏洞分类
不同角度看安全漏洞的分类,对一个特定程序的安全漏洞可以从多方面进行分类。
毕宽操作系统漏洞分类1、从作用范围角度看分为
●远程漏洞,攻击者可以利用并直接通过网络发起攻击的漏洞。这类漏洞危害极大,攻击者能随心所欲的通过此漏洞操作他人的电脑。并且此类漏洞很容易导致蠕虫攻击,在Windows。
●本地漏洞,攻击者必须在本机拥有访问权限前提下才能发起攻击的漏洞。比较典型的是本地权限提升漏洞,这类漏洞在Unix系统中广泛存在,能让普通用户获得最高管理员权限。
操作系统漏洞分类2、从用户群体分类
●大众类软件的漏洞。如Windows的漏洞、IE的漏洞等等。
●专用软件的漏洞。如Oracle漏洞、Apache漏洞等等。
操作系统漏洞分类3、从数据角度看分为
●能读按理不能读的数据,包括内存中的数据、文件中的数据、用户输入的数据、数据库中的数据、网络上传输的数据等等。
●能把指定的内容写入指定的地方(这个地方包括文件、内存、数据库等)
●输入的数据能被执行(包括按机器码执行、按Shell代码执行、按SQL代码执行等等)
操作系统漏洞分类4、从触发条件上看可以分为
●主动触发漏洞,攻击者可以主动利用该漏洞进行攻击,如直接访问他人计算机。
●被动触发漏洞,必须要计算机的操作人员配合才能进行攻击利用的漏洞。比如攻击者给管理员发一封邮件,带了一个特殊的jpg图片文件,如果管理员打开图片文件就会导致看图软件的某个漏洞被触发,从而系统被攻击,但如果管理员不看这个图片则不会受攻击。
操作系统漏洞分类5、从操作角度神数亩看可分为
●文件操作类型,主要为操作的目标文件路径可被控制(如通过参数、配置文件、环境变量、符号链接灯),这样就可能导致下面两个问题:
◇写入内容可被控制,从而可伪造文件内容,导致权限提升或直接修改重要游森数据(如修改存贷数据),这类漏洞有很多,如历史上Oracle TNS LOG文件可指定漏洞,可导致任何人可控制运行Oracle服务的计算机;
◇内容信息可被输出,包含内容被打印到屏幕、记录到可读的日志文件、产生可被用户读的core文件等等,这类漏洞在历史上Unix系统中的crontab子系统中出现过很多次,普通用户能读受保护的shadow文件;
●内存覆盖,主要为内存单元可指定,写入内容可指定,这样就能执行攻击者想执行的代码(缓冲区溢出、格式串漏洞、PTrace漏洞、历史上Windows2000的硬件调试寄存器用户可写漏洞)或直接修改内存中的机密数据。
●逻辑错误,这类漏洞广泛存在,但很少有范式,所以难以查觉,可细分为:
◇条件竞争漏洞(通常为设计问题,典型的有Ptrace漏洞、广泛存在的文件操作时序竞争)
◇策略错误,通常为设计问题,如历史上FreeBSD的Smart IO漏洞。
◇算法问题(通常为设计问题或代码实现问题),如历史上微软的Windows 95/98的共享口令可轻易获取漏洞。
◇设计的不完善,如TCP/IP协议中的3步握手导致了SYN FLOOD拒绝服务攻击。
◇实现中的错误(通常为设计没有问题,但编码人员出现了逻辑错误,如历史上博彩系统的伪随机算法实现问题)
●外部命令执行问题,典型的有外部命令可被控制(通过PATH变量,输入中的SHELL特殊字符等等)和SQL注入问题。
操作系统漏洞分类6、从时序上看可分为
●已发现很久的漏洞:厂商已经发布补丁或修补方法,很多人都已经知道。这类漏洞通常很多人已经进行了修补,宏观上看危害比较小。
●刚发现的漏洞:厂商刚发补丁或修补方法,知道的人还不多。相对于上一种漏洞其危害性较大,如果此时出现了蠕虫或傻瓜化的利用程序,那么会导致大批系统受到攻击。
●0day:还没有公开的漏洞,在私下交易中的。这类漏洞通常对大众不会有什么影响,但会导致攻击者瞄准的目标受到精确攻击,危害也是非常之大。