Linux核心即時入侵檢測安全增強-後語(轉)

ba發表於2007-08-15
Linux核心即時入侵檢測安全增強-後語(轉)[@more@]五.後語
冰塊

   這篇文章的整個補丁程式碼我沒有找到,可能是因為這個人關於這個東西的開發已經放棄了吧。呵呵,如果誰能找到。請告訴大家,原來他們提供的url是:

  這篇文章和以前發表的LIDS文章都是關於核心模組級的系統安全的。這篇主要是對緩衝區溢位的漏洞進行防範。雖然沒有程式碼的原形,但是它給出的幾個程式碼事例能夠幫助我們更好的理解Linux的核心模組如何截獲系統呼叫,或是如何對程式執行權分析的實現。對於我們理解Linux和其他作業系統的核心有一定的幫助。希望大家能透過這篇文章能多提高點理解認識,對以後自己開發系統安全軟體能有一定理論上的幫助作用。下面是check_rootproc函式的程式碼:

   /*check_rootproc.c*/

   int check_rootproc(struct inode *ino){

   int cont=0,iproc=0,error=0;

   suidp_t * suidproc;

   efile_t f;

   suidp_t p;


   if ((IS_SETUID_TO_ROOT(current))||(IS_A_ROOT_DAEMON(current))) {

   for (;cont

   if ((permitted.lst[cont].efid.device==ino->i_dev&&

   permitted.lst[cont].efid.inode==ino->i_ino)){

   if ((permitted.lst[cont].efid.size==ino->i_size)&&

   permitted.lst[cont].efid.modif==ino->i_mtime)){

   suidproc=permitted.lst[cont].processes;

   for(iproc=1;iproc<=permitted.lst[cont].proc_nr;iproc++){

   if(!strcmp(suidproc->suidp_id.comm,current->comm)){

   suidproc->suidp_id.count++;

   return PSA;

   }

   if (iproc

   suidproc=suidproc->next;

   }

   }

   }else{

   error=EFNA;

   goto file_exe_unauthorized;

   }

   }

   }

   error=EXENA;/*EXE is not in the database*/

   goto file_exe_unauthorized;

   }

   return PNS;/*the process is not setuid to root or root daemon*/


   file_exe_unauthorized:

   f.efid.device=ino->i_dev;

   f.efid.inode=ino->i_ino;

   f.efid.size=ino->i_size;

   f.efid.modif=ino->i_mtime;

   strncpy(p.suidp_id.comm,current->comm,

   sizeof(p.suidp_id.comm));

   p.suidp_id.count=1;

   do{

   while(writer_pid!=0){

   cli();/*interrupt disabled*/

   if (writer_pid!=0)

   interruptible_sleep_on(&pid_queue);

   sti();

   }

   }

   while(!atomic_access(&writer_pid,current->pid));

   /*start of critical section*/

   do_setuid_put(&(f.efid),&(p.suidp_id),FAILURE);

   writer_pid=0;/*end of critical section*/

   atomic_access(&writer_pid,0);/*release of the lock*/

   return error;


   }

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617731/viewspace-958312/,如需轉載,請註明出處,否則將追究法律責任。

相關文章