分享到:

缓冲区溢出型漏洞分析及防护

在众多网络安全漏洞中,缓冲区溢出是最常见的一种。在过去几年发生的系统攻击事件中,有80%以上的攻击是通过缓冲区溢出进行的。这种攻击可以使一个匿名的Internet用户有机会获得一台主机的全部或部分控制权,从而对企业网络安全构成严重威胁。遗憾的是,缓冲区溢出型漏洞虽然被大量利用,但是却没有引起足够的重视,许多程序员甚至还在不自觉地设计带有缓冲区溢出漏洞的程序。刊发此文的目的是想让用户了解缓冲区溢出,分析利用缓冲区溢出漏洞进行的攻击,进而保护企业的网络系统免遭此类攻击。$$什么是缓冲区溢出$$缓冲区溢出(buffer overflow)不仅广泛存在于各类应用程序中,而且还经常出现在各种操作系统中,是黑客进行网络攻击的常用手段。缓冲区溢出的机理是,程序向一个一定空间的缓冲区中复制了超过其长度的字符串,而程序自身却没有对其进行有效的合法性检验,从而导致程序运行失败、停机甚至系统重新启动。缓冲区溢出的缺陷就变成了黑客进行系统攻击的手段,黑...  (本文共3页) 阅读全文>>

权威出处: 网络世界2002-02-04
《电脑知识与技术》2018年33期
电脑知识与技术

缓冲区溢出漏洞分析及防范

1缓冲区溢出概述缓冲区是一个较宽泛的概念,用于存放数据的内存空间都可以叫作缓冲区。缓冲区自身没有数据越界的防范机制,当放入缓冲区的数据超出了缓冲区的范围就叫缓冲区溢出。某些可被利用的缓冲区溢出是安全缺陷,严重威胁着计算机安全。每个进程在内存中都有一段相对独立的存储空间,并且这段存储空间被分为了许多小分区,我们所关注的进程内存分区主要有六个:text、data、bss、堆、栈和Env段。其中,需要重点关注用于存储用户输入和变量的缓冲区——栈和堆。栈主要被用来保存局部变量和函数调用的轨迹,在大多数操作系统中,栈的增长方向刚好与内存地址的增长方向相反——栈从内存的高地址空间向低地址空间增长,正是由于这种增长方式,导致了栈缓冲区溢出的存在。堆则被用来存储动态分配的变量,它的增长方向是从内存的地址空间向高地址空间增长。2栈缓冲区溢出漏洞2.1原理在讨论栈缓冲区溢出之前先厘清两个不同的概念[1]:栈缓冲区溢出和栈溢出,前者是文章要讨论的漏洞...  (本文共2页) 阅读全文>>

《软件学报》2019年06期
软件学报

基于应用视角的缓冲区溢出检测技术与工具

中文引用格式:司徒凌云,王林章,李宣东,刘杨.基于应用视角的缓冲区溢出检测技术与工具.软件学报,2019,30(6):1721-1741. http://www.jos.org.cn/1000-9825/5491.htm英文引用格式:Situ LY, Wang LZ, Li XD, Liu Y. Buffer overflow detection techniques and tools based on applicationperspective. Ruan Jian Xue Bao/Journal of Software, 2019,30(6):1721-1741 (in Chinese). http://www.jos.org.cn/1000-9825/5491.htm软件缓冲区溢出漏洞在CWE/SANS排名的25个最危险软件漏洞中位列第三[1],是当今危害最为广泛和严重的安全漏洞之一.缓冲区溢出是指输入数据超过缓冲区可...  (本文共21页) 阅读全文>>

《软件学报》2018年05期
软件学报

缓冲区溢出漏洞分析技术研究进展

自1988年由罗伯特·莫里斯制造的Morris蠕虫病毒利用缓冲区溢出漏洞造成全世界6 000多台网络服务器瘫痪以来,缓冲区溢出漏洞的广泛性和危险性越来越受到国内外信息安全研究领域的关注.在2004年OWASP的Web应用十大最严重的安全风险中,缓冲区溢出漏洞排名第五[1].在2010年和2011年CWE/SANS机构总结的危害性最强的25大软件缺陷中,缓冲区溢出漏洞都名列第三[2];同时,CWE自身的软件脆弱性枚举库中有21条和缓冲区溢出漏洞相关的条目.在中国科学院大学国家计算机网络入侵防范中心总结的2014年11月十大重要安全漏洞分析中,缓冲区溢出漏洞排名第二[3].国家信息安全漏洞库(CNNVD)报告显示:2015年,国内信息技术产品新增漏洞7 754个,其中,缓冲区溢出漏洞1 088个,占比最高为14.03%[4].尽管国内外科研人员针对缓冲区溢出漏洞广泛存在于软件中这一棘手问题提出了许多分析技术和方法,然而,这一问题至今...  (本文共20页) 阅读全文>>

《中国新通信》2017年03期
中国新通信

缓冲区溢出漏洞攻击及其对策探析

安全问题一直都是计算机网络运行分析要点,随着计算机技术水平的提高,黑客攻击方式也在不断更新,通过层出不穷的手段和控制方法对网络运行带来巨大的威胁。利用缓冲区溢出漏洞来对计算机系统进行攻击,在日常操作中比较常见,想要有效解决此类问题,必须要确定攻击原理,有的放矢的应用有效手段进行优化。一、缓冲区溢出漏洞分析缓冲区即计算机内存块在内存地址的连续分配地址,而缓冲区溢出漏洞则是因为内存边界检查机制在C语言或者C++语言设计时,未设置边界造成。就象现在计算机操作系统,大部分均是选择用C语言或者C++语言编写,如果计算机程度想要将写入地址超出内存边界,便会产生非法操作[1]。如将写入数据保存到临近内存地址内,出现错误运行命令,情况严重甚至会造成系统崩溃。或者是基于漏洞执行操作命令,得到系统最高执行权,并操作干扰机器攻击软件系统。二、缓冲区溢出漏洞攻击分析2.1确定溢出点要对漏洞发现人或者组织原始资料进行全面收集,其根据漏洞描述重现漏洞。其中...  (本文共1页) 阅读全文>>

《数码世界》2017年02期
数码世界

基于C语言的程序安全性分析

1计算机安全的定义有关计算机的安全性的研究,目前在研究领域已形成新的门类,即计算机安全学。对于计算机安全的概念,要怎么进行界定,国际标准化委员会认为,计算机安全主要是指通过采取定的手段和措施,来保证计算机在应用过程中不受或减少受到不安全因素影响的几率,其目的是为了维护数据处理系统的正常运行。根据对这个概念的界定我们可以得出计算机安全涉及的范围是综合性的、复杂性的,不只是简单的技术处理及管理,还是将各门学科的综合运用。根据概念的阐述,对其从四方面来理解,也就是实体、软件、数据及运行四个方面的安全性保障。以其涵盖的内容而言,它体现的范围更广,与计算机相关的一切技术、管理、产品、相关政策、法律等都为计算机安全的内容。2 C语言的安全性问题2.1安全编程语言的定义安全语言一直以来的概念的都没有形成,如果想确切了解这个概念,可以利用下面几个涵义来理解。程序在进行的过程里遇到的问题叫做执行错误。部分执行错误对于计算机的威胁是最直接的,当这些...  (本文共2页) 阅读全文>>