20.2.2 软件漏洞
多年以来,在计算机软件(包括来自第三方的软件,商业的和免费的软件)中已经发现了不计其数能够削弱安全性的缺陷(bug)。黑客利用编程中的细微错误或者上下文依赖关系,已经能够控制Linux,让它做任何他们想让它做的事情。
缓冲区溢出是一种常见的编程错误,也是一种牵扯到复杂因素的错误。开发人员经常预先分配一定量的临时内存空间,称为一个缓冲区,用以保存特殊信息。如果代码没有仔细地把要存放的数据大小同应该保存它的空间大小进行对照检查,那么靠近该分配空间的内存就有被覆盖的风险。熟练的黑客输入仔细组织过的数据就能导致程序崩溃,更糟糕的话能执行代码。
幸亏近年来缓冲区溢出攻击发生的显著数量提高了编程界对这个问题的认识。虽然缓冲区溢出仍然在出现,但它们经常会被很快发现和纠正,特别在开放源代码应用中更是如此。像Java和.Net这样的比较新的编程体系都包含自动检查数据大小,防止发生缓冲区溢出的机制。
缓冲区溢出是称为输入有效性漏洞的更大一类软件安全缺陷下的一个子类。几乎所有的程序都接受某种类型的用户输入(例如,命令行参数或者HTML表格)。如果代码没有严格检查输入的格式和内容是否合适,就开始处理数据,那么就会发生问题。考虑下面这个简单的例子:
|
这段代码的意图可能是打印/var/www/html下某个HTML文件的内容,/var/www/html是Red Hat服务器上Apache的httpd服务程序默认的文档根目录。这段代码接受用户输入的一个文件名,把它作为参数传给open函数。不过,如果一个恶意的用户把../../../etc/shadow当作参数输入的话,就会显示出/etc/shadow的内容!
作为一名系统管理员,您该如何防止这种情况发生呢?几乎无可奈何,至少在确定出缺陷(bug),并发布解决它的补丁之前是这样。紧盯补丁和安全性公告的发布,这是大多数系统管理员工作的一个重要部分。大多数Linux发行版本都带自动打补丁的工具,如Fedora上的yum、Debian和Ubuntu上的apt-get。利用这些工具能让您的站点避免出现软件的安全漏洞问题。
| 回书目 上一节 下一节 |
|
· 上周Linux系统命令的使.. · 上周真题冲刺测试获奖.. · 全国计算机等考四级模.. · 08年3月各大网上书店及.. · 网络工程师模拟测试获.. · 全国计算机软考考试指.. |
· 3月24日WCF聊天活动 积.. · 全国计算机等级考试四.. · 软件项目估计:第2版 · 系统分析师基础知识自.. · 构建可扩展的Web站点的.. · 2008年全国计算机等级.. |
|
||||
| · 交换机故障解决指南 · OSPF路由协议专栏 · 勇闯IT培训黑色围城 · 见证中国网络安全二十年 · 技术人求职简历完备手册 · 华为员工自杀频频拷问.. · 视频访谈:网管员如何踏.. · 首届中国IT工程师生态.. |
· 思科全球CEO钱伯斯第七.. · 北漂技术人90天求职纪实 · 2007年互联网大会 · 龙芯要做中国的“奔腾” · IPv6协议--拓展网络无.. · 国际文档格式标准开战 · 微软出价446亿美元收购.. · 贝恩资本携手华为22亿.. |
|||
|
||||
| · SQL Server 2008/2005.. · SOA 面向服务架构 · SQL Server 2008/2005.. · iSCSI应用与发展 · RAID——磁盘阵列基础 · 中间件应用技术专题 · SQL Server入门到精通 · 国际文档格式标准开战 |
· 路由器设置与口令恢复 · Linux防火墙 · 打造安全服务器 · SOA 面向服务架构 · PHP开发应用手册 · ADSL应用面面俱到 · 入侵防护系统(IPS)初探 · 数据恢复指南 |
|||
|
||||
| · iSCSI应用与发展 · 中间件应用技术专题 · SQL Server入门到精通 · SQL Server 2008/2005.. · SOA 面向服务架构 · iSCSI应用与发展 · RAID——磁盘阵列基础 · 数据恢复指南 |
· 路由器设置与口令恢复 · SOA 面向服务架构 · 了解统一威胁管理(UTM).. · ADSL应用面面俱到 · ADSL应用面面俱到 · PHP开发应用手册 · 中间件应用技术专题 · 交换机故障解决指南 |
|||