缓冲区溢出

✍ dations ◷ 2025-06-08 12:00:30 #电脑安全,计算机编程,保全漏洞

缓冲区溢出(buffer overflow),是针对程序设计缺陷,向程序输入缓冲区写入使之溢出的内容(通常是超过缓冲区能保存的最大数据量的数据),从而破坏程序运行、趁著中断之际并获取程序乃至系统的控制权。

缓冲区溢出原指当某个数据超过了处理程序回传堆栈地址限制的范围时,程序出现的异常操作。造成此现象的原因有:

因黑客在Unix的内核发现通过缓冲区溢出可以获得系统的最高等级权限,而成为攻击手段之一。也有人发现相同的问题也会出现在Windows操作系统上,以致其成为黑客最为常用的攻击手段,蠕虫病毒利用操作系统高危漏洞进行的破坏与大规模传播均是利用此技术。比较知名的蠕虫病毒冲击波蠕虫,就基于Windows操作系统的缓冲区溢出漏洞。

例如一个用途是对SONY的掌上游戏机PSP-3000的破解,通过特殊的溢出图片,PSP可以运行非官方的程序与游戏。同样在诺基亚智能手机操作系统Symbian OS中发现漏洞用户可以突破限制运行需要DRM权限或文件系统权限等系统权限的应用程序。

缓冲区溢出攻击从理论上来讲可以用于攻击任何有相关缺陷的程序,包括对杀毒软件、防火墙等安全产品的攻击以及对银行程序的攻击。在嵌入式设备系统上也可能被利用,例如PSP、智能手机等。

在部分情况下,当一般程序(除了驱动和操作系统内核)发生此类问题时,C++运行时库通常会终止程序的执行。

目前OpenBSD、Linux、Windows、Mac OS等操作系统都具有buffer overflow protection(缓存溢出保护/存储器位置重新定向)功能,在某种程度上可以保护操作系统,但仍还是有办法让溢出的代码到正确的位置上。其作用原理是:存储器跟进程在memory中受到保护。内对外的access memory对象位置会被核心(调度器)随机定向,使其无法正确溢出。

相关

  • 耶日·内曼耶日·内曼 (英语:Jerzy Spława-Neyman, 1894年4月16日-1981年8月5日)是一位波兰数学家和统计学家。1894年出生在俄罗斯帝国比萨拉比亚省宾杰里,前半生时间在波兰华沙的各个研究
  • 中南客运中南汽车客运股份有限公司(英文:Chung Nan Bus Traffic., Inc.),简称:中南客运,为台湾爱巴士交通联盟成员,主要经营公路客运与国道客运。成立初期主要路线为高雄市(行经台17线)至垦丁
  • 氧中毒氧气中毒(Oxygen toxicity)是指吸入高浓度高压氧气的不良反应,又称氧气毒性症,氧气毒性。这种症状历史上曾称以发现及描述此病症的19世纪研究员命名,其对中枢神经系统的影响称为
  • 好氧生物好氧生物(英语:Aerobic organism,或 aerobe),又译为好气生物、耗氧生物、需氧生物,是能在有氧的环境中生存及生长的生物。好氧生物利用氧的化学反应来分解糖及脂肪,以获得能量。几
  • 木兰属木兰属(学名:)是木兰目木兰科的一个属,由于近期的分子分析认为木兰亚科下的所有属都应并入木兰属中,因此广义的木兰属拥有共约210个不同的物种,而狭义的木兰属中有128个物种。在中
  • 大花蒺藜大花蒺藜(学名:)为蒺藜科蒺藜属下的一个种。
  • 贾允元贾允元(1579年-?年),字善长,号方荛,直隶无锡县人,军籍,治《书经》,年三十一岁中式万历三十八年庚戌科第三甲第五名进士。己卯九月二十五日生,行一,曾祖贾愚,庠生;祖贾时习,府举孝廉;父贾应德
  • 梁成富梁成富(?-1865年6月26日)清广西郁林人,1860年封“则天义”,1861年封“启王”,太平天国后期将领。
  • 大专校院101学年度足球运动联赛大专校院101学年度足球运动联赛为第8届大专校院足球运动联赛。男子组分为公开组男生第一级、公开组男生第二级和一般男生组,女子组分为公开组女生第一级。本年度公开组男生第
  • 桃柘罗汉松桃柘罗汉松(学名:;毛利语:Tōtara),也称作新西兰罗汉松,是新西兰特有的罗汉松。在整个北岛、南岛的东北部的低地、山地及亚高地上生长,最高生长环境可达海拔600米。桃柘罗汉松常在土