缓冲区溢出

✍ dations ◷ 2025-04-04 06:39:29 #电脑安全,计算机编程,保全漏洞

缓冲区溢出(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对象位置会被核心(调度器)随机定向,使其无法正确溢出。

相关

  • 茱萸茱萸,又名“樧”、“越椒”、“艾子”,是几种不同的常绿带香的植物通称,具备杀虫消毒、逐寒祛风的功能。木本茱萸有吴茱萸、山茱萸和食茱萸之分,都是著名的中药,然而中国古籍中单
  • 中华人民共和国人口普查中国最早的一次人口普查在西汉汉平帝元始二年(公元2年)进行,数据为12,366,470户,57,671,401人。但由于历史文献资料离现在很远,不很完善。中华人民共和国建国以来一共进行过六次
  • 梅西安奥利维埃·梅湘(法语:Olivier Messiaen 法语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code
  • 游禽雁形目(Anseriformes) 潜鸟目(Gaviiformes) 鸊鷉目(Podicipediformes) 鹱形目(Procellariiformes) 鹈形目(Pelecaniformes) 鸥形目(Lariformes) 企鹅目(Sphenisciformes)游
  • 急诊急诊室(英语:Accident & Emergency、Emergency department、Emergency room等,缩写为A&E或ER),是医院的其中一个部门,但不是每间医院都有提供急诊服务。相对于有预约的门诊部,使用
  • 206地震206地震可以指:
  • 保罗·季米特里耶维奇·罗曼诺夫斯基-伊林斯基保罗·季米特里耶维奇·罗曼诺夫斯基-伊林斯基(英语:Paul Dimitrievich Romanovsky-Ilyinsky,俄语:Павел Дмитриевич Романов,1928年1月27日-2004年2月10日
  • 米哈伊洛·奥布雷诺维奇三世米哈伊洛·奥布雷诺维奇三世(塞尔维亚语:Михаило Обреновић III ;1823年9月16日-1868年6月10日)是奥布雷诺维奇家族的塞尔维亚大公,1839年至1842年及1860年至1868
  • 约瑟夫·普拉提斯约瑟夫·胡贝图斯·皮拉提斯(英语:Joseph Hubertus Pilates,1883年12月9日-1967年10月9日),生于德国慕森加柏(Mönchengladbach),为彼拉提斯运动的创始者与推动者。皮拉提斯生于德国,
  • 叶戈尔·库兹米奇·利加乔夫叶戈尔·库兹米奇·利加乔夫(俄语:Егор Кузьмич Лигачёв,1920年11月29日-)前苏联党和国家领导人。1920年,生于托木斯克省楚雷姆斯卡区杜宾基诺村农民家庭。1943