什么是计算机的漏洞呢?漏洞(vulnerability),又叫做脆弱性,漏洞这个概念早在1947年冯·诺依曼提出计算机体系结构的时候就有涉及 。他认为计算机的发展和自然生命是很像的,计算机的漏洞就和自然生命的基因缺陷一样,也可能在使用和发展过程中产生意想不到的问题 。
但是当时计算机漏洞的提出并没有得到人们的重视,直到1970-80年代,早期黑客的出现和第一个计算机病毒的产生,计算机漏洞这个概念逐渐引起人们的关注 。
一直到今天,随着计算机应用的发展和互联网络的出现,漏洞相继在软件、硬件、管理过程,甚至人的环节出现,引起病毒泛滥、黑客猖獗,使得安全漏洞成为网络空间的一个现实、热门话题 。
不知道大家知不知道缓冲区溢出这个概念 。
计算机中的程序一般都会使用到一些内存,这些内存用来提供给程序内部使用,或是存放用户的输入数据,这样的内存一般称作缓冲区 。溢出是指盛放的东西超出容器容量而溢出来了,在计算机程序中,就是数据的大小超出了计算机分配给你的内存,你使用了不在分配范围内的内存 。
而缓冲区溢出,简单的说就是计算机对程序的输入数据没有进行有效的检测,从而向缓冲区存放数据时超过了缓冲区本身的容量,而导致数据溢出到被分配空间之外的内存空间,使得溢出的数据覆盖了其他内存空间的数据 。
这个时候,黑客们就会利用缓冲区的溢出漏洞,故意写入超过缓冲区大小的数据,从而破坏程序的堆栈,造成程序崩溃或使程序转而执行其它指令,以达到攻击的目的 。
有许多多的经典的安全漏洞都是基于缓冲区溢出的,比如说编号MS08-067漏洞,黑客可以利用这个漏洞直接控制他人的计算机 。再比如编号MS12-020的漏洞,黑客通过精心编写的攻击代码,可以直接导致别人计算机蓝屏这样的严重后果 。
那么最根究底,漏洞是怎么产生的呢?或者说,为什么会产生漏洞?在这里,小白觉得漏洞的成因可以归纳为三点 。
实现漏洞:
实现漏洞是安全漏洞中最大的一类,大多数我们接触到的安全漏洞都属于这一类 。实现类漏洞是由于在程序员在程序编码时不够严谨或对于安全性的考虑不周而产生的漏洞,缓冲区溢出类漏洞是最典型的实现漏洞
设计漏洞:
设计漏洞主要是指软件、硬件和固件在设计时对于安全性考虑不周导致的漏洞 。例如F5 BIG-ip远程绕过验证漏洞是由于F5设备的SSH登录模块内置了一个可用于登录的秘钥文件,这个秘钥被泄露后任意获取该秘钥的用户都可以登录任意一台相关版本的设备 。
配置漏洞:
配置漏洞是由于软件的默认配置或者不恰当的配置导致的安全漏洞 。例如弱密码或默认密码就是一种常见的配置漏洞 。在Windows系统中,默认情况下会允许远程用户建立空会话(即不需要密码就可以远程连接到计算机),枚举系统里的各项NetBIOS信息 。
推荐阅读
- Win7窗口最大化和最小化快捷键是什么? 最小化快捷键
- 不同利用年限茶园土壤矿化、硝化作用特性
- 朋友圈长图片怎么制作 如何利用微信制作长图并发到朋友圈
- 茶园绿肥不同利用方式对比试验
- win7蓝屏修复工具 怎样使用蓝屏修复工具
- win7怎么添加桌面图标
- win7有自带的虚拟光驱吗 虚拟光驱安装
- 土豆怎么去除龙葵素
- 茶叶中多种有机磷农药残留量测定不确定度的评定
- 关于利用时间的名言名句