9.6.6 权限提升攻击

另一类攻击叫做权限提升攻击(privilege escalation attack),即攻击者欺骗系统为其赋予比正常情况下更高的权限(一般情况下攻击者都希望获取超级用户权限)。比较著名的例子是利用计划任务(cron daemon)进行攻击。cron daemon帮助用户每隔固定的时间进行工作(每个小时、每天、每周等)。cron daemon通常都运行在root权限下,以便可以访问任何用户的文件。它有一个目录专门存放一系列指令,来完成用户计划的一系列工作。当然该目录不能被用户修改,否则任何人都可以利用root权限做任何事情了。

攻击过程如下:攻击者的程序将其目录设定为cron daemon的工作目录,此时该程序并不能对此目录进行修改,不过这并不会对攻击有任何影响。该程序接下来将引发一次系统故障,或者直接将自己的进程结束,从而强制产生一次内存信息转储(core dump)。信息转储是由操作系统在cron daemon目录下引发的,因此不会被系统保护机制所阻止。攻击者程序的内存映像因此被合法地加入到cron daemon的命令行中,接下来将会在root权限下被执行。首先该程序会将攻击者指定的某些程序提升为SETUID root权限,第二部则是运行这些程序。当然这种攻击方式现在已经行不通了,不过这个例子可以帮助读者了解这类攻击的大致过程。