部分防止Solaris溢出的方法
发布时间:2006-10-14 8:47:43   收集提供:gaoqian
现在很对缓冲溢出相当普遍,很多系统被入侵获得ROOT权限是利用本地或者远程的 
缓冲溢出来实现的,那能不能在系统上很好的防止部分堆栈溢出呢,下面就是一些 
关于限制这些缓冲溢出的一些解决方案,其中第一个是关于Solaris/SPARC的防止 
方法,第二是关于在X86结构上的保护方法。 

在SPARC结构中,下面的操作可以帮助你防止一部分等级的缓冲溢出,就象一些RDIST- 
比较早的一个EXPLOIT程序。具体可以如下操作: 

编辑这个/etc/system文件,并增加下面的两行代码: 

ident"@(#)system 1.18 
97/06/27 SMI" /* SVR4 1.5 */ 

* SYSTEM SPECIFICATION FILE 

* The following two lines under solaris will map the the system stack 
* RW (as opposed to RWX mandated by SPARC V8 API.) This is supposing that 
* you have a SPARC 4u (ultrasparc), 4d or 4m system. SPARC V8 API conformant 
* programs may break, although I have not experienced any difficulties 
* up till now. The second parameter enables the logging of the buffer overrun 
* attempt to syslog.   


set noexec_user_stack = 1 
set noexec_user_stack_log = 1   


对于X86的结构,我们建议使用STARCGUARD,这是一个能限制大量的缓冲溢出的攻击, 
使用STARKGUARD编译可以更安全的防止那些溢出代码的攻击,当然这个程序的保护 
也不是绝对的,现在在PHRACK56中出了一篇绕过STARCGUARD保护的文章,大家可以看 
看,当然WARNING3也翻译了这篇文章。 

其实最主要的还是保护自己系统的基础安全,如密码安全,文件权限安全等,以防止 
被轻易的进入系统造成更严重的破坏。 

xundi@xfocus.org 2000-05-30 
http://www.netguard.com.cn 
http://focus.silversand.net 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50