next up previous contents
Next: Jelszavak megválasztása Up: Belső támadások elleni védelem Previous: Race condition attack   Contents

IFS (Inter Field Separator) megváltoztatása

Az IFS az egymás után következő karaktersorok (utasítások, paraméterek, stb.) elválasztására szolgál. Ennek átírása setuid/setgid-es programok esetén használható ki, ha a program írója nem kellő körültekintéssel használta a system(), eval(), exec(), stb. függvényeket. Egy system("/bin/akarmi") függvényhívás, ha kiadtuk az export IFS='/' utasítást, a következőképp hajtódik végre: 'bin akarmi'. Így tehát a támadó elhelyezheti saját könyvtárát a PATH-ban, majd odamásolhatja bin nevű programját, amit a hibás program el fog indítani. Az említett okok miatt kerülendő a "." könyvtár PATH-ba tétele is.

Ennek a veszélynek a shell scriptek fokozottan ki vannak téve, mivel futásuk közben nem nehéz megzavarni a működésüket az IFS átállításával. Ezért a Linux kernel nem támogatja a setuid bit shell scripteken való használatát.




1999-12-21