仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 559|回复: 8
打印 上一主题 下一主题

[其他Linux] 来一发怎样提防Linux体系下缓冲区溢出打击

[复制链接]
小魔女 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 16:43:53 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
开发linux发行版的人都是通读过linux内核代码,对linux原理极其精通的人。
固然Linux病毒不计其数,可是基于缓冲区溢出(BufferOverflow)毛病的打击仍是让浩瀚Linux用户年夜吃一惊。
所谓“天下上第一个Linux病毒”??reman,严厉地说并非真实的病毒,它本色上是一个陈旧的、在Linux/Unix(也包含Windows等体系)天下中早已存在的“缓冲区溢出”打击程序。reman只是一个十分一般的、主动化了的缓冲区溢出程序,但即使云云,也已在Linux界引发很年夜的发急。
  缓冲区溢露马脚是一个困扰了平安专家30多年的困难。复杂来讲,它是因为编程机制而招致的、在软件中呈现的内存毛病。如许的内存毛病使得黑客能够运转一段歹意代码来损坏体系一般地运转,乃至取得全部体系的把持权。
  Linux体系特征
  使用缓冲区溢出改写相干内存的内容及函数的前往地点,从而改动代码的实行流程,仅能在必定权限局限内无效。由于历程的运转与以后用户的登录权限和身份有关,仅仅可以打造缓冲区溢出是没法冲破体系对以后用户的权限设置的。因而只管能够使用缓冲区溢出使某一程序往实行别的被指定的代码,但被实行的代码只具有特定的权限,仍是没法完成超出权限的义务。
  可是,Linux(包含Unix)体系自己的一些特征却能够被使用来打破这类权限的范围性,使得可以使用缓冲区溢出取得更高的、乃至是完整的权限。次要表现在以下两方面:
  1.Linux(包含Unix)体系经由过程设置某可实行文件的属性为SUID或SGID,同意别的用户以该可实行文件具有者的用户ID或用户组ID来实行它。假如该可实行文件的属性是root,同时文件属性被设置为SUID,则该可实行文件就存在可使用的缓冲区溢露马脚,能够使用它以root的身份实行特定的、被别的布置的代码。既然可以使得一个具有root权限的代码得以实行,就可以够发生一个具有超等用户root权限的Shell,那末把握全部体系的把持权的伤害就发生了。
  2.Linux(包含Unix)中的很多保卫历程都是以root权限运转。假如这些程序存在可使用的缓冲区溢出,便可间接使它以root身份往实行别的布置的代码,而不必修正该程序的SUID或SGID属性。如许取得体系的把持权将加倍简单。
  跟着古代收集手艺的开展和收集使用的深切,盘算机收集所供应的远程登录机制、远程挪用及实行机制是必需的。这使得一个匿名的Internet用户无机会使用缓冲区溢露马脚来取得某个体系的部分或全体把持权。实践上,以缓冲区溢露马脚为打击手腕的打击占了远程收集打击中的尽年夜多半,这给Linux体系带来了极为严峻的平安威逼。
  路子剖析
  一般情形下打击者会先打击root程序,然后使用缓冲区溢出时产生的内存毛病来实行相似“exec(sh)”的代码,从而取得root的一个Shell。为了取得root权限的Shell,打击者必要完成以下的事情:
  1.在程序的地点空间内布置得当的特定代码。一样平常利用以下两种办法在被打击的程序地点空间内布置打击代码。
  2.经由过程得当地初始化存放器和存储器,使程序在产生缓冲区溢出时不克不及回到本来的实行处,而是跳转到被布置的地点空间实行。
  当打击者找到一种路子能够变原程序的实行代码和流程时,打击的伤害就发生了。
  提防措施
  Linux下的缓冲区溢出打击威逼既来自于软件的编写机制,也来自于Linux(和Unix)体系自己的特征。实践上,缓冲区溢出打击及各类盘算机病毒放肆的基本缘故原由在于古代盘算机体系都是接纳冯?诺依曼“存储程序”的事情道理。这一基础道理使得程序和数据都能够在内存中被滋生、拷贝和实行。因而,要想无效地提防缓冲区溢出打击就应当从这两个方面双管其下。

</p>
买一本命令参考手册是必要的,遇到不知道怎么用的命令可以随时查询,这要比查man文档快.特别适合英语不好。
简单生活 该用户已被删除
沙发
发表于 2015-1-18 12:50:21 | 只看该作者
首先Linux是开源的,这也是最主要的原因,想学windows,Unix,对不起我们没源代码。也正是因为这样,Linux才能够像滚雪球一样越滚越大,发展到现在这种规模。
变相怪杰 该用户已被删除
板凳
发表于 2015-1-22 05:43:37 来自手机 | 只看该作者
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
飘飘悠悠 该用户已被删除
地板
发表于 2015-1-30 23:16:26 | 只看该作者
了解Linux的网络安全,系统的安全,用户的安全等。安全对于每位用户,管理员来说是非常重要的。
谁可相欹 该用户已被删除
5#
发表于 2015-2-6 16:47:23 | 只看该作者
在学习linux的工程中,linux学习方法有很多种,这里是小编的学习心得,给大家拿出来分享一下。
金色的骷髅 该用户已被删除
6#
发表于 2015-2-17 09:52:53 | 只看该作者
在系统检测不到与Linux兼容的显卡,那么此次安装就可能不支持图形化界面安装,而只能用文本模式安装等等。
小女巫 该用户已被删除
7#
发表于 2015-3-5 19:23:57 | 只看该作者
我们自学,就这个循环的过程中,我们学习了基本操作,用vi,shell,模拟内存的分配过程等一些OS管理。
再见西城 该用户已被删除
8#
发表于 2015-3-12 12:33:40 | 只看该作者
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
愤怒的大鸟 该用户已被删除
9#
发表于 2015-3-19 22:24:08 | 只看该作者
生成新的unispimsp.ksc。”另外得到回复后如果问题解决,向帮助过你的人发个说明,让他们知道问题是怎样解决的。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 14:37

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表