Datoteke in njihova zaščita

 

Datoteka pripada določenemu uporabniku in skupini ter ima nastavljene pravice za branje (r-read), pisanje (w-write) in izvajanje (xexecute). V primeru sistema LINUX imamo po tri bite: za lastnika, skupino in vse ostale uporabnike. S tem lahko dovolimo branje/pisanje/izvajanje samo sebi, uporabnikom iz iste skupine ali kar vsem in tako določamo pravice. Torej je to način za zaščito podatkov in privilegirani uporabnik - administrator (root) lahko na ta način varuje varnostno občutljive datoteke. Nekateri servisi, ki so na voljo vsem uporabnikom, morajo dobiti pravice lastnika-uporabnika ali skupine. Vsak uporabnik ima svojo številko (UID-user ID) in prav tako skupina (GID-group ID). Pri nastavitvi bitov je tako dodana še možnost s bita, ki dodeli uporabniku ob zagonu programa pravice lastnika (SUID - set UID) ali skupine (SGID - set GID). Zadeva postane sporna, ko je lastnik ali skupina privilegiran.

 

Že dolgo je znan enostaven trik, kako zlorabimo nepazljivost administratorja, če nam dovoli dostop do konzole z njegovim geslom. Naredimo si kopijo lupine (shell-a), kot lastnika določimo administratorja in zanj postavimo s bit. To so trije enostavni ukazi, ki nam pozneje kdajkoli z zagonom tako pripravljene lupine dajo pravice administratorja. Tako kopijo je treba samo spretno skriti, da je ne bo vsakdo videl in zlorabljal. Pri odpravljanju tovrstnih lukenj v sistemu si pomagamo z ukazom za iskanje datotek, ki so SUID-ane ali SGIDane (find / -perm -004000 -o -perm -002000). Napišemo lahko skripto, ki nam arhivira sezname vseh tovrstnih datotek ali primerja vsebino z neko referenco. Najbolje je kontrolo avtomatizirati (cron) in redna poročila pošiljati preko elektronske pošte odgovornemu uporabniku.

 

Opisani primer je le ena od mnogih možnosti zlorabe s bita. Podoben trik je bil že pogosto uporabljen pri vdoru, ko si nepridipravi s kopijo ustreznih datotek (shell, login, telnetd, ftpd, rshd ...) zagotovijo poseben dostop s posebnimi pravicami (back doors). Nemalokrat nadomestijo obstoječi program s svojim, zato je potrebno preverjati tudi dolžino datoteke. Tudi nalagenje programov s pomočjo FTP ni nedolžno. Varnostno občutljive programe jemljimo samo z zanesljivih FTP strežnikov. Za odkrivanje tovrstnih dejavnosti obstajajo tudi posebni programi (COPS, Tripwire), ki nam olajšajo nadzor nad datotekami, njihovo vsebino, lastništvom...