Sdileny segment pameti s pravy 777

Pavel Kankovsky peak na argo.troja.mff.cuni.cz
Čtvrtek Září 16 21:46:49 CEST 2004


On Thu, 16 Sep 2004, Jiri Kulhan wrote:

> tohle neni ani tak problem jako spis nejasnost - kdyz jsem monitoroval 
> vytizeni pameti jednoho stroje, vsiml jsem si sdileneho segmentu pameti 
> s pravy 777, ktery byl vytvoren procesem xmms.

To je opravdu dira. Obvykle se to dela kvuli XShm...klient totiz
v principu nevi, pod jakym uzivatelem bezi server, a tudiz se snazi takto
zajistit, aby do te sdilene pameti videl. Ovsem pristup je to pomyleny.

Aspon na Linuxu se da udelat to, ze se pres SO_PEERCRED zjisti, zda
uzivatel bezi jako root (nebo jako stejny uzivatel jako klient), a
pak mu udelat segment s restriktivnejsim pristupem. (Ostatne podobnou
vec dela i server, protoze jinak ho bylo mozno zmanipulovat ke
zpristupneni libovolneho segmentu sdilene pameti.)

Existuje i portabilni pristup, kdy se zkusi restriktivne, a pak se nejak
zotavi z pripadneho neuspechu, ale je to znatelne komplikovanejsi. Tohle
dela GTK 2 (narozdil od GTK 1, ktere je vyrabi s promiskuitnimi
pristupovymi pravy, u Qt nevim).

--Pavel Kankovsky aka Peak  [ Boycott Microsoft--http://www.vcnet.com/bms ]
"Resistance is futile. Open your source code and prepare for assimilation."



Další informace o konferenci Linux