本文介绍: 漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的下访问或破坏系统。
官方定义
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的下访问或破坏系统。
基本理解
漏洞是硬件、软件、协议在生命周期的各个阶段(设计、实现、运维等过程)中产生的某类问题,这些问题会对系统的安全(机密性、完整性、可用性)产生影响。
软件漏洞与Bug的区别
漏洞与Bug并不等同,他们之间的关系基本可以描述为:大部分的Bug影响功能性,并不涉及安全性,也就不构成漏洞;大部分的漏洞来源于Bug,但并不是全部,它们之间只是有一个很大的交集。
软件漏洞的趋势
近几年来漏洞数量依然处在上升趋势,不仅如此,新漏洞从公布到被利用的时间越来越短,黑客对发布的漏洞信息进行分析研究,往往在极短时间内就能成功利用这些漏洞。除了利用已知漏洞,黑客们也善于挖掘并利用一些尚未公布的漏洞,发起病毒攻击,或出售漏洞资料,满足经济目的。因此漏洞的研究值得感兴趣的小伙伴们深度研究,国家信息安全漏洞共享平台(CNVD),对漏洞研究有成果的会员会给予相应奖励。
软件漏洞产生的主要原因
漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。即某个程序(包括操作系统)在设计时未考虑周全,当程序遇到一个看似合理,但实际无法处理的问题时,引发的不可预见的错误
它不是安装的时候的结果 也不是永久后的结果而是编程人员的人为因素,在程序编写过程,为实现不可告人的目的,在程序代码的隐蔽处保留后门,受编程人员的能力、经验和当时安全技术所限,在程序中难免会有不足之处,轻则影响程序效率,重则导致非授权用户的权限提升。
软件漏洞主要来源
缓冲区溢出
缓冲区溢出类型
栈溢出
堆溢出
未验证输入
竞争条件
Time of Check Versus Time of Use (TOCTOU)
Signal Handling
进程间通信
不安全的文件操作
权限控制问题
社会工程
漏洞的基本分类
1、 程序逻辑结构漏洞
2、 程序设计错误漏洞
3、开放式协议造成的漏洞
4、 人为因素造成的漏洞
5、 已知漏洞
6、未知漏洞
7、 0day漏洞
漏洞挖掘分析技术
1、 现有漏洞挖掘技术分类
2、常见的漏洞挖掘分析技术
2.1.人工分析
2.2.Fuzzing技术
2.3.补丁比对技术
2.4.静态分析技术
2.5.动态分析技术
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。