"keverni akkor tudnam oket, ha ismernem a *te* definicioidat rajuk. hajra, ne tartsd vissza ;-). addig is:"
tolem nevezheted eroforrasnak, csak ne felejtsd el hogy a rendszer mukodesebol adodoan ez nem ugyanolyan "eroforras" mint pl az unlink().
"a legelso hosszaszolasod elso ket mondatabol az kovetkezik, hogy mivel (szerinted) a program iroja ismeri a programja altal igenyelt 'eroforrasokat', ezert neki kene szallitania a policy-t. a kesobbi (kulonosen az utolso) hosszaszolasod alapjan ugy tunik, hogy te nem tudod, mi az a policy, mi celt szolgal, es ezert kotod az ebet a karohoz."
tobb mint 4 eve irok RSBAC policykat, korlatozom benne hogy a program milyen eroforrasokhoz fer hozza. es mukodik. de hivjuk eroforras definialo filenek ha jobban tetszik. a problemam - ami miatt azt irtam hogy a program irojanak kellene szallitania a policy filet - az az hogy en nem fogom a program forraskodjat vegignezni hogy ugyan milyen eroforrasokra van szuksege, ezert marad a teszteles. eloszor elkezdjuk futtatni a programot egy olyan minimalis eroforrassal amire biztosan szuksege van, majd - mivel a rendszer logolja hogy milyen eroforrasok hasznalatat tiltotta meg a programnak futasa soran - ez t bovitjuk addig amig a program megfeleloen mukodik. de kinek van ideje kitesztelni egy program osszes eroforras szuksegletet? a program iroja viszont tudja azt hogy milyen eroforrasokhoz akar a programja hozzaferni igy o tudja legpontosabban megmondani hogy milyen eroforrasok hasznalatat kell engedelyezni a program szamara.
"akkor megegyszer: egy MAC policy *NEM* a programok viselkedeset irja le"
ezt nem tudom kinek magyarazod, senki nam allitott ilyent. legalabb is en biztosan nem tudnek rola. en azt mondtam hogy a policy a program futasahoz szukseges eroforrasokat irja le.
"amiert te valoszinuleg felreertetted a policy szerepet az az, hogy amikor megnezel egyet, akkor azt latod, hogy tele van ilyesmikkel:"
en nem neztem meg egyetlen olyan filet sem ami tele lenne ilyesmikkel, viszont ilyenekkel igen:
""
"0.0.0.0"
(allow-dev-read
allow-dev-write
allow-external-ipc)
(setgid
setuid
net-bind-service
kill)
(sysctl)
(rlimit)
ha itt nincs pl. setgid akkor a program nem tudja hasznalni a setgid eroforrast. ettol vagy elhasal vagy nem. mivel a program iroja irta bele a programjaba a setgid-et, hadd ne en talalgassam mar hogy kell-e a programnak vagy sem, szallitsa o policyt.
"ebbol azt a kovetkeztetest vontad le, hogy akkor lam, a policy azt irja le, hogy mire van szuksege az adott programnak. ez a tevedes! a policy itt is azt irja le, hogy az adott 'felhasznalo' mit fogad el biztonsagi kockazatkent"
a biztonsagi kockazat ez:
"Az ilyen támadásokból adódó fenyegetés abban rejlik, hogy a támadó rossz esetben rá tudja venni az alkalmazást olyan viselkedésre, ami tőle váratlan és nemkívánatos"
tehat a varatlan es nem kivanatos viselkedes a kockazat, amit a keretrendszer meg tud akadalyozni ha tudja hogy milyen eroforrasok hasznalata nem az.
"az unlink-es peldamra visszaterve: az edeskeves, hogy te engedelyezed az unlink 'eroforras' hasznalatat a policy-ben. a gyakorlatban siman elofordulhat, hogy ennel sokkal finomabb szabalyozasra van szukseg pl. X felhasznalo nem torolhet le bizonyos altala letrehozott file-okat, mert a ceges audit policy eloirja ezt. hogyan tudnam ezt en, a programozo elore? sehogy."
ennek mar semmi koze a program mukodesehez szukseges eroforrasokhoz, nem a program policyjaban kell meghatarozni.
"erted mar, miert nem a programozo feladata policy-t gyartani?"
szerintem nem igy van :)