您现在的位置是:百科 >>正文
it历史上知名的缓冲区溢出漏洞
百科4231人已围观
简介1988年,Morris蠕虫让整个早期互联网陷入瘫痪。它利用的正是fingerd程序里的缓冲区溢出——一个简单的gets()调用,没检查输入长度。当时没人意识到,这宣告了一个长达三十年的安全噩梦的开端 ...
1988年,历史Morris蠕虫让整个早期互联网陷入瘫痪。上知它利用的缓冲正是fingerd程序里的缓冲区溢出——一个简单的gets()调用,没检查输入长度。区溢当时没人意识到,出漏这宣告了一个长达三十年的历史安全噩梦的开端。 缓冲区溢出的上知原理其实很朴素:程序在内存里划出一块固定区域存数据,你往里塞超过容量的缓冲内容,多余部分就溢出到相邻内存。区溢攻击者精心构造这些溢出的出漏字节,让它们变成可执行的历史机器指令。就这么简单,上知却像魔术一样骗过了CPU。缓冲 真正让这漏洞臭名昭著的区溢是2001年的Code Red蠕虫。它攻击微软IIS服务器的出漏IDA漏洞,用溢出控制程序流程,然后植入后门。最讽刺的是,这个漏洞微软在六个月前就发布了补丁,但无数服务器管理员懒得更新。Code Red在24小时内感染了35万台机器,白宫网站被迫换IP地址。我到现在还记得当时新闻里那种恐慌气氛——不是病毒多厉害,而是人类对系统维护的懒惰被赤裸裸地暴露了。 还有个容易被忽略的经典案例:2003年的SQL Slammer。它只用了376字节的恶意包,就导致全球银行ATM断网、911紧急电话系统瘫痪。这个溢出漏洞存在于SQL Server的解析器里,微软提前半年就发布过修复程序。结果呢?补丁覆盖率太低,一个376字节的包就击穿了全球关键基础设施。这不是技术问题,是组织管理问题。 这些年我观察到的规律是:缓冲区溢出漏洞的高发期恰恰是软件复杂度爆炸的时期。C和C++这类不安全语言至今仍是系统底层的主力,而程序员手动管理内存的微小失误,就会留下一个攻击面。哪怕现代编译器加了栈保护、地址随机化,攻击者依然能找到绕过技巧——比如利用堆溢出或者格式化字符串漏洞。 回看这些案例,最让人沮丧的不是漏洞本身,而是它们几乎全部有补丁可用,却因为人的疏忽而酿成大祸。Morris蠕虫时我们不懂,Code Red时我们不在乎,Slammer时我们来不及。现在呢?每天仍有成千上万的缓冲区溢出被报告,但多数人连系统更新都懒得点"立即重启"。 技术防御总在升级,但人性里的侥幸心理一直没打过补丁。这或许才是缓冲区溢出真正教会我们的事。
Tags:
相关文章
手工网站
百科打开浏览器收藏夹里那个叫“手作共和国”的网站时,我正被毕业论文折磨得想砸键盘。页面加载得有点慢,满屏都是深浅不一的木纹色块,像把整片森林搬进了屏幕。首页最顶上挂着一行手写体标语:“让双手重新认识世界。 ...
【百科】
阅读更多nessus漏洞扫描器
百科凌晨两点,某金融公司安全工程师老张的手机震了一下。告警平台显示,内网一台数据库服务器出现了异常流量。他打开Nessus扫描结果,发现一个编号为CVE-2021-44228的漏洞——Log4j2远程代码 ...
【百科】
阅读更多hack下载
百科hack下载 凌晨两点,我盯着屏幕上的红色报错代码,第17次下载那个号称能破解付费软件的“keygen.exe”。杀毒软件在右下角疯狂弹窗,我点了“允许”。结果不用猜——电脑蓝屏,重启后桌面多了三个不 ...
【百科】
阅读更多