问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何防范Linux操作系统下缓冲区溢出攻击

发布网友 发布时间:2022-04-26 17:31

我来回答

1个回答

热心网友 时间:2022-07-16 06:37

Linux下的缓冲区溢出攻击威胁既来自于软件的编写机制,也来自于Linux(和Unix)系统本身的特性。实际上,缓冲区溢出攻击及各种计算机病毒猖獗的根本原因在于现代计算机系统都是采用冯?诺依曼“存储程序”的工作原理。这一基本原理使得程序和数据都可以在内存中被繁殖、拷贝和执行。因此,要想有效地防范缓冲区溢出攻击就应该从这两个方面双管其下。
确保代码正确安全
缓冲区溢出攻击的根源在于编写程序的机制。因此,防范缓冲区溢出漏洞首先应该确保在Linux系统上运行的程序(包括系统软件和应用软件)代码的正确性,避免程序中有不检查变量、缓冲区大小及边界等情况存在。比如,使用grep工具搜索源代码中容易产生漏洞的库调用,检测变量的大小、数组的边界、对指针变量进行保护,以及使用具有边界、大小检测功能的C编译器等。
基于一定的安全策略设置系统
攻击者攻击某一个Linux系统,必须事先通过某些途径对要攻击的系统做必要的了解,如版本信息等,然后再利用系统的某些设置直接或间接地获取控制权。因此,防范缓冲区溢出攻击的第二个方面就是对系统设置实施有效的安全策略。这些策略种类很多,由于篇幅有限只列举几个典型措施:
(1)在装有Telnet服务的情况下,通过手工改写“/etc/inetd.conf”文件中的Telnet设置,使得远程登录的用户无法看到系统的提示信息。具体方法是将Telnet设置改写为:
telnet stream tcp nowait root /usr/sbin/tcpd/in.telnetd -h
末尾加上“-h”参数可以让守护进程不显示任何系统信息,只显示登录提示。
(2)改写“rc.local”文件。默认情况下,当登录Linux系统时系统运行rc.local文件,显示该Linux发行版本的名字、版本号、内核版本和服务器名称等信息,这使得大量系统信息被泄露。将“rc.local”文件中显示这些信息的代码注释掉,可以使系统不显示这些信息。
一种方法是在显示这些信息的代码行前加“#”:
……# echo "">/etc/issue# echo "$R">>/etc/issue# echo "Kernel $ (uname -r)on $a $(uname -m)">>/etc/issue## echo >>/etc/issue……
另一种方法是将保存有系统信息的文件/etc/issue.NET和issue删除。这两个文件分别用于在远程登录和本地登录时向用户提供相关信息。删除这两个文件的同时,仍需要完成方法一中的注释工作,否则,系统在启动时将会自动重新生成这两个文件。
(3)禁止提供finger服务。在Linux系统中,使用finger命令可以显示本地或远程系统中目前已登录用户的详细信息。禁止提供finger服务的有效方法是,通过修改该文件属性、权限(改为600)使得只有root用户才可以执行该命令。
(4)处理“inetd.conf”文件。Linux系统通过inetd(超级服务器)程序根据网络请求装入网络程序。该程序通过“/etc/inetd.conf”文件获得inetd在监听哪些网络端口,为每个端口启动哪些特定服务等信息。因此,该文件同样会泄露大量的敏感信息。解决问题的方法是,通过将其权限改为600只允许root用户访问,并通过改写“/etc/inetd.conf”文件将不需要的服务程序禁止掉,最后修改该文件的属性使其不能被修改。
总结
缓冲区溢出攻击之所以能成为一种常见的攻击手段,其原因在于缓冲区溢出漏洞太普遍,且易于实现攻击,因此缓冲区溢出问题一直是个难题。
所幸的是,OpenBSD开发组为解决这一安全难题采用了三种新的有效策略。相信不久的将来,Linux用户可以不再为缓冲区溢出攻击而寝食难安了。
RAR文件在Linux下用起来
要在Linux下处理.rar文件,需要安装RAR for Linux。该软件可以从网上下载,但要记住,它不是免费的。大家可从http://www.onlinedown.net/sort/125_1.htm下载RAR for Linux 3.2.0,然后用下面的命令安装:
# tar -xzpvf rarlinux-3.2.0.tar.gz
# cd rar
# make
安装后就有了rar和unrar这两个程序,rar是压缩程序,unrar是解压程序。它们的参数选项很多,这里只做简单介绍,依旧举例说明一下其用法:
# rar a all *.mp3
这条命令是将所有.mp3的文件压缩成一个rar包,名为all.rar,该程序会将.rar 扩展名将自动附加到包名后。
# unrar e all.rar
这条命令是将all.rar中的所有文件解压出来。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
64岁的老头感冒了,还喝一瓶啤酒,又喝3包感冒药,吃了3个阿莫西林消炎药... ...今天中午12点喝了一瓶啤酒,不会有反应死了吧? 喝一瓶啤酒吃药没事吧 养育孩子有哪些正确的方式? 联想电脑一开机就蓝屏怎么解决 光遇冥想任务怎么完成_冥想任务攻略 光遇 光遇云野的锦鲤池冥想怎么做? 光遇 光遇在滑冰场旁冥想的任务怎么做? 光遇在仙乡的金塔下冥想任务怎么做 任务达成方法介绍 光遇 光遇在禁阁的神坛旁冥想怎么做? 白乳胶能粘泡沫和kt板吗? 白乳胶可以粘塑料吗,白乳胶可以粘塑料吗知识 Linux与微软Windows比更容易受到黑客攻击? 请问,白乳胶可以用来粘合pvc水管管道么? 白乳胶可以粘接金属和pvc材料吗? 平板电脑刷机后不能播放视频,无法安装软件 百度网盘为阻碍用户快速下载又出新招啦? 苹果手机刷机后无法下载软件是为什么? 【急】求免费网盘!他人下载不用客户端和注册! ipad刷机后app 怎么下载不了东西呢? ipad 刷机后怎么下不了软件了 我的iPad自己刷机后按不了开关健 下载不了APP 哪个大神有办法? 求一个不用客户端下载的网盘 你好,我的ipad刚刷机了,怎么下载不了东西 什么云盘下载文件超1G不用客户端? ipad被学校刷机了,下不了应用,怎么自己把它刷回来勒 电脑为什么百度网盘下载这么慢 ipad刷机后不能下载软件怎么办? ipad1刷机成功了,为什么软件都下载不了。 问下大佬们,怎么能绕过这个网盘下载文件,这个电影挺好看的,求办法? Linux的系统漏洞有哪些?如何攻击? pvc彩膜用什么胶水贴在木板上? Linux 为什么没有病毒?为什么没有人攻击 白乳胶能粘什么? 具体说说 白乳胶不能粘什么? 海市蜃楼出现的形式有哪些? 海市蜃楼的出现 海市蜃楼在什么样的条件下可以出现 海市蜃楼呈倒像是什么时段? 海市蜃楼是如何产生的 汇率中的一个基点,代表多少 海市蜃楼产生哪些条件 币种涨幅中提到的 "基点" 是什么意思?例如 人民币对美元汇率升192 基点 海市蜃楼是怎么样的? 人民币兑美元汇率中间报价6.9895,较前一个交易日走高105个基点是什么意思?是人民币升值了还是贬值了? 汇率基点上涨是好事吗 存款利率上调25个基点,基点是什么意思? 人民币升值的“基点”是什么意思? mysql要考什么证书吗? 图书馆杂志是月刊吗